icon Top 9 categories map      RocketAware > man pages >


Tips: Browse or Search all pages for efficient awareness of more than 6000 of the most popular reusable and open source applications, functions, libraries, and FAQs.

The "RKT couplings" below include links to source code, updates, additional information, advice, FAQs, and overviews.


Search all pages


By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Integer, Floating point, Matrix, Statistics, Boolean, ...

Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

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)

     blf_key, blf_enc, blf_dec - Blowfish encryption

     #include <blf.h>

     blf_key(blf_ctx *state, const u_int8_t *key, u_int16_t keylen);

     blf_enc(blf_ctx *state, u_int32_t *data, u_int16_t datalen);

     blf_dec(blf_ctx *state, u_int32_t *data, u_int16_t datalen);

     blf_ecb_encrypt(blf_ctx *state, u_int8_t *data, u_int32_t datalen);

     blf_ecb_decrypt(blf_ctx *state, u_int8_t *data, u_int32_t datalen);

     blf_cbc_encrypt(blf_ctx *state, u_int8_t *iv, u_int8_t *data,
             u_int32_t datalen);

     blf_cbc_decrypt(blf_ctx *state, u_int8_t *iv, u_int8_t *data,
             u_int32_t datalen);

     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.

     passwd(1),  crypt(3),  passwd(5)

     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)

[Detailed Topics]
OpenBSD sources for blowfish(3)

[Overview Topics]

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