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. See [Pseudonymization](/dlp/docs/pseudonymization) for example usage.Protobuf type
google.privacy.dlp.v2.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, unknownFields
memoizedSize
memoizedHashCode
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
CryptoReplaceFfxFpeConfig.AlphabetCase |
getAlphabetCase() |
CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet |
getCommonAlphabet()
.google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4; |
int |
getCommonAlphabetValue()
.google.privacy.dlp.v2.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, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
toByteArray, toByteString, writeDelimitedTo, writeTo
public 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 MessageOrBuilder
getUnknownFields
in class GeneratedMessageV3
public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class GeneratedMessageV3
public CryptoReplaceFfxFpeConfig.AlphabetCase getAlphabetCase()
getAlphabetCase
in interface CryptoReplaceFfxFpeConfigOrBuilder
public boolean hasCryptoKey()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2.CryptoKey crypto_key = 1;
hasCryptoKey
in interface CryptoReplaceFfxFpeConfigOrBuilder
public CryptoKey getCryptoKey()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2.CryptoKey crypto_key = 1;
getCryptoKey
in interface CryptoReplaceFfxFpeConfigOrBuilder
public CryptoKeyOrBuilder getCryptoKeyOrBuilder()
The key used by the encryption algorithm. [required]
.google.privacy.dlp.v2.CryptoKey crypto_key = 1;
getCryptoKeyOrBuilder
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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.v2.FieldId context = 2;
hasContext
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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.v2.FieldId context = 2;
getContext
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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.v2.FieldId context = 2;
getContextOrBuilder
in interface CryptoReplaceFfxFpeConfigOrBuilder
public int getCommonAlphabetValue()
.google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
getCommonAlphabetValue
in interface CryptoReplaceFfxFpeConfigOrBuilder
public CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet getCommonAlphabet()
.google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
getCommonAlphabet
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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 CryptoReplaceFfxFpeConfigOrBuilder
public 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 CryptoReplaceFfxFpeConfigOrBuilder
public int getRadix()
The native way to select the alphabet. Must be in the range [2, 62].
int32 radix = 6;
getRadix
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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/v2/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.v2.InfoType surrogate_info_type = 8;
hasSurrogateInfoType
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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/v2/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.v2.InfoType surrogate_info_type = 8;
getSurrogateInfoType
in interface CryptoReplaceFfxFpeConfigOrBuilder
public 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/v2/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.v2.InfoType surrogate_info_type = 8;
getSurrogateInfoTypeOrBuilder
in interface CryptoReplaceFfxFpeConfigOrBuilder
public final boolean isInitialized()
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessageV3
public void writeTo(CodedOutputStream output) throws java.io.IOException
writeTo
in interface MessageLite
writeTo
in class GeneratedMessageV3
java.io.IOException
public int getSerializedSize()
getSerializedSize
in interface MessageLite
getSerializedSize
in class GeneratedMessageV3
public boolean equals(java.lang.Object obj)
equals
in interface Message
equals
in class AbstractMessage
public int hashCode()
hashCode
in interface Message
hashCode
in class AbstractMessage
public static CryptoReplaceFfxFpeConfig parseFrom(java.nio.ByteBuffer data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static CryptoReplaceFfxFpeConfig parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static CryptoReplaceFfxFpeConfig parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static CryptoReplaceFfxFpeConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static CryptoReplaceFfxFpeConfig parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static CryptoReplaceFfxFpeConfig parseFrom(CodedInputStream input) throws java.io.IOException
java.io.IOException
public static CryptoReplaceFfxFpeConfig parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public CryptoReplaceFfxFpeConfig.Builder newBuilderForType()
newBuilderForType
in interface Message
newBuilderForType
in interface MessageLite
public static CryptoReplaceFfxFpeConfig.Builder newBuilder()
public static CryptoReplaceFfxFpeConfig.Builder newBuilder(CryptoReplaceFfxFpeConfig prototype)
public CryptoReplaceFfxFpeConfig.Builder toBuilder()
toBuilder
in interface Message
toBuilder
in interface MessageLite
protected CryptoReplaceFfxFpeConfig.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
newBuilderForType
in class GeneratedMessageV3
public static CryptoReplaceFfxFpeConfig getDefaultInstance()
public static Parser<CryptoReplaceFfxFpeConfig> parser()
public Parser<CryptoReplaceFfxFpeConfig> getParserForType()
getParserForType
in interface Message
getParserForType
in interface MessageLite
getParserForType
in class GeneratedMessageV3
public CryptoReplaceFfxFpeConfig getDefaultInstanceForType()
getDefaultInstanceForType
in interface MessageLiteOrBuilder
getDefaultInstanceForType
in interface MessageOrBuilder