]> git.ipfire.org Git - thirdparty/openssl.git/blob - test/drbg_cavs_data.h
Reorganize local header files
[thirdparty/openssl.git] / test / drbg_cavs_data.h
1 /*
2 * Copyright 2017-2018 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