AESCrypt is a program for encrypting/decrypting streams of data using Rijndael and Cipher Block Feedback mode (CFB-128).
Encrypt/decrypt stdin using the Advanced Encryption Standard winner "Rijndael" encryption algorithm in Cipher Block Feedback (stream) mode. Uses /dev/urandom to create a salt. Prepends the output stream with salt when encrypting, strips it off when decrypting.
Keyfile format:
... kk=hexdits ...
where hexdits is:
32 chars for 128 bit
48 chars for 196 bits.
64 chars for 256 bits
Note that there may be other text in the file. But the key must be at start of a line, and must start with 'kk=', and must be hex.
If the key file is "-", it instead reads the hex-coded key bytes off stdin and treats them as a null-terminated hex key. Care must be taken when reading the key from stdin, as you must supply exactly 33 bytes for 128 bit keys, 49 bytes for 192 bit keys, and 65 bytes for 256 bit keys. The stdin functionality is useful in those cases where having the unencrypted key in a file is undesirable, but it is less forgiving in terms of key format.
This software is a cryptographic component. It is not for export or redistribution to any of what are called the "T-10 Terrorist States" as detirmined by the U.S. Department of State. Please comply with this restriction so that this site is not forced to shut down.
December 15, 2000: Export reminder: I received a phone call today from a lady with the U.S. Bureau of Export Administration (BXA) who'd read my AEScrypt page (the URL of which I'd submitted to them for an export license exemption as required by U.S. export regulations, see crypto.com for more info). aescrypt is of course Open Source. She wished to remind me that any application built using Open Source encryption components had to also be submitted to the BXA for the proper export license or license exemption if the application was to be exported. The export license for the component covers only the component, not applications that use the component. The fact that the component itself is Open Source and thus may be freely exported does not matter.
Hopefully this reminder will prevent problems on the part of those who use AEScrypt or other Open Source encryption components as part of a larger application.
The latest versions of this software is available only as source in the directories /pub/crypto/aescrypt and /pub/crypto/aes-rb (for the Ruby version) ftp.badtux.net . Older versions are available on this web page.
./configure -prefix=/location/to/install make make install
AESCrypt was written by Eric Lee Green, and was modified to use Rijndael rather than Twofish by Randy Kaelber. Randy also added support for larger key sizes. AESCrypt is copyrighted by Enhanced Software Technologies Inc., but is released under a BSD-style Open Source license. See file LICENSE for info. The Ruby module is based upon the Rijndael routines in aescrypt, combined with the logic from twofish-py, and was written by Eric Lee Green. It is released under a BSD-style Open Source license, with the exception of a few sample programs, which are under the Ruby license.
Attribution information: This software includes Rijndael encryption routines by Antoon Bosselaers and Vincent Rijmen. They have stated that their routines are free for public use.
Eric Lee Green and Randy Kaelber