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) |