Blowfish block cipher.
More...
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 *iv) |
| This function sets the Initialization Vector.
|
int | blowfishSetCTR (blowfishParam *, const byte *nivz, size_t counter) |
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@telenet.be>
Define Documentation
#define BLOWFISHPSIZE (BLOWFISHROUNDS+2) |
#define BLOWFISHROUNDS 16 |
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:
-
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:
-
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:
-
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
Holds the full API description of the Blowfish algorithm.