xref: /dragonfly/usr.bin/enigma/enigma.1 (revision 2cd2d2b5)
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