term% ls -F
term% cat index.txt
BLOWFISH(2)                   System Calls Manual                  BLOWFISH(2)

       setupBFstate, bfCBCencrypt, bfCBCdecrypt, bfECBencrypt, bfECBdecrypt  -
       blowfish encryption

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

       Blowfish is Bruce Schneier's symmetric block cipher.  It supports vari‐
       able 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.


       mp(2),  aes(2), des(2), dsa(2), elgamal(2), rc4(2), rsa(2), sechash(2),
       prime(2), rand(2)