icon Top 9 categories map      RocketAware > man pages >

blowfish(3)

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.


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)


[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