blowfish.h

All headers

Blowfish.

This module is deprecated and retained for legacy reasons only.

Use a modern cipher, such as AES-GCM or ChaCha20-Poly1305, instead.

  1. BF_ENCRYPT
  2. BF_DECRYPT
  3. BF_ROUNDS
  4. BF_BLOCK
  5. BF_set_key
  6. BF_encrypt
  7. BF_decrypt
  8. BF_ecb_encrypt
  9. BF_cbc_encrypt
#define BF_ENCRYPT 1
#define BF_DECRYPT 0
#define BF_ROUNDS 16
#define BF_BLOCK 8
typedef struct bf_key_st {
  uint32_t P[BF_ROUNDS + 2];
  uint32_t S[4 * 256];
} BF_KEY;
OPENSSL_EXPORT void BF_set_key(BF_KEY *key, size_t len, const uint8_t *data);
OPENSSL_EXPORT void BF_encrypt(uint32_t *data, const BF_KEY *key);
OPENSSL_EXPORT void BF_decrypt(uint32_t *data, const BF_KEY *key);
OPENSSL_EXPORT void BF_ecb_encrypt(const uint8_t *in, uint8_t *out,
                                   const BF_KEY *key, int enc);
OPENSSL_EXPORT void BF_cbc_encrypt(const uint8_t *in, uint8_t *out,
                                   size_t length, const BF_KEY *schedule,
                                   uint8_t *ivec, int enc);