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