Break unix "crypt" encryption


unixcrypt-breaker is an automated tool for breaking the encryption of the old unix crypt(1) utility. It can guess substantial portions of the plaintext without previous knowledge of the key.

It is well-known that unix crypt provides only weak security. Existing software for breaking it includes the Crypt Breaker's Workbench (http://axion.physics.ubc.ca/cbw.html). Unlike the Crypt Breaker's Workbench, unixcrypt-breaker is fully automatic and does not require user interaction. Rather than relying on the user to guess likely plaintexts, unixcrypt-breaker uses a statistical model for guessing plausible plaintexts.

To guess the plaintext correctly, unixcrypt-breaker must first be primed with a body of sample data (the "corpus") that is presumed to be similar to the unknown plaintext. For example, if the plaintext is assumed to be HTML data, then unixcrypt-breaker should be primed with a corpus of HTML data.


For a more detailed list of changes, see the ChangeLog.

June 20, 2013: Added ability to simultaneously decrypt multiple files that were encrypted with the same key. Fixed a memory overrun bug on 64-bit machines.

February 1, 2008: First public release.

Downloading and Installing

Unixcrypt-Breaker is built from sources using the standard configure/make commands. Please see the file INSTALL for detailed instructions. If you would like to ensure the accuracy of the downloaded files, you can double-check their SHA1 sums.

Source distribution: unixcrypt-breaker-0.2.tar.gz

All releases...

Usage Example

Suppose file.cpt is a file encrypted with crypt(1), and plain1, plain2, plain3 are large representative plaintext files of a similar type. First, sample the plaintext files using the command
   unixcrypt-breaker -s /tmp/stats.txt -c plain1 plain2 plain3
This will write some statistical information about the plaintext files to the file /tmp/stats.txt. Then, decrypt file.cpt with the following command:
   unixcrypt-breaker -s /tmp/stats.txt file.cpt
The output is written to file.cpt.guess. It is also possible to decrypt multiple files simultaneously, provided they were encrypted with the same key:
   unixcrypt-breaker -s /tmp/stats.txt file1.cpt file2.cpt file3.cpt
This improves both the speed and quality of the decryption.


For detailed usage information, see the man page.

Related software

  • Crypt Breaker's Workbench. This is the original tool for breaking unix crypt encryption. It was written by Bob Baldwin in 1984-1985. Unlike unixcrypt-breaker, the Crypt Breaker's Workbench requires user interaction to guess likely plaintexts.




Copyright © 2006-2013 Peter Selinger.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

The GNU General Public License is contained in the file COPYING that is distributed with this software.

Back to Homepage: [home]
Peter Selinger / Department of Mathematics and Statistics / Dalhousie University
selinger@users.sourceforge.net / PGP key