MPHELL  5.0.0
mphell-drbg_types.h
Go to the documentation of this file.
1 /*
2  MPHELL-5.0
3  Author(s): The MPHELL team
4 
5  (C) Copyright 2015-2021 - Institut Fourier / Univ. Grenoble Alpes (France)
6 
7  This file is part of the MPHELL Library.
8  MPHELL is free software: you can redistribute it and/or modify
9  it under the terms of the GNU Lesser General Public License as published by
10  the Free Software Foundation, version 3 of the License.
11 
12  MPHELL is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with MPHELL. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
26 #include "mphell-entropy.h"
27 
28 #ifndef DRBG_TYPES_H
29 #define DRBG_TYPES_H
30 
35 typedef struct {
36  uint8_t *V;
37  uint8_t *C_Key;
38  uint32_t reseed_counter;
40 
46 
59 };
60 
65 typedef enum drbg_algorithm drbg_type;
66 
71 typedef struct {
72  uint8_t seedlen;
73  uint8_t outlen;
75  uint64_t reseed_interval;
77 
83 
84 #define DRBG_MAX_INTERNAL_STATES 10
85 
90 typedef struct {
96 
102 
103 #endif
enum drbg_algorithm drbg_type
Define the DRBG algorithm.
drbg_info_data_t drbg_info_data[1]
Address of a drbg_info_data_t structure.
drbg_algorithm
Define the DRBG algorithm.
@ DRBG_AES192
@ DRBG_SHA256
@ DRBG_SHA512
@ DRBG_AES128
@ DRBG_UNSET
@ DRBG_SHA1
@ DRBG_AES256
drbg_internal_state_t drbg_internal_state[1]
Address of a drbg_internal_state_t structure.
drbg_working_state_t drbg_working_state[1]
Address of a drbg_working_state_t structure.
Declaration of entropy functions.
enum entropy_source entropy_type
Define the entropy source.
Administrative informations on the DRBG state.
The working state and administrative informations.
drbg_working_state state
One or more values that are derived from the seed and become part of the internal state,...