nexmon – Blame information for rev 1
?pathlinks?
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 */ |