summaryrefslogtreecommitdiffstats
path: root/secure/lib/libcrypto/man/des_modes.3
diff options
context:
space:
mode:
Diffstat (limited to 'secure/lib/libcrypto/man/des_modes.3')
-rw-r--r--secure/lib/libcrypto/man/des_modes.3290
1 files changed, 0 insertions, 290 deletions
diff --git a/secure/lib/libcrypto/man/des_modes.3 b/secure/lib/libcrypto/man/des_modes.3
deleted file mode 100644
index 788e0e8..0000000
--- a/secure/lib/libcrypto/man/des_modes.3
+++ /dev/null
@@ -1,290 +0,0 @@
-.\" Automatically generated by Pod::Man version 1.15
-.\" Mon Jan 13 19:29:14 2003
-.\"
-.\" Standard preamble:
-.\" ======================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. | will give a
-.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
-.\" to do unbreakable dashes and therefore won't be available. \*(C` and
-.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
-.tr \(*W-|\(bv\*(Tr
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-'br\}
-.\"
-.\" If the F register is turned on, we'll generate index entries on stderr
-.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
-.\" index entries marked with X<> in POD. Of course, you'll have to process
-.\" the output yourself in some meaningful fashion.
-.if \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. nr % 0
-. rr F
-.\}
-.\"
-.\" For nroff, turn off justification. Always turn off hyphenation; it
-.\" makes way too many mistakes in technical documents.
-.hy 0
-.if n .na
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-.bd B 3
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ======================================================================
-.\"
-.IX Title "des_modes 3"
-.TH des_modes 3 "0.9.7" "2003-01-13" "OpenSSL"
-.UC
-.SH "NAME"
-Modes of \s-1DES\s0 \- the variants of \s-1DES\s0 and other crypto algorithms of OpenSSL
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Several crypto algorithms for OpenSSL can be used in a number of modes. Those
-are used for using block ciphers in a way similar to stream ciphers, among
-other things.
-.SH "OVERVIEW"
-.IX Header "OVERVIEW"
-.Sh "Electronic Codebook Mode (\s-1ECB\s0)"
-.IX Subsection "Electronic Codebook Mode (ECB)"
-Normally, this is found as the function \fIalgorithm\fR\fI_ecb_encrypt()\fR.
-.Ip "\(bu" 2
-64 bits are enciphered at a time.
-.Ip "\(bu" 2
-The order of the blocks can be rearranged without detection.
-.Ip "\(bu" 2
-The same plaintext block always produces the same ciphertext block
-(for the same key) making it vulnerable to a 'dictionary attack'.
-.Ip "\(bu" 2
-An error will only affect one ciphertext block.
-.Sh "Cipher Block Chaining Mode (\s-1CBC\s0)"
-.IX Subsection "Cipher Block Chaining Mode (CBC)"
-Normally, this is found as the function \fIalgorithm\fR\fI_cbc_encrypt()\fR.
-Be aware that \fIdes_cbc_encrypt()\fR is not really \s-1DES\s0 \s-1CBC\s0 (it does
-not update the \s-1IV\s0); use \fIdes_ncbc_encrypt()\fR instead.
-.Ip "\(bu" 2
-a multiple of 64 bits are enciphered at a time.
-.Ip "\(bu" 2
-The \s-1CBC\s0 mode produces the same ciphertext whenever the same
-plaintext is encrypted using the same key and starting variable.
-.Ip "\(bu" 2
-The chaining operation makes the ciphertext blocks dependent on the
-current and all preceding plaintext blocks and therefore blocks can not
-be rearranged.
-.Ip "\(bu" 2
-The use of different starting variables prevents the same plaintext
-enciphering to the same ciphertext.
-.Ip "\(bu" 2
-An error will affect the current and the following ciphertext blocks.
-.Sh "Cipher Feedback Mode (\s-1CFB\s0)"
-.IX Subsection "Cipher Feedback Mode (CFB)"
-Normally, this is found as the function \fIalgorithm\fR\fI_cfb_encrypt()\fR.
-.Ip "\(bu" 2
-a number of bits (j) <= 64 are enciphered at a time.
-.Ip "\(bu" 2
-The \s-1CFB\s0 mode produces the same ciphertext whenever the same
-plaintext is encrypted using the same key and starting variable.
-.Ip "\(bu" 2
-The chaining operation makes the ciphertext variables dependent on the
-current and all preceding variables and therefore j-bit variables are
-chained together and can not be rearranged.
-.Ip "\(bu" 2
-The use of different starting variables prevents the same plaintext
-enciphering to the same ciphertext.
-.Ip "\(bu" 2
-The strength of the \s-1CFB\s0 mode depends on the size of k (maximal if
-j == k). In my implementation this is always the case.
-.Ip "\(bu" 2
-Selection of a small value for j will require more cycles through
-the encipherment algorithm per unit of plaintext and thus cause
-greater processing overheads.
-.Ip "\(bu" 2
-Only multiples of j bits can be enciphered.
-.Ip "\(bu" 2
-An error will affect the current and the following ciphertext variables.
-.Sh "Output Feedback Mode (\s-1OFB\s0)"
-.IX Subsection "Output Feedback Mode (OFB)"
-Normally, this is found as the function \fIalgorithm\fR\fI_ofb_encrypt()\fR.
-.Ip "\(bu" 2
-a number of bits (j) <= 64 are enciphered at a time.
-.Ip "\(bu" 2
-The \s-1OFB\s0 mode produces the same ciphertext whenever the same
-plaintext enciphered using the same key and starting variable. More
-over, in the \s-1OFB\s0 mode the same key stream is produced when the same
-key and start variable are used. Consequently, for security reasons
-a specific start variable should be used only once for a given key.
-.Ip "\(bu" 2
-The absence of chaining makes the \s-1OFB\s0 more vulnerable to specific attacks.
-.Ip "\(bu" 2
-The use of different start variables values prevents the same
-plaintext enciphering to the same ciphertext, by producing different
-key streams.
-.Ip "\(bu" 2
-Selection of a small value for j will require more cycles through
-the encipherment algorithm per unit of plaintext and thus cause
-greater processing overheads.
-.Ip "\(bu" 2
-Only multiples of j bits can be enciphered.
-.Ip "\(bu" 2
-\&\s-1OFB\s0 mode of operation does not extend ciphertext errors in the
-resultant plaintext output. Every bit error in the ciphertext causes
-only one bit to be in error in the deciphered plaintext.
-.Ip "\(bu" 2
-\&\s-1OFB\s0 mode is not self-synchronizing. If the two operation of
-encipherment and decipherment get out of synchronism, the system needs
-to be re-initialized.
-.Ip "\(bu" 2
-Each re-initialization should use a value of the start variable
-different from the start variable values used before with the same
-key. The reason for this is that an identical bit stream would be
-produced each time from the same parameters. This would be
-susceptible to a 'known plaintext' attack.
-.Sh "Triple \s-1ECB\s0 Mode"
-.IX Subsection "Triple ECB Mode"
-Normally, this is found as the function \fIalgorithm\fR\fI_ecb3_encrypt()\fR.
-.Ip "\(bu" 2
-Encrypt with key1, decrypt with key2 and encrypt with key3 again.
-.Ip "\(bu" 2
-As for \s-1ECB\s0 encryption but increases the key length to 168 bits.
-There are theoretic attacks that can be used that make the effective
-key length 112 bits, but this attack also requires 2^56 blocks of
-memory, not very likely, even for the \s-1NSA\s0.
-.Ip "\(bu" 2
-If both keys are the same it is equivalent to encrypting once with
-just one key.
-.Ip "\(bu" 2
-If the first and last key are the same, the key length is 112 bits.
-There are attacks that could reduce the effective key strength
-to only slightly more than 56 bits, but these require a lot of memory.
-.Ip "\(bu" 2
-If all 3 keys are the same, this is effectively the same as normal
-ecb mode.
-.Sh "Triple \s-1CBC\s0 Mode"
-.IX Subsection "Triple CBC Mode"
-Normally, this is found as the function \fIalgorithm\fR\fI_ede3_cbc_encrypt()\fR.
-.Ip "\(bu" 2
-Encrypt with key1, decrypt with key2 and then encrypt with key3.
-.Ip "\(bu" 2
-As for \s-1CBC\s0 encryption but increases the key length to 168 bits with
-the same restrictions as for triple ecb mode.
-.SH "NOTES"
-.IX Header "NOTES"
-This text was been written in large parts by Eric Young in his original
-documentation for SSLeay, the predecessor of OpenSSL. In turn, he attributed
-it to:
-.PP
-.Vb 5
-\& AS 2805.5.2
-\& Australian Standard
-\& Electronic funds transfer - Requirements for interfaces,
-\& Part 5.2: Modes of operation for an n-bit block cipher algorithm
-\& Appendix A
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-blowfish(3), des(3), idea(3),
-rc2(3)
OpenPOWER on IntegriCloud