xref: /freebsd/usr.bin/enigma/enigma.1 (revision 3898680cf705cef4e1cc606b44cd91fc4252bcd5)
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