The rabbit library is an implementation of the Rabbit stream cipher.
Procedure rabbit-make creates an encryption context:
- rabbit-make:: KEY -> CTX procedure
where KEY is a blob containing the encryption key.
- rabbit-destroy!:: CTX -> VOID procedure
Destroys the encryption context.
- rabbit-encode!:: CTX * BLOB -> BLOB procedure
Encrypts the given blob. This procedure modifies its argument and returns the modified blob.
- rabbit-decode!:: CTX * BLOB -> BLOB procedure
Decrypts the given blob. This procedure modifies its argument and returns the modified blob.
(use rabbit) (let* ((key (string->blob "password")) (data (string->blob "important data")) (ctx (rabbit-make key))) (rabbit-encode! ctx data))
- Initial release
Martin Boesgaard, Mette Vesterager, Thomas Christensen and Erik Zenner; adapted to Chicken Scheme by Ivan Raikov.
This library is released in the public domain.