Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

login(1)

passwd(1)

getpass(3)

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 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. 

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, becoming a similar array that 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.

NOTES

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

RELATED INFORMATION

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

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