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. It automatically detects whether the input data stream is 37already encrypted, and switches into decryption mode in this case. 38.Pp 39There are several ways to provide the secret key to the program. By 40default, the program prompts the user on the controlling terminal for 41the key, using 42.Xr getpass 3 . 43This is the only safe way of providing it. 44.Pp 45Alternatively, the key can be provided as the sole command-line 46argument 47.Ar password 48when starting the program. Obviously, this way the key can easily be 49spotted by other users running 50.Xr ps 1 . 51As yet another alternative, 52.Nm 53can be given the option 54.Fl k , 55and it will take the key from the environment variable 56.Ev CrYpTkEy . 57While this at a first glance seems to be more secure than the previous 58option, it actually isn't since environment variables can also be 59examined with 60.Xr ps 1 . 61Thus this option is mainly provided for compatibility with other 62implementations of 63.Nm . 64.Pp 65When specifying the option 66.Fl s , 67.Nm 68modifies the encryption engine in a way that is supposed to make it a 69little more secure, but incompatible with other implementations. 70.Pp 71.Ss Warning 72The cryptographic value of 73.Nm 74is rather small. This program is only provided here for compatibility 75with other operating systems that also provide an implementation. For 76real encryption, refer to 77.Xr bdes 1 78(from the DES distribution package), or 79.Xr pgp 1 80(from the ports collection). However, restrictions for exporting, 81importing or using such tools might exist in some countries, so those 82stronger programs are not being shipped as part of the operating 83system by default. 84.Sh ENVIRONMENT 85.Bl -tag -offset indent -width "XXCrYpTkEy" 86.It Ev CrYpTkEy 87used to obtain the secret key when option 88.Fl k 89has been given 90.El 91.Sh EXAMPLES 92.Bd -literal -offset indent 93man enigma | enigma > encrypted 94Enter key: (XXX \(em key not echoed) 95.Ed 96.Pp 97This will create an encrypted form of this man page, and store it in 98the file 99.Ql encrypted . 100.Bd -literal -offset indent 101enigma XXX < encrypted 102.Ed 103.Pp 104This displays the previously created file on the terminal. 105.Sh SEE ALSO 106.Xr bdes 1 , 107.Xr pgp 1 , 108.Xr ps 1 , 109.Xr getpass 3 110.Sh HISTORY 111Implementations of 112.Nm crypt 113are very common among 114.Ux 115operating systems. This implementation has been taken from the 116.Em Cryptbreakers Workbench 117which is in the public domain. 118