1.\" 2.\" enigma (aka. crypt) man page written by Joerg Wunsch. 3.\" 4.\" Since enigma itself is distributed in the Public Domain, this file 5.\" is also. 6.\" 7.\" $Id$ 8.\" " 9.Dd October 30, 1998 10.Os 11.Dt enigma 1 12.Sh NAME 13.Nm enigma 14.Nd very simple file encryption 15.Sh SYNOPSIS 16.Nm 17.Op Fl s 18.Op Fl k 19.Op Ar password 20.Nm crypt 21.Op Fl s 22.Op Fl k 23.Op Ar password 24.Sh DESCRIPTION 25.Nm Enigma , 26also known as 27.Nm crypt 28is a 29.Em very 30simple encryption program, working on a 31.Dq secret-key 32basis. It operates as a filter, i. e. it encrypts or decrypts a 33stream of data from standard input, and writes the result to standard 34output. It automatically detects whether the input data stream is 35already encrypted, and switches into decryption mode in this case. 36.Pp 37There are several ways to provide the secret key to the program. By 38default, the program prompts the user on the controlling terminal for 39the key, using 40.Xr getpass 3 . 41This is the only safe way of providing it. 42.Pp 43Alternatively, the key can be provided as the sole command-line 44argument 45.Ar password 46when starting the program. Obviously, this way the key can easily be 47spotted by other users running 48.Xr ps 1 . 49As yet another alternative, 50.Nm 51can be given the option 52.Fl k , 53and it will take the key from the environment variable 54.Ev CrYpTkEy . 55While this at a first glance seems to be more secure than the previous 56option, it actually isn't since environment variables can also be 57examined with 58.Xr ps 1 . 59Thus this option is mainly provided for compatibility with other 60implementations of 61.Nm enigma . 62.Pp 63When specifying the option 64.Fl s , 65.Nm 66modifies the encryption engine in a way that is supposed to make it a 67little more secure, but incompatible with other implementations. 68.Pp 69.Ss Warning 70The cryptographic value of 71.Nm 72is rather small. This program is only provided here for compatibility 73with other operating systems that also provide an implementation. For 74real encryption, refer to 75.Xr bdes 1 76(from the DES distribution package), or 77.Xr pgp 1 78(from the ports collection). Hoewever, restrictions for exporting, 79importing or using such tools might exist in some countries, so those 80stronger programs are not being shipped as part of the operating 81system by default. 82.Sh ENVIRONMENT 83.Bl -tag -offset indent -width "XXCrYpTkEy" 84.It Ev CrYpTkEy 85used to obtain the secret key when option 86.Fl k 87has been given 88.El 89.Sh EXAMPLES 90.Bd -literal -offset indent 91man enigma | enigma > encrypted 92Enter key: (XXX \(em key not echoed) 93.Ed 94.Pp 95This will create an encrypted form of this man page, and store it in 96the file 97.Ql encrypted . 98.Bd -literal -offset indent 99enigma XXX < encrypted 100.Ed 101.Pp 102This displays the previously created file on the terminal. 103.Sh SEE ALSO 104.Xr bdes 1 , 105.Xr pgp 1 , 106.Xr ps 1 , 107.Xr getpass 3 108.Sh HISTORY 109Implementations of 110.Nm crypt 111are very common among 112.Ux 113operating systems. This implementation has been taken from the 114.Em Cryptbreakers Workbench 115which is in the public domain. 116