|HP-UX Reference > C
crypt(1)HP-UX 11i Version 3: February 2007
crypt — encode and decode files
crypt reads from the standard input and writes on the standard output. password is a key that selects a particular transformation. If no password is given, crypt demands a key from the terminal and turns off printing while the key is being typed in. crypt encrypts and decrypts with the same key:
crypt key <clear >cypher crypt key <cypher|pr
The latter command decrypts the file and prints the clear version.
Files encrypted by crypt are compatible with those treated by the ed editor in encryption mode (see ed(1)).
Security of encrypted files depends on three factors: the fundamental method must be hard to solve; direct search of the key space must be infeasible; "sneak paths" by which keys or clear text can become visible must be minimized.
crypt implements a one-rotor machine designed along the lines of the German Enigma, but with a 256-element rotor. Methods of attack on such machines are widely known; thus crypt provides minimal security.
The transformation of a key into the internal settings of the machine is deliberately designed to be expensive; that is, to take a substantial fraction of a second to compute. However, if keys are restricted to, for example, three lowercase letters, then encrypted files can be read by expending only a substantial fraction of five minutes of machine time.
Since the key is an argument to the crypt command, it is potentially visible to users executing the ps or a derivative (see ps(1)). The choice of keys and key security are the most vulnerable aspect of crypt.
The following example demonstrates the use of crypt to edit a file that the user wants to keep strictly confidential:
$ crypt <plans >plans.x key: violet $ rm plans ... $ vi -x plans.x key: violet ... :wq $ ... $ crypt <plans.x | pr key: violet
Note that the -x option is the encryption mode of vi, and prompts the user for the same key with which the file was encrypted.
If output is piped to nroff and the encryption key is not given on the command line, crypt can leave terminal modes in a strange state (see nroff(1) and stty(1)).
If two or more files encrypted with the same key are concatenated and an attempt is made to decrypt the result, only the the first of the original files is decrypted correctly.