public final class CryptoReplaceFfxFpeConfig extends GeneratedMessageV3 implements CryptoReplaceFfxFpeConfigOrBuilder
Replaces an identifier with a surrogate using FPE with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped.Protobuf type
google.privacy.dlp.v2beta2.CryptoReplaceFfxFpeConfig| Modifier and Type | Class and Description |
|---|---|
static class |
CryptoReplaceFfxFpeConfig.AlphabetCase |
static class |
CryptoReplaceFfxFpeConfig.Builder
Replaces an identifier with a surrogate using FPE with the FFX
mode of operation; however when used in the `ReidentifyContent` API method,
it serves the opposite function by reversing the surrogate back into
the original identifier.
|
static class |
CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet
These are commonly used subsets of the alphabet that the FFX mode
natively supports.
|
GeneratedMessageV3.BuilderParent, GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
COMMON_ALPHABET_FIELD_NUMBER |
static int |
CONTEXT_FIELD_NUMBER |
static int |
CRYPTO_KEY_FIELD_NUMBER |
static int |
CUSTOM_ALPHABET_FIELD_NUMBER |
static int |
RADIX_FIELD_NUMBER |
static int |
SURROGATE_INFO_TYPE_FIELD_NUMBER |
alwaysUseFieldBuilders, unknownFieldsmemoizedSizememoizedHashCode| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
CryptoReplaceFfxFpeConfig.AlphabetCase |
getAlphabetCase() |
CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet |
getCommonAlphabet()
.google.privacy.dlp.v2beta2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4; |
int |
getCommonAlphabetValue()
.google.privacy.dlp.v2beta2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4; |
FieldId |
getContext()
The 'tweak', a context may be used for higher security since the same
identifier in two different contexts won't be given the same surrogate.
|
FieldIdOrBuilder |
getContextOrBuilder()
The 'tweak', a context may be used for higher security since the same
identifier in two different contexts won't be given the same surrogate.
|
CryptoKey |
getCryptoKey()
The key used by the encryption algorithm.
|
CryptoKeyOrBuilder |
getCryptoKeyOrBuilder()
The key used by the encryption algorithm.
|
java.lang.String |
getCustomAlphabet()
This is supported by mapping these to the alphanumeric characters
that the FFX mode natively supports.
|
ByteString |
getCustomAlphabetBytes()
This is supported by mapping these to the alphanumeric characters
that the FFX mode natively supports.
|
static CryptoReplaceFfxFpeConfig |
getDefaultInstance() |
CryptoReplaceFfxFpeConfig |
getDefaultInstanceForType() |
static Descriptors.Descriptor |
getDescriptor() |
Parser<CryptoReplaceFfxFpeConfig> |
getParserForType() |
int |
getRadix()
The native way to select the alphabet.
|
int |
getSerializedSize() |
InfoType |
getSurrogateInfoType()
The custom infoType to annotate the surrogate with.
|
InfoTypeOrBuilder |
getSurrogateInfoTypeOrBuilder()
The custom infoType to annotate the surrogate with.
|
UnknownFieldSet |
getUnknownFields() |
boolean |
hasContext()
The 'tweak', a context may be used for higher security since the same
identifier in two different contexts won't be given the same surrogate.
|
boolean |
hasCryptoKey()
The key used by the encryption algorithm.
|
int |
hashCode() |
boolean |
hasSurrogateInfoType()
The custom infoType to annotate the surrogate with.
|
protected GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static CryptoReplaceFfxFpeConfig.Builder |
newBuilder() |
static CryptoReplaceFfxFpeConfig.Builder |
newBuilder(CryptoReplaceFfxFpeConfig prototype) |
CryptoReplaceFfxFpeConfig.Builder |
newBuilderForType() |
protected CryptoReplaceFfxFpeConfig.Builder |
newBuilderForType(GeneratedMessageV3.BuilderParent parent) |
static CryptoReplaceFfxFpeConfig |
parseDelimitedFrom(java.io.InputStream input) |
static CryptoReplaceFfxFpeConfig |
parseDelimitedFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static CryptoReplaceFfxFpeConfig |
parseFrom(byte[] data) |
static CryptoReplaceFfxFpeConfig |
parseFrom(byte[] data,
ExtensionRegistryLite extensionRegistry) |
static CryptoReplaceFfxFpeConfig |
parseFrom(java.nio.ByteBuffer data) |
static CryptoReplaceFfxFpeConfig |
parseFrom(java.nio.ByteBuffer data,
ExtensionRegistryLite extensionRegistry) |
static CryptoReplaceFfxFpeConfig |
parseFrom(ByteString data) |
static CryptoReplaceFfxFpeConfig |
parseFrom(ByteString data,
ExtensionRegistryLite extensionRegistry) |
static CryptoReplaceFfxFpeConfig |
parseFrom(CodedInputStream input) |
static CryptoReplaceFfxFpeConfig |
parseFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
static CryptoReplaceFfxFpeConfig |
parseFrom(java.io.InputStream input) |
static CryptoReplaceFfxFpeConfig |
parseFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Parser<CryptoReplaceFfxFpeConfig> |
parser() |
CryptoReplaceFfxFpeConfig.Builder |
toBuilder() |
void |
writeTo(CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitfindInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneoftoByteArray, toByteString, writeDelimitedTo, writeTopublic static final int CRYPTO_KEY_FIELD_NUMBER
public static final int CONTEXT_FIELD_NUMBER
public static final int COMMON_ALPHABET_FIELD_NUMBER
public static final int CUSTOM_ALPHABET_FIELD_NUMBER
public static final int RADIX_FIELD_NUMBER
public static final int SURROGATE_INFO_TYPE_FIELD_NUMBER
public final UnknownFieldSet getUnknownFields()
getUnknownFields in interface MessageOrBuildergetUnknownFields in class GeneratedMessageV3public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class GeneratedMessageV3public CryptoReplaceFfxFpeConfig.AlphabetCase getAlphabetCase()
getAlphabetCase in interface CryptoReplaceFfxFpeConfigOrBuilderpublic boolean hasCryptoKey()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2beta2.CryptoKey crypto_key = 1;hasCryptoKey in interface CryptoReplaceFfxFpeConfigOrBuilderpublic CryptoKey getCryptoKey()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2beta2.CryptoKey crypto_key = 1;getCryptoKey in interface CryptoReplaceFfxFpeConfigOrBuilderpublic CryptoKeyOrBuilder getCryptoKeyOrBuilder()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2beta2.CryptoKey crypto_key = 1;getCryptoKeyOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilderpublic boolean hasContext()
The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value å 2
.google.privacy.dlp.v2beta2.FieldId context = 2;hasContext in interface CryptoReplaceFfxFpeConfigOrBuilderpublic FieldId getContext()
The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value å 2
.google.privacy.dlp.v2beta2.FieldId context = 2;getContext in interface CryptoReplaceFfxFpeConfigOrBuilderpublic FieldIdOrBuilder getContextOrBuilder()
The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value å 2
.google.privacy.dlp.v2beta2.FieldId context = 2;getContextOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilderpublic int getCommonAlphabetValue()
.google.privacy.dlp.v2beta2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;getCommonAlphabetValue in interface CryptoReplaceFfxFpeConfigOrBuilderpublic CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet getCommonAlphabet()
.google.privacy.dlp.v2beta2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;getCommonAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilderpublic java.lang.String getCustomAlphabet()
This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 62]. This must be encoded as ASCII. The order of characters does not matter.
string custom_alphabet = 5;getCustomAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilderpublic ByteString getCustomAlphabetBytes()
This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 62]. This must be encoded as ASCII. The order of characters does not matter.
string custom_alphabet = 5;getCustomAlphabetBytes in interface CryptoReplaceFfxFpeConfigOrBuilderpublic int getRadix()
The native way to select the alphabet. Must be in the range [2, 62].
int32 radix = 6;getRadix in interface CryptoReplaceFfxFpeConfigOrBuilderpublic boolean hasSurrogateInfoType()
The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType [`SurrogateType`](/dlp/docs/reference/rest/v2beta2/InspectConfig#surrogatetype). This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE
.google.privacy.dlp.v2beta2.InfoType surrogate_info_type = 8;hasSurrogateInfoType in interface CryptoReplaceFfxFpeConfigOrBuilderpublic InfoType getSurrogateInfoType()
The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType [`SurrogateType`](/dlp/docs/reference/rest/v2beta2/InspectConfig#surrogatetype). This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE
.google.privacy.dlp.v2beta2.InfoType surrogate_info_type = 8;getSurrogateInfoType in interface CryptoReplaceFfxFpeConfigOrBuilderpublic InfoTypeOrBuilder getSurrogateInfoTypeOrBuilder()
The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info_type_name(surrogate_character_count):surrogate For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' This annotation identifies the surrogate when inspecting content using the custom infoType [`SurrogateType`](/dlp/docs/reference/rest/v2beta2/InspectConfig#surrogatetype). This facilitates reversal of the surrogate when it occurs in free text. In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE
.google.privacy.dlp.v2beta2.InfoType surrogate_info_type = 8;getSurrogateInfoTypeOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilderpublic final boolean isInitialized()
isInitialized in interface MessageLiteOrBuilderisInitialized in class GeneratedMessageV3public void writeTo(CodedOutputStream output) throws java.io.IOException
writeTo in interface MessageLitewriteTo in class GeneratedMessageV3java.io.IOExceptionpublic int getSerializedSize()
getSerializedSize in interface MessageLitegetSerializedSize in class GeneratedMessageV3public boolean equals(java.lang.Object obj)
equals in interface Messageequals in class AbstractMessagepublic int hashCode()
hashCode in interface MessagehashCode in class AbstractMessagepublic static CryptoReplaceFfxFpeConfig parseFrom(java.nio.ByteBuffer data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static CryptoReplaceFfxFpeConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static CryptoReplaceFfxFpeConfig parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(CodedInputStream input) throws java.io.IOException
java.io.IOExceptionpublic static CryptoReplaceFfxFpeConfig parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic CryptoReplaceFfxFpeConfig.Builder newBuilderForType()
newBuilderForType in interface MessagenewBuilderForType in interface MessageLitepublic static CryptoReplaceFfxFpeConfig.Builder newBuilder()
public static CryptoReplaceFfxFpeConfig.Builder newBuilder(CryptoReplaceFfxFpeConfig prototype)
public CryptoReplaceFfxFpeConfig.Builder toBuilder()
toBuilder in interface MessagetoBuilder in interface MessageLiteprotected CryptoReplaceFfxFpeConfig.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class GeneratedMessageV3public static CryptoReplaceFfxFpeConfig getDefaultInstance()
public static Parser<CryptoReplaceFfxFpeConfig> parser()
public Parser<CryptoReplaceFfxFpeConfig> getParserForType()
getParserForType in interface MessagegetParserForType in interface MessageLitegetParserForType in class GeneratedMessageV3public CryptoReplaceFfxFpeConfig getDefaultInstanceForType()
getDefaultInstanceForType in interface MessageLiteOrBuildergetDefaultInstanceForType in interface MessageOrBuilder