summaryrefslogtreecommitdiff
path: root/TestVectors
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-11-04 14:34:32 -0500
committerJeffrey Walton <noloader@gmail.com>2018-11-04 14:34:32 -0500
commit87d679bc7ef870dd302fdf3eb5c5e58f522d2142 (patch)
treebede9479b3dfbe637ffa38ee716a7c0bae8a7b01 /TestVectors
parent40fa6873f9581146d377b4acd379d04fcd0eaa0a (diff)
downloadcryptopp-git-87d679bc7ef870dd302fdf3eb5c5e58f522d2142.tar.gz
Add additional ChaCha20 test vectors (GH #732)
The additional tests ensure we cross the 32-bit boundary used by the state counters
Diffstat (limited to 'TestVectors')
-rw-r--r--TestVectors/chacha.txt153
1 files changed, 153 insertions, 0 deletions
diff --git a/TestVectors/chacha.txt b/TestVectors/chacha.txt
index f17a2be9..217b1b26 100644
--- a/TestVectors/chacha.txt
+++ b/TestVectors/chacha.txt
@@ -118,6 +118,57 @@ Ciphertext: \
445E0547D31C1623C537DF4BA85C70A9884A35BCBF3DFAB077E98B0F68135F54 \
81D4933F8B322AC0CD762C27235CE2B31534E0244A9A2F1FD5E94498D47FF108
Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffe*64)
+Key: r32 00
+IV: r8 00
+Rounds: 8
+Seek64: 0x3FFFFFFF80
+Plaintext: r128 00
+Ciphertext: \
+ AC22DD35E273D76E47D60D19AD753F578C38D4A8E28BA9F6055E8E0A1D7A6E53 \
+ CDC46EDD57430E0EB14CF19CC107EE6DFF4836500383CD683CA2E8F11BA754DD \
+ 34A2B737751D19ECE0256B2BB87237F68188C02B10A6DC31939D4E5D319BD3BB \
+ EE280B968AD567C1F103089F4F7346D1FEA5DEC60DAF906C3C4E889BC49E0049
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xffffffff*64)
+Key: r32 00
+IV: r8 00
+Rounds: 8
+Seek64: 0x3FFFFFFFC0
+Plaintext: r128 00
+Ciphertext: \
+ 34A2B737751D19ECE0256B2BB87237F68188C02B10A6DC31939D4E5D319BD3BB \
+ EE280B968AD567C1F103089F4F7346D1FEA5DEC60DAF906C3C4E889BC49E0049 \
+ 1CCC59A06308E05BE9D29E7288F166C58F2EE06003047710CBFDB7359DA916E8 \
+ 43980F2C3BF39DF2A3E1F451BA18C37F986FF783075484265819602305557DCD
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffc*64)
+Key: r32 00
+IV: r8 00
+Rounds: 8
+Seek64: 0x3FFFFFFF00
+Plaintext: r512 00
+Ciphertext: \
+ F75FC0AFC5A56D8F38FDFDD96233B42F926F5A21007D3412C7A28FEEED2B5401 \
+ 07BCC1A5F8AE49260A63E2A5A7F547A56B4807DDCD63BAF082A40F57B3A36A6D \
+ B7B5E36ACFB9D060F2830903343264C1C3EC582110898C2650B559EE29B7411E \
+ 87EE094887D1D8188563FF64F0755F1361381A6A1EF22D6B8732B2C9B7DE669D \
+ AC22DD35E273D76E47D60D19AD753F578C38D4A8E28BA9F6055E8E0A1D7A6E53 \
+ CDC46EDD57430E0EB14CF19CC107EE6DFF4836500383CD683CA2E8F11BA754DD \
+ 34A2B737751D19ECE0256B2BB87237F68188C02B10A6DC31939D4E5D319BD3BB \
+ EE280B968AD567C1F103089F4F7346D1FEA5DEC60DAF906C3C4E889BC49E0049 \
+ 1CCC59A06308E05BE9D29E7288F166C58F2EE06003047710CBFDB7359DA916E8 \
+ 43980F2C3BF39DF2A3E1F451BA18C37F986FF783075484265819602305557DCD \
+ B7BD167BDFD87E6E4DF89B2F110C9022F16325E2EC113E806A50774673CDB6AF \
+ B5BD48D1E66C7631EDB52D0941452DDBD67BC790A20CFE24213194AE75B2EE47 \
+ FE3B0698DD4E8DFA56E1841BC6F549097583143CB3A0D791C230D9C438EADCC9 \
+ F233969591EDF6EA904FF86C7A541AFE0905D18E62867028E15AEC0B2CD46BF1 \
+ E939F5026DD82A60AA06B99A3726EA6D76C2D48DDB8B1DCB365249859EDDC8C0 \
+ CF23BDB1CA6203201206BDDC4844A36D52A10828D0AB77CAACAF7FA680E4ED5D
+Test: Encrypt
#################################################
@@ -241,6 +292,57 @@ Ciphertext: \
CAA69C5AB221A23A57EB5F345C96F4D1322D0A2FF7A9CD43401CD536639A615A \
5C9429B55CA3C1B55354559669A154ACA46CD761C41AB8ACE385363B95675F06
Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffe*64)
+Key: r32 00
+IV: r8 00
+Rounds: 12
+Seek64: 0x3FFFFFFF80
+Plaintext: r128 00
+Ciphertext: \
+ 0502A68D6D5350892D5EE33F1286AEA1897CE4EF1DFE002C49C3D27A497994EB \
+ 7DBE6CA85D5E0C80814D4BA29D57FA8AF838DCC5CD3E62D0D62331D8DAB0B50F \
+ D7A6AF50F1C92A29484252BBFCE206F17D01DD139530A3830AB583C1F62E0312 \
+ 829361A19A8A956CEDEA380430FF932CD052DB5E9477835058B80A272406FC74
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xffffffff*64)
+Key: r32 00
+IV: r8 00
+Rounds: 12
+Seek64: 0x3FFFFFFFC0
+Plaintext: r128 00
+Ciphertext: \
+ D7A6AF50F1C92A29484252BBFCE206F17D01DD139530A3830AB583C1F62E0312 \
+ 829361A19A8A956CEDEA380430FF932CD052DB5E9477835058B80A272406FC74 \
+ CC7B53DC11894D26240581B8A8F4F4E5AF406705801223B13F821FDCCBA6A618 \
+ 8A63F8D3DC83CCBCED451F4BA4E0DAAB228ABB0D7439CC67E50DF7129F646BAD
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffc*64)
+Key: r32 00
+IV: r8 00
+Rounds: 12
+Seek64: 0x3FFFFFFF00
+Plaintext: r512 00
+Ciphertext: \
+ 5892C27AFFC04BFF6D877D6958F973D7918E9423C8E92696658A8D47B7231F8E \
+ FEEC34D15E07621D51EE87D4FB3368483B3722B0CED3580C792C3988F781AF0D \
+ 3460198B28EAB8115D4E75F4AD994CE2619B7942CFF8F862D77655A80F539097 \
+ 4DB43CC4CFC895FECAD6465E81AF7174140D9D4F54A288A343EB1321207D4ADD \
+ 0502A68D6D5350892D5EE33F1286AEA1897CE4EF1DFE002C49C3D27A497994EB \
+ 7DBE6CA85D5E0C80814D4BA29D57FA8AF838DCC5CD3E62D0D62331D8DAB0B50F \
+ D7A6AF50F1C92A29484252BBFCE206F17D01DD139530A3830AB583C1F62E0312 \
+ 829361A19A8A956CEDEA380430FF932CD052DB5E9477835058B80A272406FC74 \
+ CC7B53DC11894D26240581B8A8F4F4E5AF406705801223B13F821FDCCBA6A618 \
+ 8A63F8D3DC83CCBCED451F4BA4E0DAAB228ABB0D7439CC67E50DF7129F646BAD \
+ A0F5387AF3FAEC30DC25783285275137394EB539AF19DDC286C20DDFD252F85A \
+ 5D1B9D76F6A4F4C97A49275C18DC040B77432865988C49D2EC9C4366BE926481 \
+ 7F146661C007B7558ABB6C0B5EE94F722913A34AB3AB248031B5929DA1CDE7E3 \
+ B33DBF441151CD1770073C28D794351A4C42E6DC3B418ED7118BF314CF26AB99 \
+ E855F6C00854E00D63BFD389EDEA3D557C5016EEF3DFC00D8FF1FE76566AC486 \
+ 51AF4F61CEE3290B007BE9ADF56C3DD30CD4403C78C5AF2603C60F8CC4DC625B
+Test: Encrypt
#################################################
@@ -364,3 +466,54 @@ Ciphertext: \
3FEABC57FDE54F790C52C8AE43240B79D49042B777BFD6CB80E931270B7F50EB \
5BAC2ACD86A836C5DC98C116C1217EC31D3A63A9451319F097F3B4D6DAB07787
Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffe*64)
+Key: r32 00
+IV: r8 00
+Rounds: 20
+Seek64: 0x3FFFFFFF80
+Plaintext: r128 00
+Ciphertext: \
+ 032CC123482C31711F94C941AF5AB1F4155784332ED5348FE79AEC5EAD4C06C3 \
+ F13C280D8CC49925E4A6A5922EC80E13A4CDFA840C70A1427A3CB699166991A5 \
+ ACE4CD09E294D1912D4AD205D06F95D9C2F2BFCF453E8753F128765B62215F4D \
+ 92C74F2F626C6A640C0B1284D839EC81F1696281DAFC3E684593937023B58B1D
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xffffffff*64)
+Key: r32 00
+IV: r8 00
+Rounds: 20
+Seek64: 0x3FFFFFFFC0
+Plaintext: r128 00
+Ciphertext: \
+ ACE4CD09E294D1912D4AD205D06F95D9C2F2BFCF453E8753F128765B62215F4D \
+ 92C74F2F626C6A640C0B1284D839EC81F1696281DAFC3E684593937023B58B1D \
+ 3DB41D3AA0D329285DE6F225E6E24BD59C9A17006943D5C9B680E3873BDC683A \
+ 5819469899989690C281CD17C96159AF0682B5B903468A61F50228CF09622B5A
+Test: Encrypt
+#
+Comment: Counter crosses 32-bit boundary (0xfffffffc*64)
+Key: r32 00
+IV: r8 00
+Rounds: 20
+Seek64: 0x3FFFFFFF00
+Plaintext: r512 00
+Ciphertext: \
+ 98E5E54215C14F994E957FD3DD6A0309DFC3512CF12937F859A58725F16E9D4C \
+ 3BFBA511BE065C2AE7452DA187096671731A9954137BA780B808F9E93C919871 \
+ 582CB23E8F29E3B966B29D19E01A01DEBB32A8635CF49A1B178C3CD53CBF3EC5 \
+ 12DD6174690DA38FDA7C125351035F99E61042C5DCFA0C312E002F0DC99962DC \
+ 032CC123482C31711F94C941AF5AB1F4155784332ED5348FE79AEC5EAD4C06C3 \
+ F13C280D8CC49925E4A6A5922EC80E13A4CDFA840C70A1427A3CB699166991A5 \
+ ACE4CD09E294D1912D4AD205D06F95D9C2F2BFCF453E8753F128765B62215F4D \
+ 92C74F2F626C6A640C0B1284D839EC81F1696281DAFC3E684593937023B58B1D \
+ 3DB41D3AA0D329285DE6F225E6E24BD59C9A17006943D5C9B680E3873BDC683A \
+ 5819469899989690C281CD17C96159AF0682B5B903468A61F50228CF09622B5A \
+ 46F0F6EFEE15C8F1B198CB49D92B990867905159440CC723916DC00128269810 \
+ 39CE1766AA2542B05DB3BD809AB142489D5DBFE1273E7399637B4B3213768AAA \
+ 89B1889375E99FE2442C4F68ADF54158F4B8135713D00999B92B38E3AAFE5FF4 \
+ 959B1834BE3DC54FC36AA9D32EB121E0F688B90E7C7E2649F4AAEF407BDD2B94 \
+ 09EFEC03114CB5D4FFD1788E0FE1897BD176C1311E368368C657A5EE55C9CA03 \
+ CC71744F030822D53A0486A97B9D98240274FADEAF262BD81B58BCE3DFA98414
+Test: Encrypt