Crypt (Unix)
In Unix computing, crypt or enigma is a utility program used for encryption. Due to the ease of breaking it, it is considered to be obsolete.
The program is usually used as a filter, and it has traditionally been implemented using a "rotor machine" algorithm based on the Enigma machine. It is considered to be cryptographically far too weak to provide any security against brute-force attacks by modern, commodity personal computers.
Some versions of Unix shipped with an even weaker version of the crypt command in order to comply with contemporaneous laws and regulations that limited the exportation of cryptographic software. Some of these were simply implementations of the Caesar cipher.
History
Cryptographer Robert Morris wrote a M-209-based, which first appeared in Version 3 Unix, to encourage codebreaking experiments; Morris managed to break by hand. Dennis Ritchie automated decryption with a method by James Reeds, and a new Enigma-based version appeared in Version 7, which Reeds and Peter J. Weinberger also broke.''crypt(1)'' under Linux
Linux distributions generally do not include a Unix compatible version of the crypt command. This is largely due to a combination of three major factors:- crypt is relatively obscure and rarely used for e-mail attachments nor as a file format
- crypt is considered to be cryptographically far too weak to withstand brute-force attacks by modern computing systems
- During the early years of Linux development and adoption there was some concern that even as weak as the algorithm used by crypt was, that it might still run afoul of ITAR's export controls; so mainstream distribution developers in the United States generally excluded it, leaving their customers to fetch GnuPG or other strong cryptographic software from international sites, sometimes providing packages or scripts to automate that process.
Enhanced symmetric encryption utilities are available for Linux including mcrypt and ccrypt. While these provide support for much more sophisticated and modern algorithms, they can be used to encrypt and decrypt files which are compatible with the traditional crypt command by providing the correct command line options.
Breaking crypt(1) encryption
Programs for breaking crypt encryption are widely available. Bob Baldwin's public domain Crypt Breaker's Workbench, which was written in 1984-1985, is an interactive tool that provides successive plaintext guesses that must be corrected by the user. It also provides a working crypt implementation used by modern BSD distributions.Peter Selinger's unixcrypt-breaker uses a simple statistical model similar to a dictionary-attack that takes a set of plain texts as input and processes it to guess plausible plaintexts, and does not require user interaction.