亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 14-10.html

?? 應(yīng)用密碼學(xué)電子書(shū)籍
?? HTML
字號(hào):
<html><head><TITLE>APPLIED CRYPTOGRAPHY, SECOND EDITION: Protocols, Algorithms, and Source Code in C:Still Other Block Ciphers</TITLE>
<!-- BEGIN HEADER --><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><SCRIPT><!--function displayWindow(url, width, height) {        var Win = window.open(url,"displayWindow",'width=' + width +',height=' + height + ',resizable=1,scrollbars=yes');}//--></SCRIPT></HEAD><body bgcolor="ffffff" link="#006666" alink="#006666" vlink="#006666"><P>
<CENTER><B>Applied Cryptography, Second Edition: Protocols,  Algorthms, and Source Code in C (cloth)</B>
<FONT SIZE="-2">
<BR>
<I>(Publisher: John Wiley & Sons, Inc.)</I>
<BR>
Author(s): Bruce Schneier
<BR>
ISBN: 0471128457
<BR>
Publication Date: 01/01/96
</FONT></CENTER>
<P>


<!-- Empty Reference Subhead -->

<!--ISBN=0471128457//-->
<!--TITLE=APPLIED CRYPTOGRAPHY, SECOND EDITION: Protocols, Algorithms, and Source Code in C//-->
<!--AUTHOR=Bruce Schneier//-->
<!--PUBLISHER=Wiley Computer Publishing//-->
<!--CHAPTER=14//-->
<!--PAGES=351-353//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->

