Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

crypt(1)							     crypt(1)


  crypt	- encode/decode


  crypt	key <&lt; input.File >&gt; output.File


  The crypt command reads from the standard input and writes on	the standard
  output.  You must supply a key which 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.	 The crypt command encrypts
  and decrypts with the	same key.

  Files	encrypted by crypt are compatible with those treated by	the ed,	ex
  and vi editors in encryption mode.

  The 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, and sneak	paths by which keys or clear text can become visible
  must be minimized.

  The crypt command 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 known, but not widely; moreover the	amount of work
  required is likely to	be large.

  The transformation of	a key into the internal	settings of the	machine	is
  deliberately designed	to be expensive, for example, to take a	substantial
  fraction of a	second to compute.  However, if	keys are restricted to three
  lowercase letters, then encrypted files can be read by expending only	a
  substantial fraction of five minutes of machine time.

  Since	the key	you choose is an argument to the crypt command,	it is poten-
  tially visible to users executing the	ps command or a	derivative.  To
  minimize this	possibility, crypt destroys any	record of the key immediately
  upon entry.  The most	vulnerable aspect of crypt is the choice of keys and
  key security.


  The following	examples use KEY as the	key to encrypt and decrypt files.
  The first example encrypts the file plain.File, naming the resulting
  encrypted file crypt.File.  The second example decrypts the file
  crypt.File, naming the resulting decrypted file decrypt.File.	 The third
  example prints the encrypted file in clear text.

       $ crypt KEY < plain.File	> crypt.File

       $ crypt KEY < crypt.File	> decrypt.File

       $ crypt KEY < crypt.File	| pr


  /dev/tty    for typed	key


  ed(1), ex(1),	vi(1), crypt(3), makekey(8)