aboutsummaryrefslogtreecommitdiffstats
path: root/checks
diff options
context:
space:
mode:
authorlloyd <[email protected]>2013-03-16 22:23:59 +0000
committerlloyd <[email protected]>2013-03-16 22:23:59 +0000
commit158b20308dcc5c81e712e2e496fa0a5944e484a4 (patch)
treeb797fed9a06ba62f57b4c6d771d389c493f6ab0c /checks
parent01d1a8f734b9912301e4c0b6504c5ffa1d09e27a (diff)
Working GCM. Add support for AEAD modes in self tests
Diffstat (limited to 'checks')
-rw-r--r--checks/bench.cpp29
-rw-r--r--checks/validate.cpp3
-rw-r--r--checks/validate.dat91
3 files changed, 89 insertions, 34 deletions
diff --git a/checks/bench.cpp b/checks/bench.cpp
index f7ddc5650..96afd7d87 100644
--- a/checks/bench.cpp
+++ b/checks/bench.cpp
@@ -62,46 +62,23 @@ const std::string algos[] = {
"Luby-Rackoff(SHA-512)",
/* Cipher modes */
- "TripleDES/CBC/PKCS7",
- "TripleDES/CBC/CTS",
- "TripleDES/CTR-BE",
- "TripleDES/EAX",
- "TripleDES/OFB",
- "TripleDES/CFB(64)",
- "TripleDES/CFB(32)",
- "TripleDES/CFB(16)",
- "TripleDES/CFB(8)",
-
"AES-128/CBC/PKCS7",
- "AES-128/CBC/CTS",
"AES-128/CTR-BE",
"AES-128/EAX",
"AES-128/OCB",
- "AES-128/OFB",
+ "AES-128/GCM",
"AES-128/XTS",
- "AES-128/CFB(128)",
- "AES-128/CFB(64)",
- "AES-128/CFB(32)",
- "AES-128/CFB(16)",
- "AES-128/CFB(8)",
"Serpent/CBC/PKCS7",
- "Serpent/CBC/CTS",
"Serpent/CTR-BE",
"Serpent/EAX",
- "Serpent/OFB",
+ "Serpent/OCB",
+ "Serpent/GCM",
"Serpent/XTS",
- "Serpent/CFB(128)",
- "Serpent/CFB(64)",
- "Serpent/CFB(32)",
- "Serpent/CFB(16)",
- "Serpent/CFB(8)",
/* Stream ciphers */
"ARC4",
"Salsa20",
- "Turing",
- "WiderWake4+1-BE",
/* Checksums */
"Adler32",
diff --git a/checks/validate.cpp b/checks/validate.cpp
index 60fd729e3..7ae2fba29 100644
--- a/checks/validate.cpp
+++ b/checks/validate.cpp
@@ -442,6 +442,9 @@ bool failed_test(const std::string& algo,
if(params.size() > 3)
vars["iv"] = params[3];
+ if(params.size() > 4)
+ vars["ad"] = params[4];
+
Algorithm_Factory& af = global_state().algorithm_factory();
const auto results = algorithm_kat_detailed(algo, vars, af);
diff --git a/checks/validate.dat b/checks/validate.dat
index affd59c7c..e7526e817 100644
--- a/checks/validate.dat
+++ b/checks/validate.dat
@@ -26292,19 +26292,94 @@ C61A0851AB4E515D11525B92E2B9D850:C825FC7C4D539DC74887CECC70884F37
F956B879EC7F807F1FCB482B53623671:E64F90B4619D93137E6237929EABF297
[AES-128/GCM]
-#:58E2FCCEFA7E3061367F1D57A4E7455A:\
-#00000000000000000000000000000000:000000000000000000000000
+:58E2FCCEFA7E3061367F1D57A4E7455A:\
+00000000000000000000000000000000:000000000000000000000000
00000000000000000000000000000000:\
0388DACE60B6A392F328C2B971B2FE78AB6E47D42CEC13BDF53A67B21257BDDF:\
00000000000000000000000000000000:000000000000000000000000
-#D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A72\
-#1C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B391AAFD255:\
-#42831EC2217774244B7221B784D0D49CE3AA212F2C02A4E035C17E2329ACA12E\
-#21D514B25466931C7D8F6A5AAC84AA051BA30B396A0AAC973D58E091473F5985\
-#4D5C2AF327CD64A62CF35ABD2BA6FAB4:\
-#FEFFE9928665731C6D6A8F9467308308:CAFEBABEFACEDBADDECAF888
+D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A72\
+1C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B391AAFD255:\
+42831EC2217774244B7221B784D0D49CE3AA212F2C02A4E035C17E2329ACA12E\
+21D514B25466931C7D8F6A5AAC84AA051BA30B396A0AAC973D58E091473F5985\
+4D5C2AF327CD64A62CF35ABD2BA6FAB4:\
+FEFFE9928665731C6D6A8F9467308308:CAFEBABEFACEDBADDECAF888
+
+D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A72\
+1C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39:\
+42831EC2217774244B7221B784D0D49CE3AA212F2C02A4E035C17E2329ACA12E\
+21D514B25466931C7D8F6A5AAC84AA051BA30B396A0AAC973D58E091\
+5BC94FBC3221A5DB94FAE95AE7121A47:\
+FEFFE9928665731C6D6A8F9467308308:\
+CAFEBABEFACEDBADDECAF888:\
+FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+
+D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A72\
+1C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39:\
+61353B4C2806934A777FF51FA22A4755699B2A714FCDC6F83766E5F97B6C7423\
+73806900E49F24B22B097544D4896B424989B5E1EBAC0F07C23F4598\
+3612D2E79E3B0785561BE14AACA2FCCB:\
+FEFFE9928665731C6D6A8F9467308308:\
+CAFEBABEFACEDBAD:\
+FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+
+D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A72\
+1C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39:\
+8CE24998625615B603A033ACA13FB894BE9112A5C3A211A8BA262A3CCA7E2CA7\
+01E4A9A4FBA43C90CCDCB281D48C7C6FD62875D2ACA417034C34AEE5\
+619CC5AEFFFE0BFA462AF43C1699D050:\
+FEFFE9928665731C6D6A8F9467308308:\
+9313225DF88406E555909C5AFF5269AA6A7A9538534F7DA1E4C303D2A318A728\
+C3C0C95156809539FCF0E2429A6B525416AEDBF5A0DE6A57A637B39B:\
+FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+
+# From Crypto++ 5.6.1
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710\
+006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5\
+130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710:\
+BD70C168B0D4371B0A85B4B5D65D92569B17\
+F9A3D0A25B9F608E2C34621CF4D37357845431E04E585CDAAD7527BF8A2426DEEF451320C78D5EF0\
+9F5B11A8B8C700CD329A3D4CDED92C20F6BF28CB3627681C5B0AF2B5692CC7EC9049008ACBBD127A\
+9CD8DEF00425697E0BCF67E05AEE70EA1A5D7EE95E3B88FBAF3C196AAAECB73E09BDF057AF701A02\
+42394BCC104FF4F75F15D287325FCFFDB7E7FF3A939A80A6A3A9D7570E6EF6AD0BBE6E291338938D\
+2FEBBC7D5EE95CD73E752ACD48915DCAE0A0807E6F4B2ADADBD945667318264EF7D8C2ECC0B8FB67\
+A43614C5F5EA51CADD4AEE91DC371A7FC5A3B4581D1D9DD99608CD2BB0338F82933C19F5B8EBAD6B\
+BA583835FBD29136302BAC163F86CA9E3E6F3B5BFDEFAB3E4B019190AE2EBC0B71034EA9BF882879\
+139FFE76DD997F6729425F3D5C5392762C245769D18CC963C92211B71F564203AFBF68626C083303\
+1D449B02DFA5C0F09FAFCE951FE35F4AD8122AB682A4AF28931113F75615E12DB05DD9247973F1C6\
+057666848C13EDE41192F38948366D468D84CAF896EFF724082D2BAB2376E2813B41A014999B0EE7\
+377758715D9554926AB3514EEB96A0ABD501D94A05692D858190D5AD307CEB6E6C8A63841A8257BE\
+C2527C4B937840AA51292E15834AB801F0275A6A4B1B6E969B7A7FCE217D6F823CDE1760F847E8F4\
+6CBDE152A24F2319EC2A7089D2954259D30332089FF928034391D1B0B8AFD7C8A5D4F8E0DAB5883C\
+A7D581F78E4848DC3B01E5F2A5C01BA8910D0F144BC494E29450271174B866868EE8DC6B0DD396ED\
+9D72F83DE3BB6DE6FEBC64178961E011D0D746C2CE3A0FBD05CDF8FA79AC03E94C88368BD903E142\
+7FCFC30C9D100E220B4CB9B7BA242DA49D334E930B6C4EB877D1DF2C0F8CF4AF7813E2F295929707\
+19846FC52A47FCE6E71DC5E58FC5F49C91BDE56B7A2A68CFA994D6BFA5357A8403A2B37C69A6A0A4\
+35E4AB4C9E450473AF0CDFDBCC238A2DD7\
+4FEA89D75727E82B3A9F9EEB5E217A3E:\
+2B7E151628AED2A6ABF7158809CF4F3C:\
+F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
+
[AES-128/XTS]
# Vectors are from IEEE P1619 D11