<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="14-09.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="14-11.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<H3><A NAME="Heading12"></A><FONT COLOR="#000077">14.11 Using one-Way Hash Functions</FONT></H3>
<P>The simplest way to encrypt with a one-way function is to hash the previous ciphertext block concatenated with the key, then XoR the result with the current plaintext block:
</P>
<DL>
<DD><I>C</I><SUB>i</SUB> = <I>P</I><SUB>i</SUB> &#8853; <I>H</I>(<I>K,C</I><SUB>i - 1</SUB>)
<DD><I>P</I><SUB>i</SUB> = <I>C</I><SUB>i</SUB> &#8853; <I>H</I>(<I>K,C</I><SUB>i - 1</SUB>)
</DL>
<P>Set the block length equal to the output of the one-way hash function. This, in effect uses the one-way function as a block cipher in CFB mode. A similar construction can use the one-way function in OFB mode:
</P>
<DL>
<DD><I>C</I><SUB>i</SUB> = <I>P</I><SUB>i</SUB> &#8853; <I>S</I><SUB>i</SUB>; <I>S</I><SUB>i</SUB> = <I>H</I>(<I>K,C</I><SUB>i - 1</SUB>)
<DD><I>P</I><SUB>i</SUB> = <I>C</I><SUB>i</SUB> &#8853; <I>S</I><SUB>i</SUB>; <I>S</I><SUB>i</SUB> = <I>H</I>(<I>K,C</I><SUB>i - 1</SUB>)
</DL>
<P>The security of this scheme depends on the security of the one-way function.
</P>
<P><FONT SIZE="+1"><B><I>Karn</I></B></FONT></P>
<P>This method, invented by Phil Karn and placed in the public domain, makes an invertible encryption algorithm out of certain one-way hash functions.
</P>
<P>The algorithm operates on plaintext and ciphertext in 32-byte blocks. The key can be any length, although certain key lengths will be more efficient for certain one-way hash functions. For the one-way hash functions MD4 and MD5, 96-byte keys work best.</P>
<P>To encrypt, first split the plaintext into two 16-byte halves: <I>P</I><SUB>1</SUB> and <I>P</I><SUB>r</SUB>. Then, split the key into two 48-byte halves: <I>K</I><SUB>1</SUB> and <I>K</I><SUB>r</SUB>.</P>
<DL>
<DD><I>P</I> = <I>P</I><SUB>1</SUB>,<I>P</I><SUB>r</SUB>
<DD><I>K</I> = <I>K</I><SUB>1</SUB>,<I>K</I><SUB>r</SUB>
</DL>
<P>Append <I>K</I><SUB>1</SUB> to <I>P</I><SUB>1</SUB> and hash it with a one-way hash function, then XoR the result of the hash with <I>P</I><SUB>r</SUB> to produce <I>C</I><SUB>r</SUB>, the right half of the ciphertext. Then, append <I>K</I><SUB>r</SUB> to <I>C</I><SUB>r</SUB> and hash it with the one-way hash function. XoR the result with <I>P</I><SUB>1</SUB> to produce <I>C</I><SUB>1</SUB>. Finally, append C<SUB>r</SUB> to <I>C</I><SUB>1</SUB> to produce the ciphertext.</P>
<DL>
<DD><I>C</I><SUB>r</SUB> = <I>P</I><SUB>r</SUB> &#8853; <I>H</I>(<I>P</I><SUB>1</SUB>,<I>K</I> <SUB>1</SUB>)
<DD><I>C</I><SUB>1</SUB> = <I>P</I><SUB>1</SUB> &#8853; <I>H</I>(<I>C</I><SUB>r</SUB>,<I>K</I><SUB>r</SUB>)
<DD><I>C</I> = <I>C</I><SUB>1</SUB>,<I>C</I><SUB>r</SUB>
</DL>
<P>To decrypt, simply reverse the process. Append <I>K</I><SUB>r</SUB> to <I>C</I><SUB>r</SUB>, hash and XoR with <I>C</I><SUB>1</SUB> to produce <I>P</I><SUB>1</SUB>. Append <I>K</I><SUB>1</SUB> to <I>P</I><SUB>1</SUB>, hash and XoR with <I>C</I><SUB>r</SUB> to produce <I>P</I><SUB>r</SUB>.</P>
<DL>
<DD><I>P</I><SUB>1</SUB> = <I>C</I><SUB>1</SUB> &#8853; <I>H</I>(<I>C</I><SUB>r</SUB>,<I>K</I><SUB>r</SUB>)
<DD><I>P</I><SUB>r</SUB> = <I>C</I><SUB>r</SUB> &#8853; <I>H</I>(<I>P</I><SUB>1</SUB>,<I>K</I><SUB>1</SUB>)
<DD><I>P</I> = <I>P</I><SUB>1</SUB>,<I>P</I><SUB>r</SUB>
</DL>
<P>The overall structure of Karn is the same as many of the other block algorithms discussed in this section. It has only two rounds, because the complexity of the algorithm is embedded in the one-way hash function. And since the key is used only as the input to the hash function, it cannot be recovered even using a chosen-plaintext attack&#151;assuming, of course, that the one-way hash function is secure.
</P>
<P><FONT SIZE="+1"><B><I>Luby-Rackoff</I></B></FONT></P>
<P>Michael Luby and Charles Rackoff showed that Karn is not secure [992]. Consider two single-block messages: <I>AB</I> and <I>AC</I>. If a cryptanalyst knows both the plaintext and the ciphertext of the first message, and knows the first half of the plaintext of the second message, then he can easily compute the entire second message. This known-plaintext attack is useful only in certain circumstances, but it is a major security problem.</P>
<P>A three-round encryption algorithm avoids this problem [992,1643,1644]. It uses three different hash functions: <I>H</I><SUB>1</SUB>, <I>H</I><SUB>2</SUB>, and <I>H</I><SUB>3</SUB>. Further work shows that <I>H</I><SUB>1</SUB> can equal <I>H</I><SUB>2</SUB>, or that <I>H</I><SUB>2</SUB> can equal <I>H</I><SUB>3</SUB>, but not both [1193]. Also, <I>H</I><SUB>1</SUB>, <I>H</I><SUB>2</SUB>, and <I>H</I><SUB>3</SUB> cannot be based on iterating the same basic function [1643]. Anyway, assuming that <I>H</I>(<I>k,x</I>) behaves like a pseudo-random function, here is a three-round version:</P>
<DL>
<DD><B>(1)</B>&nbsp;&nbsp;Divide the key into two halves: <I>K</I><SUB>1</SUB> and <I>K</I><SUB>r</SUB>.
<DD><B>(2)</B>&nbsp;&nbsp;Divide the plaintext block into two halves: <I>L</I><SUB>0</SUB> and <I>R</I><SUB>0</SUB>.
<DD><B>(3)</B>&nbsp;&nbsp;Append <I>K</I><SUB>1</SUB> to <I>L</I><SUB>0</SUB> and hash it. XoR the result of the hash with <I>R</I><SUB>0</SUB> to produce <I>R</I><SUB>1</SUB>:
<DL>
<DD><I>R</I><SUB>1</SUB> = <I>R</I><SUB>0</SUB> &#8853; <I>H</I>(<I>K</I><SUB>1</SUB>,<I>L</I><SUB>0</SUB>)
</DL>
<DD><B>(4)</B>&nbsp;&nbsp;Append <I>K</I><SUB>r</SUB> to <I>R</I><SUB>1</SUB> and hash it. XOR the result of the hash with <I>L</I><SUB>0</SUB> to produce <I>L</I><SUB>1</SUB>:
<DL>
<DD><I>L</I><SUB>1</SUB> = <I>L</I><SUB>0</SUB> &#8853; <I>H</I>(<I>K</I><SUB>r</SUB>,<I>R</I><SUB>1</SUB>)
</DL>
<DD><B>(5)</B>&nbsp;&nbsp;Append <I>K</I><SUB>1</SUB> to <I>L</I><SUB>1</SUB> and hash it. XOR the result of the hash with <I>R</I><SUB>1</SUB> to produce <I>R</I><SUB>2</SUB>:
<DL>
<DD><I>R</I><SUB>2</SUB> = <I>R</I><SUB>1</SUB> &#8853; <I>H</I>(<I>K</I><SUB>1</SUB>,<I>L</I><SUB>1</SUB>)
</DL>
<DD><B>(6)</B>&nbsp;&nbsp;Append <I>L</I><SUB>1</SUB> to <I>R</I><SUB>1</SUB> to generate the message.
</DL>
<P><FONT SIZE="+1"><B><I>Message Digest Cipher (MDC)</I></B></FONT></P>
<P>MDC, invented by Peter Gutmann [676], is a means of turning one-way hash functions into a block cipher that runs in CFB mode. The cipher runs almost as fast as the hash function and is at least as secure as the hash function. The rest of this section assumes you are familiar with Chapter 18.
</P>
<P>Hash functions such as MD5 and SHA use a 512-bit text block to transform an input value (128 bits with MD5, and 160 bits with SHA) into an output value of equal size. This transformation is not reversible, but it is perfect for CFB mode: The same operation is used for both encryption and decryption.</P>
<P>Let&#146;s look at MDC with SHA. MDC has a 160-bit block size and a 512-bit key. The hash function is run &#147;sideways,&#148; with the old hash state as the input plaintext block (160 bits) and the 512-bit hash input as a key (see Figure 14.5). Normally, when using the hash to simply hash some input, the 512-bit input to the hash is varied as each new 512-bit block is hashed. But in this case the 512-bit input becomes an unchanging key.</P>
<P>MDC can be used with any one-way hash function: MD4, MD5, Snefru, and others. It is unpatented. Anyone can use it at any time, in any way, royalty-free [676].</P><P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="14-09.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="14-11.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>

