Wireshark 2.9.0-477-g68ec514b The Wireshark network protocol analyzer

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

sober128.h
1 /* This file is derived from sober128 implementation in corosync
2 cluster engine. corosync cluster engine borrows the implementation
3 from LibTomCrypt.
4
5 The latest version of the original code can be found at
6 http://www.libtom.net/LibTomCrypt/ according to which this code is in the
7 Public Domain
8 */
9
10 /* About LibTomCrypt:
11 * ---------------------------------------------------------------------
12 * LibTomCrypt, modular cryptographic library -- Tom St Denis
13 *
14 * LibTomCrypt is a library that provides various cryptographic
15 * algorithms in a highly modular and flexible manner.
16 *
17 * The library is free for all purposes without any express
18 * guarantee it works.
19 *
20 * Tom St Denis, tomstdenis@iahu.ca, http://www.libtom.net/LibTomCrypt/
21 */
22
23 #ifndef _SOBER127_H
24 #define _SOBER127_H
25
26 #include "ws_symbol_export.h"
27
28 typedef struct _sober128_prng {
29 unsigned long R[17], /* Working storage for the shift register */
30 initR[17], /* saved register contents */
31 konst, /* key dependent constant */
32 sbuf; /* partial word encryption buffer */
33
34 int nbuf, /* number of part-word stream bits buffered */
35 flag, /* first add_entropy call or not? */
36 set; /* did we call add_entropy to set key? */
37
38 } sober128_prng;
39
40 WS_DLL_PUBLIC
41 int sober128_start(sober128_prng *prng);
42 WS_DLL_PUBLIC
43 int sober128_add_entropy(const unsigned char *buf, unsigned long len, sober128_prng *prng);
44 WS_DLL_PUBLIC
45 unsigned long sober128_read(unsigned char *buf, unsigned long len, sober128_prng *prng);
46
47 #endif /* sober128.h */
_sober128_prng
Definition: sober128.h:28