acvp: fix silly errors. A couple of processing errors crept in over time. Caught by the tests in the next change. Change-Id: I0caa478d3321cb8a1da1e61ddde16ba8db91eb35 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/44745 Commit-Queue: Adam Langley <agl@google.com> Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/util/fipstools/acvp/modulewrapper/modulewrapper.cc b/util/fipstools/acvp/modulewrapper/modulewrapper.cc index 2c9fd36..3bc5bda 100644 --- a/util/fipstools/acvp/modulewrapper/modulewrapper.cc +++ b/util/fipstools/acvp/modulewrapper/modulewrapper.cc
@@ -882,6 +882,13 @@ } static bool AES_CTR(const Span<const uint8_t> args[]) { + static const uint32_t kOneIteration = 1; + if (args[3].size() != sizeof(kOneIteration) || + memcmp(args[3].data(), &kOneIteration, sizeof(kOneIteration))) { + fprintf(stderr, "Only a single iteration supported with AES-CTR\n"); + return false; + } + AES_KEY key; if (AES_set_encrypt_key(args[0].data(), args[0].size() * 8, &key) != 0) { return false; @@ -1766,15 +1773,15 @@ {"SHA-1", 1, Hash<SHA1, SHA_DIGEST_LENGTH>}, {"SHA2-224", 1, Hash<SHA224, SHA224_DIGEST_LENGTH>}, {"SHA2-256", 1, Hash<SHA256, SHA256_DIGEST_LENGTH>}, - {"SHA2-384", 1, Hash<SHA384, SHA256_DIGEST_LENGTH>}, + {"SHA2-384", 1, Hash<SHA384, SHA384_DIGEST_LENGTH>}, {"SHA2-512", 1, Hash<SHA512, SHA512_DIGEST_LENGTH>}, {"SHA2-512/256", 1, Hash<SHA512_256, SHA512_256_DIGEST_LENGTH>}, {"AES/encrypt", 3, AES<AES_set_encrypt_key, AES_encrypt>}, {"AES/decrypt", 3, AES<AES_set_decrypt_key, AES_decrypt>}, {"AES-CBC/encrypt", 4, AES_CBC<AES_set_encrypt_key, AES_ENCRYPT>}, {"AES-CBC/decrypt", 4, AES_CBC<AES_set_decrypt_key, AES_DECRYPT>}, - {"AES-CTR/encrypt", 3, AES_CTR}, - {"AES-CTR/decrypt", 3, AES_CTR}, + {"AES-CTR/encrypt", 4, AES_CTR}, + {"AES-CTR/decrypt", 4, AES_CTR}, {"AES-GCM/seal", 5, AEADSeal<AESGCMSetup>}, {"AES-GCM/open", 5, AEADOpen<AESGCMSetup>}, {"AES-KW/seal", 5, AESKeyWrapSeal},