This is the old page of mcrypt, which has a new maintainer and has been moved to Sourceforge. The new pages are at http://mcrypt.sourceforge.net/.
mcrypt is intended to be a replacement of the old unix crypt(1) under the
GNU General Public License. Unix Crypt(1)
was a popular(?) file encryption program in unix boxes. It was based on
the enigma encryption algorithm but it was considerable trivialized.
Since this was not adequate, even for individual privacy needs, I decided
to create a similar program using some modern block encryption algorithms.
Mcrypt also has a compatibility mode with unix crypt(1) and with solaris des(1).
It supports all the algorithms and modes found in libmcrypt and it is
very extendable.
At the time writing this, it supports the algorithms:
BLOWFISH,
TWOFISH,
DES,
TripleDES,
3-WAY,
SAFER,
LOKI97,
GOST,
RC2,
MARS,
RIJNDAEL,
SERPENT,
CAST,
ARCFOUR and
WAKE.
Block algorithms are implemented in modes: CFB, CBC, CTR, ECB, OFB
(8 bit and n bit, where n is the size of the algorithm's block length). For a brief description of the algorithms and
the modes look at the mcrypt manpage (this may be out of date).
In mcrypt it is on the user to decide which algorithm he considers best for
encrypting his data.
Since mcrypt 2.6.0, the OpenPGP (RFC2440) encrypted file format is supported.
Some notes:
Keep in mind that in cryptography you shouldn't trust anything you do not know how it works or what it does. Do not trust mcrypt just because you have the source code. Please check that source code, and use it if it satisfies your security needs.
Mcrypt should work fine in all unix systems. It may work (probably with changes) in other non-unix systems. Mcrypt 2.6.x can also been ported to Win32 using the Cygwin compiler.
Libmcrypt supports the algorithms:
BLOWFISH,
TWOFISH,
DES,
TripleDES,
3-WAY,
SAFER-sk64,
SAFER-sk128,
SAFER+,
LOKI97,
GOST,
RC2,
RC6,
MARS,
IDEA,
RIJNDAEL-128 (AES),
RIJNDAEL-192,
RIJNDAEL-256,
SERPENT,
CAST-128 (known as CAST5),
CAST-256,
ARCFOUR and
WAKE.
Block algorithms can be used in: CBC, ECB, CFB and
OFB (8 bit and n bit, where n is the size of the algorithm's block length).
For information on how to use the libmcrypt, check the manpage (it may be out of date).
Libmcrypt should compile fine in most *NIX systems with an ANSI C compiler.
The new versions of libmcrypt use dynamic linking, which is not supported
in all systems.
This problem is minimized by using libltdl (a part of libtool).
Note that libmcrypt has nothing to do with the crypt(3) library call.
Patches, bugfixes, suggestions, should be addressed to this list. Announcements of new versions and description of changes will be posted there.
The current mailing list is hosted at lists.hellug.gr, thanks to HELLUG.
The previous mailing list was hosted in argeas.cs-net.gr thanks to
Giannis Ioannou.
Access to the mcrypt CVS repository is available through anonymous cvs.
To access it enter the following commands:
To compile the cvs, run first the buildconf script. Mcrypt-cvs needs the programs: autoconf, automake and libtool. All these programs can be found at the nearest GNU mirror. Mhash can be found at mhash.sourceforge.net.
Some documents you may find usefull:
shash: A program that produces message digests
StegoArchive: Information about Steganography and applications
Steghide software
Overwrite: Secure Delete files
SRM: Secure Deletion software
GNUPG: An OpenPGP implementation (Electronic Mail privacy)
nettle: A low level crypto library
The author of mcrypt and libmcrypt is Nikos Mavroyanopoulos.