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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 14-04.html

?? 應用密碼學電子書籍
?? HTML
字號:
<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=336-339//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->

<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="14-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="14-05.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<P>Blowfish is optimized for applications where the key does not change often, like a communications link or an automatic file encryptor. It is significantly faster than DES when implemented on 32-bit microprocessors with large data caches, such as the Pentium and the PowerPC. Blowfish is not suitable for applications, such as packet switching, with frequent key changes, or as a one-way hash function. Its large memory requirement makes it infeasible for smart card applications.
</P>
<P><FONT SIZE="+1"><B><I>Description of Blowfish</I></B></FONT></P>
<P>Blowfish is a 64-bit block cipher with a variable-length key. The algorithm consists of two parts: key expansion and data encryption. Key expansion converts a key of up to 448 bits into several subkey arrays totaling 4168 bytes.
</P>
<P>Data encryption consists of a simple function iterated 16 times. Each round consists of a key-dependent permutation, and a key- and data-dependent substitution. All operations are additions and XORs on 32-bit words. The only additional operations are four indexed array data lookups per round.</P>
<P>Blowfish uses a large number of subkeys. These keys must be precomputed before any data encryption or decryption.</P>
<P>The P-array consists of 18 32-bit subkeys:</P>
<DL>
<DD><I>P</I><SUB>1</SUB>, <I>P</I><SUB>2</SUB>,..., <I>P</I><SUB>18</SUB>
</DL>
<P>Four 32-bit S-boxes have 256 entries each:
</P>
<DL>
<DD><I>S</I><SUB>1,0</SUB>, <I>S</I><SUB>1,1</SUB>,..., <I>S</I><SUB>1,255</SUB>
<DD><I>S</I><SUB>2,0</SUB>, <I>S</I><SUB>2,1</SUB>,..., <I>S</I><SUB>2,255</SUB>
<DD><I>S</I><SUB>3,0</SUB>, <I>S</I><SUB>3,1</SUB>,..., <I>S</I><SUB>3,255</SUB>
<DD><I>S</I><SUB>4,0</SUB>, <I>S</I><SUB>4,1</SUB>,..., <I>S</I><SUB>4,255</SUB>
</DL>
<P>The exact method used to calculate these subkeys will be described later in this section.
</P>
<I><P><A NAME="Fig2"></A><A HREF="javascript:displayWindow('images/14-02.jpg',210,310 )"><IMG SRC="images/14-02t.jpg"></A>
<BR><A HREF="javascript:displayWindow('images/14-02.jpg',210,310)"><FONT COLOR="#000077"><B>Figure 14.2</B></FONT></A>&nbsp;&nbsp;Blowfish.</I>
</P>
<P>Blowfish is a Feistel network (see Section 14.10) consisting of 16 rounds. The input is a 64-bit data element, <I>x</I>. To encrypt:</P>
<DL>
<DD>Divide <I>x</I> into two 32-bit halves: <I>x</I><SUB>L</SUB>, <I>x</I><SUB>R</SUB>
<DD>For <I>i</I> = 1 to 16:
<DL>
<DD><I>x</I><SUB>L</SUB> = <I>x</I><SUB>L</SUB> &#8853; <I>P</I><SUB>i</SUB>
<DD><I>x</I><SUB>R</SUB> = F(<I>x</I><SUB>L</SUB>) &#8853; <I>x</I><SUB>R</SUB>
<DD>Swap <I>x</I><SUB>L</SUB> and <I>x</I><SUB>R</SUB>
</DL>
<DD>Swap <I>x</I><SUB>L</SUB> and <I>x</I><SUB>R</SUB> (Undo the last swap.)
<DD><I>x</I><SUB>R</SUB> = <I>x</I><SUB>R</SUB> &#8853; <I>P</I><SUB>17</SUB>
<DD><I>x</I><SUB>L</SUB> = <I>x</I><SUB>L</SUB> &#8853; <I>P</I><SUB>18</SUB>
<DD>Recombine <I>x</I><SUB>L</SUB> and <I>x</I><SUB>R</SUB>
</DL>
<I><P><A NAME="Fig3"></A><A HREF="javascript:displayWindow('images/14-03.jpg',221,157 )"><IMG SRC="images/14-03t.jpg"></A>
<BR><A HREF="javascript:displayWindow('images/14-03.jpg',221,157)"><FONT COLOR="#000077"><B>Figure 14.3</B></FONT></A>&nbsp;&nbsp;Function F.</I>
</P>
<P>Function F is as follows (see Figure 14.3):
</P>
<DL>
<DD>Divide <I>x</I><SUB>L</SUB> into four eight-bit quarters:
<DD><I>a, b, c</I>, and <I>d</I> F(<I>x</I><SUB>L</SUB>) = ((<I>S</I><SUB>1,<I>a</I></SUB> &#43; <I>S</I><SUB>2,<I>b</I></SUB> mod 2<SUP>32</SUP>) &#8853; <I>S</I><SUB>3,<I>c</I></SUB>) &#43; <I>S</I><SUB>4,d</SUB> mod 2<SUP>32</SUP>
</DL>
<P>Decryption is exactly the same as encryption, except that <I>P</I><SUB>1</SUB>, <I>P</I><SUB>2</SUB>,..., <I>P</I><SUB>18</SUB> are used in the reverse order.</P>
<P>Implementations of Blowfish that require the fastest speeds should unroll the loop and ensure that all subkeys are stored in cache. See [568] for details.</P>
<P>The subkeys are calculated using the Blowfish algorithm. The exact method follows.</P>
<DL>
<DD><B>(1)</B>&nbsp;&nbsp;Initialize first the P-array and then the four S-boxes, in order, with a fixed string. This string consists of the hexadecimal digits of p.
<DD><B>(2)</B>&nbsp;&nbsp;XOR <I>P</I><SUB>1</SUB> with the first 32 bits of the key, XOR <I>P</I><SUB>2</SUB> with the second 32-bits of the key, and so on for all bits of the key (up to <I>P</I><SUB>18</SUB>). Repeatedly cycle through the key bits until the entire P-array has been XORed with key bits.
<DD><B>(3)</B>&nbsp;&nbsp;Encrypt the all-zero string with the Blowfish algorithm, using the subkeys described in steps (1) and (2).
<DD><B>(4)</B>&nbsp;&nbsp;Replace <I>P</I><SUB>1</SUB> and <I>P</I><SUB>2</SUB> with the output of step (3).
<DD><B>(5)</B>&nbsp;&nbsp;Encrypt the output of step (3) using the Blowfish algorithm with the modified subkeys.
<DD><B>(6)</B>&nbsp;&nbsp;Replace <I>P</I><SUB>3</SUB> and <I>P</I><SUB>4</SUB> with the output of step (5).
<DD><B>(7)</B>&nbsp;&nbsp;Continue the process, replacing all elements of the P-array, and then all four S-boxes in order, with the output of the continuously changing Blowfish algorithm.
</DL>
<P>In total, 521 iterations are required to generate all required subkeys. Applications can store the subkeys&#151;there&#146;s no need to execute this derivation process multiple times.
</P>
<P><FONT SIZE="+1"><B><I>Security of Blowfish</I></B></FONT></P>
<P>Serge Vaudenay examined Blowfish with known S-boxes and <I>r</I> rounds; a differential attack can recover the P-array with 2<SUP>8<I>r</I> &#43; 1</SUP> chosen plaintexts [1568]. For certain weak keys that generate bad S-boxes (the odds of getting them randomly are 1 in 2<SUP>14</SUP>), the same attack requires only 2<SUP>4<I>r</I> &#43; 1</SUP> chosen plaintexts to recover the P-array. With unknown S-boxes this attack can detect whether a weak key is being used, but cannot determine what it is (neither the S-boxes nor the P-array). This attack only works against reduced-round variants; it is completely ineffective against 16-round Blowfish.</P>
<P>Of course, the discovery of weak keys is significant, even though they seem impossible to exploit. A weak key is one in which two entries for a given S-box are identical. There is no way to check for weak keys before doing the key expansion. If you are worried, you have to do the key expansion and check for identical S-box entries. I don&#146;t think this is necessary, though.</P>
<P>I know of no successful cryptanalysis against Blowfish. To be safe, do not implement Blowfish with a reduced number of rounds.</P>
<P>Kent Marsh Ltd. has incorporated Blowfish in their FolderBolt security product for Microsoft Windows and Macintosh. It is also part of Nautilus and PGPfone.</P>
<H3><A NAME="Heading5"></A><FONT COLOR="#000077">14.4 SAFER</FONT></H3>
<P>SAFER K-64 stands for Secure And Fast Encryption Routine with a Key of 64 bits [1009]. James Massey produced this nonproprietary algorithm for Cylink Corp. and it is incorporated into some of their products. The government of Singapore is planning to use this algorithm&#151;with a 128-bit key [1010]&#151;for a wide variety of applications. There are no patent, copyright, or other restrictions on its use.
</P>
<P>The algorithm has a block and key size of 64 bits. It is not a Feistel network like DES (see Section 14.10), but an iterated block cipher: The same function is applied for some number of rounds. Each round uses two 64-bit subkeys, and the algorithm only uses operations on bytes.</P>
<P><FONT SIZE="+1"><B><I>Description of SAFER K-64</I></B></FONT></P>
<P>The plaintext block is divided into eight byte-length sub-blocks: <I>B</I><SUB>1</SUB>, <I>B</I><SUB>2</SUB>,..., <I>B</I><SUB>7</SUB>, <I>B</I><SUB>8</SUB>. Then the sub-blocks go through <I>r</I> rounds. Finally, an output transformation is applied to the sub-blocks. Each round uses two subkeys: <I>K</I><SUB>2i - 1</SUB> and <I>K</I><SUB>2i</SUB>.</P>
<P>Figure 14.4 shows one round of SAFER K-64. First, sub-blocks are either XORed or added with bytes of subkey <I>K</I><SUB>2i - 1</SUB>. Then, the eight sub-blocks are subjected to one of two nonlinear transformations:</P>
<DL>
<DD><I>y</I> = 45<SUP>x</SUP> mod 257. (If <I>x</I> = 128, then <I>y</I> = 0.)
<DD><I>y</I> = log<SUB>45</SUB> <I>x</I>. (If <I>x</I> = 0, then <I>y</I> = 128.)
</DL>
<P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="14-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="14-05.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品秋霞影院| 欧美日韩国产精品成人| 久久精品国产999大香线蕉| 一卡二卡三卡日韩欧美| 亚洲精品日韩一| 亚洲国产日产av| 天天综合色天天| 奇米综合一区二区三区精品视频| 亚洲福利一二三区| 免费三级欧美电影| 国产盗摄一区二区三区| 成人av在线电影| 欧洲日韩一区二区三区| 欧美高清性hdvideosex| 亚洲精品一区二区三区精华液| 久久综合九色综合久久久精品综合| 久久众筹精品私拍模特| 欧美激情在线一区二区三区| 国产精品每日更新| 婷婷中文字幕综合| 久久91精品久久久久久秒播| 成人在线综合网| 日本道精品一区二区三区| 欧美日韩一区二区三区在线看 | 久久久精品tv| 国产人成亚洲第一网站在线播放| 亚洲婷婷综合色高清在线| 亚洲国产中文字幕在线视频综合| 午夜精品福利久久久| 国产精品白丝jk白祙喷水网站| 成人a免费在线看| 欧美精品tushy高清| 26uuu亚洲综合色| 一区二区国产视频| 国产乱码精品1区2区3区| 日本二三区不卡| 久久久久久一二三区| 一区二区三区四区视频精品免费| 六月丁香婷婷久久| 91黄视频在线| 国产精品美女一区二区三区| 亚洲va国产天堂va久久en| 成人午夜在线视频| 这里只有精品免费| 亚洲免费在线视频| 韩国一区二区视频| 精品视频全国免费看| 椎名由奈av一区二区三区| 蜜臀91精品一区二区三区| 91美女片黄在线| 国产亚洲精品中文字幕| 免费高清在线一区| 精品视频一区 二区 三区| 亚洲天堂2014| 不卡一区二区三区四区| 国产亚洲一区二区三区四区 | 亚洲成va人在线观看| a亚洲天堂av| 久久久一区二区| 蜜桃一区二区三区四区| 欧美精选午夜久久久乱码6080| 国产精品久久久久桃色tv| 国内久久精品视频| 精品日韩在线观看| 久久99久久久久久久久久久| 555夜色666亚洲国产免| 午夜在线成人av| 欧美高清视频不卡网| 亚洲激情五月婷婷| 91国模大尺度私拍在线视频| 综合分类小说区另类春色亚洲小说欧美| 狠狠色丁香久久婷婷综合丁香| 欧美一级高清大全免费观看| 午夜精品免费在线| 欧美高清www午色夜在线视频| 天天色图综合网| 日韩欧美中文一区| 精品一区二区三区在线观看国产 | 欧美精品丝袜久久久中文字幕| 一区二区三区小说| 欧美撒尿777hd撒尿| 午夜影院久久久| 日韩一区二区免费高清| 久久99国产精品免费| 久久久噜噜噜久久人人看| 国产精品一区二区在线看| 国产女人18水真多18精品一级做| 国产69精品久久777的优势| 成人欧美一区二区三区小说| 色偷偷成人一区二区三区91| 亚洲成国产人片在线观看| 欧美一区二区三区免费大片 | 色视频欧美一区二区三区| 一区二区三区91| 欧美一区二区三级| 国产精品一区二区久久不卡| 欧美激情一区二区三区不卡| 91丨九色porny丨蝌蚪| 午夜精品久久久久久久蜜桃app| 91精品国产91久久久久久一区二区| 看电影不卡的网站| 国产精品第五页| 日韩一区二区免费在线电影| 盗摄精品av一区二区三区| 亚洲激情第一区| 精品国产99国产精品| 99精品桃花视频在线观看| 肉肉av福利一精品导航| 中文字幕av不卡| 91精品国产综合久久香蕉麻豆| 国产999精品久久久久久绿帽| 亚洲免费观看高清| 欧美精品一区二区三| 欧美性色欧美a在线播放| 国产一区二区在线视频| 亚洲国产精品天堂| 国产精品美女久久久久久久| 91精品婷婷国产综合久久性色 | 国产人伦精品一区二区| 欧洲精品一区二区三区在线观看| 狠狠色丁香婷婷综合久久片| 一区二区免费在线| 国产午夜精品福利| 欧美精品黑人性xxxx| 99免费精品在线| 国产乱子轮精品视频| 亚洲国产中文字幕在线视频综合| 国产精品人人做人人爽人人添| 欧美一级黄色大片| 欧美丰满少妇xxxxx高潮对白| av午夜一区麻豆| jlzzjlzz亚洲女人18| 国产精品1区2区3区在线观看| 丝袜亚洲另类欧美| 亚洲欧美日韩中文播放 | 99久久精品国产麻豆演员表| 日本特黄久久久高潮| 亚洲五码中文字幕| 中文字幕在线不卡| 欧美国产亚洲另类动漫| 久久在线观看免费| 日韩一区二区三区高清免费看看| 欧美日韩精品免费观看视频| 日本乱人伦aⅴ精品| 一本色道久久综合亚洲精品按摩| 成人一区二区三区中文字幕| 国产精品一区久久久久| 国内一区二区在线| 国产精品一品二品| 国产精品18久久久久久久久| 国产真实乱子伦精品视频| 捆绑变态av一区二区三区| 青青草国产精品97视觉盛宴| 丝袜美腿一区二区三区| 日韩av中文在线观看| 久久9热精品视频| 国产91精品在线观看| 国产高清视频一区| 不卡一卡二卡三乱码免费网站| 91在线免费看| 精品视频一区 二区 三区| 欧美日韩精品欧美日韩精品| 欧美一区中文字幕| 国产亚洲污的网站| 国产精品电影院| 亚洲成在人线免费| 国产一区二区调教| 91一区二区三区在线观看| 欧美影视一区二区三区| 欧美精品欧美精品系列| 26uuu色噜噜精品一区二区| 国产精品色婷婷久久58| 一区二区高清免费观看影视大全| 日韩国产精品91| 国产精品中文字幕日韩精品 | 亚洲欧美日韩国产综合在线| 亚洲愉拍自拍另类高清精品| 欧美bbbbb| 99热这里都是精品| 日韩一本二本av| 国产精品色噜噜| 天堂蜜桃一区二区三区| 国产99久久久久久免费看农村| 在线免费观看视频一区| 欧美成人精品高清在线播放| 中文字幕在线不卡| 老司机午夜精品99久久| 91丨九色丨尤物| 2017欧美狠狠色| 亚洲精品视频一区二区| 精品在线亚洲视频| 在线欧美一区二区| 欧美激情在线一区二区| 日本sm残虐另类| 一本大道av一区二区在线播放 | 成人国产精品免费网站| 欧美日韩色一区| 亚洲欧美日韩小说| 国产成人在线免费观看| 欧美一区二区精美|