chickadee » rabbit

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:

rabbit-make:procedure

where KEY is a blob containing the encryption key.

rabbit-destroy!:procedure

Destroys the encryption context.

rabbit-encode!:procedure

Encrypts the given blob. This procedure modifies its argument and returns the modified blob.

rabbit-decode!:procedure

Decrypts 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

Ivan Raikov

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.

Contents »