Crypt::PWSafe3 provides read/write access to Password Safe V3 database files.
Crypt::Password::Util is a crypt password utilities.
Its crypt($str) works like Perl's crypt(), but automatically choose the
appropriate crypt type and random salt. Will first choose SSHA512 with 64-bit
random salt. If not supported by system, fall back to MD5-CRYPT with 32-bit
random salt. If that is not supported, fall back to CRYPT.
Its crypt_type($str) returns crypt type, or undef if $str does not look like a
crypted password. Currently known types: CRYPT (traditional DES crypt),
MD5-CRYPT (including Apache variant), SSHA256 (salted SHA256), SSHA512 (salted
SHA512), and PLAIN-MD5.
See also Authen::Passphrase which recognizes more encodings (but currently not
SSHA256 and SSHA512).
This module implements Ueli Maurer's algorithm for generating large
provable primes and secure parameters for public-key cryptosystems.
The generated primes are almost uniformly distributed over the set of
primes of the specified bitsize and expected time for generation is
less than the time required for generating a pseudo-prime of the same
size with Miller-Rabin tests. Detailed description and running time
analysis of the algorithm can be found in Maurer's paper[1].
Crypt::Primes is a pure perl implementation. It uses Math::Pari for
multiple precision integer arithmetic and number theoretic functions.
Random numbers are gathered with Crypt::Random, a perl interface to
/dev/u?random devices found on modern Unix operating systems.
Crypt::Rhash module is an object-oriented interface to the LibRHash library,
allowing simultaneous calculation of several hash functions for a file or a
text message.
Resulting hash digest can be obtained in hexadecimal, BASE32, BASE64, raw
binary format or as a magnet link.
Parse RSA keys for useful information
Crypt::Random::Seed is a simple mechanism to get strong randomness. The main
purpose of this module is to provide a simple way to generate a seed for a PRNG
such as Math::Random::ISAAC, for use in cryptographic key generation, or as the
seed for an upstream module such as Bytes::Random::Secure. Flags for requiring
non-blocking sources are allowed, as well as a very simple method for plugging
in a source.
Crypt::Passwd::XS - Full XS implementation of common crypt() algorithms
This module provides several common crypt() schemes as full XS
implementations. It allows you to validate crypted passwords that were
hashed using a scheme that the system's native crypt() implementation
does not support.
The following files are adapted from other sources (primarily DragonFly BSD.)
See the copyright notices in these files for full details:
crypt_to64.c - copyright 1991 University of California
crypt_to64.h - copyright 1991 University of California
des.c - copyright 1994 David Burren, Geoffrey M. Rehmet, Mark R V Murray
md5.c - copyright 1999, 2000, 2002 Aladdin Enterprises
md5.h - copyright 1999, 2000, 2002 Aladdin Enterprises
md5crypt.c - copyright Poul-Henning Kamp
md5crypt.h - copyright Poul-Henning Kamp
sha256crypt.c - public domain reference implementation by Ulrich Drepper
sha512crypt.c - public domain reference implementation by Ulrich Drepper
The `unix_md5_crypt()' provides a crypt()-compatible interface
to the rather new MD5-based crypt() function found in modern
operating systems. It's based on the implementation found on
FreeBSD 2.2.[56]-RELEASE.
`apache_md5_crypt()' provides a function compatible with
Apache's `.htpasswd' files.
This was contributed by Bryan Hart <bryan@eai.com>.
Get weak or strong random data from pluggable sources
Crypt::Random::TESHA2 implements userspace voodoo entropy. You should use a
proper O/S supplied entropy source such as /dev/random or the Win32 Crypt API.