BLOWFISH(2)
NAME
setupBFstate, bfCBCencrypt, bfCBCdecrypt, bfECBencrypt, bfECBdecrypt - blowfish encryption
SYNOPSIS
#include <u.h>
#include <libc.h>
#include <mp.h>
#include <libsec.h>
void setupBFstate(BFstate ∗s, uchar key[], int keybytes, uchar ∗ivec)
void bfCBCencrypt(uchar ∗data, int len, BFstate ∗s)
void bfCBCdecrypt(uchar ∗data, int len, BFstate ∗s)
void bfECBencrypt(uchar ∗data, int len, BFstate ∗s)
void bfECBdecrypt(uchar ∗data, int len, BFstate ∗s)
DESCRIPTION
Blowfish is Bruce Schneier’s symmetric block cipher. It supports variable length keys from 32 to 448 bits and has a block size of 64 bits. Both CBC and ECB modes are supported.
setupBFstate takes a BFstate structure, a key of at most 56 bytes, the length of the key in bytes, and an initialization vector of 8 bytes (set to all zeroes if argument is nil). The encryption and decryption functions take a BFstate structure, a data buffer, and a length, which must be a multiple of eight bytes as padding is currently unsupported.
SOURCE
/sys/src/libsec
SEE ALSO
mp(2), aes(2), des(2), dsa(2), elgamal(2), rc4(2), rsa(2), sechash(2), prime(2), rand(2)
Plan 9 — September 14, 2002