Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Rabbit(3)	      User Contributed Perl Documentation	     Rabbit(3)

NAME
       Crypt::Rabbit - A new stream cipher based on the	properties of counter
       assisted	stream ciphers

SYNOPSIS
	   use Crypt::Rabbit;

	   $cipher = new Crypt::Rabbit $key;
	   $ciphertext = $cipher->encrypt($plaintext);
	   $ks = $cipher->keysize();
	   $plaintext  = $cipher->decrypt($ciphertext);

DESCRIPTION
       Rabbit is a new stream cipher based on the properties of	counter
       assisted	stream ciphers,	invented by Martin Boesgaard, Mette
       Vesterager, Thomas Pedersen, Jesper Christiansen, and Ove Scavenius of
       Cryptico	A/S.

       This module supports the	following methods:

       new()
	   Initializes the internal states of Rabbit

       encrypt($data)
	   Encrypts the	data stream $data

       decrypt($data)
	   Decrypts the	data stream $data

	   decrypt($data) is the same as encrypt($data)

       keysize()
	   Returns the size (in	bytes) of the key used (16, in this case)

CAVEAT
       The internal states of Rabbit are updated every time encrypt() or
       decrypt() are called. And since encryption/decryption depends on	the
       internal	states,	a plaintext encrypted with a call to encrypt() will
       not decrypt to the original message by just a call to decrypt().	The
       proper way to decrypt a ciphertext is to	re-initialize the internal
       states (by calling new()) first before calling decrypt().

BUG
       For the sake of simplicity, the C implementation	encrypts and decrypts
       data in multiples of 16 bytes. If the last block	of data	is not a
       multiple	of 16 bytes, it	is padded with null characters before
       encryption. The resulting ciphertext is then truncated to the original
       message length before being output. An undesirable consequence of this
       is that encryption/decryption always starts at multiples	of 16 bytes of
       the pseudorandom	data stream produced by	Rabbit.	Improvements are most
       welcome.	Please read contact.html for contact information.

COPYRIGHT AND LICENSE
       Copyright (C) 2004 Julius C. Duque

       Copyright (C) 2003 Cryptico A/S

       This library is free software; you can redistribute it and/or modify it
       under the same terms as the GNU General Public License.

       This implementation of the Rabbit stream	cipher is derived from the
       reference ANSI C	code provided in the appendix of the paper, "Rabbit: A
       New High-Performance Stream Cipher", by Martin Boesgaard, Mette
       Vesterager, Thomas Pedersen, Jesper Christiansen, and Ove Scavenius of
       Cryptico	A/S.

       For more	information, please visit the Cryptico website at
       "http://www.cryptico.com".

       The Rabbit stream cipher	is the copyrighted work	of Cryptico A/S, and
       use of Rabbit may only be used for non-commercial purposes. Any
       reproduction or redistribution of Rabbit	not in accordance with
       Cryptico's license agreement is expressly prohibited by law, and	may
       result in severe	civil and criminal penalties. Violators	will be
       prosecuted to the maximum extent	possible.

       This copyright does not prohibit	distribution of	any version of Perl
       containing this extension under the terms of the	GNU or Artistic
       licenses.

perl v5.24.1			  2004-01-07			     Rabbit(3)

NAME | SYNOPSIS | DESCRIPTION | CAVEAT | BUG | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Crypt::Rabbit&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help