summaryrefslogtreecommitdiff
path: root/secure/usr.bin/bdes/bdes.1
diff options
context:
space:
mode:
Diffstat (limited to 'secure/usr.bin/bdes/bdes.1')
-rw-r--r--secure/usr.bin/bdes/bdes.1338
1 files changed, 0 insertions, 338 deletions
diff --git a/secure/usr.bin/bdes/bdes.1 b/secure/usr.bin/bdes/bdes.1
deleted file mode 100644
index 579bbabedd80..000000000000
--- a/secure/usr.bin/bdes/bdes.1
+++ /dev/null
@@ -1,338 +0,0 @@
-.\" Copyright (c) 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" Matt Bishop of Dartmouth College.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)bdes.1 8.1 (Berkeley) 6/29/93
-.\" $FreeBSD$
-.\"
-.Dd June 29, 1993
-.Dt BDES 1
-.Os
-.Sh NAME
-.Nm bdes
-.Nd "encrypt/decrypt using the Data Encryption Standard"
-.Sh SYNOPSIS
-.Nm
-.Op Fl abdp
-.Op Fl F Ar N
-.Op Fl f Ar N
-.Op Fl k Ar key
-.Op Fl m Ar N
-.Op Fl o Ar N
-.Op Fl v Ar vector
-.Sh DESCRIPTION
-.Nm Bdes
-implements all
-.Tn DES
-modes of operation described in
-.%T "FIPS PUB 81" ,
-including alternative cipher feedback mode and both authentication
-modes.
-.Nm Bdes
-reads from the standard input and writes to the standard output.
-By default, the input is encrypted using cipher block chaining mode.
-Using the same key for encryption and decryption preserves plain text.
-.Pp
-All modes but the electronic code book mode require an initialization
-vector; if none is supplied, the zero vector is used.
-If no
-.Ar key
-is specified on the command line, the user is prompted for one (see
-.Xr getpass 3
-for more details).
-.Pp
-The options are as follows:
-.Bl -tag -width indent
-.It Fl a
-The key and initialization vector strings are to be taken as
-.Tn ASCII ,
-suppressing the special interpretation given to leading
-.Dq Li 0X ,
-.Dq Li 0x ,
-.Dq Li 0B ,
-and
-.Dq Li 0b
-characters.
-This flag applies to
-.Em both
-the key and initialization vector.
-.It Fl b
-Use electronic code book mode.
-.It Fl d
-Decrypt the input.
-.It Fl F Ar N
-Use
-.Ar N Ns \-bit
-alternative cipher feedback mode.
-Currently
-.Ar N
-must be a multiple of 7 between 7 and 56 inclusive (this does not conform
-to the alternative CFB mode specification).
-.It Fl f Ar N
-Use
-.Ar N Ns \-bit
-cipher feedback mode.
-Currently
-.Ar N
-must be a multiple of 8 between 8 and 64 inclusive (this does not conform
-to the standard CFB mode specification).
-.It Fl k Ar key
-Use
-.Ar key
-as the cryptographic key.
-.It Fl m Ar N
-Compute a message authentication code (MAC) of
-.Ar N
-bits on the input.
-The value of
-.Ar N
-must be between 1 and 64 inclusive; if
-.Ar N
-is not a multiple of 8, enough 0 bits will be added to pad the MAC length
-to the nearest multiple of 8.
-Only the MAC is output.
-MACs are only available in cipher block chaining mode or in cipher feedback
-mode.
-.It Fl o Ar N
-Use
-.Ar N Ns \-bit
-output feedback mode.
-Currently
-.Ar N
-must be a multiple of 8 between 8 and 64 inclusive (this does not conform
-to the OFB mode specification).
-.It Fl p
-Disable the resetting of the parity bit.
-This flag forces the parity bit of the key to be used as typed, rather than
-making each character be of odd parity.
-It is used only if the key is given in
-.Tn ASCII .
-.It Fl v Ar vector
-Set the initialization vector to
-.Ar vector ;
-the vector is interpreted in the same way as the key.
-The vector is ignored in electronic codebook mode.
-.El
-.Pp
-The key and initialization vector are taken as sequences of
-.Tn ASCII
-characters which are then mapped into their bit representations.
-If either begins with
-.Dq Li 0X
-or
-.Dq Li 0x ,
-that one is taken as a sequence of hexadecimal digits indicating the
-bit pattern;
-if either begins with
-.Dq Li 0B
-or
-.Dq Li 0b ,
-that one is taken as a sequence of binary digits indicating the bit pattern.
-In either case,
-only the leading 64 bits of the key or initialization vector
-are used,
-and if fewer than 64 bits are provided, enough 0 bits are appended
-to pad the key to 64 bits.
-.Pp
-According to the
-.Tn DES
-standard, the low-order bit of each character in the
-key string is deleted.
-Since most
-.Tn ASCII
-representations set the high-order bit to 0, simply
-deleting the low-order bit effectively reduces the size of the key space
-from 2^56 to 2^48 keys.
-To prevent this, the high-order bit must be a function depending in part
-upon the low-order bit; so, the high-order bit is set to whatever value
-gives odd parity.
-This preserves the key space size.
-Note this resetting of the parity bit is
-.Em not
-done if the key is given in binary or hex, and can be disabled for
-.Tn ASCII
-keys as well.
-.Pp
-The
-.Tn DES
-is considered a very strong cryptosystem, and other than table lookup
-attacks, key search attacks, and Hellman's time-memory tradeoff (all of which
-are very expensive and time-consuming), no cryptanalytic methods for breaking
-the
-.Tn DES
-are known in the open literature.
-No doubt the choice of keys and key security are the most vulnerable aspect
-of
-.Nm .
-.Sh IMPLEMENTATION NOTES
-For implementors wishing to write software compatible with this program,
-the following notes are provided.
-This software is believed to be compatible with the implementation of the
-data encryption standard distributed by Sun Microsystems, Inc.
-.Pp
-In the ECB and CBC modes, plaintext is encrypted in units of 64 bits (8 bytes,
-also called a block).
-To ensure that the plaintext file is encrypted correctly,
-.Nm
-will (internally) append from 1 to 8 bytes, the last byte containing an
-integer stating how many bytes of that final block are from the plaintext
-file, and encrypt the resulting block.
-Hence, when decrypting, the last block may contain from 0 to 7 characters
-present in the plaintext file, and the last byte tells how many.
-Note that if during decryption the last byte of the file does not contain an
-integer between 0 and 7, either the file has been corrupted or an incorrect
-key has been given.
-A similar mechanism is used for the OFB and CFB modes, except that those
-simply require the length of the input to be a multiple of the mode size,
-and the final byte contains an integer between 0 and one less than the number
-of bytes being used as the mode.
-(This was another reason that the mode size must be a multiple of 8 for those
-modes.)
-.Pp
-Unlike Sun's implementation, unused bytes of that last block are not filled
-with random data, but instead contain what was in those byte positions in
-the preceding block.
-This is quicker and more portable, and does not weaken the encryption
-significantly.
-.Pp
-If the key is entered in
-.Tn ASCII ,
-the parity bits of the key characters are set
-so that each key character is of odd parity.
-Unlike Sun's implementation, it is possible to enter binary or hexadecimal
-keys on the command line, and if this is done, the parity bits are
-.Em not
-reset.
-This allows testing using arbitrary bit patterns as keys.
-.Pp
-The Sun implementation always uses an initialization vector of 0
-(that is, all zeroes).
-By default,
-.Nm
-does too, but this may be changed from the command line.
-.Sh SEE ALSO
-.Xr crypt 3 ,
-.Xr getpass 3
-.Rs
-.%T "Data Encryption Standard"
-.%R "Federal Information Processing Standard #46"
-.%Q "National Bureau of Standards, U.S. Department of Commerce, Washington DC"
-.%D "January 1977"
-.Re
-.Rs
-.%T "DES Modes of Operation"
-.%R "Federal Information Processing Standard #81"
-.%Q "National Bureau of Standards, U.S. Department of Commerce, Washington DC"
-.%D "December 1980"
-.Re
-.Rs
-.%A "Dorothy Denning"
-.%B "Cryptography and Data Security"
-.%Q "Addison-Wesley Publishing Co., Reading, MA"
-.%D 1982
-.Re
-.Rs
-.%A "Matt Bishop"
-.%T "Implementation Notes on bdes(1)"
-.%R "Technical Report PCS-TR-91-158"
-.%Q "Department of Mathematics and Computer Science, Dartmouth College, Hanover, NH 03755"
-.%D "April 1991"
-.Re
-.Sh DISCLAIMER
-.Bd -literal
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-.Ed
-.Sh BUGS
-There is a controversy raging over whether the
-.Tn DES
-will still be secure
-in a few years.
-The advent of special-purpose hardware could reduce the cost of any of the
-methods of attack named above so that they are no longer computationally
-infeasible.
-.Pp
-As the key or key schedule is stored in memory, the encryption can be
-compromised if memory is readable.
-Additionally, programs which display programs' arguments may compromise the
-key and initialization vector, if they are specified on the command line.
-To avoid this
-.Nm
-overwrites its arguments, however, the obvious race cannot currently be
-avoided.
-.Pp
-Certain specific keys should be avoided because they introduce potential
-weaknesses; these keys, called the
-.Em weak
-and
-.Em semiweak
-keys, are (in hex notation, where
-.Ar p
-is either 0 or 1, and
-.Ar P
-is either
-.Ql e
-or
-.Ql f ) :
-.Bl -column "0x0p0p0p0p0p0p0p0p" -offset indent
-.It "0x0p0p0p0p0p0p0p0p 0x0p1P0p1P0p0P0p0P"
-.It "0x0pep0pep0pfp0pfp 0x0pfP0pfP0pfP0pfP"
-.It "0x1P0p1P0p0P0p0P0p 0x1P1P1P1P0P0P0P0P"
-.It "0x1Pep1Pep0Pfp0Pfp 0x1PfP1PfP0PfP0PfP"
-.It "0xep0pep0pfp0pfp0p 0xep1Pep1pfp0Pfp0P"
-.It "0xepepepepepepepep 0xepfPepfPfpfPfpfP"
-.It "0xfP0pfP0pfP0pfP0p 0xfP1PfP1PfP0PfP0P"
-.It "0xfPepfPepfPepfPep 0xfPfPfPfPfPfPfPfP"
-.El
-.Pp
-This is inherent in the
-.Tn DES
-algorithm; see
-.Rs
-.%A Moore
-.%A Simmons
-.%T "Cycle structure of the DES with weak and semi-weak keys"
-.%B "Advances in Cryptology \- Crypto '86 Proceedings"
-.%Q "Springer-Verlag New York"
-.%D 1987
-.%P "pp. 9-32"
-.Re