Index of Section 3 Manual Pages

Interix / SUAblf_key.3Interix / SUA

blf_key(3)                                                   blf_key(3)

  Blowfish

  NAME

    blf_key(), blf_enc(), blf_dec(), blf_ecb_encrypt(), blf_ecb_decrypt(),
    blf_cbc_encrypt(), blf_cbc_decrypt() - Blowfish encryption

  SYNOPSIS

    #include 

    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 8-bit S-boxes and the 18 Subkeys with the hexadecimal
    digits of Pi. The key is used for further randomization. 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 decrypting Blowfish encrypted
    blocks.

    The functions blf_ecb_encrypt and blf_ecb_decrypt are used for encrypting
    and decrypting octet streams in ECB mode. The functions blf_cbc_encrypt
    and blf_cbc_decrypt are used for encrypting and decrypting octet streams
    in Cipherblock Chaining Mode (CBC).

  SEE ALSO

    passwd(1)

    crypt(3)

  AUTHORS

    Niels Provos 

  USAGE NOTES

    None of these functions are thread safe.

    None of these functions are async-signal safe.


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA