You are looking at historical revision 30614 of this page. It may differ significantly from its current revision.

blowfish

Blowfish cipher (based on Paul Kocher implementation).

Documentation

[procedure] (make-blowfish-encryptor key)
[procedure] (make-blowfish-decryptor key)

key blob minimal length 4, maximum 56 bytes.

Returns one argument procedure, accept input blob and produce encrypted/decrypted output blob of same size. Input data blob should be aligned on 64 bit boundary.

Usage

(require-extension blowfish)

Examples

(require-extension blowfish)

(define enc (make-blowfish-encryptor (string->blob "TESTKEY")))
(enc '#${0100000002000000}) ; => '#${d23f33dfb41ba730}

(define dec (make-blowfish-decryptor (string->blob "TESTKEY"))) 
(dec '#${d23f33dfb41ba730}) ; => '#${0100000002000000}

Notes

Author

rivo

Version history

1.1
encryption/decryption fix on 64 bit systems
1.0
major release (cosmetic fixes)
0.1
initial release

License LGPL