Crypt-Blowfish
view release on metacpan or search on metacpan
This is Crypt::Blowfish version 2.11, an XS-based implementation of the
Blowfish cryptography algorithm designed by Bruce Schneier. It's designed
to take full advantage of Crypt::CBC when desired. Blowfish keys may be
up to 448 bits (56 bytes) long. This module builds on nearly every platform
that Perl itself does (see Notes for exceptions).
Prerequisites
-------------
For the full test suite to run, Crypt::CBC, version 1.22 or higher
is required (recommended is 1.25 or higher), however this module
is not mandatory for standalone Blowfish use.
Installing Crypt::Blowfish
--------------------------
nothing unusual:
1. perl Makefile.PL
2. make
3. make test
4. make install
Notes
-----
This module has been tested successfully against the following:
Linux 2.0.X (x86)
Linux 2.2.X (x86, PPC, Alpha, m68k)
Linux 2.4.X (x86)
Solaris 2.5.1 and 2.7 (SPARC)
FreeBSD 3.3 and 3.4 (x86), 4.0 (alpha)
HP-UX B.10.20
DEC OSF 5.0
AIX spbuild 3 4
Win32 (NT4/SP5, using VC++5.0/VC++6.0)
OpenVMS (DEC C V6.0-001 / Alpha V7.1-2 with MMK make utility)
Mac OS X 10.4.X
Perl 5.004_01, 5.004_04, 5.005_03, 5.6.0, 5.6.1, 5.8.*
Please send other successful OS/platform combinations to:
amused@pobox.com . Thanks.
Patches for MacOS welcomed.
Being an XS implimentation, Crypt::Blowfish is exceptionally faster
than Blowfish_PP (a pure Perl implimentation). Internal testing
displayed a difference of 400 times faster when doing complete
cipher generation and encryption. Using a cached cipher resulted
in 25 times faster than the pure Perl implimentation. (all machines
idled prior to tests below)
In the case where this module won't build for you, please try the
Crypt::Blowfish_PP module - the Pure Perl implimentation.
Thanks to Thomas Kratz for the Win32 fixup and VMS report.
Thanks to Sandro Bonazzola for prompting code cleanup.
Performance
-----------
Typical results on a P4 3.0GHz Linux machine:
Under: Perl-v5.10.0:
Running standard mode speed tests.. encrypting with non-cached cipher
5,000 cycles: 0 wallclock secs ( 0.36 usr + 0.00 sys = 0.36 CPU)
Running standard mode speed tests.. decrypting with non-cached cipher
5,000 cycles: 1 wallclock secs ( 0.35 usr + 0.00 sys = 0.35 CPU)
( run in 0.797 second using v1.01-cache-2.11-cpan-df04353d9ac )