From 1951bf6444d4d5cdaaf0eee1b89a462c32b92b38 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 15 Sep 2013 12:05:43 -0500 Subject: add cryptrec and openssl test vector loaders + tests --- tests/test_utils.py | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 221 insertions(+), 2 deletions(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index fd56dd30..3768c6fc 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -13,7 +13,9 @@ import textwrap -from .utils import load_nist_vectors, load_nist_vectors_from_file +from .utils import (load_nist_vectors, load_nist_vectors_from_file, + load_cryptrec_vectors, load_cryptrec_vectors_from_file, + load_openssl_vectors, load_openssl_vectors_from_file) def test_load_nist_vectors_encrypt(): @@ -179,7 +181,7 @@ def test_load_nist_vectors_from_file_encrypt(): ] -def test_load_nist_vectors_from_file_decypt(): +def test_load_nist_vectors_from_file_decrypt(): assert load_nist_vectors_from_file( "AES/KAT/CBCGFSbox128.rsp", "DECRYPT", @@ -228,3 +230,220 @@ def test_load_nist_vectors_from_file_decypt(): b"58c8e00b2631686d54eab84b91f0aca1" ), ] + + +def test_load_cryptrec_vectors(): + vector_data = textwrap.dedent(""" + # Vectors taken from http://info.isl.ntt.co.jp/crypt/eng/camellia/ + # Download is t_camelia.txt + + # Camellia with 128-bit key + + K No.001 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + P No.001 : 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + C No.001 : 07 92 3A 39 EB 0A 81 7D 1C 4D 87 BD B8 2D 1F 1C + + P No.002 : 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + C No.002 : 48 CD 64 19 80 96 72 D2 34 92 60 D8 9A 08 D3 D3 + + K No.002 : 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + P No.001 : 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + C No.001 : 07 92 3A 39 EB 0A 81 7D 1C 4D 87 BD B8 2D 1F 1C + """).splitlines() + + assert load_cryptrec_vectors(vector_data) == [ + ( + b"00000000000000000000000000000000", + b"80000000000000000000000000000000", + b"07923A39EB0A817D1C4D87BDB82D1F1C", + ), + ( + b"00000000000000000000000000000000", + b"40000000000000000000000000000000", + b"48CD6419809672D2349260D89A08D3D3", + ), + ( + b"10000000000000000000000000000000", + b"80000000000000000000000000000000", + b"07923A39EB0A817D1C4D87BDB82D1F1C", + ), + ] + + +def test_load_cryptrec_vectors_from_file_encrypt(): + test_set = load_cryptrec_vectors_from_file( + "Camellia/NTT/camellia-128-ecb.txt" + ) + assert test_set[0] == ( + ( + b"00000000000000000000000000000000", + b"80000000000000000000000000000000", + b"07923A39EB0A817D1C4D87BDB82D1F1C", + ) + ) + assert len(test_set) == 1280 + + +def test_load_openssl_vectors_encrypt(): + vector_data = textwrap.dedent(""" + # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt + # For all CFB128 encrypts and decrypts, the transformed sequence is + # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec + # CFB128-CAMELLIA128.Encrypt + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1 + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:1 + + # CFB128-CAMELLIA128.Decrypt + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:0 + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:0 + """).splitlines() + + assert load_openssl_vectors(vector_data, "ENCRYPT") == [ + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"000102030405060708090A0B0C0D0E0F", + b"6BC1BEE22E409F96E93D7E117393172A", + b"14F7646187817EB586599146B82BD719", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"14F7646187817EB586599146B82BD719", + b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + b"A53D28BB82DF741103EA4F921A44880B", + ), + ] + + +def test_load_openssl_vectors_decrypt(): + vector_data = textwrap.dedent(""" + # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt + # For all CFB128 encrypts and decrypts, the transformed sequence is + # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec + # CFB128-CAMELLIA128.Encrypt + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1 + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:1 + + # CFB128-CAMELLIA128.Decrypt + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:9C2157A664626D1DEF9EA420FDE69B96:0 + CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:742A25F0542340C7BAEF24CA8482BB09:0 + + """).splitlines() + + assert load_openssl_vectors(vector_data, "DECRYPT") == [ + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"A53D28BB82DF741103EA4F921A44880B", + b"30C81C46A35CE411E5FBC1191A0A52EF", + b"9C2157A664626D1DEF9EA420FDE69B96", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"9C2157A664626D1DEF9EA420FDE69B96", + b"F69F2445DF4F9B17AD2B417BE66C3710", + b"742A25F0542340C7BAEF24CA8482BB09", + ), + ] + + +def test_load_openssl_vectors_from_file_encrypt(): + test_list = load_openssl_vectors_from_file( + "Camellia/camellia-ofb.txt", + "ENCRYPT" + ) + assert len(test_list) == 12 + assert test_list[:4] == [ + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"000102030405060708090A0B0C0D0E0F", + b"6BC1BEE22E409F96E93D7E117393172A", + b"14F7646187817EB586599146B82BD719", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"50FE67CC996D32B6DA0937E99BAFEC60", + b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + b"25623DB569CA51E01482649977E28D84", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"D9A4DADA0892239F6B8B3D7680E15674", + b"30C81C46A35CE411E5FBC1191A0A52EF", + b"C776634A60729DC657D12B9FCA801E98", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"A78819583F0308E7A6BF36B1386ABF23", + b"F69F2445DF4F9B17AD2B417BE66C3710", + b"D776379BE0E50825E681DA1A4C980E8E", + ), + ] + + +def test_load_openssl_vectors_from_file_decrypt(): + test_list = load_openssl_vectors_from_file( + "Camellia/camellia-ofb.txt", + "DECRYPT" + ) + assert len(test_list) == 12 + assert test_list[:4] == [ + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"000102030405060708090A0B0C0D0E0F", + b"6BC1BEE22E409F96E93D7E117393172A", + b"14F7646187817EB586599146B82BD719", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"50FE67CC996D32B6DA0937E99BAFEC60", + b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + b"25623DB569CA51E01482649977E28D84", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"D9A4DADA0892239F6B8B3D7680E15674", + b"30C81C46A35CE411E5FBC1191A0A52EF", + b"C776634A60729DC657D12B9FCA801E98", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"A78819583F0308E7A6BF36B1386ABF23", + b"F69F2445DF4F9B17AD2B417BE66C3710", + b"D776379BE0E50825E681DA1A4C980E8E", + ), + ] + + +def test_load_openssl_vectors_from_file_no_enc_dec_flag(): + test_list = load_openssl_vectors_from_file( + "Camellia/camellia-cbc.txt", + "ENCRYPT" + ) + assert len(test_list) == 12 + assert test_list[:4] == [ + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"000102030405060708090A0B0C0D0E0F", + b"6BC1BEE22E409F96E93D7E117393172A", + b"1607CF494B36BBF00DAEB0B503C831AB", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"1607CF494B36BBF00DAEB0B503C831AB", + b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + b"A2F2CF671629EF7840C5A5DFB5074887", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"A2F2CF671629EF7840C5A5DFB5074887", + b"30C81C46A35CE411E5FBC1191A0A52EF", + b"0F06165008CF8B8B5A63586362543E54", + ), + ( + b"2B7E151628AED2A6ABF7158809CF4F3C", + b"36A84CDAFD5F9A85ADA0F0A993D6D577", + b"F69F2445DF4F9B17AD2B417BE66C3710", + b"74C64268CDB8B8FAF5B34E8AF3732980", + ), + ] -- cgit v1.2.3 From 05d7214f4026d89a4b111e9bf0d4933a4847734f Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 15 Sep 2013 14:03:15 -0500 Subject: crazy pep8 contortions --- tests/test_utils.py | 67 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 25 deletions(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index 3768c6fc..56edb3a5 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -287,18 +287,27 @@ def test_load_cryptrec_vectors_from_file_encrypt(): def test_load_openssl_vectors_encrypt(): - vector_data = textwrap.dedent(""" - # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt - # For all CFB128 encrypts and decrypts, the transformed sequence is - # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec - # CFB128-CAMELLIA128.Encrypt - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1 - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:1 - - # CFB128-CAMELLIA128.Decrypt - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:0 - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:0 - """).splitlines() + vector_data = textwrap.dedent( + """ + # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt + # For all CFB128 encrypts and decrypts, the transformed sequence is + # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec + # CFB128-CAMELLIA128.Encrypt + """ + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:" + "14F7646187817EB586599146B82BD719:1\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:" + "A53D28BB82DF741103EA4F921A44880B:1\n\n" + "# CFB128-CAMELLIA128.Decrypt\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:" + "14F7646187817EB586599146B82BD719:0\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:" + "A53D28BB82DF741103EA4F921A44880B:0" + ).splitlines() assert load_openssl_vectors(vector_data, "ENCRYPT") == [ ( @@ -317,19 +326,27 @@ def test_load_openssl_vectors_encrypt(): def test_load_openssl_vectors_decrypt(): - vector_data = textwrap.dedent(""" - # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt - # For all CFB128 encrypts and decrypts, the transformed sequence is - # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec - # CFB128-CAMELLIA128.Encrypt - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1 - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:1 - - # CFB128-CAMELLIA128.Decrypt - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:9C2157A664626D1DEF9EA420FDE69B96:0 - CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:742A25F0542340C7BAEF24CA8482BB09:0 - - """).splitlines() + vector_data = textwrap.dedent( + """ + # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt + # For all CFB128 encrypts and decrypts, the transformed sequence is + # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec + # CFB128-CAMELLIA128.Encrypt + """ + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:" + "14F7646187817EB586599146B82BD719:1\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:" + "A53D28BB82DF741103EA4F921A44880B:1\n\n" + "# CFB128-CAMELLIA128.Decrypt\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:" + "9C2157A664626D1DEF9EA420FDE69B96:0\n" + "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" + "9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:" + "742A25F0542340C7BAEF24CA8482BB09:0\n" + ).splitlines() assert load_openssl_vectors(vector_data, "DECRYPT") == [ ( -- cgit v1.2.3 From 6b99a1b6d2e55e41bda5a42357e1b92f2e38d2ab Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Tue, 24 Sep 2013 16:50:21 -0500 Subject: remove distinction between encrypt/decrypt in the openssl loader * This was done because all the OpenSSL test vectors we're currently using are identical between encrypt/decrypt. * Removed a bunch of unneeded unit tests that checked the encrypt/decrypt vectors --- tests/test_utils.py | 112 ++++------------------------------------------------ 1 file changed, 7 insertions(+), 105 deletions(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index 56edb3a5..73394a51 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -286,7 +286,7 @@ def test_load_cryptrec_vectors_from_file_encrypt(): assert len(test_set) == 1280 -def test_load_openssl_vectors_encrypt(): +def test_load_openssl_vectors(): vector_data = textwrap.dedent( """ # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt @@ -309,7 +309,7 @@ def test_load_openssl_vectors_encrypt(): "A53D28BB82DF741103EA4F921A44880B:0" ).splitlines() - assert load_openssl_vectors(vector_data, "ENCRYPT") == [ + assert load_openssl_vectors(vector_data) == [ ( b"2B7E151628AED2A6ABF7158809CF4F3C", b"000102030405060708090A0B0C0D0E0F", @@ -322,55 +322,6 @@ def test_load_openssl_vectors_encrypt(): b"AE2D8A571E03AC9C9EB76FAC45AF8E51", b"A53D28BB82DF741103EA4F921A44880B", ), - ] - - -def test_load_openssl_vectors_decrypt(): - vector_data = textwrap.dedent( - """ - # We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt - # For all CFB128 encrypts and decrypts, the transformed sequence is - # CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec - # CFB128-CAMELLIA128.Encrypt - """ - "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" - "000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:" - "14F7646187817EB586599146B82BD719:1\n" - "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" - "14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:" - "A53D28BB82DF741103EA4F921A44880B:1\n\n" - "# CFB128-CAMELLIA128.Decrypt\n" - "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" - "A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:" - "9C2157A664626D1DEF9EA420FDE69B96:0\n" - "CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:" - "9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:" - "742A25F0542340C7BAEF24CA8482BB09:0\n" - ).splitlines() - - assert load_openssl_vectors(vector_data, "DECRYPT") == [ - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"A53D28BB82DF741103EA4F921A44880B", - b"30C81C46A35CE411E5FBC1191A0A52EF", - b"9C2157A664626D1DEF9EA420FDE69B96", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"9C2157A664626D1DEF9EA420FDE69B96", - b"F69F2445DF4F9B17AD2B417BE66C3710", - b"742A25F0542340C7BAEF24CA8482BB09", - ), - ] - - -def test_load_openssl_vectors_from_file_encrypt(): - test_list = load_openssl_vectors_from_file( - "Camellia/camellia-ofb.txt", - "ENCRYPT" - ) - assert len(test_list) == 12 - assert test_list[:4] == [ ( b"2B7E151628AED2A6ABF7158809CF4F3C", b"000102030405060708090A0B0C0D0E0F", @@ -379,31 +330,16 @@ def test_load_openssl_vectors_from_file_encrypt(): ), ( b"2B7E151628AED2A6ABF7158809CF4F3C", - b"50FE67CC996D32B6DA0937E99BAFEC60", + b"14F7646187817EB586599146B82BD719", b"AE2D8A571E03AC9C9EB76FAC45AF8E51", - b"25623DB569CA51E01482649977E28D84", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"D9A4DADA0892239F6B8B3D7680E15674", - b"30C81C46A35CE411E5FBC1191A0A52EF", - b"C776634A60729DC657D12B9FCA801E98", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"A78819583F0308E7A6BF36B1386ABF23", - b"F69F2445DF4F9B17AD2B417BE66C3710", - b"D776379BE0E50825E681DA1A4C980E8E", + b"A53D28BB82DF741103EA4F921A44880B", ), ] -def test_load_openssl_vectors_from_file_decrypt(): - test_list = load_openssl_vectors_from_file( - "Camellia/camellia-ofb.txt", - "DECRYPT" - ) - assert len(test_list) == 12 +def test_load_openssl_vectors_from_file(): + test_list = load_openssl_vectors_from_file("Camellia/camellia-ofb.txt") + assert len(test_list) == 24 assert test_list[:4] == [ ( b"2B7E151628AED2A6ABF7158809CF4F3C", @@ -430,37 +366,3 @@ def test_load_openssl_vectors_from_file_decrypt(): b"D776379BE0E50825E681DA1A4C980E8E", ), ] - - -def test_load_openssl_vectors_from_file_no_enc_dec_flag(): - test_list = load_openssl_vectors_from_file( - "Camellia/camellia-cbc.txt", - "ENCRYPT" - ) - assert len(test_list) == 12 - assert test_list[:4] == [ - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"000102030405060708090A0B0C0D0E0F", - b"6BC1BEE22E409F96E93D7E117393172A", - b"1607CF494B36BBF00DAEB0B503C831AB", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"1607CF494B36BBF00DAEB0B503C831AB", - b"AE2D8A571E03AC9C9EB76FAC45AF8E51", - b"A2F2CF671629EF7840C5A5DFB5074887", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"A2F2CF671629EF7840C5A5DFB5074887", - b"30C81C46A35CE411E5FBC1191A0A52EF", - b"0F06165008CF8B8B5A63586362543E54", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"36A84CDAFD5F9A85ADA0F0A993D6D577", - b"F69F2445DF4F9B17AD2B417BE66C3710", - b"74C64268CDB8B8FAF5B34E8AF3732980", - ), - ] -- cgit v1.2.3 From 1fe70b12b24f1180b2c4fde1764e309bc0cb338d Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 16 Oct 2013 11:59:17 -0700 Subject: Start of the great refactoring --- tests/test_utils.py | 270 +++++++++++++++++++++++++--------------------------- 1 file changed, 132 insertions(+), 138 deletions(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index 73394a51..8141faf3 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -56,21 +56,19 @@ def test_load_nist_vectors_encrypt(): PLAINTEXT = 9798c4640bad75c7c3227db910174e72 """).splitlines() - assert load_nist_vectors(vector_data, "ENCRYPT", - ["key", "iv", "plaintext", "ciphertext"], - ) == [ - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"f34481ec3cc627bacd5dc3fb08f273e6", - b"0336763e966d92595a567cc9ce537f5e", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"9798c4640bad75c7c3227db910174e72", - b"a9a1631bf4996954ebc093957b234589", - ), + assert load_nist_vectors(vector_data, "ENCRYPT") == [ + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6", + "ciphertext": b"0336763e966d92595a567cc9ce537f5e", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"9798c4640bad75c7c3227db910174e72", + "ciphertext": b"a9a1631bf4996954ebc093957b234589", + }, ] @@ -112,72 +110,69 @@ def test_load_nist_vectors_decrypt(): PLAINTEXT = 9798c4640bad75c7c3227db910174e72 """).splitlines() - assert load_nist_vectors(vector_data, "DECRYPT", - ["key", "iv", "ciphertext", "plaintext"], - ) == [ - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"0336763e966d92595a567cc9ce537f5e", - b"f34481ec3cc627bacd5dc3fb08f273e6", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"a9a1631bf4996954ebc093957b234589", - b"9798c4640bad75c7c3227db910174e72", - ), + assert load_nist_vectors(vector_data, "DECRYPT") == [ + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6", + "ciphertext": b"0336763e966d92595a567cc9ce537f5e", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"9798c4640bad75c7c3227db910174e72", + "ciphertext": b"a9a1631bf4996954ebc093957b234589", + }, ] def test_load_nist_vectors_from_file_encrypt(): assert load_nist_vectors_from_file( "AES/KAT/CBCGFSbox128.rsp", - "ENCRYPT", - ["key", "iv", "plaintext", "ciphertext"], + "ENCRYPT" ) == [ - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"f34481ec3cc627bacd5dc3fb08f273e6", - b"0336763e966d92595a567cc9ce537f5e", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"9798c4640bad75c7c3227db910174e72", - b"a9a1631bf4996954ebc093957b234589", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"96ab5c2ff612d9dfaae8c31f30c42168", - b"ff4f8391a6a40ca5b25d23bedd44a597", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"6a118a874519e64e9963798a503f1d35", - b"dc43be40be0e53712f7e2bf5ca707209", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"cb9fceec81286ca3e989bd979b0cb284", - b"92beedab1895a94faa69b632e5cc47ce", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"b26aeb1874e47ca8358ff22378f09144", - b"459264f4798f6a78bacb89c15ed3d601", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"58c8e00b2631686d54eab84b91f0aca1", - b"08a4e2efec8a8e3312ca7460b9040bbf", - ), + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6", + "ciphertext": b"0336763e966d92595a567cc9ce537f5e", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"9798c4640bad75c7c3227db910174e72", + "ciphertext": b"a9a1631bf4996954ebc093957b234589", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"96ab5c2ff612d9dfaae8c31f30c42168", + "ciphertext": b"ff4f8391a6a40ca5b25d23bedd44a597", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"6a118a874519e64e9963798a503f1d35", + "ciphertext": b"dc43be40be0e53712f7e2bf5ca707209", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"cb9fceec81286ca3e989bd979b0cb284", + "ciphertext": b"92beedab1895a94faa69b632e5cc47ce", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"b26aeb1874e47ca8358ff22378f09144", + "ciphertext": b"459264f4798f6a78bacb89c15ed3d601", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"58c8e00b2631686d54eab84b91f0aca1", + "ciphertext": b"08a4e2efec8a8e3312ca7460b9040bbf", + }, ] @@ -185,50 +180,49 @@ def test_load_nist_vectors_from_file_decrypt(): assert load_nist_vectors_from_file( "AES/KAT/CBCGFSbox128.rsp", "DECRYPT", - ["key", "iv", "ciphertext", "plaintext"], - ) == [ - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"0336763e966d92595a567cc9ce537f5e", - b"f34481ec3cc627bacd5dc3fb08f273e6", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"a9a1631bf4996954ebc093957b234589", - b"9798c4640bad75c7c3227db910174e72", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"ff4f8391a6a40ca5b25d23bedd44a597", - b"96ab5c2ff612d9dfaae8c31f30c42168", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"dc43be40be0e53712f7e2bf5ca707209", - b"6a118a874519e64e9963798a503f1d35", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"92beedab1895a94faa69b632e5cc47ce", - b"cb9fceec81286ca3e989bd979b0cb284", - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"459264f4798f6a78bacb89c15ed3d601", - b"b26aeb1874e47ca8358ff22378f09144" - ), - ( - b"00000000000000000000000000000000", - b"00000000000000000000000000000000", - b"08a4e2efec8a8e3312ca7460b9040bbf", - b"58c8e00b2631686d54eab84b91f0aca1" - ), + ) == [ + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6", + "ciphertext": b"0336763e966d92595a567cc9ce537f5e", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"9798c4640bad75c7c3227db910174e72", + "ciphertext": b"a9a1631bf4996954ebc093957b234589", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"96ab5c2ff612d9dfaae8c31f30c42168", + "ciphertext": b"ff4f8391a6a40ca5b25d23bedd44a597", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"6a118a874519e64e9963798a503f1d35", + "ciphertext": b"dc43be40be0e53712f7e2bf5ca707209", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"cb9fceec81286ca3e989bd979b0cb284", + "ciphertext": b"92beedab1895a94faa69b632e5cc47ce", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"b26aeb1874e47ca8358ff22378f09144", + "ciphertext": b"459264f4798f6a78bacb89c15ed3d601", + }, + { + "key": b"00000000000000000000000000000000", + "iv": b"00000000000000000000000000000000", + "plaintext": b"58c8e00b2631686d54eab84b91f0aca1", + "ciphertext": b"08a4e2efec8a8e3312ca7460b9040bbf", + }, ] @@ -254,21 +248,21 @@ def test_load_cryptrec_vectors(): """).splitlines() assert load_cryptrec_vectors(vector_data) == [ - ( - b"00000000000000000000000000000000", - b"80000000000000000000000000000000", - b"07923A39EB0A817D1C4D87BDB82D1F1C", - ), - ( - b"00000000000000000000000000000000", - b"40000000000000000000000000000000", - b"48CD6419809672D2349260D89A08D3D3", - ), - ( - b"10000000000000000000000000000000", - b"80000000000000000000000000000000", - b"07923A39EB0A817D1C4D87BDB82D1F1C", - ), + { + "key": b"00000000000000000000000000000000", + "plaintext": b"80000000000000000000000000000000", + "ciphertext": b"07923A39EB0A817D1C4D87BDB82D1F1C", + }, + { + "key": b"00000000000000000000000000000000", + "plaintext": b"40000000000000000000000000000000", + "ciphertext": b"48CD6419809672D2349260D89A08D3D3", + }, + { + "key": b"10000000000000000000000000000000", + "plaintext": b"80000000000000000000000000000000", + "ciphertext": b"07923A39EB0A817D1C4D87BDB82D1F1C", + }, ] @@ -277,11 +271,11 @@ def test_load_cryptrec_vectors_from_file_encrypt(): "Camellia/NTT/camellia-128-ecb.txt" ) assert test_set[0] == ( - ( - b"00000000000000000000000000000000", - b"80000000000000000000000000000000", - b"07923A39EB0A817D1C4D87BDB82D1F1C", - ) + { + "key": b"00000000000000000000000000000000", + "plaintext": b"80000000000000000000000000000000", + "ciphertext": b"07923A39EB0A817D1C4D87BDB82D1F1C", + } ) assert len(test_set) == 1280 -- cgit v1.2.3 From 016eed1cc1cc26ff404ac31ed3858de362ca37f2 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 16 Oct 2013 14:16:04 -0700 Subject: Ported openssl vector tests --- tests/test_utils.py | 96 ++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index 8141faf3..84e38571 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -304,30 +304,30 @@ def test_load_openssl_vectors(): ).splitlines() assert load_openssl_vectors(vector_data) == [ - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"000102030405060708090A0B0C0D0E0F", - b"6BC1BEE22E409F96E93D7E117393172A", - b"14F7646187817EB586599146B82BD719", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"14F7646187817EB586599146B82BD719", - b"AE2D8A571E03AC9C9EB76FAC45AF8E51", - b"A53D28BB82DF741103EA4F921A44880B", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"000102030405060708090A0B0C0D0E0F", - b"6BC1BEE22E409F96E93D7E117393172A", - b"14F7646187817EB586599146B82BD719", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"14F7646187817EB586599146B82BD719", - b"AE2D8A571E03AC9C9EB76FAC45AF8E51", - b"A53D28BB82DF741103EA4F921A44880B", - ), + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"000102030405060708090A0B0C0D0E0F", + "plaintext": b"6BC1BEE22E409F96E93D7E117393172A", + "ciphertext": b"14F7646187817EB586599146B82BD719", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"14F7646187817EB586599146B82BD719", + "plaintext": b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + "ciphertext": b"A53D28BB82DF741103EA4F921A44880B", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"000102030405060708090A0B0C0D0E0F", + "plaintext": b"6BC1BEE22E409F96E93D7E117393172A", + "ciphertext": b"14F7646187817EB586599146B82BD719", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"14F7646187817EB586599146B82BD719", + "plaintext": b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + "ciphertext": b"A53D28BB82DF741103EA4F921A44880B", + }, ] @@ -335,28 +335,28 @@ def test_load_openssl_vectors_from_file(): test_list = load_openssl_vectors_from_file("Camellia/camellia-ofb.txt") assert len(test_list) == 24 assert test_list[:4] == [ - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"000102030405060708090A0B0C0D0E0F", - b"6BC1BEE22E409F96E93D7E117393172A", - b"14F7646187817EB586599146B82BD719", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"50FE67CC996D32B6DA0937E99BAFEC60", - b"AE2D8A571E03AC9C9EB76FAC45AF8E51", - b"25623DB569CA51E01482649977E28D84", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"D9A4DADA0892239F6B8B3D7680E15674", - b"30C81C46A35CE411E5FBC1191A0A52EF", - b"C776634A60729DC657D12B9FCA801E98", - ), - ( - b"2B7E151628AED2A6ABF7158809CF4F3C", - b"A78819583F0308E7A6BF36B1386ABF23", - b"F69F2445DF4F9B17AD2B417BE66C3710", - b"D776379BE0E50825E681DA1A4C980E8E", - ), + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"000102030405060708090A0B0C0D0E0F", + "plaintext": b"6BC1BEE22E409F96E93D7E117393172A", + "ciphertext": b"14F7646187817EB586599146B82BD719", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"50FE67CC996D32B6DA0937E99BAFEC60", + "plaintext": b"AE2D8A571E03AC9C9EB76FAC45AF8E51", + "ciphertext": b"25623DB569CA51E01482649977E28D84", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"D9A4DADA0892239F6B8B3D7680E15674", + "plaintext": b"30C81C46A35CE411E5FBC1191A0A52EF", + "ciphertext": b"C776634A60729DC657D12B9FCA801E98", + }, + { + "key": b"2B7E151628AED2A6ABF7158809CF4F3C", + "iv": b"A78819583F0308E7A6BF36B1386ABF23", + "plaintext": b"F69F2445DF4F9B17AD2B417BE66C3710", + "ciphertext": b"D776379BE0E50825E681DA1A4C980E8E", + }, ] -- cgit v1.2.3 From 745c95c75cc6588ecd9b927e5974bf00426125a2 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 16 Oct 2013 14:41:35 -0700 Subject: flake8 fixes --- tests/test_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/test_utils.py') diff --git a/tests/test_utils.py b/tests/test_utils.py index 84e38571..28e7407b 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -180,7 +180,7 @@ def test_load_nist_vectors_from_file_decrypt(): assert load_nist_vectors_from_file( "AES/KAT/CBCGFSbox128.rsp", "DECRYPT", - ) == [ + ) == [ { "key": b"00000000000000000000000000000000", "iv": b"00000000000000000000000000000000", -- cgit v1.2.3