nexmon – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 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://libtom.org/?page=features 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://libtom.org/?page=features
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 */