Merge from vendor branch CVS:
[dragonfly.git] / crypto / heimdal-0.6.3 / lib / des / des.cat1
1
2
3
4 DES(1)                                                                 DES(1)
5
6
7
8 NAME
9   des - encrypt or decrypt data using Data Encryption Standard
10
11 SYNOPSIS
12   d\bde\bes\bs ( -\b-e\be | -\b-E\bE ) | ( -\b-d\bd | -\b-D\bD ) | ( -\b-[c\bcC\bC][c\bck\bkn\bna\bam\bme\be] ) | [ -\b-b\bb3\b3h\bhf\bfs\bs ] [ -\b-k\bk _\bk_\be_\by ] ]
13   [ -\b-u\bu[_\bu_\bu_\bn_\ba_\bm_\be] [ _\bi_\bn_\bp_\bu_\bt_\b-_\bf_\bi_\bl_\be [ _\bo_\bu_\bt_\bp_\bu_\bt_\b-_\bf_\bi_\bl_\be ] ]
14
15 DESCRIPTION
16   d\bde\bes\bs encrypts and decrypts data using the Data Encryption Standard algo-
17   rithm.  One of -\b-e\be,\b, -\b-E\bE (for encrypt) or -\b-d\bd,\b, -\b-D\bD (for decrypt) must be speci-
18   fied.  It is also possible to use -\b-c\bc or -\b-C\bC in conjunction or instead of the
19   a encrypt/decrypt option to generate a 16 character hexadecimal checksum,
20   generated via the _\bd_\be_\bs_\b__\bc_\bb_\bc_\b__\bc_\bk_\bs_\bu_\bm_\b.
21
22   Two standard encryption modes are supported by the d\bde\bes\bs program, Cipher
23   Block Chaining (the default) and Electronic Code Book (specified with -\b-b\bb ).
24
25   The key used for the DES algorithm is obtained by prompting the user unless
26   the `\b`-\b-k\bk _\bk_\be_\by_\b' option is given.  If the key is an argument to the d\bde\bes\bs com-
27   mand, it is potentially visible to users executing p\bps\bs(1) or a derivative.
28   To minimise this possibility, d\bde\bes\bs takes care to destroy the key argument
29   immediately upon entry.  If your shell keeps a history file be careful to
30   make sure it is not world readable.
31
32   Since this program attempts to maintain compatibility with SunOS's des(1)
33   command, there are 2 different methods used to convert the user supplied
34   key to a des key.  Whenever and one or more of -\b-E\bE,\b, -\b-D\bD,\b, -\b-C\bC or -\b-3\b3 options are
35   used, the key conversion procedure will not be compatible with the SunOS
36   des(1) version but will use all the user supplied character to generate the
37   des key.  d\bde\bes\bs command reads from standard input unless _\bi_\bn_\bp_\bu_\bt_\b-_\bf_\bi_\bl_\be is speci-
38   fied and writes to standard output unless _\bo_\bu_\bt_\bp_\bu_\bt_\b-_\bf_\bi_\bl_\be is given.
39
40 OPTIONS
41
42   -\b-b\bb   Select ECB (eight bytes at a time) encryption mode.
43
44   -\b-3\b3   Encrypt using triple encryption.  By default triple cbc encryption is
45        used but if the -\b-b\bb option is used then triple ecb encryption is per-
46        formed.  If the key is less than 8 characters long, the flag has no
47        effect.
48
49   -\b-e\be   Encrypt data using an 8 byte key in a manner compatible with SunOS
50        des(1).
51
52   -\b-E\bE   Encrypt data using a key of nearly unlimited length (1024 bytes).
53        This will product a more secure encryption.
54
55   -\b-d\bd   Decrypt data that was encrypted with the -e option.
56
57   -\b-D\bD   Decrypt data that was encrypted with the -E option.
58
59   -\b-c\bc   Generate a 16 character hexadecimal cbc checksum and output this to
60        stderr.  If a filename was specified after the -\b-c\bc option, the checksum
61        is output to that file.  The checksum is generated using a key gener-
62        ated in a SunOS compatible manner.
63
64   -\b-C\bC   A cbc checksum is generated in the same manner as described for the -\b-c\bc
65        option but the DES key is generated in the same manner as used for the
66        -\b-E\bE and -\b-D\bD options
67
68   -\b-f\bf   Does nothing - allowed for compatibility with SunOS des(1) command.
69
70   -\b-s\bs   Does nothing - allowed for compatibility with SunOS des(1) command.
71
72   -\b-k\bk _\bk_\be_\by
73        Use the encryption _\bk_\be_\by specified.
74
75   -\b-h\bh   The _\bk_\be_\by is assumed to be a 16 character hexadecimal number.  If the -\b-3\b3
76        option is used the key is assumed to be a 32 character hexadecimal
77        number.
78
79   -\b-u\bu   This flag is used to read and write uuencoded files.  If decrypting,
80        the input file is assumed to contain uuencoded, DES encrypted data.
81        If encrypting, the characters following the -u are used as the name of
82        the uuencoded file to embed in the begin line of the uuencoded output.
83        If there is no name specified after the -u, the name text.des will be
84        embedded in the header.
85
86 SEE ALSO
87   p\bps\bs (\b(1\b1)\b) d\bde\bes\bs_\b_c\bcr\bry\byp\bpt\bt(\b(3\b3)\b)
88
89 BUGS
90
91   The problem with using the -\b-e\be option is the short key length.  It would be
92   better to use a real 56-bit key rather than an ASCII-based 56-bit pattern.
93   Knowing that the key was derived from ASCII radically reduces the time nec-
94   essary for a brute-force cryptographic attack.  My attempt to remove this
95   problem is to add an alternative text-key to DES-key function.  This alter-
96   native function (accessed via -\b-E\bE,\b, -\b-D\bD,\b, -\b-S\bS and -\b-3\b3 ) uses DES to help generate
97   the key.
98
99   Be carefully when using the -u option.  Doing des -ud <filename> will not
100   decrypt filename (the -u option will gobble the d option).
101
102   The VMS operating system operates in a world where files are always a mul-
103   tiple of 512 bytes.  This causes problems when encrypted data is send from
104   unix to VMS since a 88 byte file will suddenly be padded with 424 null
105   bytes.  To get around this problem, use the -u option to uuencode the data
106   before it is send to the VMS system.
107
108 AUTHOR
109
110   Eric Young (eay@mincom.oz.au or eay@psych.psy.uq.oz.au)
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132