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