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/drbg_cavs_data.h | |
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/drbg_cavs_data.h')
-rw-r--r-- | test/drbg_cavs_data.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/test/drbg_cavs_data.h b/test/drbg_cavs_data.h new file mode 100644 index 0000000000..3ad97ab0d3 --- /dev/null +++ b/test/drbg_cavs_data.h @@ -0,0 +1,82 @@ +/* + * 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 + */ + +/* + * Known answer tests (KAT) for NIST SP800-90A DRBGs. + */ + +#include <stddef.h> + +#ifndef DRBG_CAVS_DATA_H +# define DRBG_CAVS_DATA_H + +enum drbg_kat_type { + NO_RESEED, + PR_FALSE, + PR_TRUE +}; + +enum drbg_df { + USE_DF, + NO_DF, + NA +}; + +struct drbg_kat_no_reseed { + size_t count; + const unsigned char *entropyin; + const unsigned char *nonce; + const unsigned char *persstr; + const unsigned char *addin1; + const unsigned char *addin2; + const unsigned char *retbytes; +}; + +struct drbg_kat_pr_false { + size_t count; + const unsigned char *entropyin; + const unsigned char *nonce; + const unsigned char *persstr; + const unsigned char *entropyinreseed; + const unsigned char *addinreseed; + const unsigned char *addin1; + const unsigned char *addin2; + const unsigned char *retbytes; +}; + +struct drbg_kat_pr_true { + size_t count; + const unsigned char *entropyin; + const unsigned char *nonce; + const unsigned char *persstr; + const unsigned char *entropyinpr1; + const unsigned char *addin1; + const unsigned char *entropyinpr2; + const unsigned char *addin2; + const unsigned char *retbytes; +}; + +struct drbg_kat { + enum drbg_kat_type type; + enum drbg_df df; + int nid; + + size_t entropyinlen; + size_t noncelen; + size_t persstrlen; + size_t addinlen; + size_t retbyteslen; + + const void *t; +}; + +extern const struct drbg_kat *drbg_test[]; +extern const size_t drbg_test_nelem; + +#endif |