Annotation of researchv10dc/man/adm/man3/crypt.3, revision 1.1.1.1

1.1       root        1: .TH CRYPT 3
                      2: .CT 2 data_man
                      3: .SH NAME
                      4: crypt, setkey, encrypt \(mi DES encryption
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .B char *crypt(key, salt)
                      8: .B char *key, *salt;
                      9: .PP
                     10: .B setkey(key)
                     11: .B char *key;
                     12: .PP
                     13: .B encrypt(block, edflag)
                     14: .B char *block;
                     15: .fi
                     16: .SH DESCRIPTION
                     17: .I Crypt
                     18: is the password encryption routine.
                     19: It is based on the NBS Data Encryption Standard, with
                     20: variations intended (among other things) to frustrate use of hardware
                     21: implementations of the DES for key search.
                     22: .PP
                     23: The first argument to
                     24: .I crypt
                     25: is a user's typed password.
                     26: The second is a 2-character string chosen from the
                     27: set
                     28: .BR [a-zA-Z0-9./] .
                     29: The
                     30: .I salt
                     31: string is used to perturb the DES algorithm in one of 4096
                     32: different ways, after which the password
                     33: is used as the key to encrypt repeatedly a constant string.
                     34: The returned value points to the encrypted password,
                     35: in the same alphabet as the salt.
                     36: The first two characters are the salt itself.
                     37: .PP
                     38: The other functions provide (rather primitive)
                     39: access to the actual DES algorithm.
                     40: The argument of
                     41: .I setkey
                     42: is a character array of length 64 containing only the characters
                     43: with numerical value 0 and 1.
                     44: If this string is divided into groups of 8,
                     45: the low-order bit in each group is ignored,
                     46: leading to a 56-bit key which is set into the machine.
                     47: .PP
                     48: The argument to 
                     49: .I encrypt
                     50: is also a character array of length 64
                     51: containing 0's and 1's.
                     52: The 64 argument `bits' are encrypted in place by the DES
                     53: algorithm using the key previously 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: .IR crypt (1), 
                     62: .IR passwd (1), 
                     63: .IR passwd (5), 
                     64: .IR getpass (3)
                     65: .SH BUGS
                     66: The return value
                     67: points to static data whose content is overwritten
                     68: by each call.
                     69: .br
                     70: .I Encrypt
                     71: is not available outside the United States and Canada.

unix.superglobalmegacorp.com

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