Starting to update AES encryption tests to support changes to

the supported data types by the encrypt plaintext parameter.
This commit is contained in:
Vitaliy Zakaznikov 2021-01-26 14:54:26 -05:00
parent e97c01c3ea
commit edd4ca8c72
5 changed files with 559 additions and 42 deletions

View File

@ -88,32 +88,35 @@ plaintexts = [
("utf8fixedstring", "toFixedString('Gãńdåłf_Thê_Gręât', 24)"),
("String", "'1'"),
("FixedString", "toFixedString('1', 1)"),
("UInt8", "toUInt8('1')"),
("UInt16", "toUInt16('1')"),
("UInt32", "toUInt32('1')"),
("UInt64", "toUInt64('1')"),
("Int8", "toInt8('1')"),
("Int16", "toInt16('1')"),
("Int32", "toInt32('1')"),
("Int64", "toInt64('1')"),
("Float32", "toFloat32('1')"),
("Float64", "toFloat64('1')"),
("Decimal32", "toDecimal32(2, 4)"),
("Decimal64", "toDecimal64(2, 4)"),
("Decimal128", "toDecimal128(2, 4)"),
("UUID", "toUUID('61f0c404-5cb3-11e7-907b-a6006ad3dba0')"),
("Date", "toDate('2020-01-01')"),
("DateTime", "toDateTime('2020-01-01 20:01:02')"),
("DateTime64", "toDateTime64('2020-01-01 20:01:02.123', 3)"),
("UInt8", "reinterpretAsFixedString(toUInt8('1'))"),
("UInt16", "reinterpretAsFixedString(toUInt16('1'))"),
("UInt32", "reinterpretAsFixedString(toUInt32('1'))"),
("UInt64", "reinterpretAsFixedString(toUInt64('1'))"),
("Int8", "reinterpretAsFixedString(toInt8('1'))"),
("Int16", "reinterpretAsFixedString(toInt16('1'))"),
("Int32", "reinterpretAsFixedString(toInt32('1'))"),
("Int64", "reinterpretAsFixedString(toInt64('1'))"),
("Float32", "reinterpretAsFixedString(toFloat32('1'))"),
("Float64", "reinterpretAsFixedString(toFloat64('1'))"),
("Decimal32", "reinterpretAsFixedString(toDecimal32(2, 4))"),
("Decimal64", "reinterpretAsFixedString(toDecimal64(2, 4))"),
("Decimal128", "reinterpretAsFixedString(toDecimal128(2, 4))"),
("UUID", "reinterpretAsFixedString(toUUID('61f0c404-5cb3-11e7-907b-a6006ad3dba0'))"),
("Date", "reinterpretAsFixedString(toDate('2020-01-01'))"),
("DateTime", "reinterpretAsFixedString(toDateTime('2020-01-01 20:01:02'))"),
("DateTime64", "reinterpretAsFixedString(toDateTime64('2020-01-01 20:01:02.123', 3))"),
("LowCardinality", "toLowCardinality('1')"),
("Array", "[1,2]"),
#("Array", "[1,2]"), - not supported
#("Tuple", "(1,'a')") - not supported
#("Nullable, "Nullable(X)") - not supported
("NULL", "toDateOrNull('foo')"),
("IPv4", "toIPv4('171.225.130.45')"),
("IPv6", "toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001')"),
("Enum8", r"CAST('a', 'Enum8(\'a\' = 1, \'b\' = 2)')"),
("Enum16", r"CAST('a', 'Enum16(\'a\' = 1, \'b\' = 2)')"),
("NULL", "reinterpretAsFixedString(toDateOrNull('foo'))"),
("NullableString", "toNullable('1')"),
("NullableStringNull", "toNullable(NULL)"),
("NullableFixedString", "toNullable(toFixedString('1',2))"),
("NullableFixedStringNull", "toNullable(toFixedString(NULL,2))"),
("IPv4", "reinterpretAsFixedString(toIPv4('171.225.130.45'))"),
("IPv6", "reinterpretAsFixedString(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'))"),
("Enum8", r"reinterpretAsFixedString(CAST('a', 'Enum8(\'a\' = 1, \'b\' = 2)'))"),
("Enum16", r"reinterpretAsFixedString(CAST('a', 'Enum16(\'a\' = 1, \'b\' = 2)'))"),
]
_hex = hex

