From 49a119cbf7966f6afd41363fa33edd93b6cb80e0 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Fri, 1 Dec 2017 07:33:21 -0500 Subject: [PATCH] Add SPECK-64 and SPECK-128 large block tests The tests were generated using Crypto++ and the straight C++ implementation. It should allow us to test the SSE and NEON impelmentations and multiple blocks --- TestVectors/speck.txt | 102 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/TestVectors/speck.txt b/TestVectors/speck.txt index 06292301..69593a45 100644 --- a/TestVectors/speck.txt +++ b/TestVectors/speck.txt @@ -85,6 +85,24 @@ Ciphertext: F6E89A18 C3D86773 EDCDC20E 75373B74 C5675E97 AC656A1C \ Test: Encrypt # Source: Crypto++ 5.6.5 generated +Comment: Speck64/96, large block +Key: 13121110 0b0a0908 03020100 +IV: 23222120 2b2a2928 +Plaintext: 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 +Ciphertext: 3E17D0CB E94D04B9 A0BBC9B5 80D4DCEA 9F8C92F0 F1FF5113 \ + C00F23E6 9714BC5D 5F77BE4A C2044265 7EF62C75 15D86982 \ + 7D56F2F0 AD865A39 4EDB489D B4762C82 B4A6A65F EB2959F9 \ + E6C77CC4 29AF09F4 75D4B0EA 18FB6CDF EE9E260E 67B64BE3 \ + 40DA7F52 31BD3AFD A64BF702 106F11ED C5FAC0AC 67C90A40 \ + DBD0FBAD 07DC9981 +Test: Encrypt +# +Source: Crypto++ 5.6.5 generated Comment: Speck64/128, large block Key: 1b1a1918 13121110 0b0a0908 03020100 IV: 2b2a2928 23222120 @@ -93,6 +111,24 @@ Plaintext: 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ Ciphertext: 6E1CA864 6D5F7BFF BB5ACC0D 58D1FDEA 90046600 1DF7145A \ 76EA33F6 8BAA55E0 853AE5D8 6E3952EE B16FDFA2 83746490 Test: Encrypt +# +Source: Crypto++ 5.6.5 generated +Comment: Speck64/96, large block +Key: 1b1a1918 13121110 0b0a0908 03020100 +IV: 23222120 2b2a2928 +Plaintext: 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 74614620 736e6165 74614620 736e6165 \ + 74614620 736e6165 +Ciphertext: E8F71A10 591B516E B725F046 DA3E228D 8A849DE0 E4AEF499 \ + 6417186E 3366C952 3E823053 AE6B318C 8A411D94 1D601564 \ + C2B319E0 4655C7C5 5B87CA1B F86ADCE8 AD40BAE7 58F2B2EA \ + 0FCE4E4D D6F67E11 E884B794 4238F124 A12D9C61 17E6AFE4 \ + 32097CA1 7A854927 C11E5763 DC3942DB 4E9F911C 20A89B53 \ + 929C6A46 03F38DAE +Test: Encrypt AlgorithmType: SymmetricCipher Name: SPECK-128/ECB @@ -218,6 +254,28 @@ Ciphertext: C5A2FD31AC3E6503 637F10A940ABB06E 7B9F2F82298E112F 5CB2CCA6CE515281 Test: Encrypt # Source: Crypto++ 5.6.5 generated +Comment: Speck128/128, large block +Key: 0f0e0d0c0b0a0908 0706050403020100 +IV: 2f2e2d2c2b2a2928 2726252423222120 +Plaintext: 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 +Ciphertext: 326CAB63D41F6AF8 6C690C17E291E889 8BC9926083CC09A3 8287EC3866163A9D \ + FB28FB7FBB482231 F5EDC321BC62FC3A 4C8916ED98796D0F E27BAE58CB20F26E \ + CFB9068555B17E2F 488DCBA452B7D947 8525AAB49241B022 6002989890F79606 \ + 17F8ABA35CBCECBD 60A3D47A7250A7B3 DDD46C9A778880F3 79AB461BBCA47057 \ + 44FA679481F8BDE9 CBC07AC26FDC3207 66D39279FA8E2169 1E7F4FCAB991659C \ + 6D7EB45A003344B5 593FFABACCA6CB46 2D716071D06E4273 159F0E4E0388FDBD \ + 12809864CBC5D597 0EEA0EAA8C1513F2 9240BAABE82A477D B2398A8DA616981F \ + ECF3D6F3BA981251 41ED126C1C86C17D 9367F94D2778C12B 2AE8958818EAD21E +Test: Encrypt +# +Source: Crypto++ 5.6.5 generated Comment: Speck128/192, large block Key: 1716151413121110 0f0e0d0c0b0a0908 0706050403020100 IV: 1f1e1d1c1b1a1918 1716151413121110 @@ -231,6 +289,28 @@ Test: Encrypt # Source: Crypto++ 5.6.5 generated Comment: Speck128/192, large block +Key: 1716151413121110 0f0e0d0c0b0a0908 0706050403020100 +IV: 2f2e2d2c2b2a2928 2726252423222120 +Plaintext: 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 +Ciphertext: 7F27FD5047066D9A 1B75FC13ECCE25F5 524E35B87055CCE8 80D1EDF503CCF5E0 \ + 013BEA759EFD4626 1551D39FA4622952 603FF6750602CAE0 2B0994AD1E6414F1 \ + F2804AAF2B955C23 FB1D54FB37B03A10 C47BD1E774EF29EF 87DA840C652A51D0 \ + D2DDD6CF235C99BD 7F8C89188ECDD971 DDC79BBC271CCD0E D156B262EA1A549A \ + FFE911FEFD5EBC14 BBD1772CF5B54D18 CB33AD85CC5033A5 DBD24257EF9567E4 \ + 0F42175584BECDB9 C204ED3E2BE4F62D EE38DE07DBEBD74B 1B6C064769753134 \ + A3FC6D5C1E156C9B CFDE7B08713F373A 089AA3954F5BD2D9 D37A6FC4630AD003 \ + FEB0DC05E233C770 85A5D92904290DD2 CC1415C62F0D6330 FFDC78AEBD5851D5 +Test: Encrypt +# +Source: Crypto++ 5.6.5 generated +Comment: Speck128/256, large block Key: 1f1e1d1c1b1a1918 1716151413121110 0f0e0d0c0b0a0908 0706050403020100 IV: 1f1e1d1c1b1a1918 1716151413121110 Plaintext: 6c61766975716520 7469206564616d20 6c61766975716520 7469206564616d20 \ @@ -240,3 +320,25 @@ Ciphertext: 4DE90B93CE9A3ED3 482C3F03C0E1A020 DB6E66073231E19F DA9F831411CCF97D 4B1AC081024BBE96 0CC0D279D8A47F24 8F91492DF4AB6035 228E551DE6A7811B \ CCDFD166983B3555 120B98B22646A5EE 3B8ED54D34CACCAB 28BC79222CF04749 Test: Encrypt +# +Source: Crypto++ 5.6.5 generated +Comment: Speck128/256, large block +Key: 1f1e1d1c1b1a1918 1716151413121110 0f0e0d0c0b0a0908 0706050403020100 +IV: 2f2e2d2c2b2a2928 2726252423222120 +Plaintext: 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 \ + 6373656420737265 6c6c657661727420 6373656420737265 6c6c657661727420 +Ciphertext: B17D08C5D2F46C09 246509E786C2273E C88FC41243F9C75A A27CFCD11240AF92 \ + 2DD8DE5003543B44 DB9C94244047E053 F359AD3277FB5204 91494FD5289C563F \ + E077FCF6725B04FE D71532F0602996B2 AEFE28D5CFD4CFCD 7EFD03C28D67AFC5 \ + E055CCA6F5913B13 7E1B3C1807591EBB 0870A51D2A1286B8 2E29E280C2D2519B \ + 3E4F0365388EB1CA F1725396927353C8 7A619704472EBF3C 38300A47AE31C537 \ + FF38F7EEB72E3597 4849185FEAD04C35 6374B958F7D6705D 2AC74DFD729EADB2 \ + 16FC22F637531027 F4A9DFDBFE189E5C 4DAC2CE9A5E31E93 ABA0B09384652F61 \ + 0F82D8CAB45FBD36 50EEB60523D4AA57 9D2DA9F6F3A70400 8C311EFB1718A48C +Test: Encrypt