|
|
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.