include/beecrypt/blowfish.h File Reference
Blowfish block cipher.
More...
#include "beecrypt/beecrypt.h"
#include "beecrypt/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 *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.