Annotation of cci/usr/src/man/man3/crypt.3, revision 1.1.1.1

1.1       root        1: .TH CRYPT 3  "25 February 1983"
                      2: .SH NAME
                      3: crypt, setkey, encrypt \- DES encryption
                      4: .SH SYNOPSIS
                      5: .nf
                      6: .B char *crypt(key, salt)
                      7: .B char *key, *salt;
                      8: .PP
                      9: .B setkey(key)
                     10: .B char *key;
                     11: .PP
                     12: .B encrypt(block, edflag)
                     13: .B char *block;
                     14: .fi
                     15: .SH DESCRIPTION
                     16: .I Crypt
                     17: is the password encryption routine.
                     18: It is based on the NBS Data Encryption Standard, with
                     19: variations intended (among other things) to frustrate use of hardware
                     20: implementations of the DES for key search.
                     21: .PP
                     22: The first argument to
                     23: .I crypt
                     24: is normally a user's typed password.
                     25: The second is a 2-character string chosen from the
                     26: set [a-zA-Z0-9./].
                     27: The
                     28: .I salt
                     29: string is used to perturb the DES algorithm in one of 4096
                     30: different ways, after which the password
                     31: is used as the key to encrypt repeatedly a constant string.
                     32: The returned value points to the encrypted password,
                     33: in the same alphabet as the salt.
                     34: The first two characters are the salt itself.
                     35: .PP
                     36: The other entries provide (rather primitive)
                     37: access to the actual DES algorithm.
                     38: The argument of
                     39: .I setkey
                     40: is a character array of length 64 containing only the characters
                     41: with numerical value 0 and 1.
                     42: If this string is divided into groups of 8,
                     43: the low-order bit in each group is ignored,
                     44: leading to a 56-bit key which is set into the machine.
                     45: .PP
                     46: The argument to the
                     47: .I encrypt
                     48: entry is likewise a character array of length 64
                     49: containing 0's and 1's.
                     50: The argument array is modified in place
                     51: to a similar array
                     52: representing the bits of the argument after having been
                     53: subjected to the DES algorithm using the key set by
                     54: .I setkey.
                     55: If
                     56: .I edflag
                     57: is 0, the argument is encrypted;
                     58: if non-zero,
                     59: it is decrypted.
                     60: .SH "SEE ALSO"
                     61: passwd(1), passwd(5), login(1), getpass(3)
                     62: .SH BUGS
                     63: The return value
                     64: points to static data whose content is overwritten
                     65: by each call.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.