The dining cryptographers' protocol is documented in Bruce Schneier's book
as a kind of "cryptographic ouija board". It works as follows:
A number of cryptographers are dining at a circular table. At the end of
the meal, the waiter is summoned and asked for the bill. He replies,
"Thank you, sir. The bill has been paid." The cryptographers now have the
problem of working out whether someone at the table paid the bill, or
whether the NSA has paid it as some sort of veiled threat. The protocol
proceeds.
Each cryptographer flips a coin, and shows the result ONLY to the
participant on his RIGHT. Each cryptographer then compares his coin with
that on his LEFT, and raises his hand if they show different faces. If any
participant paid the bill, he "cheats" and does the opposite, that is, he
raises his hand if the coins show the same face. Now, the hands are
counted. An odd number means that someone at the table paid the bill. An
even number means that the NSA paid.
This Module decrypts all kind of Cisco encrypted hashes
also referred to as type 7 passwords. Further you can
encrypt any given string into a encrypted hash that will
be accepted by any Cisco device as an encrypted type 7 password.
Anubis is a variable-length key, 128-bit block cipher designed by
Vincent Rijmen and Paulo S. L. M. Barreto. Anubis was submitted as
a NESSIE candidate. Key length can be 128, 160, 192, 224, 256, 288,
or 320 bits.
The default key length in this implementation is 128 bits.
Eksblowfish is a variant of the Blowfish cipher, modified to make the
key setup very expensive. ("Eks" stands for "expensive key
schedule".) This doesn't make it significantly cryptographically
stronger, but is intended to hinder brute-force attacks. It also
makes it unsuitable for any application requiring key agility. It was
designed by Niels Provos and David Mazieres for password hashing in
OpenBSD.
Eksblowfish is a parameterised (family-keyed) cipher. It takes a cost
parameter that controls how expensive the key scheduling is. It also
takes a family key, known as the "salt". Cost and salt parameters
together define a cipher family. Within each family, a key determines
an encryption function in the usual way.
This distribution also includes an implementation of "bcrypt", the
Unix crypt() password hashing algorithm based on Eksblowfish.
Conversion utilities for encryption applications
Blowfish is a published algorithm written by Bruce Schneier Unlike
IDEA or DES etc. there are no patent implications in using this
algorithm.
It uses anywhere between a 64 bit and a 448 bit key. The transform
itself is fast and operates on a 64 bit block, and most of the
calculation time is in initialising the context with the key data.
The _PP name comes from the fact that this implementation is Pure
Perl, and will not have any compatibility problems.
This module provides an implementation of the CAST5 block cipher using
compiled C code for increased speed. CAST5 is also known as CAST-128. It
is a product of the CAST design procedure developed by C. Adams and
S. Tavares.
This module provides a pure Perl implementation of the CAST5 block
cipher. CAST5 is also known as CAST-128. It is a product of the CAST
design procedure developed by C. Adams and S. Tavares.
This is Crypt::CBC, a Perl-only implementation of the cryptographic
cipher block chaining mode (CBC). In combination with a block cipher
such as DES or IDEA, you can encrypt and decrypt messages of
arbitrarily long length. The encrypted messages are compatible with
the encryption format used by the OpenSSL package.
Crypt::GCrypt provides an object interface to the C libgcrypt library. It
currently supports symmetric encryption/decryption and message digests, while
asymmetric cryptography is being worked on.