libfortuna  1
FortunalibraryfunctionsextractedfromPostgreSQLsource
 All Data Structures Files Functions Variables Typedefs Macros
internal.h File Reference
#include <stdlib.h>
#include <malloc_np.h>
#include <time.h>
#include "px.h"
#include "md5.h"
#include "sha1.h"
#include "blf.h"
#include "rijndael.h"
#include "fortuna.h"

Go to the source code of this file.

Data Structures

struct  int_ctx
 

Macros

#define SYSTEM_RESEED_MIN   (20*60) /* 20 min */
 
#define SYSTEM_RESEED_CHECK_TIME   (10*60) /* 10 min */
 
#define SYSTEM_RESEED_CHANCE   (4) /* 256/4 * 10min ~ 10h */
 
#define SYSTEM_RESEED_MAX   (12*60*60) /* 12h */
 
#define MD5_DIGEST_LENGTH   16
 
#define SHA1_DIGEST_LENGTH   SHA1_RESULTLEN
 
#define SHA1_BLOCK_SIZE   64
 
#define MD5_BLOCK_SIZE   64
 
#define INT_MAX_KEY   (512/8)
 
#define INT_MAX_IV   (128/8)
 
#define MODE_ECB   0
 
#define MODE_CBC   1
 

Functions

void init_md5 (PX_MD *h)
 
void init_sha1 (PX_MD *h)
 
void init_sha224 (PX_MD *h)
 
void init_sha256 (PX_MD *h)
 
void init_sha384 (PX_MD *h)
 
void init_sha512 (PX_MD *h)
 
unsigned int_md5_len (PX_MD *h)
 
unsigned int_md5_block_len (PX_MD *h)
 
void int_md5_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_md5_reset (PX_MD *h)
 
void int_md5_finish (PX_MD *h, uint8 *dst)
 
void int_md5_free (PX_MD *h)
 
unsigned int_sha1_len (PX_MD *h)
 
unsigned int_sha1_block_len (PX_MD *h)
 
void int_sha1_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_sha1_reset (PX_MD *h)
 
void int_sha1_finish (PX_MD *h, uint8 *dst)
 
void int_sha1_free (PX_MD *h)
 
void intctx_free (PX_Cipher *c)
 
unsigned rj_block_size (PX_Cipher *c)
 
unsigned rj_key_size (PX_Cipher *c)
 
unsigned rj_iv_size (PX_Cipher *c)
 
int rj_init (PX_Cipher *c, const uint8 *key, unsigned klen, const uint8 *iv)
 
int rj_real_init (struct int_ctx *cx, int dir)
 
int rj_encrypt (PX_Cipher *c, const uint8 *data, unsigned dlen, uint8 *res)
 
int rj_decrypt (PX_Cipher *c, const uint8 *data, unsigned dlen, uint8 *res)
 
PX_Cipherrj_load (int mode)
 
unsigned bf_block_size (PX_Cipher *c)
 
unsigned bf_key_size (PX_Cipher *c)
 
unsigned bf_iv_size (PX_Cipher *c)
 
int bf_init (PX_Cipher *c, const uint8 *key, unsigned klen, const uint8 *iv)
 
int bf_encrypt (PX_Cipher *c, const uint8 *data, unsigned dlen, uint8 *res)
 
int bf_decrypt (PX_Cipher *c, const uint8 *data, unsigned dlen, uint8 *res)
 
PX_Cipherbf_load (int mode)
 
PX_Cipherrj_128_ecb (void)
 
PX_Cipherrj_128_cbc (void)
 
PX_Cipherbf_ecb_load (void)
 
PX_Cipherbf_cbc_load (void)
 
int px_find_digest (const char *name, PX_MD **res)
 
int px_find_cipher (const char *name, PX_Cipher **res)
 
int px_get_pseudo_random_bytes (uint8 *dst, unsigned count)
 
void system_reseed (void)
 
int px_get_random_bytes (uint8 *dst, unsigned count)
 
int px_add_entropy (const uint8 *data, unsigned count)
 
unsigned int_sha224_len (PX_MD *h)
 
unsigned int_sha224_block_len (PX_MD *h)
 
void int_sha224_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_sha224_reset (PX_MD *h)
 
void int_sha224_finish (PX_MD *h, uint8 *dst)
 
void int_sha224_free (PX_MD *h)
 
unsigned int_sha256_len (PX_MD *h)
 
unsigned int_sha256_block_len (PX_MD *h)
 
void int_sha256_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_sha256_reset (PX_MD *h)
 
void int_sha256_finish (PX_MD *h, uint8 *dst)
 
void int_sha256_free (PX_MD *h)
 
unsigned int_sha384_len (PX_MD *h)
 
unsigned int_sha384_block_len (PX_MD *h)
 
void int_sha384_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_sha384_reset (PX_MD *h)
 
void int_sha384_finish (PX_MD *h, uint8 *dst)
 
void int_sha384_free (PX_MD *h)
 
unsigned int_sha512_len (PX_MD *h)
 
unsigned int_sha512_block_len (PX_MD *h)
 
