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

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

?? 08-03.html

?? 應用密碼學電子書籍
?? HTML
字號:
<html><head><TITLE>APPLIED CRYPTOGRAPHY, SECOND EDITION: Protocols, Algorithms, and Source Code in C:Key Management</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=08//-->
<!--PAGES=174-177//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->

<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="08-02.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="08-04.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<P><FONT SIZE="+1"><B><I>Pass Phrases</I></B></FONT></P>
<P>A better solution is to use an entire phrase instead of a word, and to convert that phrase into a key. These phrases are called <B>pass phrases</B>. A technique called <B>key crunching</B> converts the easy-to-remember phrases into random keys. Use a one-way hash function to transform an arbitrary-length text string into a pseudo-random-bit string.</P>
<P>For example, the easy-to-remember text string:</P>
<!-- CODE SNIP //-->
<PRE>
My name is Ozymandias, king of kings. Look on my works, ye mighty, and despair.
</PRE>
<!-- END CODE SNIP //-->
<P>might crunch into this 64-bit key:
</P>
<!-- CODE SNIP //-->
<PRE>
e6c1 4398 5ae9 0a9b
</PRE>
<!-- END CODE SNIP //-->
<P>Of course, it can be difficult to type an entire phrase into a computer with the echo turned off. Clever suggestions to solve this problem would be appreciated.
</P>
<P>If the phrase is long enough, the resulting key will be random. Exactly what &#147;long enough&#148; means is open to interpretation. Information theory tells us that standard English has about 1.3 bits of information per character (see Section 11.1). For a 64-bit key, a pass phrase of about 49 characters, or 10 normal English words, should be sufficient. As a rule of thumb, figure that you need five words for each 4 bytes of key. That&#146;s a conservative assumption, since it doesn&#146;t take into account case, spacing, and punctuation.</P>
<P>This technique can even be used to generate private keys for public-key cryptography systems: The text string could be crunched into a random seed, and that seed could be fed into a deterministic system that generates public-key/private-key key pairs.</P>
<P>If you are choosing a pass phrase, choose something unique and easy-to-remember. Don&#146;t choose phrases from literature&#151;the example from &#147;Ozymandias&#148; is a bad one. Both the complete works of Shakespeare and the dialogue from <I>Star Wars</I> are available on-line and can be used in a dictionary attack. Choose something obscure, but personal. Include punctuation and capitalization; if you can, include numbers and non-alphanumeric symbols. Poor or improper English, or even a foreign language, makes the pass phrase less susceptible to a dictionary attack. One suggestion is to use a phrase that is &#147;shocking nonsense&#148;: something offensive enough that you are likely to remember and unlikely to write down.</P>
<P>Despite everything written here, obscurity is no substitute for true randomness. The best keys are random keys, difficult as they are to remember.</P>
<P><FONT SIZE="+1"><B><I>X9.17 Key Generation</I></B></FONT></P>
<P>The ANSI X9.17 standard specifies a method of key generation (see Figure 8.1) [55]. This does not generate easy-to-remember keys; it is more suitable for generating session keys or pseudo-random numbers within a system. The cryptographic algorithm used to generate keys is triple-DES, but it could just as easily be any algorithm.
</P>
<P>Let <I>E</I><SUB>K</SUB>(<I>X</I>) be triple-DES encryption of <I>X</I> with key <I>K</I>. This is a special key reserved for secret key generation. <I>V</I><SUB>0</SUB> is a secret 64-bit seed. <I>T</I> is a timestamp. To generate the random key <I>R</I><SUB>i</SUB>, calculate:</P>
<DL>
<DD><I>R</I><SUB>i</SUB> = <I>E</I><SUB>K</SUB>(<I>E</I><SUB>K</SUB>(<I>T</I><SUB>i</SUB>) &#8853; <I>V</I><SUB>i</SUB>)
</DL>
<P>To generate <I>V</I><SUB>i,&#43;1</SUB>, calculate:</P>
<DL>
<DD><I>V</I><SUB>i&#43;1</SUB> = <I>E</I><SUB>K</SUB>(<I>E</I><SUB>K</SUB>(<I>T</I><SUB>i</SUB>) &#8853; <I>R</I><SUB>i</SUB>)
</DL>
<P>To turn <I>R</I><SUB>i</SUB> into a DES key, simply adjust every eighth bit for parity. If you need a 64-bit key, use it as is. If you need a 128-bit key, generate a pair of keys and concatenate them together.</P>
<P><FONT SIZE="+1"><B><I>DoD Key Generation</I></B></FONT></P>
<P>The U.S. Department of Defense recommends using DES in OFB mode (see Section 9.8) to generate random keys [1144]. Generate a DES key from system interrupt vectors, system status registers, and system counters. Generate an initialization vector from the system clock, system ID, and date and time. For the plaintext, use an externally generated 64-bit quantity: eight characters typed in by a system administrator, for example. Use the output as your key.
</P>
<H3><A NAME="Heading3"></A><FONT COLOR="#000077">8.2 Nonlinear Keyspaces</FONT></H3>
<P>Imagine that you are a military cryptography organization, building a piece of cryptography equipment for your troops. You want to use a secure algorithm, but you are worried about the equipment falling into enemy hands. The last thing you want is for your enemy to be able to use the equipment to protect <I>their</I> secrets.</P>
<I><P><A NAME="Fig1"></A><A HREF="javascript:displayWindow('images/08-01.jpg',226,88 )"><IMG SRC="images/08-01t.jpg"></A>
<BR><A HREF="javascript:displayWindow('images/08-01.jpg',226,88)"><FONT COLOR="#000077"><B>Figure 8.1</B></FONT></A>&nbsp;&nbsp;ANSI X9.17 key generation.</I>
</P>
<P>If you can put your algorithm in a tamperproof module, here&#146;s what you can do. You can require keys of a special and secret form; all other keys will cause the module to encrypt and decrypt using a severely weakened algorithm. You can make it so that the odds of someone, not knowing this special form but accidentally stumbling on a correct key, are vanishingly small.
</P>
<P>This is called a <B>nonlinear keyspace</B>, because all the keys are not equally strong. (The opposite is a linear, or <B>flat</B>, keyspace.) An easy way to do this is to create the key as two parts: the key itself and some fixed string encrypted with that key. The module decrypts the string with the key; if it gets the fixed string it uses the key normally, if not it uses a different, weak algorithm. If the algorithm has a 128-bit key and a 64-bit block size, the overall key is 192 bits; this gives the algorithm an effective key of 2<SUP>128</SUP>, but makes the odds of randomly choosing a good key one in 2<SUP>64</SUP>.</P>
<P>You can be even subtler. You can design an algorithm such that certain keys are stronger than others. An algorithm can have no weak keys&#151;keys that are obviously very poor&#151;and can still have a nonlinear keyspace.</P>
<P>This only works if the algorithm is secret and the enemy can&#146;t reverse-engineer it, or if the difference in key strength is subtle enough that the enemy can&#146;t figure it out. The NSA did this with the secret algorithms in their Overtake modules (see Section 25.1). Did they do the same thing with Skipjack (see Section 13.12)? No one knows.</P>
<H3><A NAME="Heading4"></A><FONT COLOR="#000077">8.3 Transferring Keys</FONT></H3>
<P>Alice and Bob are going to use a symmetric cryptographic algorithm to communicate securely; they need the same key. Alice generates a key using a random-key generator. Now she has to give it to Bob&#151;securely. If Alice can meet Bob somewhere (a back alley, a windowless room, or one of Jupiter&#146;s moons), she can give him a copy of the key. Otherwise, they have a problem. Public-key cryptography solves the problem nicely and with a minimum of prearrangement, but these techniques are not always available (see Section 3.1). Some systems use alternate channels known to be secure. Alice could send Bob the key with a trusted messenger. She could send it by certified mail or via an overnight delivery service. She could set up another communications channel with Bob and hope no one is eavesdropping on that one.
</P>
<P>Alice could send Bob the symmetric key over their communications channel&#151;the one they are going to encrypt. This is foolish; if the channel warrants encryption, sending the encryption key in the clear over the same channel guarantees that anyone eavesdropping on the channel can decrypt all communications.</P>
<P>The X9.17 standard [55] specifies two types of keys: key-encryption keys and data keys. <B>Key-Encryption</B> Keys encrypt other keys for distribution. <B>Data Keys</B> encrypt message traffic. These key-encrypting keys have to be distributed manually (although they can be secured in a tamperproof device, like a smart card), but only seldomly. Data keys are distributed more often. More details are in [75]. This two-tiered key concept is used a lot in key distribution.</P>
<P>Another solution to the distribution problem splits the key into several different parts (see Section 3.6) and sends each of those parts over a different channel. One part could be sent over the telephone, one by mail, one by overnight delivery service, one by carrier pigeon, and so on. (see Figure 8.2). Since an adversary could collect all but one of the parts and still have no idea what the key is, this method will work in all but extreme cases. Section 3.6 discusses schemes for splitting a key into several parts. Alice could even use a secret sharing scheme (see Section 3.7), allowing Bob to reconstruct the key if some of the shares are lost in transmission.</P>
<P>Alice sends Bob the key-encryption key securely, either by a face-to-face meeting or the splitting technique just discussed. Once Alice and Bob both have the key-encryption key, Alice can send Bob daily data keys over the same communications channel. Alice encrypts each data key with the key-encryption key. Since the amount of traffic being encrypted with the key-encryption key is low, it does not have to be changed as often. However, since compromise of the key-encryption key could compromise every message encrypted with every key that was encrypted with the key-encryption key, it must be stored securely.</P><P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="08-02.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="08-04.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一区二区三区免费野_久草精品视频
狠狠色丁香久久婷婷综合_中| 欧美日韩亚洲综合一区| 在线不卡的av| 欧美一区二区三区四区视频| 亚洲毛片av在线| 91在线一区二区| 国产精品美女视频| av成人老司机| 国产精品麻豆视频| 天堂在线一区二区| 91精品免费观看| 91视视频在线观看入口直接观看www| 久久午夜免费电影| 国产成人av影院| 亚洲视频网在线直播| 91免费视频大全| 亚洲一区二区高清| 欧美蜜桃一区二区三区| 天天色综合成人网| 91精品欧美综合在线观看最新| 午夜伦欧美伦电影理论片| 一本色道a无线码一区v| 亚洲色图.com| 欧美自拍偷拍午夜视频| 日韩和欧美一区二区| 精品国产精品网麻豆系列| 麻豆精品久久久| 国产午夜精品一区二区| 国产麻豆精品theporn| 国产精品视频免费| 97久久精品人人澡人人爽| 亚洲综合清纯丝袜自拍| 日韩一区二区在线播放| 国产成人aaaa| 亚洲资源中文字幕| 欧美一区二区精品| 国产精品亚洲成人| 有码一区二区三区| 欧美日韩在线一区二区| 久久国内精品自在自线400部| 国产丝袜美腿一区二区三区| 一本大道久久a久久综合婷婷| 亚洲五月六月丁香激情| www亚洲一区| 色综合久久中文综合久久97| 青青草国产成人99久久| 欧美国产在线观看| 欧美三级乱人伦电影| 狠狠色综合色综合网络| 国产精品自拍在线| 亚洲国产另类精品专区| 国产日韩av一区| 色av一区二区| 国产自产v一区二区三区c| 亚洲中国最大av网站| 久久久国产精品不卡| 精品视频免费看| 国产一二精品视频| 亚洲天堂中文字幕| 久久综合色综合88| 色天使色偷偷av一区二区| 国产成人丝袜美腿| 久久精品亚洲精品国产欧美 | 国产精品视频免费看| 欧美日韩久久久一区| 成人在线综合网| 老司机一区二区| 亚洲精品成人a在线观看| 久久久久青草大香线综合精品| 在线观看中文字幕不卡| 国产福利精品一区| 麻豆精品精品国产自在97香蕉| 日韩美女在线视频| 爽爽淫人综合网网站| 亚洲人妖av一区二区| 国产欧美一区二区精品忘忧草 | 捆绑紧缚一区二区三区视频| 一区二区三区日韩| 国产精品―色哟哟| 国产亚洲欧美在线| 欧美日韩在线播放三区| 成人高清在线视频| 成人小视频免费在线观看| 精品午夜久久福利影院| 欧美aⅴ一区二区三区视频| 婷婷中文字幕一区三区| 午夜成人免费电影| 亚洲午夜私人影院| 亚洲国产日韩a在线播放性色| 亚洲激情校园春色| 亚洲视频在线一区| 亚洲免费高清视频在线| 亚洲视频资源在线| 一区二区三区日韩| 亚洲愉拍自拍另类高清精品| 一区二区三区.www| 亚洲一区二区三区视频在线| 日韩va亚洲va欧美va久久| 亚洲va中文字幕| 亚洲成人av福利| 日韩二区在线观看| 亚洲第一电影网| 日本强好片久久久久久aaa| 丝瓜av网站精品一区二区| 亚洲激情自拍偷拍| 日韩黄色在线观看| 久久99久久99| 99精品视频在线免费观看| 在线免费视频一区二区| 欧美日本精品一区二区三区| 欧美一区二区久久| 久久嫩草精品久久久久| 久久精品亚洲麻豆av一区二区| 国产免费观看久久| 久久久久久久久伊人| 有坂深雪av一区二区精品| 亚洲一二三区不卡| 日韩av一级片| 久久www免费人成看片高清| 亚洲欧美日韩久久| 国产亚洲精品aa| 日韩久久一区二区| 日韩一区精品字幕| 国产精品乡下勾搭老头1| 成人av资源在线观看| 欧美色大人视频| 精品国产1区二区| 国产精品卡一卡二卡三| 亚洲国产精品人人做人人爽| 蜜桃久久av一区| 国产高清亚洲一区| 91电影在线观看| xfplay精品久久| 一区二区三区四区国产精品| 亚洲黄色小视频| 精品一区二区av| 91久久精品一区二区| 日韩视频在线你懂得| 亚洲欧美综合另类在线卡通| 日韩激情视频在线观看| 不卡一区中文字幕| 欧美午夜视频网站| 综合亚洲深深色噜噜狠狠网站| 日韩精品三区四区| a4yy欧美一区二区三区| 日韩精品一区二| 夜夜精品视频一区二区| 国产福利视频一区二区三区| 欧美日韩视频不卡| 一区二区三区四区不卡在线 | 极品少妇一区二区| 一本大道久久a久久精品综合| 久久久久国产一区二区三区四区| 一区二区三区四区蜜桃| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 狠狠色丁香婷婷综合久久片| 91激情在线视频| 久久综合资源网| 亚洲精品欧美在线| 国产成人一区二区精品非洲| 欧美精品在线视频| 亚洲视频一区二区免费在线观看| 国内精品第一页| 91麻豆精品国产综合久久久久久| 亚洲一区二区三区激情| 成人av免费在线观看| 久久女同精品一区二区| 久久丁香综合五月国产三级网站| 色婷婷综合久久久中文一区二区 | 欧美一区二区三区日韩| 一区二区三区在线免费| 成人app网站| 国产精品欧美一区喷水| 91老司机福利 在线| 国产精品久久99| 波多野结衣一区二区三区| 国产欧美综合在线观看第十页| 久久99热这里只有精品| 欧美一区二区精品| 香蕉成人啪国产精品视频综合网| 欧美剧在线免费观看网站| 亚洲一区二区精品视频| 欧美日韩成人一区| 丝袜美腿一区二区三区| 欧美精品自拍偷拍动漫精品| 日韩精品三区四区| 欧美三级三级三级| 久久99久久99精品免视看婷婷| 欧美电影免费观看高清完整版在| 喷水一区二区三区| 欧美成人一级视频| 国产精品综合二区| 国产日韩成人精品| 在线观看www91| 亚洲国产综合在线| 91精品国产91久久久久久一区二区| 视频一区免费在线观看| 国产欧美综合在线观看第十页| 成人h动漫精品一区二区| 国产精品剧情在线亚洲|