rabbit

  1. rabbit
  2. Documentation
  3. Examples
  4. About this egg
    1. Author
    2. Repository
    3. Version history
    4. License

Documentation

The rabbit library is an implementation of the Rabbit stream cipher.

Procedure make-context creates an encryption context:

[procedure] make-context:: KEY -> CTX

where KEY is a blob containing the encryption key.

[procedure] destroy-context!:: CTX -> VOID

Destroys the encryption context.

[procedure] encode!:: CTX * BLOB -> BLOB

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

[procedure] decode!:: CTX * BLOB -> BLOB

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

Examples

(import rabbit)
(let* ((key (string->blob "password"))
       (data (string->blob "important data"))
       (ctx (make-context key)))
  (encode! ctx data))

About this egg

Author

Ivan Raikov

Repository

https://github.com/iraikov/chicken-rabbit

Version history

2.0
Ported to CHICKEN 5
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.