void int_sha512_update (PX_MD *h, const uint8 *data, unsigned dlen)
 
void int_sha512_reset (PX_MD *h)
 
void int_sha512_finish (PX_MD *h, uint8 *dst)
 
void int_sha512_free (PX_MD *h)
 

Macro Definition Documentation

#define INT_MAX_IV   (128/8)
#define INT_MAX_KEY   (512/8)
#define MD5_BLOCK_SIZE   64
#define MD5_DIGEST_LENGTH   16
#define MODE_CBC   1
#define MODE_ECB   0
#define SHA1_BLOCK_SIZE   64
#define SHA1_DIGEST_LENGTH   SHA1_RESULTLEN
#define SYSTEM_RESEED_CHANCE   (4) /* 256/4 * 10min ~ 10h */
#define SYSTEM_RESEED_CHECK_TIME   (10*60) /* 10 min */
#define SYSTEM_RESEED_MAX   (12*60*60) /* 12h */
#define SYSTEM_RESEED_MIN   (20*60) /* 20 min */

Function Documentation

unsigned bf_block_size ( PX_Cipher c)
PX_Cipher* bf_cbc_load ( void  )
int bf_decrypt ( PX_Cipher c,
const uint8 data,
unsigned  dlen,
uint8 res 
)
PX_Cipher* bf_ecb_load ( void  )
int bf_encrypt ( PX_Cipher c,
const uint8 data,
unsigned  dlen,
uint8 res 
)
int bf_init ( PX_Cipher c,
const uint8 key,
unsigned  klen,
const uint8 iv 
)
unsigned bf_iv_size ( PX_Cipher c)
unsigned bf_key_size ( PX_Cipher c)
PX_Cipher* bf_load ( int  mode)
void init_md5 ( PX_MD h)
void init_sha1 ( PX_MD h)
void init_sha224 ( PX_MD h)
void init_sha256 ( PX_MD h)
void init_sha384 ( PX_MD h)
void init_sha512 ( PX_MD h)
unsigned int_md5_block_len ( PX_MD h)
void int_md5_finish ( PX_MD h,
uint8 dst 
)
void int_md5_free ( PX_MD h)
unsigned int_md5_len ( PX_MD h)
void int_md5_reset ( PX_MD h)
void int_md5_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
unsigned int_sha1_block_len ( PX_MD h)
void int_sha1_finish ( PX_MD h,
uint8 dst 
)
void int_sha1_free ( PX_MD h)
unsigned int_sha1_len ( PX_MD h)
void int_sha1_reset ( PX_MD h)
void int_sha1_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
unsigned int_sha224_block_len ( PX_MD h)
void int_sha224_finish ( PX_MD h,
uint8 dst 
)
void int_sha224_free ( PX_MD h)
unsigned int_sha224_len ( PX_MD h)
void int_sha224_reset ( PX_MD h)
void int_sha224_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
unsigned int_sha256_block_len ( PX_MD h)
void int_sha256_finish ( PX_MD h,
uint8 dst 
)
void int_sha256_free ( PX_MD h)
unsigned int_sha256_len ( PX_MD h)
void int_sha256_reset ( PX_MD h)
void int_sha256_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
unsigned int_sha384_block_len ( PX_MD h)
void int_sha384_finish ( PX_MD h,
uint8 dst 
)
void int_sha384_free ( PX_MD h)
unsigned int_sha384_len ( PX_MD h)
void int_sha384_reset ( PX_MD h)
void int_sha384_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
unsigned int_sha512_block_len ( PX_MD h)
void int_sha512_finish ( PX_MD h,
uint8 dst 
)
void int_sha512_free ( PX_MD h)
unsigned int_sha512_len ( PX_MD h)
void int_sha512_reset ( PX_MD h)
void int_sha512_update ( PX_MD h,
const uint8 data,
unsigned  dlen 
)
void intctx_free ( PX_Cipher c)
int px_add_entropy ( const uint8 data,
unsigned  count 
)
int px_find_cipher ( const char *  name,
PX_Cipher **  res 
)
int px_find_digest ( const char *  name,
PX_MD **  res 
)
int px_get_pseudo_random_bytes ( uint8 dst,
unsigned  count 
)
int px_get_random_bytes ( uint8 dst,
unsigned  count 
)
PX_Cipher* rj_128_cbc ( void  )
PX_Cipher* rj_128_ecb ( void  )
unsigned rj_block_size ( PX_Cipher c)
int rj_decrypt ( PX_Cipher c,
const uint8 data,
unsigned  dlen,
uint8 res 
)
int rj_encrypt ( PX_Cipher c,
const uint8 data,
unsigned  dlen,
uint8 res 
)
int rj_init ( PX_Cipher c,
const uint8 key,
unsigned  klen,
const uint8 iv 
)
unsigned rj_iv_size ( PX_Cipher c)
unsigned rj_key_size ( PX_Cipher c)
PX_Cipher* rj_load ( int  mode)
int rj_real_init ( struct int_ctx cx,
int  dir 
)
void system_reseed ( void  )