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