diff options
author | Patrick Steuer <patrick.steuer@de.ibm.com> | 2018-03-10 19:06:43 +0100 |
---|---|---|
committer | Kurt Roeckx <kurt@roeckx.be> | 2018-03-21 21:32:47 +0100 |
commit | e613b1eff40f21cd99240f9884cd3396b0ab50f1 (patch) | |
tree | e18a47bb6fd42aebed3b244a62a708bd0eb11228 /test | |
parent | dbdcc04f27db70ac71748eb595ce23c9733afbe7 (diff) |
aes ctr_drbg: add cavs tests
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #5580
Diffstat (limited to 'test')
-rw-r--r-- | test/build.info | 5 | ||||
-rw-r--r-- | test/drbg_cavs_data.c | 170320 | ||||
-rw-r--r-- | test/drbg_cavs_data.h | 82 | ||||
-rw-r--r-- | test/drbg_cavs_test.c | 287 | ||||
-rw-r--r-- | test/recipes/05-test_rand.t | 3 |
5 files changed, 170696 insertions, 1 deletions
diff --git a/test/build.info b/test/build.info index 2a7ea745f3..ddd3e2028a 100644 --- a/test/build.info +++ b/test/build.info @@ -47,6 +47,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN asn1_encode_test asn1_string_table_test \ x509_time_test x509_dup_cert_test x509_check_cert_pkey_test \ recordlentest drbgtest sslbuffertest \ + recordlentest drbgtest drbg_cavs_test sslbuffertest \ time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \ servername_test ocspapitest rsa_mp_test fatalerrtest tls13ccstest \ sysdefaulttest @@ -339,6 +340,10 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN INCLUDE[drbgtest]=../include DEPEND[drbgtest]=../libcrypto libtestutil.a + SOURCE[drbg_cavs_test]=drbg_cavs_test.c drbg_cavs_data.c + INCLUDE[drbg_cavs_test]=../include . .. + DEPEND[drbg_cavs_test]=../libcrypto libtestutil.a + SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c INCLUDE[x509_dup_cert_test]=../include DEPEND[x509_dup_cert_test]=../libcrypto libtestutil.a diff --git a/test/drbg_cavs_data.c b/test/drbg_cavs_data.c new file mode 100644 index 0000000000..07f36b8535 --- /dev/null +++ b/test/drbg_cavs_data.c @@ -0,0 +1,170320 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * DRBG test vectors from: + * https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/ + */ + +#include <openssl/obj_mac.h> +#include "internal/nelem.h" +#include "drbg_cavs_data.h" + +static const unsigned char kat1_entropyin[] = { + 0x89, 0x0e, 0xb0, 0x67, 0xac, 0xf7, 0x38, 0x2e, 0xff, 0x80, 0xb0, 0xc7, + 0x3b, 0xc8, 0x72, 0xc6, +}; +static const unsigned char kat1_nonce[] = { + 0xaa, 0xd4, 0x71, 0xef, 0x3e, 0xf1, 0xd2, 0x03, +}; +static const unsigned char kat1_persstr[] = {0}; +static const unsigned char kat1_addin0[] = {0}; +static const unsigned char kat1_addin1[] = {0}; +static const unsigned char kat1_retbits[] = { + 0xa5, 0x51, 0x4e, 0xd7, 0x09, 0x5f, 0x64, 0xf3, 0xd0, 0xd3, 0xa5, 0x76, + 0x03, 0x94, 0xab, 0x42, 0x06, 0x2f, 0x37, 0x3a, 0x25, 0x07, 0x2a, 0x6e, + 0xa6, 0xbc, 0xfd, 0x84, 0x89, 0xe9, 0x4a, 0xf6, 0xcf, 0x18, 0x65, 0x9f, + 0xea, 0x22, 0xed, 0x1c, 0xa0, 0xa9, 0xe3, 0x3f, 0x71, 0x8b, 0x11, 0x5e, + 0xe5, 0x36, 0xb1, 0x28, 0x09, 0xc3, 0x1b, 0x72, 0xb0, 0x8d, 0xdd, 0x8b, + 0xe1, 0x91, 0x0f, 0xa3, +}; +static const struct drbg_kat_no_reseed kat1_t = { + 0, kat1_entropyin, kat1_nonce, kat1_persstr, + kat1_addin0, kat1_addin1, kat1_retbits +}; +static const struct drbg_kat kat1 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1_t +}; + +static const unsigned char kat2_entropyin[] = { + 0xc4, 0x7b, 0xe8, 0xe8, 0x21, 0x9a, 0x5a, 0x87, 0xc9, 0x40, 0x64, 0xa5, + 0x12, 0x08, 0x9f, 0x2b, +}; +static const unsigned char kat2_nonce[] = { + 0xf2, 0xa2, 0x3e, 0x63, 0x6a, 0xee, 0x75, 0xc6, +}; +static const unsigned char kat2_persstr[] = {0}; +static const unsigned char kat2_addin0[] = {0}; +static const unsigned char kat2_addin1[] = {0}; +static const unsigned char kat2_retbits[] = { + 0x5a, 0x16, 0x50, 0xbb, 0x6d, 0x6a, 0x16, 0xf6, 0x04, 0x05, 0x91, 0xd5, + 0x6a, 0xbc, 0xd5, 0xdd, 0x3d, 0xb8, 0x77, 0x2a, 0x9c, 0x75, 0xc4, 0x4d, + 0x9f, 0xc6, 0x4d, 0x51, 0xb7, 0x33, 0xd4, 0xa6, 0x75, 0x9b, 0xd5, 0xa6, + 0x4e, 0xc4, 0x23, 0x1a, 0x24, 0xe6, 0x62, 0xfd, 0xd4, 0x7c, 0x82, 0xdb, + 0x63, 0xb2, 0x00, 0xda, 0xf8, 0xd0, 0x98, 0x56, 0x0e, 0xb5, 0xba, 0x7b, + 0xf3, 0xf9, 0xab, 0xf7, +}; +static const struct drbg_kat_no_reseed kat2_t = { + 1, kat2_entropyin, kat2_nonce, kat2_persstr, + kat2_addin0, kat2_addin1, kat2_retbits +}; +static const struct drbg_kat kat2 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2_t +}; + +static const unsigned char kat3_entropyin[] = { + 0x13, 0x0b, 0x8c, 0x3d, 0x2d, 0x7b, 0x6e, 0x02, 0xc4, 0x10, 0xb4, 0x16, + 0x8e, 0x12, 0x2c, 0x38, +}; +static const unsigned char kat3_nonce[] = { + 0x79, 0xa6, 0x74, 0xc5, 0xb2, 0xc5, 0x1a, 0xa9, +}; +static const unsigned char kat3_persstr[] = {0}; +static const unsigned char kat3_addin0[] = {0}; +static const unsigned char kat3_addin1[] = {0}; +static const unsigned char kat3_retbits[] = { + 0x57, 0xe8, 0xa1, 0xe5, 0x78, 0xed, 0xe1, 0xc6, 0x68, 0x79, 0xc4, 0x30, + 0xdf, 0x72, 0x64, 0x35, 0xd5, 0x1a, 0x36, 0x9a, 0x0f, 0xe5, 0x9a, 0x03, + 0x58, 0xd1, 0xde, 0x35, 0x2d, 0x42, 0x80, 0xfd, 0x7b, 0x22, 0x5f, 0x5f, + 0x38, 0x6a, 0x4f, 0xcf, 0x12, 0xf7, 0x27, 0x94, 0xad, 0x0f, 0x37, 0x57, + 0xfb, 0x25, 0xde, 0xba, 0x3c, 0x75, 0x12, 0xce, 0x4d, 0x37, 0x33, 0xc7, + 0xee, 0x06, 0x70, 0x43, +}; +static const struct drbg_kat_no_reseed kat3_t = { + 2, kat3_entropyin, kat3_nonce, kat3_persstr, + kat3_addin0, kat3_addin1, kat3_retbits +}; +static const struct drbg_kat kat3 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3_t +}; + +static const unsigned char kat4_entropyin[] = { + 0x04, 0xd2, 0x41, 0x45, 0x28, 0x76, 0x64, 0xf6, 0x76, 0x2b, 0x5d, 0x2a, + 0x10, 0x2a, 0xc6, 0x03, +}; +static const unsigned char kat4_nonce[] = { + 0xec, 0xac, 0x63, 0xe1, 0x21, 0x7e, 0xe3, 0x35, +}; +static const unsigned char kat4_persstr[] = {0}; +static const unsigned char kat4_addin0[] = {0}; +static const unsigned char kat4_addin1[] = {0}; +static const unsigned char kat4_retbits[] = { + 0xfa, 0x5e, 0x74, 0x6d, 0xec, 0xd6, 0x80, 0x1e, 0xb7, 0x08, 0x3b, 0x6f, + 0x0e, 0x72, 0x43, 0x2e, 0x1f, 0xd4, 0x24, 0x31, 0x04, 0xf7, 0x48, 0xd0, + 0xf1, 0x90, 0x83, 0x92, 0x3b, 0x95, 0x55, 0x68, 0x8f, 0x43, 0x14, 0x6d, + 0x5a, 0xce, 0xa9, 0x62, 0xda, 0x01, 0x23, 0x1d, 0x9e, 0x5f, 0xaf, 0xf0, + 0xe8, 0x1f, 0x3d, 0x39, 0x4a, 0xce, 0x3a, 0x34, 0x54, 0x53, 0x6d, 0x72, + 0x65, 0x75, 0x04, 0x1f, +}; +static const struct drbg_kat_no_reseed kat4_t = { + 3, kat4_entropyin, kat4_nonce, kat4_persstr, + kat4_addin0, kat4_addin1, kat4_retbits +}; +static const struct drbg_kat kat4 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat4_t +}; + +static const unsigned char kat5_entropyin[] = { + 0xae, 0xde, 0x4e, 0x61, 0x35, 0x56, 0xb1, 0xd5, 0xa3, 0x0f, 0xce, 0x26, + 0x1f, 0xbb, 0x82, 0x0c, +}; +static const unsigned char kat5_nonce[] = { + 0x39, 0xac, 0xba, 0x03, 0xc5, 0xf1, 0x0a, 0xf4, +}; +static const unsigned char kat5_persstr[] = {0}; +static const unsigned char kat5_addin0[] = {0}; +static const unsigned char kat5_addin1[] = {0}; +static const unsigned char kat5_retbits[] = { + 0x23, 0x2c, 0x44, 0xb8, 0x19, 0xb8, 0x8f, 0x1a, 0xeb, 0x83, 0xf2, 0x03, + 0x4f, 0x84, 0x2d, 0x5a, 0x00, 0xf0, 0x30, 0x15, 0x05, 0xd2, 0xaa, 0x69, + 0xaa, 0xec, 0xb3, 0xcb, 0x14, 0xbc, 0xb1, 0x58, 0x75, 0xe0, 0xfd, 0x60, + 0x07, 0x1a, 0x80, 0xf6, 0x26, 0x2d, 0xce, 0xbc, 0xf4, 0x1a, 0x0e, 0x14, + 0x76, 0xd9, 0x6f, 0x40, 0x97, 0x12, 0xd8, 0x28, 0xae, 0x31, 0x3a, 0x9d, + 0x28, 0xec, 0x2d, 0xee, +}; +static const struct drbg_kat_no_reseed kat5_t = { + 4, kat5_entropyin, kat5_nonce, kat5_persstr, + kat5_addin0, kat5_addin1, kat5_retbits +}; +static const struct drbg_kat kat5 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat5_t +}; + +static const unsigned char kat6_entropyin[] = { + 0x9f, 0x90, 0x54, 0x1c, 0x10, 0xd4, 0xb7, 0xc0, 0x89, 0xfe, 0x68, 0x8e, + 0xa3, 0xef, 0x4f, 0xc6, +}; +static const unsigned char kat6_nonce[] = { + 0x1e, 0xac, 0x1c, 0x22, 0x03, 0x6e, 0x2b, 0x22, +}; +static const unsigned char kat6_persstr[] = {0}; +static const unsigned char kat6_addin0[] = {0}; +static const unsigned char kat6_addin1[] = {0}; +static const unsigned char kat6_retbits[] = { + 0x71, 0xaf, 0x3f, 0xdf, 0x67, 0x34, 0x04, 0x16, 0x3b, 0x06, 0x73, 0x7e, + 0x0f, 0x39, 0x91, 0x5f, 0xae, 0xc2, 0x18, 0x21, 0x81, 0x6c, 0x31, 0x42, + 0xe8, 0x0a, 0x50, 0x3c, 0x70, 0xcb, 0x2e, 0xdd, 0x46, 0x8c, 0x3f, 0x03, + 0xcb, 0x1f, 0x8a, 0x2f, 0x92, 0x48, 0x63, 0x5b, 0x63, 0xd7, 0xb8, 0xf1, + 0x9e, 0x9e, 0x11, 0xca, 0xf0, 0xab, 0x0c, 0x3d, 0x2f, 0xf9, 0xc7, 0x13, + 0x21, 0xca, 0xc1, 0x54, +}; +static const struct drbg_kat_no_reseed kat6_t = { + 5, kat6_entropyin, kat6_nonce, kat6_persstr, + kat6_addin0, kat6_addin1, kat6_retbits +}; +static const struct drbg_kat kat6 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat6_t +}; + +static const unsigned char kat7_entropyin[] = { + 0x3b, 0x8a, 0x18, 0x1c, 0xea, 0x83, 0x90, 0xd5, 0xd7, 0xa4, 0xe6, 0x51, + 0x5c, 0xf9, 0x2e, 0x3e, +}; +static const unsigned char kat7_nonce[] = { + 0x37, 0xf4, 0xd1, 0x74, 0x87, 0x14, 0x34, 0x5b, +}; +static const unsigned char kat7_persstr[] = {0}; +static const unsigned char kat7_addin0[] = {0}; +static const unsigned char kat7_addin1[] = {0}; +static const unsigned char kat7_retbits[] = { + 0xd6, 0xfd, 0x0f, 0xfb, 0x10, 0x85, 0x0e, 0xb6, 0xeb, 0x70, 0x50, 0xe6, + 0x1e, 0xac, 0x00, 0xd4, 0x72, 0xf6, 0x5c, 0xd3, 0xd9, 0x35, 0x08, 0x14, + 0x77, 0xfe, 0x44, 0xaa, 0x85, 0x69, 0x4e, 0x12, 0x0a, 0xb5, 0xa1, 0xca, + 0x1f, 0xa1, 0x98, 0xaf, 0x76, 0xdf, 0xa8, 0xd0, 0xab, 0xdf, 0x53, 0xe8, + 0x5a, 0xa8, 0xc8, 0x7f, 0xed, 0x0a, 0x8c, 0x24, 0x16, 0x39, 0x43, 0xb9, + 0x6d, 0x80, 0xaa, 0xfb, +}; +static const struct drbg_kat_no_reseed kat7_t = { + 6, kat7_entropyin, kat7_nonce, kat7_persstr, + kat7_addin0, kat7_addin1, kat7_retbits +}; +static const struct drbg_kat kat7 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat7_t +}; + +static const unsigned char kat8_entropyin[] = { + 0x85, 0x4c, 0xaa, 0x2a, 0x74, 0xf3, 0xf4, 0x3b, 0x6a, 0xbd, 0x80, 0x6d, + 0x67, 0x48, 0xed, 0x80, +}; +static const unsigned char kat8_nonce[] = { + 0x0c, 0xbd, 0x13, 0x72, 0xbe, 0xb6, 0x27, 0x36, +}; +static const unsigned char kat8_persstr[] = {0}; +static const unsigned char kat8_addin0[] = {0}; +static const unsigned char kat8_addin1[] = {0}; +static const unsigned char kat8_retbits[] = { + 0x46, 0x53, 0x40, 0x28, 0x16, 0x5f, 0xfe, 0x28, 0x45, 0xa9, 0x72, 0x62, + 0x7e, 0x67, 0xe1, 0x53, 0x51, 0x0c, 0xa1, 0x88, 0x0e, 0x6a, 0x3a, 0xd3, + 0x1f, 0xde, 0xe7, 0x1f, 0xf2, 0x40, 0xd3, 0x27, 0x86, 0x24, 0xb3, 0x1f, + 0x2d, 0x38, 0x6d, 0x7b, 0x22, 0x28, 0xce, 0xd6, 0x24, 0xa4, 0x2e, 0x7a, + 0x3b, 0x07, 0x48, 0x0b, 0x23, 0x23, 0x16, 0x6c, 0x18, 0xd1, 0xac, 0x0f, + 0x60, 0x00, 0x2e, 0xc4, +}; +static const struct drbg_kat_no_reseed kat8_t = { + 7, kat8_entropyin, kat8_nonce, kat8_persstr, + kat8_addin0, kat8_addin1, kat8_retbits +}; +static const struct drbg_kat kat8 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat8_t +}; + +static const unsigned char kat9_entropyin[] = { + 0x87, 0xe1, 0xc5, 0x32, 0x99, 0x7f, 0x57, 0xa3, 0x5c, 0x28, 0x6d, 0xe8, + 0x64, 0xbf, 0xf2, 0x64, +}; +static const unsigned char kat9_nonce[] = { + 0xa3, 0x9e, 0x98, 0xdb, 0x6c, 0x10, 0x78, 0x7f, +}; +static const unsigned char kat9_persstr[] = {0}; +static const unsigned char kat9_addin0[] = {0}; +static const unsigned char kat9_addin1[] = {0}; +static const unsigned char kat9_retbits[] = { + 0x2c, 0x14, 0x7e, 0x24, 0x11, 0x9a, 0xd8, 0xd4, 0xb2, 0xed, 0x61, 0xc1, + 0x53, 0xd0, 0x50, 0xc9, 0x24, 0xff, 0x59, 0x75, 0x15, 0xf1, 0x17, 0x3a, + 0x3d, 0xf4, 0x4b, 0x2c, 0x84, 0x28, 0xef, 0x89, 0x0e, 0xb9, 0xde, 0xf3, + 0xe4, 0x78, 0x04, 0xb2, 0xfd, 0x9b, 0x35, 0x7f, 0xe1, 0x3f, 0x8a, 0x3e, + 0x10, 0xc8, 0x67, 0x0a, 0xf9, 0xdf, 0x2d, 0x6c, 0x96, 0xfb, 0xb2, 0xb8, + 0xcb, 0x2d, 0xd6, 0xb0, +}; +static const struct drbg_kat_no_reseed kat9_t = { + 8, kat9_entropyin, kat9_nonce, kat9_persstr, + kat9_addin0, kat9_addin1, kat9_retbits +}; +static const struct drbg_kat kat9 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat9_t +}; + +static const unsigned char kat10_entropyin[] = { + 0x2f, 0xc6, 0x23, 0x42, 0x90, 0x29, 0xc9, 0x6e, 0xde, 0xf6, 0x16, 0x62, + 0x47, 0xb0, 0x8c, 0xb0, +}; +static const unsigned char kat10_nonce[] = { + 0x99, 0x82, 0x66, 0x33, 0x55, 0x58, 0x27, 0x88, +}; +static const unsigned char kat10_persstr[] = {0}; +static const unsigned char kat10_addin0[] = {0}; +static const unsigned char kat10_addin1[] = {0}; +static const unsigned char kat10_retbits[] = { + 0x55, 0x96, 0xcb, 0x16, 0xf3, 0xbe, 0x85, 0x52, 0xc1, 0xe5, 0xc1, 0x64, + 0xd5, 0x40, 0xcb, 0x1f, 0xaf, 0x4b, 0xea, 0x87, 0x33, 0xb6, 0x0a, 0x8a, + 0xd0, 0xc4, 0x06, 0x26, 0x25, 0x65, 0x48, 0xc7, 0xaa, 0x96, 0xd1, 0xd2, + 0x72, 0x9d, 0x26, 0xf0, 0x08, 0x73, 0x1f, 0xc3, 0x93, 0x07, 0xbe, 0x5b, + 0xcd, 0x20, 0x81, 0xc6, 0x9e, 0x31, 0x4e, 0x0c, 0x73, 0xe3, 0xd0, 0xfd, + 0x1d, 0x90, 0x58, 0x28, +}; +static const struct drbg_kat_no_reseed kat10_t = { + 9, kat10_entropyin, kat10_nonce, kat10_persstr, + kat10_addin0, kat10_addin1, kat10_retbits +}; +static const struct drbg_kat kat10 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat10_t +}; + +static const unsigned char kat11_entropyin[] = { + 0x98, 0xab, 0x8b, 0x4e, 0xaf, 0xab, 0x6e, 0x53, 0x6f, 0x78, 0x45, 0xab, + 0xec, 0x13, 0x78, 0x08, +}; +static const unsigned char kat11_nonce[] = { + 0xdb, 0xa9, 0x44, 0xc9, 0x8b, 0x31, 0x1d, 0x8e, +}; +static const unsigned char kat11_persstr[] = {0}; +static const unsigned char kat11_addin0[] = {0}; +static const unsigned char kat11_addin1[] = {0}; +static const unsigned char kat11_retbits[] = { + 0x86, 0xee, 0xd3, 0xa9, 0xfa, 0x53, 0x45, 0x2f, 0xb1, 0x1d, 0xba, 0x9c, + 0xac, 0x8e, 0x44, 0x02, 0x52, 0x29, 0x28, 0xf2, 0x70, 0x5a, 0x5e, 0x58, + 0x2f, 0x4d, 0x00, 0xeb, 0x8f, 0xed, 0x81, 0x8e, 0x62, 0x9c, 0x72, 0xa6, + 0xa7, 0x79, 0xbe, 0xb4, 0xed, 0x9a, 0x23, 0x93, 0x68, 0x23, 0x3c, 0xbf, + 0xcf, 0x55, 0x68, 0x5d, 0xbf, 0x2d, 0xe3, 0x4a, 0xb5, 0x89, 0x20, 0xcf, + 0xac, 0xa4, 0xaa, 0xfe, +}; +static const struct drbg_kat_no_reseed kat11_t = { + 10, kat11_entropyin, kat11_nonce, kat11_persstr, + kat11_addin0, kat11_addin1, kat11_retbits +}; +static const struct drbg_kat kat11 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat11_t +}; + +static const unsigned char kat12_entropyin[] = { + 0x7d, 0xcf, 0x4f, 0xa7, 0x31, 0x13, 0x9c, 0x5b, 0xb6, 0x44, 0x2f, 0xed, + 0x91, 0xe8, 0x9f, 0x68, +}; +static const unsigned char kat12_nonce[] = { + 0xff, 0xd9, 0x4f, 0xe2, 0x1a, 0x80, 0x8b, 0x15, +}; +static const unsigned char kat12_persstr[] = {0}; +static const unsigned char kat12_addin0[] = {0}; +static const unsigned char kat12_addin1[] = {0}; +static const unsigned char kat12_retbits[] = { + 0x8e, 0xca, 0x20, 0xe3, 0x1c, 0x98, 0x39, 0xb7, 0x41, 0xaa, 0xa9, 0xbf, + 0x6c, 0xee, 0xe2, 0x24, 0xd3, 0x21, 0x26, 0xb3, 0x19, 0x6e, 0xef, 0x3e, + 0xcd, 0x34, 0x3d, 0x41, 0x4d, 0x32, 0x33, 0xb9, 0xfd, 0x0e, 0xa0, 0xed, + 0x1b, 0xc7, 0x70, 0x0c, 0x88, 0xcd, 0x7c, 0x88, 0xd3, 0xc0, 0x76, 0x13, + 0xc4, 0x2c, 0xd1, 0xf9, 0x09, 0xfe, 0xd8, 0xc6, 0xa7, 0x08, 0xd0, 0x5d, + 0x6b, 0x68, 0xfb, 0x2e, +}; +static const struct drbg_kat_no_reseed kat12_t = { + 11, kat12_entropyin, kat12_nonce, kat12_persstr, + kat12_addin0, kat12_addin1, kat12_retbits +}; +static const struct drbg_kat kat12 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat12_t +}; + +static const unsigned char kat13_entropyin[] = { + 0x51, 0x9c, 0x6e, 0xfe, 0xde, 0xd2, 0xa1, 0x10, 0xac, 0x41, 0x83, 0x9a, + 0x8b, 0x8a, 0xbf, 0xce, +}; +static const unsigned char kat13_nonce[] = { + 0x81, 0xd9, 0x5e, 0xdc, 0x06, 0xdd, 0xe6, 0xb3, +}; +static const unsigned char kat13_persstr[] = {0}; +static const unsigned char kat13_addin0[] = {0}; +static const unsigned char kat13_addin1[] = {0}; +static const unsigned char kat13_retbits[] = { + 0x39, 0xcd, 0xd1, 0x0e, 0x49, 0xe0, 0x35, 0x81, 0xe3, 0x81, 0x1d, 0xdd, + 0x07, 0xd9, 0xd0, 0xac, 0xc3, 0x40, 0x85, 0xa1, 0x2c, 0x1c, 0x6b, 0x87, + 0xa7, 0x63, 0x86, 0xe9, 0x70, 0x32, 0xdc, 0x01, 0xf5, 0x23, 0xf6, 0x32, + 0xec, 0x95, 0x0d, 0x04, 0x34, 0xc2, 0x59, 0x37, 0xe4, 0x32, 0xd9, 0x85, + 0x54, 0x59, 0x9a, 0x85, 0x5d, 0xb9, 0xad, 0xf5, 0x8b, 0x9e, 0x04, 0x59, + 0x7a, 0x21, 0xd0, 0x0d, +}; +static const struct drbg_kat_no_reseed kat13_t = { + 12, kat13_entropyin, kat13_nonce, kat13_persstr, + kat13_addin0, kat13_addin1, kat13_retbits +}; +static const struct drbg_kat kat13 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat13_t +}; + +static const unsigned char kat14_entropyin[] = { + 0x80, 0xc1, 0x9e, 0xea, 0xad, 0x1a, 0x58, 0x37, 0x94, 0x66, 0xaf, 0xae, + 0x1d, 0x80, 0x87, 0x6d, +}; +static const unsigned char kat14_nonce[] = { + 0xd9, 0xa2, 0x09, 0x3f, 0x11, 0x89, 0x2b, 0x82, +}; +static const unsigned char kat14_persstr[] = {0}; +static const unsigned char kat14_addin0[] = {0}; +static const unsigned char kat14_addin1[] = {0}; +static const unsigned char kat14_retbits[] = { + 0xce, 0xc5, 0x1b, 0x98, 0x5e, 0xc9, 0x7b, 0x18, 0xee, 0x8e, 0xad, 0x36, + 0x15, 0x7b, 0xea, 0xf9, 0x6f, 0x12, 0x9f, 0x28, 0x28, 0x08, 0x89, 0xec, + 0x87, 0x3c, 0x27, 0xb5, 0x62, 0x71, 0x98, 0xc5, 0x85, 0xa6, 0xad, 0x21, + 0xae, 0x23, 0xa9, 0x59, 0xc9, 0xfa, 0x49, 0xd9, 0x85, 0xaf, 0x0d, 0xf4, + 0x02, 0x8f, 0xdf, 0x1f, 0x51, 0xd8, 0x2e, 0x8f, 0x2b, 0x3f, 0x02, 0x88, + 0x53, 0xf1, 0x4e, 0x8f, +}; +static const struct drbg_kat_no_reseed kat14_t = { + 13, kat14_entropyin, kat14_nonce, kat14_persstr, + kat14_addin0, kat14_addin1, kat14_retbits +}; +static const struct drbg_kat kat14 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat14_t +}; + +static const unsigned char kat15_entropyin[] = { + 0xb7, 0x7b, 0xd2, 0x2e, 0xfe, 0xb7, 0x71, 0x58, 0x6d, 0x51, 0x6f, 0x58, + 0x21, 0x92, 0xa3, 0x11, +}; +static const unsigned char kat15_nonce[] = { + 0xa6, 0x99, 0xf4, 0x2a, 0x49, 0x81, 0xfe, 0xfc, +}; +static const unsigned char kat15_persstr[] = {0}; +static const unsigned char kat15_addin0[] = {0}; +static const unsigned char kat15_addin1[] = {0}; +static const unsigned char kat15_retbits[] = { + 0x7f, 0xf0, 0xab, 0xea, 0xff, 0xc6, 0xec, 0x92, 0x3c, 0xeb, 0xd9, 0x10, + 0xf5, 0x93, 0x7b, 0xf1, 0x4f, 0xc5, 0x2d, 0x2a, 0x74, 0x25, 0x83, 0x88, + 0xc7, 0x6c, 0x1b, 0xc9, 0xe6, 0x35, 0xad, 0xf1, 0x75, 0x85, 0x8f, 0x0a, + 0x55, 0x87, 0x7e, 0x7e, 0x9f, 0x5f, 0x86, 0x7d, 0x00, 0xb9, 0xb1, 0x36, + 0x3d, 0xde, 0x46, 0x28, 0x8a, 0x6f, 0xff, 0x53, 0x21, 0xf4, 0x69, 0x44, + 0x5a, 0xad, 0x41, 0x98, +}; +static const struct drbg_kat_no_reseed kat15_t = { + 14, kat15_entropyin, kat15_nonce, kat15_persstr, + kat15_addin0, kat15_addin1, kat15_retbits +}; +static const struct drbg_kat kat15 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat15_t +}; + +static const unsigned char kat16_entropyin[] = { + 0xb4, 0x08, 0xce, 0xfb, 0x5b, 0xc7, 0x15, 0x7d, 0x3f, 0x26, 0xcb, 0x95, + 0xa8, 0xb1, 0xd7, 0xac, +}; +static const unsigned char kat16_nonce[] = { + 0x02, 0x6c, 0x76, 0x8f, 0xd5, 0x77, 0xb9, 0x2a, +}; +static const unsigned char kat16_persstr[] = {0}; +static const unsigned char kat16_addin0[] = { + 0x57, 0x37, 0xef, 0x81, 0xde, 0xe3, 0x65, 0xb6, 0xda, 0xdb, 0x3f, 0xee, + 0xbf, 0x5d, 0x10, 0x84, +}; +static const unsigned char kat16_addin1[] = { + 0x33, 0x68, 0xa5, 0x16, 0xb3, 0x43, 0x1a, 0x3d, 0xaa, 0xa6, 0x0d, 0xc8, + 0x74, 0x3c, 0x82, 0x97, +}; +static const unsigned char kat16_retbits[] = { + 0x4e, 0x90, 0x9e, 0xbb, 0x24, 0x14, 0x7a, 0x00, 0x04, 0x06, 0x3a, 0x5e, + 0x47, 0xee, 0x04, 0x4f, 0xea, 0xd6, 0x10, 0xd6, 0x23, 0x24, 0xbd, 0x0f, + 0x96, 0x3f, 0x75, 0x6f, 0xb9, 0x13, 0x61, 0xe8, 0xb8, 0x7e, 0x3a, 0x76, + 0xa3, 0x98, 0x14, 0x3f, 0xe8, 0x81, 0x30, 0xfe, 0x1b, 0x54, 0x7b, 0x66, + 0x1a, 0x64, 0x80, 0xc7, 0x11, 0xb7, 0x39, 0xf1, 0x8a, 0x9d, 0xf3, 0xae, + 0x51, 0xd4, 0x1b, 0xc9, +}; +static const struct drbg_kat_no_reseed kat16_t = { + 0, kat16_entropyin, kat16_nonce, kat16_persstr, + kat16_addin0, kat16_addin1, kat16_retbits +}; +static const struct drbg_kat kat16 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat16_t +}; + +static const unsigned char kat17_entropyin[] = { + 0x71, 0xbd, 0xce, 0x35, 0x42, 0x7d, 0x20, 0xbf, 0x58, 0xcf, 0x17, 0x74, + 0xce, 0x72, 0xd8, 0x33, +}; +static const unsigned char kat17_nonce[] = { + 0x34, 0x50, 0x2d, 0x8f, 0x5b, 0x14, 0xc4, 0xdd, +}; +static const unsigned char kat17_persstr[] = {0}; +static const unsigned char kat17_addin0[] = { + 0x66, 0xef, 0x42, 0xd6, 0x9a, 0x8c, 0x3d, 0x6d, 0x4a, 0x9e, 0x95, 0xa6, + 0x91, 0x4d, 0x81, 0x56, +}; +static const unsigned char kat17_addin1[] = { + 0xe3, 0x18, 0x83, 0xd9, 0x4b, 0x5e, 0xc4, 0xcc, 0xaa, 0x61, 0x2f, 0xbb, + 0x4a, 0x55, 0xd1, 0xc6, +}; +static const unsigned char kat17_retbits[] = { + 0x97, 0x33, 0xe8, 0x20, 0x12, 0xe2, 0x7b, 0xa1, 0x46, 0x8f, 0xf2, 0x34, + 0xb3, 0xc9, 0xb6, 0x6b, 0x20, 0xb2, 0x4f, 0xee, 0x27, 0xd8, 0x0b, 0x21, + 0x8c, 0xff, 0x63, 0x73, 0x69, 0x29, 0xfb, 0xf3, 0x85, 0xcd, 0x88, 0x8e, + 0x43, 0x2c, 0x71, 0x8b, 0xa2, 0x55, 0xd2, 0x0f, 0x1d, 0x7f, 0xe3, 0xe1, + 0x2a, 0xa3, 0xe9, 0x2c, 0x25, 0x89, 0xc7, 0x14, 0x52, 0x99, 0x56, 0xcc, + 0xc3, 0xdf, 0xb3, 0x81, +}; +static const struct drbg_kat_no_reseed kat17_t = { + 1, kat17_entropyin, kat17_nonce, kat17_persstr, + kat17_addin0, kat17_addin1, kat17_retbits +}; +static const struct drbg_kat kat17 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat17_t +}; + +static const unsigned char kat18_entropyin[] = { + 0x9c, 0x0e, 0x4a, 0xea, 0xfc, 0x35, 0x7f, 0xf8, 0xe3, 0xf5, 0x40, 0xa4, + 0x55, 0x67, 0x8d, 0x7e, +}; +static const unsigned char kat18_nonce[] = { + 0xef, 0xd8, 0x3d, 0xc5, 0xc5, 0x31, 0xd1, 0x67, +}; +static const unsigned char kat18_persstr[] = {0}; +static const unsigned char kat18_addin0[] = { + 0x58, 0xa1, 0x18, 0x14, 0x08, 0x1c, 0x1c, 0x35, 0xaf, 0x89, 0x88, 0xf1, + 0x31, 0x40, 0xf6, 0xcc, +}; +static const unsigned char kat18_addin1[] = { + 0x19, 0x19, 0x22, 0x70, 0xd6, 0x1a, 0x43, 0x26, 0x4a, 0x30, 0xba, 0x9e, + 0xbc, 0x72, 0x8a, 0x5b, +}; +static const unsigned char kat18_retbits[] = { + 0x1e, 0xff, 0x1c, 0xf6, 0xb5, 0x75, 0x31, 0x55, 0x90, 0x70, 0x38, 0x82, + 0x35, 0x9b, 0x6a, 0xdb, 0x3c, 0x21, 0xeb, 0xcf, 0xda, 0x5d, 0x3b, 0x5d, + 0x6e, 0x88, 0xac, 0xab, 0x6e, 0x87, 0x9e, 0x0a, 0x6f, 0x75, 0x37, 0x5c, + 0x02, 0xd1, 0xd3, 0xfb, 0xae, 0x94, 0x3c, 0x34, 0x43, 0xe3, 0x9c, 0x29, + 0x9b, 0x80, 0xe2, 0x41, 0xcd, 0x36, 0x5d, 0x4a, 0xf8, 0xcd, 0x1a, 0xd5, + 0xd9, 0xd5, 0x4c, 0x58, +}; +static const struct drbg_kat_no_reseed kat18_t = { + 2, kat18_entropyin, kat18_nonce, kat18_persstr, + kat18_addin0, kat18_addin1, kat18_retbits +}; +static const struct drbg_kat kat18 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat18_t +}; + +static const unsigned char kat19_entropyin[] = { + 0x95, 0x07, 0x01, 0x9b, 0x1f, 0xe8, 0x79, 0x84, 0xbe, 0xc1, 0xd0, 0x9c, + 0xec, 0xcf, 0x36, 0x35, +}; +static const unsigned char kat19_nonce[] = { + 0x47, 0x58, 0x62, 0x74, 0xfa, 0x75, 0x3e, 0x0d, +}; +static const unsigned char kat19_persstr[] = {0}; +static const unsigned char kat19_addin0[] = { + 0xf1, 0x7d, 0xe4, 0xce, 0xef, 0x9f, 0x2f, 0x23, 0x42, 0x20, 0xcb, 0x71, + 0xd8, 0xce, 0xb7, 0x0d, +}; +static const unsigned char kat19_addin1[] = { + 0x99, 0xd4, 0x8d, 0x9c, 0xe2, 0xfe, 0x76, 0xdc, 0xb8, 0xd0, 0x5f, 0xa4, + 0xec, 0x07, 0x1a, 0xec, +}; +static const unsigned char kat19_retbits[] = { + 0x25, 0xa0, 0xd1, 0x67, 0x8e, 0x25, 0xb1, 0x94, 0x39, 0xd8, 0x33, 0x4c, + 0xa9, 0x02, 0xdb, 0x63, 0x47, 0xa9, 0xa4, 0x2b, 0x86, 0xf3, 0x54, 0xb9, + 0xe0, 0xb3, 0xc4, 0xf4, 0xe8, 0xba, 0x9d, 0x19, 0x2a, 0x5d, 0x76, 0x5a, + 0xae, 0x5f, 0x4c, 0x5a, 0x74, 0xa0, 0x17, 0x7d, 0x3e, 0xb6, 0x13, 0x70, + 0x62, 0xe6, 0xd9, 0x8b, 0x65, 0x18, 0x22, 0x26, 0x5b, 0xfe, 0xfc, 0x92, + 0x9a, 0x39, 0x69, 0xdd, +}; +static const struct drbg_kat_no_reseed kat19_t = { + 3, kat19_entropyin, kat19_nonce, kat19_persstr, + kat19_addin0, kat19_addin1, kat19_retbits +}; +static const struct drbg_kat kat19 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat19_t +}; + +static const unsigned char kat20_entropyin[] = { + 0x12, 0xe8, 0xb3, 0xda, 0x3a, 0x3b, 0x3e, 0x77, 0x3a, 0xfc, 0x23, 0x05, + 0xbd, 0xa8, 0x6d, 0xb6, +}; +static const unsigned char kat20_nonce[] = { + 0xc4, 0x9f, 0x26, 0x1a, 0x9a, 0xb9, 0xd9, 0xf8, +}; +static const unsigned char kat20_persstr[] = {0}; +static const unsigned char kat20_addin0[] = { + 0x86, 0xb6, 0x38, 0x52, 0x41, 0x96, 0x15, 0x9d, 0xea, 0x01, 0x76, 0xe5, + 0x46, 0x2a, 0xe6, 0x5c, +}; +static const unsigned char kat20_addin1[] = { + 0x5e, 0xad, 0xb7, 0x67, 0x72, 0xbe, 0x3c, 0xe8, 0x47, 0xaf, 0x6b, 0x77, + 0x94, 0xe0, 0x02, 0xe3, +}; +static const unsigned char kat20_retbits[] = { + 0x1b, 0xbf, 0x85, 0xe0, 0x2c, 0x1f, 0xc0, 0x4b, 0xea, 0x5f, 0xc4, 0x7f, + 0x23, 0x6a, 0x07, 0x1c, 0x13, 0xf8, 0xf5, 0x2e, 0xb1, 0x13, 0xcb, 0x83, + 0xc4, 0x15, 0x2a, 0xc8, 0x32, 0x62, 0x7a, 0xbb, 0xa6, 0xec, 0xde, 0xc1, + 0x7a, 0x9f, 0xf0, 0x30, 0x5b, 0x7a, 0x49, 0x81, 0x79, 0x83, 0xfa, 0x5b, + 0x66, 0x51, 0x45, 0xe7, 0xba, 0x9a, 0x5d, 0xf5, 0x72, 0x26, 0xec, 0xcf, + 0xc1, 0x64, 0xe3, 0xbb, +}; +static const struct drbg_kat_no_reseed kat20_t = { + 4, kat20_entropyin, kat20_nonce, kat20_persstr, + kat20_addin0, kat20_addin1, kat20_retbits +}; +static const struct drbg_kat kat20 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat20_t +}; + +static const unsigned char kat21_entropyin[] = { + 0xb6, 0x08, 0xb1, 0x49, 0xcf, 0x44, 0xfe, 0x06, 0x06, 0x13, 0xb1, 0x66, + 0x1d, 0xa0, 0xdf, 0x63, +}; +static const unsigned char kat21_nonce[] = { + 0x95, 0x17, 0xc9, 0x93, 0xf1, 0x50, 0x34, 0x77, +}; +static const unsigned char kat21_persstr[] = {0}; +static const unsigned char kat21_addin0[] = { + 0x55, 0x9c, 0xb8, 0x12, 0xc3, 0x75, 0x8b, 0x2b, 0x31, 0x9d, 0xd9, 0xf5, + 0x76, 0x8e, 0x8d, 0x3d, +}; +static const unsigned char kat21_addin1[] = { + 0xc9, 0xaf, 0x98, 0x7e, 0xfc, 0xe4, 0x70, 0x0f, 0xa9, 0xc8, 0xeb, 0xb9, + 0xfe, 0xcf, 0x00, 0xda, +}; +static const unsigned char kat21_retbits[] = { + 0x5b, 0x48, 0x13, 0x4d, 0xc7, 0xe6, 0x58, 0x9f, 0x1b, 0x40, 0x2c, 0xf5, + 0xc4, 0xf6, 0xe3, 0xa3, 0xeb, 0xfd, 0xa8, 0x26, 0x72, 0x50, 0xe8, 0xe8, + 0x11, 0xec, 0x05, 0x98, 0x6f, 0xf2, 0x1c, 0x78, 0xa1, 0x69, 0x30, 0xa8, + 0xe0, 0x81, 0x03, 0x07, 0x76, 0x08, 0xc0, 0x6f, 0xa5, 0xe2, 0xa0, 0x48, + 0xe8, 0x5d, 0xd6, 0xf3, 0x95, 0xce, 0xe2, 0x01, 0xd3, 0xcd, 0xe6, 0x35, + 0xe1, 0x7e, 0x20, 0x3e, +}; +static const struct drbg_kat_no_reseed kat21_t = { + 5, kat21_entropyin, kat21_nonce, kat21_persstr, + kat21_addin0, kat21_addin1, kat21_retbits +}; +static const struct drbg_kat kat21 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat21_t +}; + +static const unsigned char kat22_entropyin[] = { + 0xe9, 0x2f, 0xd0, 0x7a, 0x09, 0xf2, 0xbc, 0xcb, 0x43, 0x42, 0x4c, 0x57, + 0x57, 0x73, 0xb0, 0xf0, +}; +static const unsigned char kat22_nonce[] = { + 0xb4, 0xe3, 0xca, 0x71, 0xae, 0x15, 0xa0, 0x36, +}; +static const unsigned char kat22_persstr[] = {0}; +static const unsigned char kat22_addin0[] = { + 0xe1, 0xb4, 0xb0, 0x40, 0x13, 0xdc, 0x12, 0x18, 0x8c, 0x62, 0x3d, 0x10, + 0x11, 0xd4, 0x08, 0xf1, +}; +static const unsigned char kat22_addin1[] = { + 0x79, 0x56, 0xbf, 0x5b, 0x16, 0x58, 0x0b, 0x3e, 0x72, 0x0a, 0x81, 0x33, + 0x3e, 0xae, 0x24, 0x83, +}; +static const unsigned char kat22_retbits[] = { + 0x21, 0xa4, 0x67, 0x22, 0x42, 0x46, 0x56, 0x37, 0x0c, 0x47, 0x5b, 0x69, + 0xa1, 0xfb, 0xc7, 0x0c, 0x8c, 0xbf, 0x44, 0x2d, 0xc2, 0xbc, 0x28, 0xe0, + 0xab, 0x34, 0xbb, 0x6f, 0xfe, 0xd0, 0x6d, 0x10, 0xf4, 0x90, 0xdf, 0x7e, + 0x78, 0x7c, 0x12, 0xb6, 0x52, 0xd2, 0x19, 0xa5, 0x77, 0x30, 0x6f, 0x04, + 0xa9, 0xc8, 0x78, 0xb6, 0xcf, 0xdf, 0xf4, 0x3e, 0x13, 0x55, 0xc4, 0xd1, + 0x10, 0xfb, 0x0f, 0xb2, +}; +static const struct drbg_kat_no_reseed kat22_t = { + 6, kat22_entropyin, kat22_nonce, kat22_persstr, + kat22_addin0, kat22_addin1, kat22_retbits +}; +static const struct drbg_kat kat22 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat22_t +}; + +static const unsigned char kat23_entropyin[] = { + 0xde, 0x0b, 0x4e, 0xa1, 0xa4, 0x40, 0xce, 0x68, 0x0e, 0xd0, 0x04, 0xcf, + 0x64, 0xaf, 0xbe, 0x0f, +}; +static const unsigned char kat23_nonce[] = { + 0xab, 0xb3, 0x1a, 0x3a, 0xb1, 0x5e, 0xd4, 0x49, +}; +static const unsigned char kat23_persstr[] = {0}; +static const unsigned char kat23_addin0[] = { + 0x45, 0xe7, 0x10, 0x10, 0x0c, 0xad, 0x00, 0xf3, 0xd2, 0x93, 0xdb, 0x75, + 0x5e, 0xe1, 0x99, 0x0d, +}; +static const unsigned char kat23_addin1[] = { + 0xb9, 0x11, 0xc9, 0xa4, 0x38, 0x9e, 0x71, 0x67, 0x98, 0x2a, 0x51, 0x24, + 0x8e, 0xe2, 0x93, 0x7e, +}; +static const unsigned char kat23_retbits[] = { + 0x01, 0xc3, 0xaf, 0x83, 0x55, 0x7c, 0x63, 0x2d, 0xd8, 0x22, 0x83, 0x3f, + 0x18, 0xe5, 0x48, 0xfb, 0x60, 0x36, 0xe9, 0xcc, 0xac, 0xc3, 0xb4, 0x33, + 0xc5, 0xa7, 0x00, 0x79, 0x39, 0x93, 0x30, 0x89, 0x16, 0x22, 0x0e, 0x5a, + 0x74, 0x16, 0x39, 0x86, 0x1c, 0x2f, 0x17, 0x71, 0x9b, 0x32, 0x51, 0x22, + 0x06, 0xe3, 0x6e, 0x94, 0x7b, 0x28, 0x60, 0x07, 0x3b, 0x11, 0x3c, 0xcd, + 0xa3, 0xfe, 0x31, 0x68, +}; +static const struct drbg_kat_no_reseed kat23_t = { + 7, kat23_entropyin, kat23_nonce, kat23_persstr, + kat23_addin0, kat23_addin1, kat23_retbits +}; +static const struct drbg_kat kat23 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat23_t +}; + +static const unsigned char kat24_entropyin[] = { + 0x72, 0x27, 0xe1, 0x1c, 0xfc, 0x1a, 0x6b, 0x84, 0xb4, 0x0e, 0xca, 0x24, + 0xe7, 0x7f, 0x8c, 0x64, +}; +static const unsigned char kat24_nonce[] = { + 0xab, 0x7e, 0x9f, 0xc4, 0x5e, 0x58, 0x63, 0xfb, +}; +static const unsigned char kat24_persstr[] = {0}; +static const unsigned char kat24_addin0[] = { + 0xca, 0xeb, 0xb3, 0xcd, 0x32, 0xc9, 0xd3, 0xe1, 0xf5, 0xd3, 0x8f, 0x8b, + 0xdd, 0x89, 0x58, 0x7d, +}; +static const unsigned char kat24_addin1[] = { + 0x31, 0x38, 0x09, 0x26, 0xb8, 0x60, 0x80, 0x06, 0xb7, 0xc7, 0x93, 0x61, + 0xf0, 0xf9, 0x1d, 0x5e, +}; +static const unsigned char kat24_retbits[] = { + 0x3a, 0xd7, 0xb9, 0x32, 0x59, 0xc6, 0xd0, 0xfd, 0xb5, 0x14, 0x27, 0x7a, + 0xe9, 0x95, 0x01, 0x22, 0xfb, 0x97, 0x11, 0x33, 0x74, 0x2d, 0xe8, 0xe5, + 0x17, 0xdd, 0x22, 0x69, 0xdd, 0x5a, 0x3c, 0x25, 0x7e, 0x3d, 0x10, 0x6b, + 0x55, 0x56, 0x60, 0xcf, 0xdd, 0x6a, 0x92, 0xc2, 0xcd, 0xdf, 0x1e, 0x53, + 0xc4, 0x94, 0x5e, 0xd7, 0x72, 0xee, 0x30, 0x38, 0x04, 0xd0, 0x56, 0xf2, + 0x42, 0xbf, 0x53, 0x99, +}; +static const struct drbg_kat_no_reseed kat24_t = { + 8, kat24_entropyin, kat24_nonce, kat24_persstr, + kat24_addin0, kat24_addin1, kat24_retbits +}; +static const struct drbg_kat kat24 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat24_t +}; + +static const unsigned char kat25_entropyin[] = { + 0x3b, 0x9e, 0xe2, 0x0c, 0x82, 0x42, 0xb3, 0xf3, 0x58, 0xdb, 0xe8, 0xea, + 0x58, 0x9e, 0x6e, 0x7c, +}; +static const unsigned char kat25_nonce[] = { + 0xb1, 0xdc, 0x3a, 0x47, 0x03, 0x68, 0x52, 0x15, +}; +static const unsigned char kat25_persstr[] = {0}; +static const unsigned char kat25_addin0[] = { + 0x47, 0x33, 0x34, 0x47, 0x86, 0x73, 0xe7, 0xb4, 0xa4, 0x3e, 0x9a, 0xe6, + 0xa8, 0xac, 0x98, 0xbf, +}; +static const unsigned char kat25_addin1[] = { + 0x06, 0x1f, 0xe4, 0x45, 0x5a, 0x17, 0x08, 0x74, 0x98, 0xfe, 0x20, 0x9c, + 0x2c, 0xba, 0x7a, 0x91, +}; +static const unsigned char kat25_retbits[] = { + 0x8e, 0x50, 0x62, 0xb1, 0xfb, 0x29, 0x05, 0xc1, 0x57, 0xc5, 0x26, 0xfa, + 0x5f, 0x67, 0xcc, 0x99, 0xc6, 0xd7, 0x08, 0x0a, 0x3d, 0x31, 0x42, 0xfa, + 0x37, 0xc2, 0x09, 0xcf, 0x53, 0x4a, 0xf1, 0x6a, 0x9a, 0x2f, 0x28, 0x61, + 0xb8, 0x94, 0xea, 0x84, 0xa3, 0x73, 0xd4, 0xa8, 0x04, 0xc3, 0xdc, 0xd5, + 0x1f, 0xcc, 0x09, 0xdd, 0x0f, 0x5b, 0x39, 0x45, 0x69, 0x7a, 0xac, 0xd0, + 0xb8, 0xf3, 0xea, 0xfd, +}; +static const struct drbg_kat_no_reseed kat25_t = { + 9, kat25_entropyin, kat25_nonce, kat25_persstr, + kat25_addin0, kat25_addin1, kat25_retbits +}; +static const struct drbg_kat kat25 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat25_t +}; + +static const unsigned char kat26_entropyin[] = { + 0x8f, 0xf7, 0x57, 0xb2, 0x11, 0x69, 0xb3, 0xfd, 0x6e, 0x88, 0x00, 0xaa, + 0xc0, 0xe3, 0xc4, 0x1f, +}; +static const unsigned char kat26_nonce[] = { + 0x49, 0x4d, 0x42, 0x51, 0xe8, 0x88, 0x15, 0xb4, +}; +static const unsigned char kat26_persstr[] = {0}; +static const unsigned char kat26_addin0[] = { + 0xe0, 0x19, 0x9f, 0xb9, 0xf0, 0xf0, 0xa1, 0xa8, 0xdd, 0x9d, 0x19, 0xd1, + 0x43, 0x68, 0xfa, 0x1e, +}; +static const unsigned char kat26_addin1[] = { + 0x21, 0x91, 0xab, 0xe7, 0x24, 0x41, 0x28, 0x56, 0x36, 0xc1, 0x1b, 0xde, + 0xe9, 0x83, 0xed, 0x8c, +}; +static const unsigned char kat26_retbits[] = { + 0x06, 0x75, 0xb2, 0x25, 0x4b, 0x71, 0x31, 0x8e, 0xb3, 0xa3, 0x60, 0x4d, + 0x7b, 0x6d, 0x77, 0x80, 0x6c, 0xd7, 0xdf, 0x32, 0x5c, 0x7c, 0xe8, 0x9e, + 0x16, 0xd3, 0xbd, 0x56, 0x16, 0xb0, 0xfa, 0xec, 0x33, 0x0c, 0xfe, 0x6b, + 0x84, 0xb6, 0x87, 0x61, 0xad, 0xf7, 0x0c, 0xc1, 0x4e, 0x46, 0x25, 0x3e, + 0x11, 0x55, 0x72, 0xc1, 0xa4, 0xac, 0xbb, 0xae, 0xee, 0x1a, 0xd6, 0x81, + 0xb5, 0x38, 0xd6, 0xc9, +}; +static const struct drbg_kat_no_reseed kat26_t = { + 10, kat26_entropyin, kat26_nonce, kat26_persstr, + kat26_addin0, kat26_addin1, kat26_retbits +}; +static const struct drbg_kat kat26 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat26_t +}; + +static const unsigned char kat27_entropyin[] = { + 0x46, 0x0c, 0x0a, 0x1e, 0x92, 0x9b, 0x75, 0x18, 0xdb, 0xcf, 0x44, 0xe4, + 0xe7, 0xee, 0x4d, 0x83, +}; +static const unsigned char kat27_nonce[] = { + 0x88, 0x65, 0xd5, 0x01, 0x53, 0x48, 0x25, 0x9e, +}; +static const unsigned char kat27_persstr[] = {0}; +static const unsigned char kat27_addin0[] = { + 0xf9, 0x32, 0x78, 0x91, 0x40, 0xa0, 0xa7, 0x6f, 0x07, 0xb2, 0x5b, 0x5f, + 0x8e, 0x1d, 0x00, 0xdc, +}; +static const unsigned char kat27_addin1[] = { + 0xe6, 0x44, 0x6a, 0xe2, 0xc6, 0x62, 0x66, 0x73, 0xe1, 0x8e, 0x37, 0x3d, + 0xeb, 0x12, 0xbd, 0x26, +}; +static const unsigned char kat27_retbits[] = { + 0xc5, 0xde, 0x2e, 0x1a, 0x2a, 0xa7, 0x0a, 0x28, 0xac, 0xe6, 0x8e, 0x62, + 0x0c, 0x94, 0xb8, 0x88, 0xa0, 0x7b, 0x07, 0x80, 0xb3, 0x14, 0x38, 0xc5, + 0xe1, 0x1c, 0x5d, 0x76, 0xdf, 0xd6, 0x15, 0xf4, 0x1d, 0x4b, 0xa3, 0x24, + 0xd2, 0x2c, 0x12, 0xfe, 0xe3, 0x8f, 0x58, 0x93, 0x5d, 0xad, 0x35, 0xe0, + 0x0f, 0xe6, 0xa6, 0xe6, 0x11, 0x86, 0xc7, 0x88, 0x1c, 0x30, 0x6e, 0x96, + 0x31, 0xcc, 0x15, 0xec, +}; +static const struct drbg_kat_no_reseed kat27_t = { + 11, kat27_entropyin, kat27_nonce, kat27_persstr, + kat27_addin0, kat27_addin1, kat27_retbits +}; +static const struct drbg_kat kat27 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat27_t +}; + +static const unsigned char kat28_entropyin[] = { + 0xb2, 0xda, 0x44, 0xbc, 0x3b, 0xe2, 0xd1, 0x7a, 0x9a, 0xc2, 0x08, 0x80, + 0x85, 0xe9, 0x26, 0xf8, +}; +static const unsigned char kat28_nonce[] = { + 0x04, 0xbe, 0x54, 0x49, 0x35, 0x26, 0xc5, 0x78, +}; +static const unsigned char kat28_persstr[] = {0}; +static const unsigned char kat28_addin0[] = { + 0x67, 0xbe, 0x89, 0x19, 0x59, 0x65, 0xcd, 0x7d, 0xc9, 0x84, 0x27, 0x1b, + 0x49, 0x7d, 0x61, 0x90, +}; +static const unsigned char kat28_addin1[] = { + 0xc9, 0x95, 0x6b, 0x00, 0x4b, 0x0c, 0x26, 0xb3, 0xf6, 0x57, 0xc6, 0xc1, + 0x55, 0xd3, 0x60, 0xcc, +}; +static const unsigned char kat28_retbits[] = { + 0xc7, 0x74, 0x56, 0x62, 0x19, 0x48, 0xf6, 0x08, 0x38, 0xe3, 0x77, 0x9a, + 0x14, 0x60, 0x63, 0x22, 0x52, 0x96, 0xda, 0x38, 0x18, 0x0e, 0x2c, 0x4c, + 0x58, 0x35, 0xea, 0x27, 0xb2, 0x84, 0x24, 0xa8, 0x83, 0x1c, 0xee, 0x8c, + 0x8d, 0xf7, 0x39, 0xa2, 0xb1, 0x73, 0xb3, 0x7b, 0xe2, 0xc0, 0x2b, 0xff, + 0x38, 0xe0, 0xb3, 0x67, 0xd4, 0x82, 0xfb, 0x76, 0x54, 0x5f, 0xb3, 0xc9, + 0x8d, 0x82, 0xb6, 0xe7, +}; +static const struct drbg_kat_no_reseed kat28_t = { + 12, kat28_entropyin, kat28_nonce, kat28_persstr, + kat28_addin0, kat28_addin1, kat28_retbits +}; +static const struct drbg_kat kat28 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat28_t +}; + +static const unsigned char kat29_entropyin[] = { + 0xf1, 0x77, 0xbc, 0x8a, 0xf7, 0x5c, 0x49, 0xe1, 0xd3, 0x79, 0xb5, 0x72, + 0x26, 0x92, 0xbb, 0x3f, +}; |