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.
Crypt::Caesar - Decrypt rot-N strings
Crypt::Camellia_PP is a pure perl implementation of Camellia, a 128-bit
symmetrical block cipher with 128-bit, 192-bit, and 256-bit key from
NTT and Mitsubishi Electric Corporation. It is one of the approved
encryption methods to be used by European Union as well as specified
in several Internet RFCs.
See also: http://info.isl.ntt.co.jp/crypt/eng/camellia/index.html
The Chimera key exchange protocol generates a shared key between two parties.
The protocol was shown to be INSECURE. This module is therefore released for
purely academic curiosity.
Crypt::GOST_PP is a pure perl implementation of GOST, a 64-bit
symmetrical block cipher with a 256-bit key from the former Soviet
Union. Please read the Pod documentation contained in the module
itself for additional information, including the rationale behind
the writing of this module.
The Crypt::GPG module provides access to the functionality of the GnuPG
(www.gnupg.org) encryption tool through an object oriented interface.
It provides methods for encryption, decryption, signing, signature
verification, key generation, key certification, export and import.
Key-server access is on the todo list.
This release of the module may create compatibility issues with previous
versions. If you find any such problems, or any bugs or documentation
errors, please do report them to crypt-gpg at neomailbox.com.
Crypt/GeneratePassword version 0.02
===================================
This module lets you generate secure random passwords
with a reasonable amount of pronounceability. It avoids
the problems associated with the FIPS-181 NIST standard
as used by Crypt::RandPasswd. See perldoc for more
details.
This module implements a chaining block cipher using a one
way hash. This method of encryption is the same that is
used by radius (RFC2138) and is also described in Applied
Cryptography.
Two interfaces are provided in the module. The first is
straight block encryption/decryption the second does base64
mime encoding/decoding of the encrypted/decrypted blocks.
The idea is the two sides have a shared secret that
supplies one of the keys and a randomly generated block of
bytes provides the second key. The random key is passed in
cleartext between the two sides.
An example client and server are packaged as modules with
this module. They are used in the tests.
The Data Encryption Standard (DES), also known as Data
Encryption Algorithm (DEA) is a semi-strong encryption and
decryption algorithm.
The module is 100 % compatible to Crypt::DES but is implemented
entirely in Perl. That means that you do not need a C compiler
to build and install this extension.
The module implements the Crypt::CBC interface. You are
encouraged to read the documentation for Crypt::CBC if you
intend to use this module for Cipher Block Chaining.
The minimum (and maximum) key size is 8 bytes. Shorter keys will
cause an exception, longer keys will get silently truncated.
Data is encrypted and decrypted in blocks of 8 bytes.
The module implements the Ultra-Fast-Crypt (UFC) algorithm as
found for example in the GNU libc. On the Perl side a lot has
been done in order to make the module as fast as possible
(function inlining, use integer, ...).
Note: For performance issues the source code for the module is
first preprocessed by m4. That means that you need an m4 macro
processor in order to hack on the sources. This is of no concern
for you if you only want to use the module, the preprocessed
output is always included in the distribution.
Crypt::DH is a Perl implementation of the Diffie-Hellman key
exchange system. Diffie-Hellman is an algorithm by which two
parties can agree on a shared secret key, known only to them.
The secret is negotiated over an insecure network without the
two parties ever passing the actual shared secret, or their
private keys, between them.