Go to the documentation of this file.
163 struct _randomGenerator
237 struct _randomGeneratorContext
357 struct _hashFunctionContext
438 struct _keyedHashFunction
496 struct _keyedHashFunctionContext
762 struct _blockCipherContext
const size_t paramsize
The size of the random generator's parameters.
Definition: beecrypt.h:175
int blockCipherContextSetup(blockCipherContext *, const byte *, size_t, cipherOperation)
const randomGeneratorNext next
Definition: beecrypt.h:187
int(* blockCipherRawcrypt)(blockCipherParam *, uint32_t *, const uint32_t *)
Definition: beecrypt.h:608
const keyedHashFunction * keyedHashFunctionFind(const char *)
const blockCipher * blockCipherFind(const char *)
This function returns the blockcipher specified by the given name.
const blockCipher * blockCipherGet(int)
This function returns the n -th blockcipher implemented by the library.
hashFunctionContext(const hashFunction *)
@ DECRYPT
Definition: beecrypt.h:560
int hashFunctionContextUpdateMP(hashFunctionContext *, const mpnumber *)
int blockCipherContextValidKeylen(blockCipherContext *, size_t)
int(* randomGeneratorCleanup)(randomGeneratorParam *)
Definition: beecrypt.h:138
int blockCipherContextSetCTR(blockCipherContext *, const byte *, size_t)
void randomGeneratorParam
Definition: beecrypt.h:133
const keyedHashFunction * algo
Definition: beecrypt.h:499
Definition: memchunk.h:29
int randomGeneratorContextFree(randomGeneratorContext *)
int(* randomGeneratorNext)(randomGeneratorParam *, byte *, size_t)
Definition: beecrypt.h:137
Multi-precision numbers, headers.
const size_t keybitsinc
Definition: beecrypt.h:447
const randomGeneratorSeed seed
Points to the seeding function.
Definition: beecrypt.h:183
hashFunctionParam * param
Definition: beecrypt.h:361
const char * name
Definition: beecrypt.h:306
int hashFunctionContextUpdate(hashFunctionContext *, const byte *, size_t)
int blockCipherContextECB(blockCipherContext *, uint32_t *, const uint32_t *, int)
Definition: beecrypt.h:440
int(* keyedHashFunctionDigest)(keyedHashFunctionParam *, byte *)
Definition: beecrypt.h:419
uint32_t *(* blockCipherFeedback)(blockCipherParam *)
Definition: beecrypt.h:623
const keyedHashFunction * keyedHashFunctionDefault(void)
const hashFunctionDigest digest
Definition: beecrypt.h:312
const size_t paramsize
Definition: beecrypt.h:307
const entropyNext next
Points to the function which produces the entropy.
Definition: beecrypt.h:65
const keyedHashFunctionDigest digest
Definition: beecrypt.h:451
int keyedHashFunctionContextUpdate(keyedHashFunctionContext *, const byte *, size_t)
const hashFunctionReset reset
Definition: beecrypt.h:310
#define BEECRYPTAPI
Definition: api.h:52
int(* hashFunctionUpdate)(hashFunctionParam *, const byte *, size_t)
Definition: beecrypt.h:287
const blockCipher * blockCipherDefault(void)
This functions returns the default blockcipher; the default value can be specified by setting environ...
int keyedHashFunctionContextUpdateMP(keyedHashFunctionContext *, const mpnumber *)
const blockCipherModcrypt encrypt
Definition: beecrypt.h:633
int blockCipherCount(void)
This function returns the number of blockciphers implemented by the library.
const char * name
The blockcipher's name.
Definition: beecrypt.h:652
blockCipherContext(const blockCipher *)
void hashFunctionParam
Definition: beecrypt.h:284
keyedHashFunctionContext(const keyedHashFunction *)
void keyedHashFunctionParam
Definition: beecrypt.h:414
keyedHashFunctionContext()
const entropySource * entropySourceFind(const char *name)
This function returns the entropy source specified by the given name.
const entropySource * entropySourceDefault(void)
This functions returns the default entropy source; the default value can be specified by setting envi...
const keyedHashFunction * keyedHashFunctionGet(int)
const randomGenerator * randomGeneratorGet(int)
int(* keyedHashFunctionUpdate)(keyedHashFunctionParam *, const byte *, size_t)
Definition: beecrypt.h:418
const hashFunction * hashFunctionDefault(void)
int keyedHashFunctionContextDigestMP(keyedHashFunctionContext *, mpnumber *)
const randomGenerator * randomGeneratorDefault(void)
int(* randomGeneratorSetup)(randomGeneratorParam *)
Definition: beecrypt.h:135
int hashFunctionContextFree(hashFunctionContext *)
const randomGenerator * randomGeneratorFind(const char *)
const size_t blocksize
Definition: beecrypt.h:443
const size_t keybitsmin
The minimum number of key bits.
Definition: beecrypt.h:664
int(* keyedHashFunctionReset)(keyedHashFunctionParam *)
Definition: beecrypt.h:417
cipherOperation
Specifies whether to perform encryption or decryption.
Definition: beecrypt.h:557
Definition: beecrypt.h:626
const size_t digestsize
Definition: beecrypt.h:309
~randomGeneratorContext()
Definition: beecrypt.h:498
const randomGeneratorSetup setup
Points to the setup function.
Definition: beecrypt.h:179
int keyedHashFunctionCount(void)
const keyedHashFunctionUpdate update
Definition: beecrypt.h:450
int keyedHashFunctionContextSetup(keyedHashFunctionContext *, const byte *, size_t)
const blockCipherRawcrypt encrypt
Definition: beecrypt.h:627
~keyedHashFunctionContext()
const keyedHashFunctionReset reset
Definition: beecrypt.h:449
int blockCipherContextCBC(blockCipherContext *, uint32_t *, const uint32_t *, int)
const size_t paramsize
The size of the parameters required by this cipher, in bytes.
Definition: beecrypt.h:656
int hashFunctionContextInit(hashFunctionContext *, const hashFunction *)
int(* keyedHashFunctionSetup)(keyedHashFunctionParam *, const byte *, size_t)
Definition: beecrypt.h:416
const blockCipherSetup setup
Pointer to the cipher's setup function.
Definition: beecrypt.h:677
int(* hashFunctionDigest)(hashFunctionParam *, byte *)
Definition: beecrypt.h:288
int blockCipherContextInit(blockCipherContext *, const blockCipher *)
int hashFunctionContextDigest(hashFunctionContext *, byte *)
int(* blockCipherSetIV)(blockCipherParam *, const byte *)
Definition: beecrypt.h:584
int(* hashFunctionReset)(hashFunctionParam *)
Definition: beecrypt.h:286
int keyedHashFunctionContextReset(keyedHashFunctionContext *)
const blockCipherMode ctr
The cipher's CTR functions.
Definition: beecrypt.h:705
Holds information and pointers to code specific to each cipher.
Definition: beecrypt.h:648
Definition: beecrypt.h:359
const hashFunction * algo
Definition: beecrypt.h:360
int blockCipherContextCTR(blockCipherContext *, uint32_t *, const uint32_t *, int)
const hashFunction * hashFunctionFind(const char *)
void blockCipherParam
Placeholder type definition for blockcipher parameters.
Definition: beecrypt.h:568
int hashFunctionContextUpdateMC(hashFunctionContext *, const memchunk *)
Holds a pointer to a blockcipher as well as its parameters.
Definition: beecrypt.h:764
int randomGeneratorContextSeed(randomGeneratorContext *, const byte *, size_t)
int entropySourceCount(void)
This function returns the number of entropy sources implemented by the library.
const char * name
Definition: beecrypt.h:441
const size_t keybitsmax
The maximum number of key bits.
Definition: beecrypt.h:668
This struct holds information and pointers to code specific to each pseudo-random number generator.
Definition: beecrypt.h:165
const blockCipherRaw raw
The cipher's raw functions.
Definition: beecrypt.h:693
int randomGeneratorContextNext(randomGeneratorContext *, byte *, size_t)
randomGeneratorContext(const randomGenerator *)
int(* randomGeneratorSeed)(randomGeneratorParam *, const byte *, size_t)
Definition: beecrypt.h:136
const blockCipherSetCTR setctr
Pointer to the cipher's ctr setup function.
Definition: beecrypt.h:685
int hashFunctionCount(void)
const blockCipherFeedback getfb
Pointer to the cipher's feedback-returning function.
Definition: beecrypt.h:689
int(* blockCipherModcrypt)(blockCipherParam *, uint32_t *, const uint32_t *, unsigned int)
Definition: beecrypt.h:621
const blockCipherModcrypt decrypt
Definition: beecrypt.h:634
randomGeneratorParam * param
Definition: beecrypt.h:241
const blockCipherMode cbc
The cipher's CBC functions.
Definition: beecrypt.h:701
int keyedHashFunctionContextDigest(keyedHashFunctionContext *, byte *)
int hashFunctionContextReset(hashFunctionContext *)
const char * name
The entropy source's name.
Definition: beecrypt.h:61
int(* entropyNext)(byte *, size_t)
Prototype definition for an entropy-generating function.
Definition: beecrypt.h:46
const size_t keybitsmin
Definition: beecrypt.h:445
Definition: mpnumber.h:40
const size_t digestsize
Definition: beecrypt.h:444
int keyedHashFunctionContextInit(keyedHashFunctionContext *, const keyedHashFunction *)
This struct holds information and pointers to code specific to each source of entropy.
Definition: beecrypt.h:57
const randomGenerator * rng
Definition: beecrypt.h:240
const keyedHashFunctionSetup setup
Definition: beecrypt.h:448
int keyedHashFunctionContextUpdateMC(keyedHashFunctionContext *, const memchunk *)
int entropyGatherNext(byte *, size_t)
This function gathers size bytes of entropy into data.
const blockCipher * algo
Pointer to a blockCipher.
Definition: beecrypt.h:768
blockCipherParam * param
Pointer to the parameters used by algo.
Definition: beecrypt.h:772
const entropySource * entropySourceGet(int n)
This function returns the n -th entropy source implemented by the library.
const size_t paramsize
Definition: beecrypt.h:442
const size_t blocksize
Definition: beecrypt.h:308
int blockCipherContextSetIV(blockCipherContext *, const byte *)
Definition: beecrypt.h:305
const size_t blocksize
The size of one block of data, in bytes.
Definition: beecrypt.h:660
int(* blockCipherSetup)(blockCipherParam *, const byte *, size_t, cipherOperation)
Prototype definition for a setup function.
Definition: beecrypt.h:573
@ ENCRYPT
Definition: beecrypt.h:559
const size_t keybitsmax
Definition: beecrypt.h:446
const hashFunction * hashFunctionGet(int)
int hashFunctionContextDigestMatch(hashFunctionContext *, const mpnumber *)
int(* blockCipherSetCTR)(blockCipherParam *, const byte *, size_t)
Definition: beecrypt.h:596
int blockCipherContextFree(blockCipherContext *)
int hashFunctionContextDigestMP(hashFunctionContext *, mpnumber *)
int keyedHashFunctionContextDigestMatch(keyedHashFunctionContext *, const mpnumber *)
const blockCipherMode ecb
The cipher's ECB functions.
Definition: beecrypt.h:697
const blockCipherSetIV setiv
Pointer to the cipher's initialization vector setup function.
Definition: beecrypt.h:681
const blockCipherRawcrypt decrypt
Definition: beecrypt.h:628
Definition: beecrypt.h:239
int randomGeneratorCount(void)
const randomGeneratorCleanup cleanup
Definition: beecrypt.h:191
keyedHashFunctionParam * param
Definition: beecrypt.h:500
int keyedHashFunctionContextFree(keyedHashFunctionContext *)
const char * name
The random generator's name.
Definition: beecrypt.h:169
cipherOperation op
Definition: beecrypt.h:775
Definition: beecrypt.h:632
const size_t keybitsinc
The allowed increment in key bits between min and max.
Definition: beecrypt.h:673
@ NOCRYPT
Definition: beecrypt.h:558
int randomGeneratorContextInit(randomGeneratorContext *, const randomGenerator *)
const hashFunctionUpdate update
Definition: beecrypt.h:311
BeeCrypt API, portability headers.