/usr/include/bglibs/crypto/surfrand.h is in libbg1-dev 1.106-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #ifndef BGLIBS__SURFRAND__H__
#define BGLIBS__SURFRAND__H__
#include <crypto/surf.h>
/** \defgroup surfrand surfrand: Random number generator based on SURF
@{ */
/** The surfrand state structure */
struct surfrand
{
/** counts the number of bytes in \c generated that have been output
* already */
unsigned used;
/** temporary storage for the generated random data */
uint32 generated[SURF_OUT_U32];
/** the input seed data */
uint32 seed[SURF_SEED_U32];
/** a giant counter used as input to SURF */
uint32 counter[SURF_IN_U32];
};
void surfrand_init(struct surfrand* c, const uint32* data, unsigned words);
uint32 surfrand_uint32(struct surfrand* c);
double surfrand_double(struct surfrand* c);
void surfrand_fill(struct surfrand* c, unsigned char* buf, unsigned len);
/** @} */
#endif
|