|
|
1.1 root 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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.