You are looking at historical revision 39572 of this page. It may differ significantly from its current revision.
Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
rabbit
Usage
(require-extension rabbit)
Documentation
The rabbit library is an implementation of the Rabbit stream cipher.
Procedure rabbit-make creates an encryption context:
[procedure] rabbit-make:: KEY -> CTXwhere KEY is a blob containing the encryption key.
[procedure] rabbit-destroy!:: CTX -> VOIDDestroys the encryption context.
[procedure] rabbit-encode!:: CTX * BLOB -> BLOBEncrypts the given blob. This procedure modifies its argument and returns the modified blob.
[procedure] rabbit-decode!:: CTX * BLOB -> BLOBDecrypts the given blob. This procedure modifies its argument and returns the modified blob.
Examples
(use rabbit) (let* ((key (string->blob "password")) (data (string->blob "important data")) (ctx (rabbit-make key))) (rabbit-encode! ctx data))
About this egg
Author
Version history
- 1.0
- Initial release
License
Martin Boesgaard, Mette Vesterager, Thomas Christensen and Erik Zenner; adapted to Chicken Scheme by Ivan Raikov.
This library is released in the public domain.