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 bytevector containing the encryption key.

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

Destroys the encryption context.

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

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

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

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

Examples

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

About this egg

Author

Lilianna Smólska

Repository

https://git.linuxposting.xyz/afiw/chicken-rabbit/

Version history

3.0
Ported to CHICKEN 6
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; adapted to CHICKEN 6 by Lilianna Smólska.

This library is released in the public domain.