|
|
1.1 root 1:
2:
3:
4: CRYPT(3) 1986 CRYPT(3)
5:
6:
7:
8: NNAAMMEE
9: crypt, setkey, encrypt - DES encryption
10:
11: SSYYNNOOPPSSIISS
12: cchhaarr **ccrryypptt((kkeeyy,, ssaalltt))
13: cchhaarr **kkeeyy,, **ssaalltt;;
14:
15: sseettkkeeyy((kkeeyy))
16: cchhaarr **kkeeyy;;
17:
18: eennccrryypptt((bblloocckk,, eeddffllaagg))
19: cchhaarr **bblloocckk;;
20:
21: DDEESSCCRRIIPPTTIIOONN
22: _C_r_y_p_t is the password encryption routine. It is based on
23: the NBS Data Encryption Standard, with variations intended
24: (among other things) to frustrate use of hardware implemen-
25: tations of the DES for key search.
26:
27: The first argument to _c_r_y_p_t is normally a user's typed pass-
28: word. The second is a 2-character string chosen from the
29: set [a-zA-Z0-9./]. The _s_a_l_t string is used to perturb the
30: DES algorithm in one of 4096 different ways, after which the
31: password is used as the key to encrypt repeatedly a constant
32: string. The returned value points to the encrypted pass-
33: word, in the same alphabet as the salt. The first two char-
34: acters are the salt itself.
35:
36: The other entries provide (rather primitive) access to the
37: actual DES algorithm. The argument of _s_e_t_k_e_y is a character
38: array of length 64 containing only the characters with
39: numerical value 0 and 1. If this string is divided into
40: groups of 8, the low-order bit in each group is ignored,
41: leading to a 56-bit key which is set into the machine.
42:
43: The argument to the _e_n_c_r_y_p_t entry is likewise a character
44: array of length 64 containing 0's and 1's. The argument
45: array is modified in place to a similar array representing
46: the bits of the argument after having been subjected to the
47: DES algorithm using the key set by _s_e_t_k_e_y. The _e_d_f_l_a_g flag
48: is ignored; the argument can only be encrypted.
49:
50: SSEEEE AALLSSOO
51: passwd(1), passwd(5), login(1), getpass(3)
52:
53: BBUUGGSS
54: The return value points to static data whose content is
55: overwritten by each call.
56:
57:
58:
59:
60:
61:
62:
63: Printed 10/21/90 August 1
64:
65:
66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.