BLOWFISH(3) BLOWFISH(3)
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 sup-
ported.
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 mul-
tiple of eight bytes as padding is currently unsupported.
SOURCE
/usr/local/plan9/src/libsec
SEE ALSO
mp(3), aes(3), des(3), dsa(3), elgamal(3), rc4(3), rsa(3),
sechash(3), prime(3), rand(3)
Page 1 Plan 9 (printed 10/25/25)