Home
Search all pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
RocketLink!--> Man page versions:
OpenBSD
BLOWFISH(3) OpenBSD Programmer's Manual BLOWFISH(3)
NAME
blf_key, blf_enc, blf_dec - Blowfish encryption
SYNOPSIS
#include <blf.h>
void
blf_key(blf_ctx *state, const u_int8_t *key, u_int16_t keylen);
void
blf_enc(blf_ctx *state, u_int32_t *data, u_int16_t datalen);
void
blf_dec(blf_ctx *state, u_int32_t *data, u_int16_t datalen);
void
blf_ecb_encrypt(blf_ctx *state, u_int8_t *data, u_int32_t datalen);
void
blf_ecb_decrypt(blf_ctx *state, u_int8_t *data, u_int32_t datalen);
void
blf_cbc_encrypt(blf_ctx *state, u_int8_t *iv, u_int8_t *data,
u_int32_t datalen);
void
blf_cbc_decrypt(blf_ctx *state, u_int8_t *iv, u_int8_t *data,
u_int32_t datalen);
DESCRIPTION
Blowfish is a fast unpatented block cipher designed by Bruce Schneier.
It basically consists of a 16 times iterated Feistel network. The block
size is 64 bit and the key size is maximal 448 bit.
The blf_key() function initializes the 4 8bit S-boxes and the 18 Subkeys
with the hexadecimal digits of Pi. The key is used for further randomiza-
tion. The first argument to blf_enc() is the initialized state derived
from blf_key(). The stream of 32-bit words is encrypted in Electronic
Codebook Mode (ECB) and datalen must be even. blf_dec() is used for de-
crypting Blowfish encrypted blocks.
The functions blf_ecb_encrypt() and blf_ecb_decrypt() are used for en-
crypting and decrypting octet streams in ECB mode. The functions
blf_cbc_encrypt() and blf_cbc_decrypt() are used for encrypting and de-
crypting octet streams in Cipherblock Chaining Mode (CBC).
The functions Blowfish_initstate(), Blowfish_expand0state(),
Blowfish_expandstate(), Blowfish_encipher() and Blowfish_decipher() are
used for customization of the Blowfish cipher, e.g. for the blowfish
password hashing function.
SEE ALSO
passwd(1), crypt(3), passwd(5)
AUTHOR
Niels Provos <provos@physnet.uni-hamburg.de>
OpenBSD 2.6 February 13, 1997 1
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts Institute of Technology, Free Software Foundation, FreeBSD Inc., and others. |
(Corrections, notes, and links courtesy of RocketAware.com)
OpenBSD sources for blowfish(3)
Up to: Encryption
RocketLink!--> Man page versions:
OpenBSD
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > man pages >
blowfish.3/
RocketAware.com is a service of Mib Software Copyright 1999, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|