From caf9e032e6b4ccb114a74a3936c916bcfaba262d Mon Sep 17 00:00:00 2001 From: weidai Date: Mon, 2 Mar 2009 02:39:17 +0000 Subject: changes for 5.6: - added AuthenticatedSymmetricCipher interface class and Filter wrappers - added CCM, GCM (with SSE2 assembly), CMAC, and SEED - improved AES speed on x86 and x64 - removed WORD64_AVAILABLE; compiler 64-bit int support is now required git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@433 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- TestVectors/aes.txt | 86 ++++++++++++++++++ TestVectors/all.txt | 3 + TestVectors/ccm.txt | 240 +++++++++++++++++++++++++++++++++++++++++++++++++ TestVectors/cmac.txt | 38 ++++++++ TestVectors/gcm.txt | 139 ++++++++++++++++++++++++++++ TestVectors/hmac.txt | 54 +++++------ TestVectors/panama.txt | 16 ++-- TestVectors/seed.txt | 19 ++++ TestVectors/ttmac.txt | 18 ++-- TestVectors/vmac.txt | 48 +++++----- 10 files changed, 593 insertions(+), 68 deletions(-) create mode 100644 TestVectors/ccm.txt create mode 100644 TestVectors/cmac.txt create mode 100644 TestVectors/gcm.txt create mode 100644 TestVectors/seed.txt (limited to 'TestVectors') diff --git a/TestVectors/aes.txt b/TestVectors/aes.txt index 9fb5a97..0012629 100755 --- a/TestVectors/aes.txt +++ b/TestVectors/aes.txt @@ -33,6 +33,34 @@ Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4 Ciphertext: f58c4c04d6e5f1ba779eabfb5f7bfbd6 9cfc4e967edb808d679f777bc6702c7d 39f23369a9d9bacfa530e26304231461 b2eb05e2c39be9fcda6c19078c6a9d1b Test: Encrypt +AlgorithmType: SymmetricCipher +Name: AES/CBC +Source: RFC 3602 +Comment: Case 1: Encrypting 16 bytes (1 block) using AES-CBC with 128-bit key +Key : 0x06a9214036b8a15b512e03d534120006 +IV : 0x3dafba429d9eb430b422da802c9fac41 +Plaintext : "Single block msg" +Ciphertext: 0xe353779c1079aeb82708942dbe77181a +Test: Encrypt +Comment: Case 2: Encrypting 32 bytes (2 blocks) using AES-CBC with 128-bit key +Key : 0xc286696d887c9aa0611bbb3e2025a45a +IV : 0x562e17996d093d28ddb3ba695a2e6f58 +Plaintext : 0x000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f +Ciphertext: 0xd296cd94c2cccf8a3a863028b5e1dc0a 7586602d253cfff91b8266bea6d61ab1 +Test: Encrypt +Comment: Case 3: Encrypting 48 bytes (3 blocks) using AES-CBC with 128-bit key +Key : 0x6c3ea0477630ce21a2ce334aa746c2cd +IV : 0xc782dc4c098c66cbd9cd27d825682c81 +Plaintext : "This is a 48-byte message (exactly 3 AES blocks)" +Ciphertext: 0xd0a02b3836451753d493665d33f0e886 2dea54cdb293abc7506939276772f8d5 021c19216bad525c8579695d83ba2684 +Test: Encrypt +Comment: Case 4: Encrypting 64 bytes (4 blocks) using AES-CBC with 128-bit key +Key : 0x56e47a38c5598974bc46903dba290349 +IV : 0x8ce82eefbea0da3c44699ed7db51b7d9 +Plaintext : 0xa0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf +Ciphertext: 0xc30e32ffedc0774e6aff6af0869f71aa 0f3af07a9a31a9c684db207eb0ef8e4e 35907aa632c3ffdf868bb7b29d3d46ad 83ce9f9a102ee99d49a53e87f4c3da55 +Test: Encrypt + AlgorithmType: SymmetricCipher Name: AES/CFB Source: NIST Special Publication 800-38A @@ -101,3 +129,61 @@ Comment: F.5.5 CTR-AES256.Encrypt Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4 Ciphertext: 601ec313775789a5b7a7f504bbf3d228 f443e3ca4d62b59aca84e990cacaf5c5 2b0930daa23de94ce87017ba2d84988d dfc9c58db67aada613c2dd08457941a6 Test: Encrypt + +AlgorithmType: SymmetricCipher +Name: AES/CTR +Source: RFC 3686 +#Test Vector #1: Encrypting 16 octets using AES-CTR with 128-bit key +Key : AE 68 52 F8 12 10 67 CC 4B F7 A5 76 55 77 F3 9E +Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67 +IV: 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 01 +Ciphertext : E4 09 5D 4F B7 A7 B3 79 2D 61 75 A3 26 13 11 B8 +Test: Encrypt +#Test Vector #2: Encrypting 32 octets using AES-CTR with 128-bit key +Key : 7E 24 06 78 17 FA E0 D7 43 D6 CE 1F 32 53 91 63 +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +IV: 00 6C B6 DB C0 54 3B 59 DA 48 D9 0B 00 00 00 01 +Ciphertext : 51 04 A1 06 16 8A 72 D9 79 0D 41 EE 8E DA D3 88 EB 2E 1E FC 46 DA 57 C8 FC E6 30 DF 91 41 BE 28 +Test: Encrypt +#Test Vector #3: Encrypting 36 octets using AES-CTR with 128-bit key +Key : 76 91 BE 03 5E 50 20 A8 AC 6E 61 85 29 F9 A0 DC +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 +IV: 00 E0 01 7B 27 77 7F 3F 4A 17 86 F0 00 00 00 01 +Ciphertext : C1 CF 48 A8 9F 2F FD D9 CF 46 52 E9 EF DB 72 D7 45 40 A4 2B DE 6D 78 36 D5 9A 5C EA AE F3 10 53 25 B2 07 2F +Test: Encrypt +#Test Vector #4: Encrypting 16 octets using AES-CTR with 192-bit key +Key : 16 AF 5B 14 5F C9 F5 79 C1 75 F9 3E 3B FB 0E ED 86 3D 06 CC FD B7 85 15 +Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67 +IV: 00 00 00 48 36 73 3C 14 7D 6D 93 CB 00 00 00 01 +Ciphertext : 4B 55 38 4F E2 59 C9 C8 4E 79 35 A0 03 CB E9 28 +Test: Encrypt +#Test Vector #5: Encrypting 32 octets using AES-CTR with 192-bit key +Key : 7C 5C B2 40 1B 3D C3 3C 19 E7 34 08 19 E0 F6 9C 67 8C 3D B8 E6 F6 A9 1A +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +IV: 00 96 B0 3B 02 0C 6E AD C2 CB 50 0D 00 00 00 01 +Ciphertext : 45 32 43 FC 60 9B 23 32 7E DF AA FA 71 31 CD 9F 84 90 70 1C 5A D4 A7 9C FC 1F E0 FF 42 F4 FB 00 +Test: Encrypt +#Test Vector #6: Encrypting 36 octets using AES-CTR with 192-bit key +Key : 02 BF 39 1E E8 EC B1 59 B9 59 61 7B 09 65 27 9B F5 9B 60 A7 86 D3 E0 FE +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 +IV: 00 07 BD FD 5C BD 60 27 8D CC 09 12 00 00 00 01 +Ciphertext : 96 89 3F C5 5E 5C 72 2F 54 0B 7D D1 DD F7 E7 58 D2 88 BC 95 C6 91 65 88 45 36 C8 11 66 2F 21 88 AB EE 09 35 +Test: Encrypt +#Test Vector #7: Encrypting 16 octets using AES-CTR with 256-bit key +Key : 77 6B EF F2 85 1D B0 6F 4C 8A 05 42 C8 69 6F 6C 6A 81 AF 1E EC 96 B4 D3 7F C1 D6 89 E6 C1 C1 04 +Plaintext : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67 +IV: 00 00 00 60 DB 56 72 C9 7A A8 F0 B2 00 00 00 01 +Ciphertext : 14 5A D0 1D BF 82 4E C7 56 08 63 DC 71 E3 E0 C0 +Test: Encrypt +#Test Vector #8: Encrypting 32 octets using AES-CTR with 256-bit key +Key : F6 D6 6D 6B D5 2D 59 BB 07 96 36 58 79 EF F8 86 C6 6D D5 1A 5B 6A 99 74 4B 50 59 0C 87 A2 38 84 +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +IV: 00 FA AC 24 C1 58 5E F1 5A 43 D8 75 00 00 00 01 +Ciphertext : F0 5E 23 1B 38 94 61 2C 49 EE 00 0B 80 4E B2 A9 B8 30 6B 50 8F 83 9D 6A 55 30 83 1D 93 44 AF 1C +Test: Encrypt +#Test Vector #9: Encrypting 36 octets using AES-CTR with 256-bit key +Key : FF 7A 61 7C E6 91 48 E4 F1 72 6E 2F 43 58 1D E2 AA 62 D9 F8 05 53 2E DF F1 EE D6 87 FB 54 15 3D +Plaintext : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 +IV: 00 1C C5 B7 51 A5 1D 70 A1 C1 11 48 00 00 00 01 +Ciphertext : EB 6C 52 82 1D 0B BB F7 CE 75 94 46 2A CA 4F AA B4 07 DF 86 65 69 FD 07 F4 8C C0 B5 83 D6 07 1F 1E C0 E6 B8 +Test: Encrypt diff --git a/TestVectors/all.txt b/TestVectors/all.txt index b98ac90..f26df0d 100644 --- a/TestVectors/all.txt +++ b/TestVectors/all.txt @@ -22,3 +22,6 @@ Test: aes.txt Test: salsa.txt Test: vmac.txt Test: sosemanuk.txt +Test: ccm.txt +Test: gcm.txt +Test: cmac.txt diff --git a/TestVectors/ccm.txt b/TestVectors/ccm.txt new file mode 100644 index 0000000..f23f084 --- /dev/null +++ b/TestVectors/ccm.txt @@ -0,0 +1,240 @@ +AlgorithmType: AuthenticatedSymmetricCipher +Name: AES/CCM +Source: aes-modes-src-07-10-08/Testvals/ccm.1, Basic Tests for CCM (compiled by B. R. Gladman) +Key: 404142434445464748494a4b4c4d4e4f +IV: 10111213141516 +Header: 0001020304050607 +Plaintext: 20212223 +Ciphertext: 7162015b +MAC: 4dac255d +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f +IV: 1011121314151617 +Header: 000102030405060708090a0b0c0d0e0f +Plaintext: 202122232425262728292a2b2c2d2e2f +Ciphertext: d2a1f0e051ea5f62081a7792073d593d +MAC: 1fc64fbfaccd +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f +IV: 101112131415161718191a1b +Header: 000102030405060708090a0b0c0d0e0f10111213 +Plaintext: 202122232425262728292a2b2c2d2e2f3031323334353637 +Ciphertext: e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5 +MAC: 484392fbc1b09951 +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f +IV: 101112131415161718191a1b1c +Header: r256 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +Ciphertext: 69915dad1e84c6376a68c2967e4dab615ae0fd1faec44cc484828529463ccf72 +MAC: b4ac6bec93e8598e7f0dadbcea5b +Test: Encrypt +Key: c97c1f67ce371185514a8a19f2bdd52f +IV: 005030f1844408b5039776e70c +Header: 08400fd2e128a57c5030f1844408abaea5b8fcba0000 +Plaintext: f8ba1a55d02f85ae967bb62fb6cda8eb7e78a050 +Ciphertext: f3d0a2fe9a3dbf2342a643e43246e80c3c04d019 +MAC: 7845ce0b16f97623 +Test: Encrypt +Key: 8f7a053fa577a5597529272097a603d5 +IV: 00eec1762c88de31f3cbba97ea +Header: 08c0ea100c846850eec1762c88deaf2ee9f46a070000 +Plaintext: 83a0634b5ed7627eb9df225e05740342de194117 +Ciphertext: 814b6965d05bf2b2ed38d4beb069fe82714a610b +MAC: 542fbf8da06aa4ae +Test: Encrypt +Key: 40cfb7a62e88013bd6d3affcc191041e +IV: 00b6a88adf36912fdca0f3a5ae +Header: 88c0d9577df763c8b6a88adf3691dc4a8bca94dd00000000 +Plaintext: 2c1bd036831c95496c5f4dbf3d559e72de802a18 +Ciphertext: 89d8580340b626a0b6d4d013bf18f291b89646c8 +MAC: fd1f1f61a9fb4bb3 +Test: Encrypt +Key: 8c89a2ebc96c7602707fcf24b32d3833 +IV: 078ef822734701f670a55a0fe3 +Header: 88c2712a9ddf11db8ef82273470159140dd646a200000700 +Plaintext: 4fad2b1c290fa5ebd872fbc3f3a074898f8b2fbb +Ciphertext: 9d59b15f371448c230f4d739052e13ab3b1a7b10 +MAC: 31fc88004f35ee3d +Test: Encrypt +Key: a574d5143bb25efddeff30122fdfd066 +IV: 0bf351946bc96ba7ffe03c0e37 +Header: 88c245dec69a7480f351946bc96be276fbe6c12700000b00 +Plaintext: 28969b954f263a8018a9ef70a8b051462481922e +Ciphertext: eb4ae4956a801da9624b7e0c18b23e615ec03af6 +MAC: ce0c3be197d305eb +Test: Encrypt +Key: f71eea4e1f58804b9717230ad0614641 +IV: 0dbff943b9f9a66b81eca48989 +Header: 88425af28430fdabbff943b9f9a6ab1d98c7fe7300000d00 +Plaintext: abfda22d3a0bfc9cc1fc079363c2fca143e6eb1d +Ciphertext: 9a709b60a39d40b1dfb612e18b5f114badb6cc86 +MAC: 309a8d5c466bbb71 +Test: Encrypt +Key: 1bdb34980e038124a1db1a892bec366a +IV: 00efec952016915eec4073e723 +Header: 08419b50f4fd56f6efec9520169183570c4ccdee0000 +Plaintext: 98beca86f4b38da20cfdf24724c58eb835665339 +Ciphertext: 12c537ebf3ab584ef1fef9a1f3547a8c13b3225a +MAC: 2d0957ecfabe95b9 +Test: Encrypt +Key: 6eac1bf54bd54edb2321754303024c71 +IV: 0aca3f3aae60c4cefd996eccdd +Header: 88c1552d5f72bb70ca3f3aae60c48ba9b5f82c2f00000a00 +Plaintext: 57cb5c0e5fcd885e9a4239e9b9cad60d64375979 +Ciphertext: 4bf281ef8ec7739f91591b97a87dc14b3fa17462 +MAC: 6dba8ef7f08087dd +Test: Encrypt +Key: 494b501e194675971a48d08c5bc353cb +IV: 0aa4ad6d319985ba82e93437b3 +Header: 88c19afb798b8a4ba4ad6d319985bc429e8f0afa00000a00 +Plaintext: 25a98f9c1bd9c93cf383ab9d98152d76cb4a32c6 +Ciphertext: 561a0d068eac2eadb0c57fe2d0a6cc7398b6ddbf +MAC: cfe438cbea61fa9a +Test: Encrypt +Key: 489e49bc3cfe3fce3895820e872ee1a3 +IV: 0053f869fe279acf1d3e75fea9 +Header: 084340ec29fa759b53f869fe279af0f9f8a65416000052bfd2703d24 +Plaintext: 7f91f2472d7a121c9cdd4b6c9080675a1020aa00 +Ciphertext: 25df5173835e4fba23bc05a253885ebed3ac4871 +MAC: c868a725552c5565 +Test: Encrypt +Key: 02be5c4545672a07e4e314d70f1f9e85 +IV: 0d347ceb9aabffd2d6596e55d4 +Header: 88c3298c0baa9190347ceb9aabffd83d4886e5c20000e29d524ae1960d00 +Plaintext: f9a812e4a28af7f3714d4bf6622e5932f2184509 +Ciphertext: 6315500f924295cd3eafbdc3e151b1df46465b71 +MAC: 681fdee8513c62dc +Test: Encrypt +Key: 77077ed79453e4a18d60438cc6484d6e +IV: 00d8ac5a7ec44450b01e77fd8e +Header: 0843aa288b8435bcd8ac5a7ec444e8b46250538b0000e81402c2ee11 +Plaintext: 431981a2336d02f8cb8448d5428916be95293537 +Ciphertext: cf71b2ccbd590b20800792f359ed1cfd74d800b4 +MAC: fd0f41f426bb8f30 +Test: Encrypt +Source: aes-modes-src-07-10-08/Testvals/ccm.2, Vectors for IEEE P1619.1 CCM Mode +Header: +Key: 0000000000000000000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: c1944044c8e7aa95d2de9513c7f3dd8c +MAC: 4b0a3e5e51f151eb0ffae7c43d010fdb +Test: Encrypt +Plaintext: +Ciphertext: +Key: 0000000000000000000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +Header: 00000000000000000000000000000000 +MAC: 904704e89fb216443cb9d584911fc3c2 +Test: Encrypt +Key: 0000000000000000000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +Header: 00000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: c1944044c8e7aa95d2de9513c7f3dd8c +MAC: 87314e9c1fa01abe6a6415943dc38521 +Test: Encrypt +Header: +Key: fb7615b23d80891dd470980bc79584c8b2fb64ce60978f4d17fce45a49e830b7 +IV: dbd1a3636024b7b402da7d6f +Plaintext: a845348ec8c5b5f126f50e76fefd1b1e +Ciphertext: cc881261c6a7fa72b96a1739176b277f +MAC: 3472e1145f2c0cbe146349062cf0e423 +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +IV: 101112131415161718191a1b +Header: 000102030405060708090a0b0c0d0e0f10111213 +Plaintext: 202122232425262728292a2b2c2d2e2f3031323334353637 +Ciphertext: 04f883aeb3bd0730eaf50bb6de4fa2212034e4e41b0e75e5 +MAC: 9bba3f3a107f3239bd63902923f80371 +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +IV: 101112131415161718191a1b +Header: r256 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +Ciphertext: 04f883aeb3bd0730eaf50bb6de4fa2212034e4e41b0e75e577f6bf2422c0f6d2 +MAC: 3376d2cf256ef613c56454cbb5265834 +Test: Encrypt +Key: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +IV: 101112131415161718191a1b +Header: 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext: 24d8a38e939d2710cad52b96fe6f82010014c4c43b2e55c557d69f0402e0d6f2 06c53d6cbd3f1c3c6de5dcdcad9fb74f25741dea741149fe4278a0cc24741e86 58cc0523b8d7838c60fb1de4b7c3941f5b26dea9322aa29656ec37ac18a9b108 a6f38b7917f5a9c398838b22afbd17252e96694a9e6237964a0eae21c0a6e152 15a0e82022926be97268249599e456e05029c3ebc07d78fc5b4a0862e04e68c2 9514c7bdafc4b52e04833bf30622e4eb42504a44a9dcbc774752de7bb82891ad 1eba9dc3281422a8aba8654268d3d9c81705f4c5a531ef856df5609a159af738 eb753423ed2001b8f20c23725f2bef18c409f7e52132341f27cb8f0e79894dd9 +MAC: ebb1fa9d28ccfe21bdfea7e6d91e0bab +Test: Encrypt +Key: fb7615b23d80891dd470980bc79584c8b2fb64ce6097878d17fce45a49e830b7 +IV: dbd1a3636024b7b402da7d6f +Header: 36 +Plaintext: a9 +Ciphertext: 9d +MAC: 3261b1cf931431e99a32806738ecbd2a +Test: Encrypt +Key: f8d476cfd646ea6c2384cb1c27d6195dfef1a9f37b9c8d21a79c21f8cb90d289 +IV: dbd1a3636024b7b402da7d6f +Header: 7bd859a247961a21823b380e9fe8b65082ba61d3 +Plaintext: 90ae61cf7baebd4cade494c54a29ae70269aec71 +Ciphertext: 6c05313e45dc8ec10bea6c670bd94f31569386a6 +MAC: 8f3829e8e76ee23c04f566189e63c686 +Test: Encrypt +Source: RFC 3610 +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 03 02 01 00 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 +Plaintext: 08 09 0A 0B 0C 0D 0E 0F\ + 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E +Ciphertext: 58 8C 97 9A 61 C6 63 D2\ + F0 66 D0 C2 C0 F9 89 80 6D 5F 6B 61 DA C3 84 +MAC: 17 E8 D1 2C FD F9 26 E0 +Test: Encrypt +MAC: 17 E8 D1 2C FD F9 26 00 +Test: NotVerify +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 04 03 02 01 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 +Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +Ciphertext: 72 C9 1A 36 E1 35 F8 CF 29 1C A8 94 08 5C 87 E3 CC 15 C4 39 C9 E4 3A 3B +MAC: A0 91 D5 6E 10 40 09 16 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 05 04 03 02 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 +Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 +Ciphertext: 51 B1 E5 F4 4A 19 7D 1D A4 6B 0F 8E 2D 28 2A E8 71 E8 38 BB 64 DA 85 96 57 +MAC: 4A DA A7 6F BD 9F B0 C5 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 06 05 04 03 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 08 09 0A 0B +Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E +Ciphertext: A2 8C 68 65 93 9A 9A 79 FA AA 5C 4C 2A 9D 4A 91 CD AC 8C +MAC: 96 C8 61 B9 C9 E6 1E F1 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 07 06 05 04 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 08 09 0A 0B +Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +Ciphertext: DC F1 FB 7B 5D 9E 23 FB 9D 4E 13 12 53 65 8A D8 6E BD CA 3E +MAC: 51 E8 3F 07 7D 9C 2D 93 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 08 07 06 05 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 08 09 0A 0B +Plaintext: 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 +Ciphertext: 6F C1 B0 11 F0 06 56 8B 51 71 A4 2D 95 3D 46 9B 25 70 A4 BD 87 +MAC: 40 5A 04 43 AC 91 CB 94 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 09 08 07 06 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 +Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E +Ciphertext: 01 35 D1 B2 C9 5F 41 D5 D1 D4 FE C1 85 D1 66 B8 09 4E 99 9D FE D9 6C +MAC: 04 8C 56 60 2C 97 AC BB 74 90 +Test: Encrypt +Key: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF +IV: 00 00 00 0A 09 08 07 A0 A1 A2 A3 A4 A5 +Header: 00 01 02 03 04 05 06 07 +Plaintext: 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F +Ciphertext: 7B 75 39 9A C0 83 1D D2 F0 BB D7 58 79 A2 FD 8F 6C AE 6B 6C D9 B7 DB 24 +MAC: C1 7B 44 33 F4 34 96 3F 34 B4 +Test: Encrypt diff --git a/TestVectors/cmac.txt b/TestVectors/cmac.txt new file mode 100644 index 0000000..4fa6c41 --- /dev/null +++ b/TestVectors/cmac.txt @@ -0,0 +1,38 @@ +AlgorithmType: MAC +Name: CMAC(AES) +Source: RFC 4493 +Key: 2b7e1516 28aed2a6 abf71588 09cf4f3c +Message: +MAC: bb1d6929 e9593728 7fa37d12 9b756746 +Test: Verify +Message: 6bc1bee2 2e409f96 e93d7e11 7393172a +MAC: 070a16b4 6b4d4144 f79bdd9d d04a287c +Test: Verify +Message: 6bc1bee2 2e409f96 e93d7e11 7393172a ae2d8a57 1e03ac9c 9eb76fac 45af8e51 30c81c46 a35ce411 +MAC: dfa66747 de9ae630 30ca3261 1497c827 +Test: Verify +Message: 6bc1bee2 2e409f96 e93d7e11 7393172a ae2d8a57 1e03ac9c 9eb76fac 45af8e51 30c81c46 a35ce411 e5fbc119 1a0a52ef f69f2445 df4f9b17 ad2b417b e66c3710 +MAC: 51f0bebf 7e3b9d92 fc497417 79363cfe +Test: Verify +MAC: 51f0bebf 7e3b9d92 fc497417 79363cff +Test: NotVerify + +AlgorithmType: MAC +Name: CMAC(DES-EDE3) +Source: http://csrc.nist.gov/groups/STM/cavp/documents/mac/cmactestvectors.zip +Key: f8fba7b9b3e9d68a 2f70bfd304d32a15 9e13453e0d16928a +Message: +MAC: eb61515b +Test: VerifyTruncated +Key: 344a6732dc5e5431 e98a4f7c323dc1c4 6b0275dc150e68e9 +Message: 25db0710fb165d316e7c32dd25648ed0 +MAC: 862f0e2b +Test: VerifyTruncated +Key: 20ae32c49bab3bf8 f86bb66173fb54d5 3e700868c46bc291 +Message: 582bd9c8c36ec815d0a9 +MAC: 0d62f14f +Test: VerifyTruncated +Key: 62232501b9e9c1b5 54209d7c075d2c31 73a2f289a84c49ce +Message: adaf4bfffab79ffb60b94647faac634929c56e694052881881e60b1149b6 +MAC: a05674f2c905d153 +Test: Verify diff --git a/TestVectors/gcm.txt b/TestVectors/gcm.txt new file mode 100644 index 0000000..e39ed36 --- /dev/null +++ b/TestVectors/gcm.txt @@ -0,0 +1,139 @@ +AlgorithmType: AuthenticatedSymmetricCipher +Name: AES/GCM +Source: aes-modes-src-07-10-08/Testvals/gcm.1, Basic Tests for GCM (compiled by B. R. Gladman) +Key: 00000000000000000000000000000000 +IV: 000000000000000000000000 +MAC: 00000000000000000000000000000000 +Test: NotVerify +Key: 00000000000000000000000000000000 +IV: 000000000000000000000000 +MAC: 58e2fccefa7e3061367f1d57a4e7455a +Test: Encrypt +Key: 00000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0388dace60b6a392f328c2b971b2fe78 +MAC: ab6e47d42cec13bdf53a67b21257bddf +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbaddecaf888 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e 21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985 +MAC: 4d5c2af327cd64a62cf35abd2ba6fab4 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbaddecaf888 +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e 21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091 +MAC: 5bc94fbc3221a5db94fae95ae7121a47 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbad +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c7423 73806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598 +MAC: 3612d2e79e3b0785561be14aaca2fccb +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308 +IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca7 01e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5 +MAC: 619cc5aefffe0bfa462af43c1699d050 +Test: Encrypt +Header: +Plaintext: +Ciphertext: +Key: 000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +MAC: cd33b28ac773f74ba00ed1f312572435 +Test: Encrypt +Key: 000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 98e7247c07f0fe411c267e4384b0f600 +MAC: 2ff58d80033927ab8ef4d4587514f0fb +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c +IV: cafebabefacedbaddecaf888 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c 7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256 +MAC: 9924a7c8587336bfb118024db8674a14 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c +IV: cafebabefacedbaddecaf888 +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c 7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710 +MAC: 2519498e80f1478f37ba55bd6d27618c +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c +IV: cafebabefacedbad +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057 fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7 +MAC: 65dcc57fcf623a24094fcca40d3533f8 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c +IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e45 81e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b +MAC: dcf566ff291c25bbb8568fc3d376a6d9 +Test: Encrypt +Header: +Plaintext: +Ciphertext: +Key: 0000000000000000000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +MAC: 530f8afbc74536b9a963b4f1c4cb738b +Test: Encrypt +Key: 0000000000000000000000000000000000000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: cea7403d4d606b6e074ec5d3baf39d18 +MAC: d0d1c8a799996bf0265b98b5d48ab919 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbaddecaf888 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa 8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad +MAC: b094dac5d93471bdec1a502270e3cc6c +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbaddecaf888 +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa 8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662 +MAC: 76fc6ece0f4e1768cddf8853bb2d551b +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV: cafebabefacedbad +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0 feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f +MAC: 3a337dbf46a792c45e454913fe2ea8f2 +Test: Encrypt +Key: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728 c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +Header: feedfacedeadbeeffeedfacedeadbeefabaddad2 +Plaintext: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72 1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext: 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf4 0fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f +MAC: a44a8266ee1c8eb0c8b5d4cf5ae9f19a +Test: Encrypt +Header: +Plaintext: +Ciphertext: +Key: 00000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f 707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f 909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf +Ciphertext: 0389d8cd64b3a595fb21c8b27dbff077 e784b8b85d5e4f34efe493e48896dfff 002333026a56b2fd08a09c87fcbe85cf f97c902a25bb1f4a43478687f5feb6cd ca9f3fc6ecab732627386ee2996a4cde c5e91f48c293c6a87774b950aeb1d7bf 62321a0d76006297b2d06623cf6e4fb1 433494c3326b0ae914120085a195413f 5e3278e4107d7b08dd2107405610e67d 83ed5b5ba0b591e9e46b1029f5f6936f fdb0e788fc09f60d861a0b3e1ab6294a 76ebdf6663421ef7dd6c1bc448dfcdb7 a0c38bae72fa627ed327f2b46fcec25a 77ee5fd7e3354788643c0d7df15075d5 +MAC: 6b385f3012eafda4189da7ad3b6eafbf +Test: Encrypt +Key: 00000000000000000000000000000000 +IV: 000000000000000000000000 +Plaintext: 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f 606162636465666768696a6b6c6d6e6f 707172737475767778797a7b7c7d7e7f 808182838485868788898a8b8c8d8e8f 909192939495969798999a9b9c9d9e9f a0a1a2a3a4a5a6a7a8a9aaabacadaeaf b0b1b2b3b4b5b6b7b8b9babbbcbdbebf c0c1c2c3c4c5c6c7c8c9cacbcccdcecf d0d1d2d3d4d5d6d7d8d9dadbdcdddedf +Ciphertext: 0389d8cd64b3a595fb21c8b27dbff077 e784b8b85d5e4f34efe493e48896dfff 002333026a56b2fd08a09c87fcbe85cf f97c902a25bb1f4a43478687f5feb6cd ca9f3fc6ecab732627386ee2996a4cde c5e91f48c293c6a87774b950aeb1d7bf 62321a0d76006297b2d06623cf6e4fb1 433494c3326b0ae914120085a195413f 5e3278e4107d7b08dd2107405610e67d 83ed5b5ba0b591e9e46b1029f5f6936f fdb0e788fc09f60d861a0b3e1ab6294a 76ebdf6663421ef7dd6c1bc448dfcdb7 a0c38bae72fa627ed327f2b46fcec25a 77ee5fd7e3354788643c0d7df15075d5 +MAC: 6b385f3012eafda4189da7ad3b6eafbf +Test: Encrypt diff --git a/TestVectors/hmac.txt b/TestVectors/hmac.txt index b380bab..52f85fd 100644 --- a/TestVectors/hmac.txt +++ b/TestVectors/hmac.txt @@ -4,40 +4,40 @@ Source: RFC 2202 Comment: Test Case 1 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Message: "Hi There" -Digest: 0x9294727a3638bb1c13f48ef8158bfc9d +MAC: 0x9294727a3638bb1c13f48ef8158bfc9d Test: Verify Comment: Test Case 2 Key: "Jefe" Message: "what do ya want for nothing?" -Digest: 0x750c783e6ab0b503eaa86e310a5db738 +MAC: 0x750c783e6ab0b503eaa86e310a5db738 Test: Verify Comment: Test Case 3 Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Message: r50 0xdd -Digest: 0x56be34521d144c88dbb8c733f0e8b3f6 +MAC: 0x56be34521d144c88dbb8c733f0e8b3f6 Test: Verify Comment: Test Case 4 Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 Message: r50 0xcd -Digest: 0x697eaf0aca3a3aea3a75164746ffaa79 +MAC: 0x697eaf0aca3a3aea3a75164746ffaa79 Test: Verify Comment: Test Case 5 Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Message: "Test With Truncation" -Digest: 0x56461ef2342edc00f9bab995690efd4c +MAC: 0x56461ef2342edc00f9bab995690efd4c Test: Verify -Digest: 0x56461ef2342edc00f9bab995 -TruncatedSize: 12 +MAC: 0x56461ef2342edc00f9bab995 +#TruncatedSize: 12 Test: VerifyTruncated Comment: Test Case 6 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key - Hash Key First" -Digest: 0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd +MAC: 0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd Test: Verify Comment: Test Case 7 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -Digest: 0x6f630fad67cda0ee1fb1f562db3aa53e +MAC: 0x6f630fad67cda0ee1fb1f562db3aa53e Test: Verify AlgorithmType: MAC @@ -46,40 +46,40 @@ Source: RFC 2202 Comment: Test Case 1 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Message: "Hi There" -Digest: 0xb617318655057264e28bc0b6fb378c8ef146be00 +MAC: 0xb617318655057264e28bc0b6fb378c8ef146be00 Test: Verify Comment: Test Case 2 Key: "Jefe" Message: "what do ya want for nothing?" -Digest: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79 +MAC: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79 Test: Verify Comment: Test Case 3 Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Message: r50 0xdd -Digest: 0x125d7342b9ac11cd91a39af48aa17b4f63f175d3 +MAC: 0x125d7342b9ac11cd91a39af48aa17b4f63f175d3 Test: Verify Comment: Test Case 4 Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 Message: r50 0xcd -Digest: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da +MAC: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da Test: Verify Comment: Test Case 5 Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Message: "Test With Truncation" -Digest: 0x4c1a03424b55e07fe7f27be1d58bb9324a9a5a04 +MAC: 0x4c1a03424b55e07fe7f27be1d58bb9324a9a5a04 Test: Verify -Digest: 0x4c1a03424b55e07fe7f27be1 -TruncatedSize: 12 +MAC: 0x4c1a03424b55e07fe7f27be1 +#TruncatedSize: 12 Test: VerifyTruncated Comment: Test Case 6 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key - Hash Key First" -Digest: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112 +MAC: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112 Test: Verify Comment: Test Case 7 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -Digest: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91 +MAC: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91 Test: Verify AlgorithmType: MAC @@ -88,38 +88,38 @@ Source: RFC 2286 Comment: Test Case 1 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Message: "Hi There" -Digest: 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668 +MAC: 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668 Test: Verify Comment: Test Case 2 Key: "Jefe" Message: "what do ya want for nothing?" -Digest: 0xdda6c0213a485a9e24f4742064a7f033b43c4069 +MAC: 0xdda6c0213a485a9e24f4742064a7f033b43c4069 Test: Verify Comment: Test Case 3 Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Message: r50 0xdd -Digest: 0xb0b105360de759960ab4f35298e116e295d8e7c1 +MAC: 0xb0b105360de759960ab4f35298e116e295d8e7c1 Test: Verify Comment: Test Case 4 Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 Message: r50 0xcd -Digest: 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4 +MAC: 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4 Test: Verify Comment: Test Case 5 Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Message: "Test With Truncation" -Digest: 0x7619693978f91d90539ae786500ff3d8e0518e39 +MAC: 0x7619693978f91d90539ae786500ff3d8e0518e39 Test: Verify -Digest: 0x7619693978f91d90539ae786 -TruncatedSize: 12 +MAC: 0x7619693978f91d90539ae786 +#TruncatedSize: 12 Test: VerifyTruncated Comment: Test Case 6 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key - Hash Key First" -Digest: 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b +MAC: 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b Test: Verify Comment: Test Case 7 Key: r80 0xaa Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -Digest: 0x69ea60798d71616cce5fd0871e23754cd75d5a0a +MAC: 0x69ea60798d71616cce5fd0871e23754cd75d5a0a Test: Verify diff --git a/TestVectors/panama.txt b/TestVectors/panama.txt index 112011c..bd4d4ee 100755 --- a/TestVectors/panama.txt +++ b/TestVectors/panama.txt @@ -31,17 +31,17 @@ Name: Panama-LE Source: modified from Panama hash test vectors Key: "" Message: "" -Digest: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b +MAC: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b Test: Verify Message: "The quick brown fox jumps over the lazy dog" -Digest: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 +MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 Test: Verify Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 +MAC: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 Test: Verify Key: "The " Message: "quick brown fox jumps over the lazy dog" -Digest: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 +MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 Test: Verify AlgorithmType: MAC @@ -49,17 +49,17 @@ Name: Panama-BE Source: modified from Panama hash test vectors Key: "" Message: "" -Digest: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af +MAC: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af Test: Verify Message: "The quick brown fox jumps over the lazy dog" -Digest: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc +MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc Test: Verify Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab +MAC: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab Test: Verify Key: "The " Message: "quick brown fox jumps over the lazy dog" -Digest: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc +MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc Test: Verify AlgorithmType: SymmetricCipher diff --git a/TestVectors/seed.txt b/TestVectors/seed.txt new file mode 100644 index 0000000..a08a102 --- /dev/null +++ b/TestVectors/seed.txt @@ -0,0 +1,19 @@ +AlgorithmType: SymmetricCipher +Name: SEED/ECB +Source: RFC 4269 +Key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Plaintext: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +Ciphertext: 5E BA C6 E0 05 4E 16 68 19 AF F1 CC 6D 34 6C DB +Test: Encrypt +Key: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +Plaintext: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Ciphertext: C1 1F 22 F2 01 40 50 50 84 48 35 97 E4 37 0F 43 +Test: Encrypt +Key: 47 06 48 08 51 E6 1B E8 5D 74 BF B3 FD 95 61 85 +Plaintext: 83 A2 F8 A2 88 64 1F B9 A4 E9 A5 CC 2F 13 1C 7D +Ciphertext: EE 54 D1 3E BC AE 70 6D 22 6B C3 14 2C D4 0D 4A +Test: Encrypt +Key: 28 DB C3 BC 49 FF D8 7D CF A5 09 B1 1D 42 2B E7 +Plaintext: B4 1E 6B E2 EB A8 4A 14 8E 2E ED 84 59 3C 5E C7 +Ciphertext: 9B 9B 7B FC D1 81 3C B9 5D 0B 36 18 F4 0F 51 22 +Test: Encrypt diff --git a/TestVectors/ttmac.txt b/TestVectors/ttmac.txt index 537a333..ec2e683 100644 --- a/TestVectors/ttmac.txt +++ b/TestVectors/ttmac.txt @@ -5,36 +5,36 @@ Comment: Key for all test cases Key: 00112233445566778899aabbccddeeff01234567 Comment: Test Case 1 Message: "" -Digest: 2dec8ed4a0fd712ed9fbf2ab466ec2df21215e4a +MAC: 2dec8ed4a0fd712ed9fbf2ab466ec2df21215e4a Test: Verify Comment: Test Case 2 Message: "a" -Digest: 5893e3e6e306704dd77ad6e6ed432cde321a7756 +MAC: 5893e3e6e306704dd77ad6e6ed432cde321a7756 Test: Verify Comment: Test Case 3 Message: "abc" -Digest: 70bfd1029797a5c16da5b557a1f0b2779b78497e +MAC: 70bfd1029797a5c16da5b557a1f0b2779b78497e Test: Verify Comment: Test Case 4 Message: "message digest" -Digest: 8289f4f19ffe4f2af737de4bd71c829d93a972fa +MAC: 8289f4f19ffe4f2af737de4bd71c829d93a972fa Test: Verify Comment: Test Case 5 Message: "abcdefghijklmnopqrstuvwxyz" -Digest: 2186ca09c5533198b7371f245273504ca92bae60 +MAC: 2186ca09c5533198b7371f245273504ca92bae60 Test: Verify Comment: Test Case 6 Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -Digest: 8a7bf77aef62a2578497a27c0d6518a429e7c14d +MAC: 8a7bf77aef62a2578497a27c0d6518a429e7c14d Test: Verify Comment: Test Case 7 Message: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -Digest: 54bac392a886806d169556fcbb6789b54fb364fb +MAC: 54bac392a886806d169556fcbb6789b54fb364fb Test: Verify Comment: Test Case 8 Message: r8 "1234567890" -Digest: 0ced2c9f8f0d9d03981ab5c8184bac43dd54c484 +MAC: 0ced2c9f8f0d9d03981ab5c8184bac43dd54c484 Test: Verify Comment: Test Case 9 Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: 27b3aedb5df8b629f0142194daa3846e1895f3d2 +MAC: 27b3aedb5df8b629f0142194daa3846e1895f3d2 diff --git a/TestVectors/vmac.txt b/TestVectors/vmac.txt index ad7db7a..1d983cd 100755 --- a/TestVectors/vmac.txt +++ b/TestVectors/vmac.txt @@ -2,76 +2,76 @@ AlgorithmType: MAC Name: VMAC(AES)-64 Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt Key: "abcdefghijklmnop" -IV: r8 00 "bcdefghi" +IV: "bcdefghi" Message: "" -Digest: 2576BE1C56D8B81B +MAC: 2576BE1C56D8B81B Test: Verify Message: "abc" -Digest: 2D376CF5B1813CE5 +MAC: 2D376CF5B1813CE5 Test: Verify Message: r16 "abc" -Digest: E8421F61D573D298 +MAC: E8421F61D573D298 Test: Verify Message: r100 "abc" -Digest: 4492DF6C5CAC1BBE +MAC: 4492DF6C5CAC1BBE Test: Verify Message: r1000000 "abc" -Digest: 09BA597DD7601113 +MAC: 09BA597DD7601113 Test: Verify Message: r42 "abc" "ab" -Digest: D638B73921F184DE +MAC: D638B73921F184DE Test: Verify Message: r170 "abc" "ab" -Digest: 9DA310281E6FD0A0 +MAC: 9DA310281E6FD0A0 Test: Verify Message: r65 "a" -Digest: 90 ea 57 cb 51 bc 92 a3 +MAC: 90 ea 57 cb 51 bc 92 a3 Test: Verify Message: r129 "a" -Digest: 86 34 83 87 d1 3d 82 33 +MAC: 86 34 83 87 d1 3d 82 33 Test: Verify Message: r65 "abc" -Digest: E86A86EC77A8BF61 +MAC: E86A86EC77A8BF61 Test: Verify Message: "abc" -Digest: 2D376CF5B1813CE0 +MAC: 2D376CF5B1813CE0 Test: NotVerify AlgorithmType: MAC Name: VMAC(AES)-128 Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt Key: "abcdefghijklmnop" -IV: r8 00 "bcdefghi" +IV: "bcdefghi" Message: "" -Digest: 472766C70F74ED23481D6D7DE4E80DAC +MAC: 472766C70F74ED23481D6D7DE4E80DAC Test: Verify Message: "abc" -Digest: 4EE815A06A1D71EDD36FC75D51188A42 +MAC: 4EE815A06A1D71EDD36FC75D51188A42 Test: Verify Message: r16 "abc" -Digest: 09F2C80C8E1007A0C12FAE19FE4504AE +MAC: 09F2C80C8E1007A0C12FAE19FE4504AE Test: Verify Message: r100 "abc" -Digest: 66438817154850C61D8A412164803BCB +MAC: 66438817154850C61D8A412164803BCB Test: Verify Message: r1000000 "abc" -Digest: 2B6B02288FFC461B75485DE893C629DC +MAC: 2B6B02288FFC461B75485DE893C629DC Test: Verify Message: r42 "abc" "ab" -Digest: F7E95FE3DA8DB9E6BB973E65D0B4CEA5 +MAC: F7E95FE3DA8DB9E6BB973E65D0B4CEA5 Test: Verify Message: r170 "abc" "ab" -Digest: BF53B8D2D70C05A85880C2E21CAF1299 +MAC: BF53B8D2D70C05A85880C2E21CAF1299 Test: Verify Message: r65 "a" -Digest: b2 9b 00 76 0a 58 c7 ab 92 d6 60 24 d6 9c 1b 92 +MAC: b2 9b 00 76 0a 58 c7 ab 92 d6 60 24 d6 9c 1b 92 Test: Verify Message: r129 "a" -Digest: a7 e5 2c 32 89 d9 b7 3b 53 57 6f 05 95 85 ee 79 +MAC: a7 e5 2c 32 89 d9 b7 3b 53 57 6f 05 95 85 ee 79 Test: Verify Message: r65 "abc" -Digest: 0A1B2F973044F469F405917E45010334 +MAC: 0A1B2F973044F469F405917E45010334 Test: Verify Message: "abc" -Digest: 4EE815A06A1D71EDD36FC75D51188A40 +MAC: 4EE815A06A1D71EDD36FC75D51188A40 Test: NotVerify -- cgit v1.2.1