Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

blowfish.h File Reference

Blowfish block cipher. More...

#include "beecrypt.h"
#include "blowfishopt.h"

Go to the source code of this file.

Data Structures

struct  blowfishParam
 Holds all the parameters necessary for the Blowfish cipher. More...


Defines

#define BLOWFISHROUNDS   16
#define BLOWFISHPSIZE   (BLOWFISHROUNDS+2)

Functions

int blowfishSetup (blowfishParam *, const byte *, size_t, cipherOperation)
 The function performs the cipher's key expansion.

int blowfishSetIV (blowfishParam *, const byte *)
 This function sets the Initialization Vector.

int blowfishEncrypt (blowfishParam *, uint32_t *, const uint32_t *)
 This function performs the Blowfish encryption; it encrypts one block of 64 bits.

int blowfishDecrypt (blowfishParam *, uint32_t *, const uint32_t *)
 This function performs the Blowfish decryption; it Rderypts one block of 64 bits.

uint32_t * blowfishFeedback (blowfishParam *)

Variables

const blockCipher blowfish
 Holds the full API description of the Blowfish algorithm.


Detailed Description

Blowfish block cipher.

For more information on this blockcipher, see: "Applied Cryptography", second edition Bruce Schneier Wiley & Sons

Also see http://www.counterpane.com/blowfish.html

Author:
Bob Deblier <bob.deblier@pandora.be>

Definition in file blowfish.h.


Define Documentation

#define BLOWFISHPSIZE   (BLOWFISHROUNDS+2)
 

Definition at line 41 of file blowfish.h.

#define BLOWFISHROUNDS   16
 

Definition at line 40 of file blowfish.h.


Function Documentation

blowfishDecrypt blowfishParam   bp,
uint32_t *    dst,
const uint32_t *    src
 

This function performs the Blowfish decryption; it Rderypts one block of 64 bits.

Parameters:
bp  The cipher's parameter block.
dst  The cleartext; should be aligned on 32-bit boundary.
src  The ciphertext; should be aligned on 32-bit boundary.
Return values:
0  on success.

blowfishEncrypt blowfishParam   bp,
uint32_t *    dst,
const uint32_t *    src
 

This function performs the Blowfish encryption; it encrypts one block of 64 bits.

Parameters:
bp  The cipher's parameter block.
dst  The ciphertext; should be aligned on 32-bit boundary.
src  The cleartext; should be aligned on 32-bit boundary.
Return values:
0  on success.

uint32_t* blowfishFeedback blowfishParam  
 

int blowfishSetIV blowfishParam   bp,
const byte   iv
 

This function sets the Initialization Vector.

Note:
This function is only useful in block chaining or feedback modes.
Parameters:
bp  The cipher's parameter block.
iv  The initialization vector; may be null.
Return values:
0  on success.

int blowfishSetup blowfishParam   bp,
const byte   key,
size_t    keybits,
cipherOperation    op
 

The function performs the cipher's key expansion.

Parameters:
bp  The cipher's parameter block.
key  The key value.
keybits  The number of bits in the key; legal values are: 32 to 448, in multiples of 8.
op  ENCRYPT or DECRYPT.
Return values:
0  on success.
-1  on failure.


Variable Documentation

blowfish
 

Holds the full API description of the Blowfish algorithm.


Generated on Tue Jun 24 13:50:15 2003 for BeeCrypt by doxygen1.2.18