Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ crypt(3) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

passwd(1)

passwd(5)

login(1)

getpass(3)



      CRYPT(3)                GENIX Programmer's Manual                CRYPT(3)



      NAME
           crypt, setkey, encrypt - DES encryption

      SYNOPSIS
           char *crypt(key, salt)
           char *key, *salt;

           setkey(key)
           char *key;

           encrypt(block, edflag)
           char *block;

      DESCRIPTION
           Crypt is the password encryption routine.  It is based  on  the  NBS
           Data  Encryption  Standard,  with  variations  intended (among other
           things) to frustrate use of hardware implementations of the DES  for
           key search.

           The first argument to crypt is a user's typed password.  The  second
           is a 2-character string chosen from the set [a-zA-Z0-9./].  The salt
           string is used to perturb the DES algorithm in one of 4096 different
           ways, after which the password is used as the key to encrypt repeat-
           edly a constant string.  The returned value points to the  encrypted
           password,  in  the same alphabet as the salt.  The first two charac-
           ters are the salt itself.

           The other entries provide (rather primitive) access  to  the  actual
           DES  algorithm.   The  argument  of  setkey  is a character array of
           length 64 containing only the characters with numerical value 0  and
           1.  If this string is divided into groups of 8, the low-order bit in
           each group is ignored, leading to a 56-bit key which is set into the
           machine.

           The argument to the encrypt entry is likewise a character  array  of
           length 64 containing 0's and 1's.  The argument array is modified in
           place to a similar array representing the bits of the argument after
           having been subjected to the DES algorithm using the key set by set-
           key. If edflag is 0, the argument is encrypted; if non-zero,  it  is
           decrypted.

      SEE ALSO
           passwd(1), passwd(5), login(1), getpass(3)

      BUGS
           The return value points to static data whose content is  overwritten
           by each call.








      Printed 11/16/83                                                        1



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026