View File

@ -54,7 +54,7 @@ def invalid_ciphertext(self):
d_aad = None if not aad_len else f"'{aad}'"
for datatype, ciphertext in invalid_ciphertexts:
if datatype in ["NULL"]:
if datatype == "NULL" or datatype.endswith("Null"):
continue
with When(f"invalid ciphertext={ciphertext}"):
if "cfb" in mode or "ofb" in mode or "ctr" in mode:
@ -431,17 +431,10 @@ def decryption(self):
ciphertext = f"unhex({ciphertext})"
compare = plaintext
if datatype == "IPv4":
cast = "toIPv4(IPv4NumToString(reinterpretAsUInt32"
endcast = "))"
elif datatype in ["DateTime64", "UUID", "IPv6", "LowCardinality", "Enum8", "Enum16", "Decimal32", "Decimal64", "Decimal128", "Array"]:
xfail(reason="no conversion")
elif datatype == "NULL":
if datatype == "NULL" or datatype.endswith("Null"):
ciphertext = "NULL"
cast = "isNull"
compare = None
elif datatype in ["Float32", "Float64", "Date", "DateTime"] or "Int" in datatype:
cast = f"reinterpretAs{datatype}"
decrypt(ciphertext=ciphertext, key=f"'{key[:key_len]}'", mode=mode,
iv=(None if not iv_len else f"'{iv[:iv_len]}'"),

View File

@ -53,7 +53,7 @@ def invalid_ciphertext(self):
d_iv = None if not iv_len else f"'{iv[:iv_len]}'"
for datatype, ciphertext in invalid_ciphertexts:
if datatype in ["NULL"]:
if datatype == "NULL" or datatype.endswith("Null"):
continue
with When(f"invalid ciphertext={ciphertext}"):
if "cfb" in mode or "ofb" in mode or "ctr" in mode:
@ -364,17 +364,10 @@ def decryption(self):
ciphertext = f"unhex({ciphertext})"
compare = plaintext
if datatype == "IPv4":
cast = "toIPv4(IPv4NumToString(reinterpretAsUInt32"
endcast = "))"
elif datatype in ["DateTime64", "UUID", "IPv6", "LowCardinality", "Enum8", "Enum16", "Decimal32", "Decimal64", "Decimal128", "Array"]:
xfail(reason="no conversion")
elif datatype == "NULL":
if datatype == "NULL" or datatype.endswith("Null"):
ciphertext = "NULL"
cast = "isNull"
compare = None
elif datatype in ["Float32", "Float64", "Date", "DateTime"] or "Int" in datatype:
cast = f"reinterpretAs{datatype}"
aes_decrypt_mysql(ciphertext=ciphertext, key=f"'{key[:key_len]}'", mode=mode,
iv=(None if not iv_len else f"'{iv[:iv_len]}'"),

View File

@ -2074,3 +2074,267 @@ example_mode_aes_256_ctr_datatype_utf8string_iv_16_aad_None = r"""'2E9B2BD2B8BA8
example_mode_aes_256_ctr_datatype_utf8fixedstring_iv_16_aad_None = r"""'2E9B2BD2B8BA872DB56225F82754048C944F1E670DF94BAA'"""
example_mode_aes_128_ecb_datatype_NullableString_iv_None_aad_None = r"""'7C51909F95C1E9B886A3487CD3EBED69'"""
example_mode_aes_128_ecb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableString_iv_None_aad_None = r"""'1AE38A541D466EDFED572EE839B0907F'"""
example_mode_aes_192_ecb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableString_iv_None_aad_None = r"""'C91184ED1E67F0CDED89B097D5D3B130'"""
example_mode_aes_256_ecb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableString_iv_None_aad_None = r"""'7C51909F95C1E9B886A3487CD3EBED69'"""
example_mode_aes_128_cbc_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableString_iv_None_aad_None = r"""'1AE38A541D466EDFED572EE839B0907F'"""
example_mode_aes_192_cbc_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableString_iv_None_aad_None = r"""'C91184ED1E67F0CDED89B097D5D3B130'"""
example_mode_aes_256_cbc_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableString_iv_16_aad_None = r"""'D017D171B3865D6EA347E14167261F41'"""
example_mode_aes_128_cbc_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableString_iv_16_aad_None = r"""'A3DB45D129A5C9FDB5ED66E782B28BD2'"""
example_mode_aes_192_cbc_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableString_iv_16_aad_None = r"""'5E22454D9AC4F1A47B04E2FD98A76140'"""
example_mode_aes_256_cbc_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableString_iv_None_aad_None = r"""'21'"""
example_mode_aes_128_cfb128_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableString_iv_None_aad_None = r"""'36'"""
example_mode_aes_192_cfb128_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableString_iv_None_aad_None = r"""'81'"""
example_mode_aes_256_cfb128_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableString_iv_16_aad_None = r"""'03'"""
example_mode_aes_128_cfb128_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableString_iv_16_aad_None = r"""'59'"""
example_mode_aes_192_cfb128_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableString_iv_16_aad_None = r"""'58'"""
example_mode_aes_256_cfb128_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableString_iv_None_aad_None = r"""'21'"""
example_mode_aes_128_ofb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableString_iv_None_aad_None = r"""'36'"""
example_mode_aes_192_ofb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableString_iv_None_aad_None = r"""'81'"""
example_mode_aes_256_ofb_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableString_iv_16_aad_None = r"""'03'"""
example_mode_aes_128_ofb_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableString_iv_16_aad_None = r"""'59'"""
example_mode_aes_192_ofb_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableString_iv_16_aad_None = r"""'58'"""
example_mode_aes_256_ofb_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_gcm_datatype_NullableString_iv_12_aad_None = r"""'DC48B85D412AEF42C46DA18E25139D5D9D'"""
example_mode_aes_128_gcm_datatype_NullableStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_192_gcm_datatype_NullableString_iv_12_aad_None = r"""'7B34E3F4BAFCD2F3D493F843FFEBF9A415'"""
example_mode_aes_192_gcm_datatype_NullableStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_256_gcm_datatype_NullableString_iv_12_aad_None = r"""'67B83EFC31C169D7613D6881E954F624C2'"""
example_mode_aes_256_gcm_datatype_NullableStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_128_gcm_datatype_NullableString_iv_12_aad_True = r"""'DCFAF1088D33EF99F1D06E3D14F265FD41'"""
example_mode_aes_128_gcm_datatype_NullableStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_192_gcm_datatype_NullableString_iv_12_aad_True = r"""'7BB72D91D66E3C93B34FBAFF92526E1A0E'"""
example_mode_aes_192_gcm_datatype_NullableStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_256_gcm_datatype_NullableString_iv_12_aad_True = r"""'672AAAA73DCD5DEBC924C34E8F6E2678F8'"""
example_mode_aes_256_gcm_datatype_NullableStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_128_ctr_datatype_NullableString_iv_None_aad_None = r"""'21'"""
example_mode_aes_128_ctr_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ctr_datatype_NullableString_iv_None_aad_None = r"""'36'"""
example_mode_aes_192_ctr_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ctr_datatype_NullableString_iv_None_aad_None = r"""'81'"""
example_mode_aes_256_ctr_datatype_NullableStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_ctr_datatype_NullableString_iv_16_aad_None = r"""'03'"""
example_mode_aes_128_ctr_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_ctr_datatype_NullableString_iv_16_aad_None = r"""'59'"""
example_mode_aes_192_ctr_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_ctr_datatype_NullableString_iv_16_aad_None = r"""'58'"""
example_mode_aes_256_ctr_datatype_NullableStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_ecb_datatype_NullableFixedString_iv_None_aad_None = r"""'2320D8B0C3FF2AF0C808CE333688FEE4'"""
example_mode_aes_128_ecb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableFixedString_iv_None_aad_None = r"""'145EF1DA49622900B742743B4114C3F8'"""
example_mode_aes_192_ecb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableFixedString_iv_None_aad_None = r"""'BB44E0A5A23B06C6F78D05CF12E4A304'"""
example_mode_aes_256_ecb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableFixedString_iv_None_aad_None = r"""'2320D8B0C3FF2AF0C808CE333688FEE4'"""
example_mode_aes_128_cbc_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableFixedString_iv_None_aad_None = r"""'145EF1DA49622900B742743B4114C3F8'"""
example_mode_aes_192_cbc_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableFixedString_iv_None_aad_None = r"""'BB44E0A5A23B06C6F78D05CF12E4A304'"""
example_mode_aes_256_cbc_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableFixedString_iv_16_aad_None = r"""'ECE42AF0000893B1D1A43993506376A4'"""
example_mode_aes_128_cbc_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableFixedString_iv_16_aad_None = r"""'0A8E8BA80EB490740B91937D4A5FF84C'"""
example_mode_aes_192_cbc_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableFixedString_iv_16_aad_None = r"""'4A3A13D0807C29D4FA9CAEE6B9A67E7D'"""
example_mode_aes_256_cbc_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableFixedString_iv_None_aad_None = r"""'21DF'"""
example_mode_aes_128_cfb128_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableFixedString_iv_None_aad_None = r"""'36B7'"""
example_mode_aes_192_cfb128_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableFixedString_iv_None_aad_None = r"""'818E'"""
example_mode_aes_256_cfb128_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableFixedString_iv_16_aad_None = r"""'0388'"""
example_mode_aes_128_cfb128_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableFixedString_iv_16_aad_None = r"""'59C7'"""
example_mode_aes_192_cfb128_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableFixedString_iv_16_aad_None = r"""'5858'"""
example_mode_aes_256_cfb128_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableFixedString_iv_None_aad_None = r"""'21DF'"""
example_mode_aes_128_ofb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableFixedString_iv_None_aad_None = r"""'36B7'"""
example_mode_aes_192_ofb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableFixedString_iv_None_aad_None = r"""'818E'"""
example_mode_aes_256_ofb_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableFixedString_iv_16_aad_None = r"""'0388'"""
example_mode_aes_128_ofb_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableFixedString_iv_16_aad_None = r"""'59C7'"""
example_mode_aes_192_ofb_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableFixedString_iv_16_aad_None = r"""'5858'"""
example_mode_aes_256_ofb_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_128_gcm_datatype_NullableFixedString_iv_12_aad_None = r"""'DC9659BBB6F4D4C40DCD095F1FD69A4E5B9C'"""
example_mode_aes_128_gcm_datatype_NullableFixedStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_192_gcm_datatype_NullableFixedString_iv_12_aad_None = r"""'7BFA19E7769CC955EDD39D806A13BF6AF8E3'"""
example_mode_aes_192_gcm_datatype_NullableFixedStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_256_gcm_datatype_NullableFixedString_iv_12_aad_None = r"""'67CB36E371A5C5F544B1EFEC353A84FE0B2F'"""
example_mode_aes_256_gcm_datatype_NullableFixedStringNull_iv_12_aad_None = r"""'\\N'"""
example_mode_aes_128_gcm_datatype_NullableFixedString_iv_12_aad_True = r"""'DC96EBF2E338CDC4D6F8B490ACE77BB6FB40'"""
example_mode_aes_128_gcm_datatype_NullableFixedStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_192_gcm_datatype_NullableFixedString_iv_12_aad_True = r"""'7BFA9A2913F05BBB8DB441C2D67E06FD46F8'"""
example_mode_aes_192_gcm_datatype_NullableFixedStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_256_gcm_datatype_NullableFixedString_iv_12_aad_True = r"""'67CBA4772AA9C9C17819F647FA5CBE2E5715'"""
example_mode_aes_256_gcm_datatype_NullableFixedStringNull_iv_12_aad_True = r"""'\\N'"""
example_mode_aes_128_ctr_datatype_NullableFixedString_iv_None_aad_None = r"""'21DF'"""
example_mode_aes_128_ctr_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_192_ctr_datatype_NullableFixedString_iv_None_aad_None = r"""'36B7'"""
example_mode_aes_192_ctr_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_256_ctr_datatype_NullableFixedString_iv_None_aad_None = r"""'818E'"""
example_mode_aes_256_ctr_datatype_NullableFixedStringNull_iv_None_aad_None = r"""'\\N'"""
example_mode_aes_128_ctr_datatype_NullableFixedString_iv_16_aad_None = r"""'0388'"""
example_mode_aes_128_ctr_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_192_ctr_datatype_NullableFixedString_iv_16_aad_None = r"""'59C7'"""
example_mode_aes_192_ctr_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""
example_mode_aes_256_ctr_datatype_NullableFixedString_iv_16_aad_None = r"""'5858'"""
example_mode_aes_256_ctr_datatype_NullableFixedStringNull_iv_16_aad_None = r"""'\\N'"""

View File

@ -1978,3 +1978,267 @@ example_mode_aes_256_ofb_datatype_Enum8_key_64_iv_64 = r"""'D2'"""
example_mode_aes_256_ofb_datatype_Enum16_key_64_iv_64 = r"""'D2EE'"""
example_mode_aes_128_ecb_datatype_NullableString_key_16_iv_None = r"""'7C51909F95C1E9B886A3487CD3EBED69'"""
example_mode_aes_128_ecb_datatype_NullableStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_128_ecb_datatype_NullableFixedString_key_16_iv_None = r"""'2320D8B0C3FF2AF0C808CE333688FEE4'"""
example_mode_aes_128_ecb_datatype_NullableFixedStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_128_ecb_datatype_NullableString_key_24_iv_None = r"""'697175286BC73A26C572DBD9480738F3'"""
example_mode_aes_128_ecb_datatype_NullableStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_128_ecb_datatype_NullableFixedString_key_24_iv_None = r"""'824777897B48FB42AE19EBF2835AE5BA'"""
example_mode_aes_128_ecb_datatype_NullableFixedStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableString_key_24_iv_None = r"""'1AE38A541D466EDFED572EE839B0907F'"""
example_mode_aes_192_ecb_datatype_NullableStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableFixedString_key_24_iv_None = r"""'145EF1DA49622900B742743B4114C3F8'"""
example_mode_aes_192_ecb_datatype_NullableFixedStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableString_key_32_iv_None = r"""'851106E40808E28682DAC1AD840A7E92'"""
example_mode_aes_192_ecb_datatype_NullableStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_192_ecb_datatype_NullableFixedString_key_32_iv_None = r"""'24268978B72821002456FF2204B0F9B9'"""
example_mode_aes_192_ecb_datatype_NullableFixedStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableString_key_32_iv_None = r"""'C91184ED1E67F0CDED89B097D5D3B130'"""
example_mode_aes_256_ecb_datatype_NullableStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableFixedString_key_32_iv_None = r"""'BB44E0A5A23B06C6F78D05CF12E4A304'"""
example_mode_aes_256_ecb_datatype_NullableFixedStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableString_key_64_iv_None = r"""'7492B9A2D0E86DAF1DBCAEDBAD9E3D7E'"""
example_mode_aes_256_ecb_datatype_NullableStringNull_key_64_iv_None = r"""'\\N'"""
example_mode_aes_256_ecb_datatype_NullableFixedString_key_64_iv_None = r"""'F2FACC4703F559D74555D10CA4850F40'"""
example_mode_aes_256_ecb_datatype_NullableFixedStringNull_key_64_iv_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableString_key_16_iv_None = r"""'7C51909F95C1E9B886A3487CD3EBED69'"""
example_mode_aes_128_cbc_datatype_NullableStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableFixedString_key_16_iv_None = r"""'2320D8B0C3FF2AF0C808CE333688FEE4'"""
example_mode_aes_128_cbc_datatype_NullableFixedStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableString_key_24_iv_None = r"""'1AE38A541D466EDFED572EE839B0907F'"""
example_mode_aes_192_cbc_datatype_NullableStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableFixedString_key_24_iv_None = r"""'145EF1DA49622900B742743B4114C3F8'"""
example_mode_aes_192_cbc_datatype_NullableFixedStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableString_key_32_iv_None = r"""'C91184ED1E67F0CDED89B097D5D3B130'"""
example_mode_aes_256_cbc_datatype_NullableStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableFixedString_key_32_iv_None = r"""'BB44E0A5A23B06C6F78D05CF12E4A304'"""
example_mode_aes_256_cbc_datatype_NullableFixedStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableString_key_16_iv_16 = r"""'D017D171B3865D6EA347E14167261F41'"""
example_mode_aes_128_cbc_datatype_NullableStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableFixedString_key_16_iv_16 = r"""'ECE42AF0000893B1D1A43993506376A4'"""
example_mode_aes_128_cbc_datatype_NullableFixedStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableString_key_24_iv_24 = r"""'73C9874744984892250CCCEC8541D690'"""
example_mode_aes_128_cbc_datatype_NullableStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_128_cbc_datatype_NullableFixedString_key_24_iv_24 = r"""'C55AC3DA9276DBF066AC408BFCF011DD'"""
example_mode_aes_128_cbc_datatype_NullableFixedStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableString_key_24_iv_16 = r"""'A3DB45D129A5C9FDB5ED66E782B28BD2'"""
example_mode_aes_192_cbc_datatype_NullableStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableFixedString_key_24_iv_16 = r"""'0A8E8BA80EB490740B91937D4A5FF84C'"""
example_mode_aes_192_cbc_datatype_NullableFixedStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableString_key_32_iv_32 = r"""'508551DA505F6538F90DC607423CFAD4'"""
example_mode_aes_192_cbc_datatype_NullableStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_192_cbc_datatype_NullableFixedString_key_32_iv_32 = r"""'723C4EB7399AE6F019109651B376A111'"""
example_mode_aes_192_cbc_datatype_NullableFixedStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableString_key_32_iv_16 = r"""'5E22454D9AC4F1A47B04E2FD98A76140'"""
example_mode_aes_256_cbc_datatype_NullableStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableFixedString_key_32_iv_16 = r"""'4A3A13D0807C29D4FA9CAEE6B9A67E7D'"""
example_mode_aes_256_cbc_datatype_NullableFixedStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableString_key_64_iv_64 = r"""'4CE9C9AFDC1E1E1EF2D1F4C141CE1874'"""
example_mode_aes_256_cbc_datatype_NullableStringNull_key_64_iv_64 = r"""'\\N'"""
example_mode_aes_256_cbc_datatype_NullableFixedString_key_64_iv_64 = r"""'5547B945A6810130CFC689C22530FA26'"""
example_mode_aes_256_cbc_datatype_NullableFixedStringNull_key_64_iv_64 = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableString_key_16_iv_None = r"""'21'"""
example_mode_aes_128_cfb128_datatype_NullableStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableFixedString_key_16_iv_None = r"""'21DF'"""
example_mode_aes_128_cfb128_datatype_NullableFixedStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableString_key_24_iv_None = r"""'36'"""
example_mode_aes_192_cfb128_datatype_NullableStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableFixedString_key_24_iv_None = r"""'36B7'"""
example_mode_aes_192_cfb128_datatype_NullableFixedStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableString_key_32_iv_None = r"""'81'"""
example_mode_aes_256_cfb128_datatype_NullableStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableFixedString_key_32_iv_None = r"""'818E'"""
example_mode_aes_256_cfb128_datatype_NullableFixedStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableString_key_16_iv_16 = r"""'03'"""
example_mode_aes_128_cfb128_datatype_NullableStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableFixedString_key_16_iv_16 = r"""'0388'"""
example_mode_aes_128_cfb128_datatype_NullableFixedStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableString_key_24_iv_24 = r"""'6A'"""
example_mode_aes_128_cfb128_datatype_NullableStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_128_cfb128_datatype_NullableFixedString_key_24_iv_24 = r"""'6A77'"""
example_mode_aes_128_cfb128_datatype_NullableFixedStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableString_key_24_iv_16 = r"""'59'"""
example_mode_aes_192_cfb128_datatype_NullableStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableFixedString_key_24_iv_16 = r"""'59C7'"""
example_mode_aes_192_cfb128_datatype_NullableFixedStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableString_key_32_iv_32 = r"""'00'"""
example_mode_aes_192_cfb128_datatype_NullableStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_192_cfb128_datatype_NullableFixedString_key_32_iv_32 = r"""'00A0'"""
example_mode_aes_192_cfb128_datatype_NullableFixedStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableString_key_32_iv_16 = r"""'58'"""
example_mode_aes_256_cfb128_datatype_NullableStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableFixedString_key_32_iv_16 = r"""'5858'"""
example_mode_aes_256_cfb128_datatype_NullableFixedStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableString_key_64_iv_64 = r"""'E2'"""
example_mode_aes_256_cfb128_datatype_NullableStringNull_key_64_iv_64 = r"""'\\N'"""
example_mode_aes_256_cfb128_datatype_NullableFixedString_key_64_iv_64 = r"""'E2EE'"""
example_mode_aes_256_cfb128_datatype_NullableFixedStringNull_key_64_iv_64 = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableString_key_16_iv_None = r"""'21'"""
example_mode_aes_128_ofb_datatype_NullableStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableFixedString_key_16_iv_None = r"""'21DF'"""
example_mode_aes_128_ofb_datatype_NullableFixedStringNull_key_16_iv_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableString_key_24_iv_None = r"""'36'"""
example_mode_aes_192_ofb_datatype_NullableStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableFixedString_key_24_iv_None = r"""'36B7'"""
example_mode_aes_192_ofb_datatype_NullableFixedStringNull_key_24_iv_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableString_key_32_iv_None = r"""'81'"""
example_mode_aes_256_ofb_datatype_NullableStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableFixedString_key_32_iv_None = r"""'818E'"""
example_mode_aes_256_ofb_datatype_NullableFixedStringNull_key_32_iv_None = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableString_key_16_iv_16 = r"""'03'"""
example_mode_aes_128_ofb_datatype_NullableStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableFixedString_key_16_iv_16 = r"""'0388'"""
example_mode_aes_128_ofb_datatype_NullableFixedStringNull_key_16_iv_16 = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableString_key_24_iv_24 = r"""'6A'"""
example_mode_aes_128_ofb_datatype_NullableStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_128_ofb_datatype_NullableFixedString_key_24_iv_24 = r"""'6A77'"""
example_mode_aes_128_ofb_datatype_NullableFixedStringNull_key_24_iv_24 = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableString_key_24_iv_16 = r"""'59'"""
example_mode_aes_192_ofb_datatype_NullableStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableFixedString_key_24_iv_16 = r"""'59C7'"""
example_mode_aes_192_ofb_datatype_NullableFixedStringNull_key_24_iv_16 = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableString_key_32_iv_32 = r"""'00'"""
example_mode_aes_192_ofb_datatype_NullableStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_192_ofb_datatype_NullableFixedString_key_32_iv_32 = r"""'00A0'"""
example_mode_aes_192_ofb_datatype_NullableFixedStringNull_key_32_iv_32 = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableString_key_32_iv_16 = r"""'58'"""
example_mode_aes_256_ofb_datatype_NullableStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableFixedString_key_32_iv_16 = r"""'5858'"""
example_mode_aes_256_ofb_datatype_NullableFixedStringNull_key_32_iv_16 = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableString_key_64_iv_64 = r"""'E2'"""
example_mode_aes_256_ofb_datatype_NullableStringNull_key_64_iv_64 = r"""'\\N'"""
example_mode_aes_256_ofb_datatype_NullableFixedString_key_64_iv_64 = r"""'E2EE'"""
example_mode_aes_256_ofb_datatype_NullableFixedStringNull_key_64_iv_64 = r"""'\\N'"""