mycrypt_prng.h

来自「文件驱动加密,功能强大,可产生加密分区,支持AES,MD2,MD4,MD5MD2」· C头文件 代码 · 共 67 行

H
67
字号
/* ---- PRNG Stuff ---- */struct yarrow_prng {    int                   cipher, hash;    unsigned char         pool[MAXBLOCKSIZE];    symmetric_CTR         ctr;};struct rc4_prng {    int x, y;    unsigned char buf[256];};typedef union Prng_state {    struct yarrow_prng    yarrow;    struct rc4_prng       rc4;} prng_state;extern struct _prng_descriptor {    char *name;    int (*start)(prng_state *);    int (*add_entropy)(const unsigned char *, unsigned long, prng_state *);    int (*ready)(prng_state *);    unsigned long (*read)(unsigned char *, unsigned long len, prng_state *);} prng_descriptor[];#ifdef YARROWextern int yarrow_start(prng_state *prng);extern int yarrow_add_entropy(const unsigned char *buf, unsigned long len, prng_state *prng);extern int yarrow_ready(prng_state *prng);extern unsigned long yarrow_read(unsigned char *buf, unsigned long len, prng_state *prng);extern const struct _prng_descriptor yarrow_desc;#endif#ifdef RC4extern int rc4_start(prng_state *prng);extern int rc4_add_entropy(const unsigned char *buf, unsigned long len, prng_state *prng);extern int rc4_ready(prng_state *prng);extern unsigned long rc4_read(unsigned char *buf, unsigned long len, prng_state *prng);extern const struct _prng_descriptor rc4_desc;#endif#ifdef SPRNGextern int sprng_start(prng_state *prng);extern int sprng_add_entropy(const unsigned char *buf, unsigned long len, prng_state *prng);extern int sprng_ready(prng_state *prng);extern unsigned long sprng_read(unsigned char *buf, unsigned long len, prng_state *prng);extern const struct _prng_descriptor sprng_desc;#endifextern int find_prng(const char *name);extern int register_prng(const struct _prng_descriptor *prng);extern int unregister_prng(const struct _prng_descriptor *prng);extern int prng_is_valid(int idx);/* Slow RNG you **might** be able to use to seed a PRNG with.  Be careful as this * might not work on all platforms as planned *//* ch2-02-1 */ extern unsigned long rng_get_bytes(unsigned char *buf,                                    unsigned long len,                                    void (*callback)(void));/* ch2-02-1 */extern int rng_make_prng(int bits, int wprng, prng_state *prng, void (*callback)(void));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?