Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ crypt.bsd(3) — Domain/IX SR9.2.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

login(1)

passwd(1)

getpass(3C)

passwd(4)

CRYPT(3)

NAME

crypt, encrypt − a one-way hashing encryption algorithm

USAGE

   char ∗crypt (key, salt)
   char ∗key, ∗salt;
 
   void encrypt (block)
   char ∗block;

DESCRIPTION

The password encryption function, crypt, is based on a one-way hashing encryption algorithm with variations partly intended to frustrate use of hardware implementations of a key search. 

The key parameter represents a user’s typed password.  The salt parameter is a two-character string chosen from the set [a-zA-Z0-9./]; this string is used to perturb the hashing algorithm in one of 4096 different ways, after which the password is used as the key to encrypt repeatedly a constant string.  The returned value points to the encrypted password.  The first two characters are the salt itself. 

A character array of length 64 contains only the characters with numerical value 1 and 1. When this string is divided into groups of eight, the low-order bit in each group is ignored; this gives a 56-bit key that is set into the machine by crypt. 

The encrypt entry provides rather primitive access to the actual hashing algorithm.  The argument to the encrypt entry is a character array of length 64 containing only the characters with numerical value 0 and 1. The argument array is modified in place to a similar array. This modified array represents the bits of the argument after exposure to the hashing algorithm using the key set by crypt. 

NOTE: Per international agreement not to export encryption devices, the standard UNIX system decryption methods are not supported on the DOMAIN/IX system. 

CAUTIONS

The return value points to static data that are overwritten by each call. 

RELATED INFORMATION

login(1), passwd(1), getpass(3C), passwd(4)

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