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