Faster fuzz test: teach the fuzz test programs to handle directories
[openssl.git] / test / drbg_cavs_data.h
1 /*
2  * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 /*
11  * Known answer tests (KAT) for NIST SP800-90A DRBGs.
12  */
13
14 #include <stddef.h>
15
16 #ifndef DRBG_CAVS_DATA_H
17 # define DRBG_CAVS_DATA_H
18
19 enum drbg_kat_type {
20     NO_RESEED,
21     PR_FALSE,
22     PR_TRUE
23 };
24
25 enum drbg_df {
26     USE_DF,
27     NO_DF,
28     NA
29 };
30
31 struct drbg_kat_no_reseed {
32     size_t count;
33     const unsigned char *entropyin;
34     const unsigned char *nonce;
35     const unsigned char *persstr;
36     const unsigned char *addin1;
37     const unsigned char *addin2;
38     const unsigned char *retbytes;
39 };
40
41 struct drbg_kat_pr_false {
42     size_t count;
43     const unsigned char *entropyin;
44     const unsigned char *nonce;
45     const unsigned char *persstr;
46     const unsigned char *entropyinreseed;
47     const unsigned char *addinreseed;
48     const unsigned char *addin1;
49     const unsigned char *addin2;
50     const unsigned char *retbytes;
51 };
52
53 struct drbg_kat_pr_true {
54     size_t count;
55     const unsigned char *entropyin;
56     const unsigned char *nonce;
57     const unsigned char *persstr;
58     const unsigned char *entropyinpr1;
59     const unsigned char *addin1;
60     const unsigned char *entropyinpr2;
61     const unsigned char *addin2;
62     const unsigned char *retbytes;
63 };
64
65 struct drbg_kat {
66     enum drbg_kat_type type;
67     enum drbg_df df;
68     int nid;
69
70     size_t entropyinlen;
71     size_t noncelen;
72     size_t persstrlen;
73     size_t addinlen;
74     size_t retbyteslen;
75
76     const void *t;
77 };
78
79 extern const struct drbg_kat *drbg_test[];
80 extern const size_t drbg_test_nelem;
81
82 #endif