Commit | Line | Data |
---|---|---|
ce1056cb C |
1 | .TH MAKEKEY 8 "4 February 1983" |
2 | .SH NAME | |
3 | makekey \- generate encryption key | |
4 | .SH SYNOPSIS | |
5 | .B /usr/lib/makekey | |
6 | .SH DESCRIPTION | |
7 | .I Makekey | |
8 | improves the usefulness of encryption schemes depending on a key by | |
9 | increasing the amount of time required to search the key space. It | |
10 | reads 10 bytes from its standard input, and writes 13 bytes on its | |
11 | standard output. The output depends on the input in a way intended to | |
12 | be difficult to compute (that is, to require a substantial fraction of | |
13 | a second). | |
14 | .PP | |
15 | The first eight input bytes | |
16 | (the | |
17 | .IR "input key" ) | |
18 | can be arbitrary ASCII characters. | |
19 | The last two (the | |
20 | .IR salt ) | |
21 | are best chosen from the set of digits, upper- and lower-case | |
22 | letters, and `.' and `/'. | |
23 | The salt characters are repeated as the first two characters of the output. | |
24 | The remaining 11 output characters are chosen from the same set as the salt | |
25 | and constitute the | |
26 | .I "output key." | |
27 | .PP | |
28 | The transformation performed is essentially the following: | |
29 | the salt is used to select one of 4096 cryptographic | |
30 | machines all based on the National Bureau of Standards | |
31 | DES algorithm, but modified in 4096 different ways. | |
32 | Using the input key as key, | |
33 | a constant string is fed into the machine and recirculated a number of times. | |
34 | The 64 bits that come out are distributed into the | |
35 | 66 useful key bits in the result. | |
36 | .PP | |
37 | .I Makekey | |
38 | is intended for programs that perform encryption (for instance, | |
39 | .I ed | |
40 | and | |
41 | .IR crypt (1)). | |
42 | Usually makekey's input and output will be pipes. | |
43 | .SH SEE ALSO | |
44 | crypt(1), ed(1) |