GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CRYPT::RABBIT (3)

.ds Aq ’

NAME

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

CONTENTS

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:
<B>B>new()<B>B> Initializes the internal states of Rabbit
<B>encrypt($data)B> Encrypts the data stream <B>B>$data<B>B>
<B>decrypt($data)B> Decrypts the data stream <B>B>$data<B>B>

<B>decrypt($data)B> is the same as <B>encrypt($data)B>

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

CAVEAT

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

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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 RABBIT (3) 2004-01-07

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.