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::CFB (3)

.ds Aq ’

NAME

Crypt::CFB - Encrypt Data in Cipher Feedback Mode

CONTENTS

SYNOPSIS



        use Crypt::CFB;

        my $cipher = new Crypt::CFB $key, Crypt::Rijndael;

        ## Or:
        my $iv = ; map { $iv .= chr(rand(256)) } (0..16);
        my $cipher = new Crypt::CFB $key, Crypt::Rijndael, $iv;

        my $ciphertext = $cipher->encrypt($plaintext);
        my $plaintext = $cipher->decrypt($ciphertext);

        my $cipher2 = new Crypt::CFB $key, Digest::MD5;

        $ciphertext = $cipher->encrypt($plaintext);
        $plaintext = $cipher->decrypt($ciphertext);



DESCRIPTION

Generic CFB implementation in pure Perl. The Cipher Feedback Mode module constructs a stream cipher from a block cipher or cryptographic hash funtion and returns it as an object. Any block cipher in the Crypt:: class can be used, as long as it supports the blocksize and keysize methods. Any hash function in the Digest:: class can be used, as long as it supports the add method.

METHODS

$cipher = new Crypt::CFB $key, $algorithm, $optional_iv Constructs a CFB object. If $algorithm is a block cipher, then $key should be of the correct size for that cipher. In most cases you can inquire the block cipher module by invoking the keysize method. If $algorithm is a hash function (Digest::), then $key can be of any size. The optional IV can be used to further seed the crypto algorithm. If no IV is given, a string of zeroes is used.
$ciphertext = $cipher->encrypt $plaintext Encrypts $plaintext. The input is XORed with the keystream generated from the internal state of the CFB object and that state is updated with the output. $plaintext can be of any length.
$cipher->reset Resets the internal state. Remember to do that before decrypting, if you use the same object.
$plaintext = $cipher->decrypt $ciphertext Decrypts $ciphertext.

BUGS

This is awfully slow. Some classes in Digest:: do not provide the add method, so they will fail. The implementation is a little baroque.

AUTHOR

Matthias Bauer <matthiasb@acm.org>

CHANGES

Added the use of an IV.

AUTHOR

Kees Jan Hermans <kees@phoezo.com>
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CFB (3) 2011-02-04

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