[an error occurred while processing this directive]
</body></html>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区高清不卡| 色悠悠久久综合| 福利电影一区二区| 岛国精品在线观看| 欧美亚洲国产一卡| 精品精品国产高清a毛片牛牛| 国产亚洲一本大道中文在线| 综合在线观看色| 亚洲v中文字幕| 久久99精品久久久| 色诱亚洲精品久久久久久| 欧美一二三四区在线| 国产精品成人网| 日产国产欧美视频一区精品| 成人免费观看男女羞羞视频| 91 com成人网| 国产精品狼人久久影院观看方式| 日日夜夜免费精品视频| 国产成a人无v码亚洲福利| 欧美日韩一区二区欧美激情| 久久久久久久久久久久久夜| 亚洲chinese男男1069| 成人做爰69片免费看网站| 欧美日本在线观看| 中文字幕成人av| 奇米一区二区三区| 色综合色综合色综合| 精品999在线播放| 亚洲成人资源网| 懂色av一区二区在线播放| 51久久夜色精品国产麻豆| 国产欧美精品日韩区二区麻豆天美| 亚洲国产综合在线| 成人av网站免费观看| 26uuu亚洲综合色| 亚洲成人免费av| 91影院在线免费观看| 久久综合色天天久久综合图片| 亚洲成人黄色影院| 91免费国产在线| 久久精品一区四区| 久久超碰97人人做人人爱| 欧美天天综合网| 国产精品久久二区二区| 国产一区视频在线看| 欧美一级片免费看| 亚洲国产视频一区二区| 91亚洲永久精品| 欧美国产一区二区在线观看| 国内成+人亚洲+欧美+综合在线 | 久久精品欧美日韩| 日本vs亚洲vs韩国一区三区二区| 色欧美片视频在线观看在线视频| 国产欧美日韩另类一区| 国产精品一品视频| 精品国产精品一区二区夜夜嗨| 日本亚洲天堂网| 欧美日韩亚洲综合一区二区三区| 亚洲理论在线观看| 99精品国产一区二区三区不卡| 欧美激情中文字幕| 国产·精品毛片| 欧美国产乱子伦 | 国产精品电影一区二区三区| 国产精品夜夜爽| 国产亚洲精品免费| 国产精品系列在线播放| 久久久久国产成人精品亚洲午夜 | 久久久无码精品亚洲日韩按摩| 麻豆91免费看| 日韩一级免费一区| 蜜桃视频在线观看一区二区| 日韩欧美在线观看一区二区三区| 日韩精品五月天| 欧美一区二区三区视频在线观看| 视频一区中文字幕| 欧美一区二区在线免费观看| 青青青爽久久午夜综合久久午夜| 69p69国产精品| 麻豆视频观看网址久久| 精品福利av导航| 国产一区二区三区四区五区美女| 久久嫩草精品久久久精品一| 国产成人三级在线观看| 综合分类小说区另类春色亚洲小说欧美| 成人深夜福利app| 国产精品成人免费精品自在线观看| 99精品视频在线观看| 亚洲一卡二卡三卡四卡五卡| 欧美日韩国产高清一区二区三区| 免费在线观看一区| 久久久久久一二三区| 成人免费av资源| 亚洲自拍都市欧美小说| 91精品国产丝袜白色高跟鞋| 精品一区中文字幕| 国产精品久久久久永久免费观看 | 亚洲bt欧美bt精品777| 欧美一区二区三区男人的天堂| 久久er99热精品一区二区| 国产欧美视频一区二区| 99精品视频在线播放观看| 亚洲午夜久久久久久久久电影院| 欧美一卡二卡在线观看| 国产精品系列在线播放| 亚洲精品免费视频| 欧美高清hd18日本| 国产精品一区二区果冻传媒| 中文字幕五月欧美| 欧美老女人在线| 国产麻豆精品95视频| 亚洲精品国产一区二区三区四区在线| 欧美精品丝袜久久久中文字幕| 国产乱码精品一区二区三区忘忧草| 中文字幕一区二区三区精华液 | 久久99在线观看| 国产精品乱人伦| 欧美夫妻性生活| 粉嫩高潮美女一区二区三区| 亚洲国产精品天堂| 久久你懂得1024| 欧美视频在线观看一区二区| 国产在线乱码一区二区三区| 亚洲日本va午夜在线影院| 69堂成人精品免费视频| 不卡的av在线| 久久成人免费网| 亚洲午夜一区二区| 国产精品素人视频| 欧美一区二区三区的| aa级大片欧美| 狠狠色丁香九九婷婷综合五月| 亚洲男帅同性gay1069| 亚洲精品一区二区三区99| 日本韩国视频一区二区| 国产高清久久久| 青娱乐精品视频| 樱桃视频在线观看一区| 久久综合av免费| 欧美日韩免费观看一区二区三区| 成人性色生活片免费看爆迷你毛片| 视频在线观看91| 一区二区在线电影| 欧美激情一区二区三区在线| 欧美一级欧美一级在线播放| 在线观看av不卡| 99久久免费精品高清特色大片| 久久精品国产精品亚洲精品| 亚洲香肠在线观看| 亚洲欧美日韩一区二区三区在线观看| 久久一区二区三区国产精品| 欧美日韩国产免费| 91视频在线观看| 成人高清伦理免费影院在线观看| 美女精品自拍一二三四| 五月婷婷激情综合网| 亚洲乱码国产乱码精品精的特点| 国产亚洲欧美色| 精品少妇一区二区三区免费观看| 欧美高清精品3d| 欧美视频一区二区在线观看| 色av成人天堂桃色av| 96av麻豆蜜桃一区二区| 成人黄色777网| 国产99久久久国产精品| 国内不卡的二区三区中文字幕| 蜜桃久久久久久| 青青草国产精品97视觉盛宴| 天天av天天翘天天综合网色鬼国产| 亚洲摸摸操操av| 亚洲人成精品久久久久| 国产精品剧情在线亚洲| 国产精品视频观看| 中文字幕第一区第二区| 中文字幕免费观看一区| 国产丝袜在线精品| 久久久亚洲精品石原莉奈| 久久综合九色综合欧美就去吻| 欧美精品一区二区三区久久久| 日韩女优制服丝袜电影| 日韩欧美国产午夜精品| 欧美大胆一级视频| 26uuu另类欧美| 久久久久久久网| 国产拍揄自揄精品视频麻豆| 亚洲国产精品黑人久久久| 国产精品久久久久永久免费观看 | 99re在线视频这里只有精品| 成人国产一区二区三区精品| 91在线视频18| 91搞黄在线观看| 欧美喷潮久久久xxxxx| 制服丝袜亚洲播放| 日韩精品一区在线| 久久久电影一区二区三区| 国产精品美女久久福利网站| 综合久久给合久久狠狠狠97色 | 欧美三级电影一区| 91精品国产一区二区人妖| 精品国产一区二区三区久久影院 |