NAME

Crypt::TEA - Tiny Encryption Algorithm

SYNOPSIS

use Crypt::TEA;

$cipher = Crypt::TEA->new($key);

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

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

DESCRIPTION

TEA is a 64-bit symmetric block cipher with a 128-bit key and a variable number of rounds (32 is recommended). It has a low setup time, and depends on a large number of rounds for security, rather than a complex algorithm. It was developed by David J. Wheeler and Roger M. Needham, and is described at https://web-beta.archive.org/web/20131226114205/http://www.ftp.cl.cam.ac.uk:80/ftp/papers/djw-rmn/djw-rmn-tea.html

This module implements TEA encryption. It supports the Crypt::CBC interface, with the following functions.

Functions

blocksize

Returns the size (in bytes) of the block (8, in this case).

keysize

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

new($key, $rounds)

This creates a new Crypt::TEA object with the specified key. The optional rounds parameter specifies the number of rounds of encryption to perform, and defaults to 32.

encrypt($data)

Encrypts blocksize() bytes of $data and returns the corresponding ciphertext.

decrypt($data)

Decrypts blocksize() bytes of $data and returns the corresponding plaintext.

SEE ALSO

https://web-beta.archive.org/web/20030208020932/http://www.vader.brad.ac.uk/tea/tea.shtml

Crypt::CBC, Crypt::Blowfish, Crypt::DES

ACKNOWLEDGEMENTS

Dave Paris

For taking the time to discuss and review the initial version of this module, making several useful suggestions, and contributing tests.

Mike Blazer and Gil Cohen

For testing under Windows.

Tony Cook

For making the module work under Activeperl, testing on several platforms, and suggesting that I probe for features via %Config.

AUTHOR

Abhijit Menon-Sen <ams@toroid.org>

Copyright 2001 Abhijit Menon-Sen. All rights reserved.

This software is distributed under the terms of the Artistic License https://dev.perl.org/licenses/artistic.html