1
2CCGUESS(1) Encryption CCGUESS(1)
3
4
5
7 ccguess - search for ccrypt encryption keys
8
10 ccguess [options] file...
11
13 The ccguess program attempts to guess ccrypt(1) encryption keys by
14 searching the relevant part of the key space. This is done by prompting
15 the user for an approximate key and then trying many variations of this
16 key. This is intended to assist ccrypt users in recovering mistyped or
17 forgotten keys, provided that they remember at least part of the key.
18
19 Note that ccrypt provides strong cryptographic security: there are no
20 special back doors or shortcuts to recovering forgotten keys. There‐
21 fore, the ccguess program does not have any special powers. It simply
22 works by trying different keys until a possible match is found.
23
24 A search of the entire key space is not usually a practical option.
25 ccguess therefore works by prompting the user for an approximate key.
26 It then tries all variations that can be obtained by applying a small
27 number of changes. Here, each change is either a deletion of one let‐
28 ter, an insertion of one letter, a replacement of one letter by
29 another, or a transposition of two adjacent letters. By default,
30 ccguess searches all keys that differ from the approximate key by up to
31 5 changes. The number of changes searched can be adjusted with the
32 --depth option.
33
34 The mechanism by which ccguess determines whether a key is a "possible
35 match" is the same as that used by ccrypt to reject non-matching
36 decryption keys. There is a small chance of a false match, i.e.,
37 ccguess may find a key that turns out not to be the true encryption key
38 and does not decrypt the file correctly. A false match happens approxi‐
39 mately once for every 4.3 billion keywords tried, so the longer your
40 search goes on, the higher the likelihood that a false match is found.
41 Normally, ccguess stops after the first possible match is found, but
42 the -c option can be used to search for additional keys. The possibil‐
43 ity of a false match can be further reduced by supplying multiple files
44 that have been encrypted with the same key. In this case, ccguess will
45 search for keys that match any of the files, but will print a warning
46 for keys that do not match all of the files.
47
49 The following options are supported:
50
51 -h, --help
52 Help. Print usage information and exit.
53
54 -L, --license
55 Print license info and exit.
56
57 -V, --version
58 Print version info and exit.
59
60 -K key, --key key
61 Specify the approximate key on the command line, rather than
62 prompting the user for it.
63
64 -d n, --depth n
65 Search keys that contain up to n changes. The default is 5.
66
67 -c, --continue
68 Keep trying more keys even after the first match is found. By
69 default, ccguess will stop after the first key is found that
70 matches all input files.
71
72 -t chars, --chartable chars
73 Specify the list of characters to try for replacements and
74 insertions. By default, ccguess will try all printable ASCII
75 characters. If you know, for example, that your key only used
76 lowercase letters and numbers, you can speed up the search by
77 specifying a list of characters explicitly. This option is
78 mutually exclusive with -n.
79
80 -n, --non-printable
81 Allow non-printable characters in keys. By default, ccguess
82 will only try printable ASCII characters. Note that the use
83 of this option slows down the search significantly. This
84 option is mutually exclusive with -t.
85
87 file The name of a file that has been encrypted with the unknown
88 key. This file is only read from, not written to. The special
89 filename "-" is used to denote standard input.
90
91 If multiple files are specified, ccguess will search for keys
92 that match any of the files, but will print a warning for
93 keys that do not match all of the files.
94
96 Suppose the file myfile.cpt has been encrypted with the key "garden‐
97 house", but the user remembers "gardenhose". The command
98
99 ccguess -K gardenhose myfile.cpt
100
101 will find the correct key after 2318 guesses.
102
104 The exit status is 0 if at least one possible match is found, 1 if no
105 matches are found, and >=2 if an error occurred.
106
108 1.10
109
111 Peter Selinger <selinger at users.sourceforge.net>
112
114 Copyright (C) 2000-2012 Peter Selinger
115
116 This program is free software; you can redistribute it and/or modify it
117 under the terms of the GNU General Public License as published by the
118 Free Software Foundation; either version 2 of the License, or (at your
119 option) any later version.
120
121 This program is distributed in the hope that it will be useful, but
122 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
123 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
124 Public License for more details.
125
126 You should have received a copy of the GNU General Public License along
127 with this program; if not, write to the Free Software Foundation, Inc.,
128 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. See also
129 http://www.gnu.org/.
130
131
132
133Version 1.10 October 2012 CCGUESS(1)