Block ciphers


Data Structures

struct  blockCipher
 Holds information and pointers to code specific to each cipher. More...
struct  blockCipherContext
 Holds a pointer to a blockcipher as well as its parameters. More...

Files

file  aes.h
 AES block cipher, as specified by NIST FIPS 197.
file  beecrypt.h
 BeeCrypt API, headers.
file  blockmode.h
 Blockcipher operation modes.
file  blockpad.h
 Blockcipher padding algorithms.
file  blowfish.h
 Blowfish block cipher.

Typedefs

typedef int(* blockCipherSetup )(blockCipherParam *, const byte *, size_t, cipherOperation)
 Prototype definition for a setup function.
typedef void blockCipherParam
 Placeholder type definition for blockcipher parameters.
typedef int(* blockCipherSetIV )(blockCipherParam *, const byte *)
 Prototype definition for an initialization vector setup function.
typedef int(* blockCipherSetCTR )(blockCipherParam *, const byte *, size_t)
 Prototype definition for an initialization vector setup function.
typedef int(* blockCipherRawcrypt )(blockCipherParam *, uint32_t *, const uint32_t *)
 Prototype for a raw encryption or decryption function.
typedef int(* blockCipherModcrypt )(blockCipherParam *, uint32_t *, const uint32_t *, unsigned int)
 Prototype for a encryption or decryption function which operates on multiple blocks in a certain mode.

Enumerations

enum  cipherOperation { NOCRYPT, ENCRYPT, DECRYPT }
 Specifies whether to perform encryption or decryption. More...

Typedef Documentation

int(* blockCipherModcrypt)(blockCipherParam *bp, uint32_t *dst, const uint32_t *src, unsigned int nblocks)

Prototype for a encryption or decryption function which operates on multiple blocks in a certain mode.

Parameters:
bp The blockcipher's parameters.
dst The ciphertext address; must be aligned on 32-bit boundary.
src The cleartext address; must be aligned on 32-bit boundary.
nblocks The number of blocks to process.
Return values:
0 on success.
-1 on failure.

Placeholder type definition for blockcipher parameters.

See also:
aesParam, blowfishParam.

int(* blockCipherRawcrypt)(blockCipherParam *bp, uint32_t *dst, const uint32_t *src)

Prototype for a raw encryption or decryption function.

Parameters:
bp The blockcipher's parameters.
dst The ciphertext address; must be aligned on 32-bit boundary.
src The cleartext address; must be aligned on 32-bit boundary.
Return values:
0 on success.
-1 on failure.

int(* blockCipherSetCTR)(blockCipherParam *bp, const byte *nivz, size_t counter)

Prototype definition for an initialization vector setup function.

Parameters:
bp The blockcipher's parameters.
nivz The concatenation of the Nonce, IV and padding Zero bytes.
counter The blockciphers' counter value.
Note:
nivz length must be equal to the cipher's block size.
Return values:
0 on success.
-1 on failure.

int(* blockCipherSetIV)(blockCipherParam *bp, const byte *iv)

Prototype definition for an initialization vector setup function.

Parameters:
bp The blockcipher's parameters.
iv The blockciphers' IV value.
Note:
iv length must be equal to the cipher's block size.
Return values:
0 on success.
-1 on failure.

typedef int(* blockCipherSetup)(blockCipherParam *, const byte *, size_t, cipherOperation)

Prototype definition for a setup function.


Enumeration Type Documentation

Specifies whether to perform encryption or decryption.

Enumerator:
NOCRYPT 
ENCRYPT 
DECRYPT 


Generated on Fri Jun 19 13:38:57 2009 for BeeCrypt by  doxygen 1.5.8