Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
sober128.h
Go to the documentation of this file.
1
11/* About LibTomCrypt:
12 * ---------------------------------------------------------------------
13 * LibTomCrypt, modular cryptographic library -- Tom St Denis
14 *
15 * LibTomCrypt is a library that provides various cryptographic
16 * algorithms in a highly modular and flexible manner.
17 *
18 * The library is free for all purposes without any express
19 * guarantee it works.
20 *
21 * Tom St Denis, [email protected], http://www.libtom.net/LibTomCrypt/
22 */
23
24#ifndef _SOBER127_H
25#define _SOBER127_H
26
27#include "ws_symbol_export.h"
28
29typedef struct _sober128_prng {
30 unsigned long R[17], /* Working storage for the shift register */
31 initR[17], /* saved register contents */
32 konst, /* key dependent constant */
33 sbuf; /* partial word encryption buffer */
34
35 int nbuf, /* number of part-word stream bits buffered */
36 flag, /* first add_entropy call or not? */
37 set; /* did we call add_entropy to set key? */
38
40
47WS_DLL_PUBLIC
49
60WS_DLL_PUBLIC
61int sober128_add_entropy(const unsigned char *buf, unsigned long len, sober128_prng *prng);
62
74WS_DLL_PUBLIC
75unsigned long sober128_read(unsigned char *buf, unsigned long len, sober128_prng *prng);
76
77#endif /* sober128.h */
WS_DLL_PUBLIC int sober128_start(sober128_prng *prng)
Initialize a Sober128 PRNG instance.
Definition sober128.c:270
WS_DLL_PUBLIC unsigned long sober128_read(unsigned char *buf, unsigned long len, sober128_prng *prng)
Generate random bytes from a Sober128 PRNG instance.
Definition sober128.c:413
WS_DLL_PUBLIC int sober128_add_entropy(const unsigned char *buf, unsigned long len, sober128_prng *prng)
Inject entropy into a Sober128 PRNG instance.
Definition sober128.c:356
Definition sober128.h:29