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

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

?? 20-04.html

?? 應(yīng)用密碼學(xué)電子書籍
?? HTML
字號(hào):
<html><head><TITLE>APPLIED CRYPTOGRAPHY, SECOND EDITION: Protocols, Algorithms, and Source Code in C:Public-Key Digital Signature Algorithms</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=20//-->
<!--PAGES=489-491//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->

<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="20-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="20-05.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<DL>
<DD><B>(1)</B>&nbsp;&nbsp;Choose an arbitrary sequence of at least 160 bits and call it <I>S</I>. Let <I>g</I> be the length of <I>S</I> in bits.
<DD><B>(2)</B>&nbsp;&nbsp;Compute <I>U</I> = SHA(<I>S</I>) &#8853; SHA ((<I>S</I> &#43; 1) mod 2<SUP><I>g</I></SUP>), where SHA is the Secure Hash Algorithm (see Section 18.7).
<DD><B>(3)</B>&nbsp;&nbsp;Form <I>q</I> by setting the most significant bit and the least significant bit of <I>U</I> to 1.
<DD><B>(4)</B>&nbsp;&nbsp;Check whether <I>q</I> is prime.
<DD><B>(5)</B>&nbsp;&nbsp;If <I>q</I> is not prime, go back to step (1).
<DD><B>(6)</B>&nbsp;&nbsp;Let <I>C</I> = 0 and <I>N</I> = 2.
<DD><B>(7)</B>&nbsp;&nbsp;For <I>k</I> = 0, 1,..., <I>n</I>, let <I>V</I><SUB>k</SUB> = SHA ((<I>S</I> &#43; <I>N</I> &#43; <I>k</I>) mod 2<SUP><I>g</I></SUP>)
<DD><B>(8)</B>&nbsp;&nbsp;Let <I>W</I> be the integer
<DL>
<DD><I>W</I> = <I>V</I><SUB>0</SUB> &#43; 2<SUP>160</SUP><I>V</I><SUB>1</SUB> &#43;...&#43; 2<SUP>160(<I>n</I> - 1)</SUP><I>V</I><SUB>n - 1</SUB> &#43; 2<SUP>160<I>n</I></SUP>(<I>V</I><SUB>n</SUB> mod 2<SUP><I>b</I></SUP>)
</DL>
<BR>and let
<DL>
<DD><I>X</I> = <I>W</I> &#43; 2<SUP><I>L</I> - 1</SUP>
</DL>
<BR>Note that <I>X</I> is an <I>L</I>-bit number.
<DD><B>(9)</B>&nbsp;&nbsp;Let <I>p</I> = <I>X</I> &#150; ((<I>X</I> mod <I>2</I><SUB>q</SUB>) &#150; 1). Note that <I>p</I> is congruent to 1 mod <I>2</I><SUB>q</SUB>.
<DD><B>(10)</B>&nbsp;&nbsp;If <I>p</I> &lt 2<SUP><I>L</I> - 1</SUP>, then go to step (13).
<DD><B>(11)</B>&nbsp;&nbsp;Check whether <I>p</I> is prime.
<DD><B>(12)</B>&nbsp;&nbsp;If <I>p</I> is prime, go to step (15).
<DD><B>(13)</B>&nbsp;&nbsp;Let <I>C</I> = <I>C</I> &#43; 1 and <I>N</I> = <I>N</I> &#43; <I>n</I> &#43; 1.
<DD><B>(14)</B>&nbsp;&nbsp;If <I>C</I> = 4096, then go to step (1). Otherwise, go to step (7).
<DD><B>(15)</B>&nbsp;&nbsp;Save the value of <I>S</I> and the value of <I>C</I> used to generate <I>p</I> and <I>q</I>.
</DL>
<P>In [1154], the variable <I>S</I> is called the &#147;seed,&#148; <I>C</I> is called the &#147;counter,&#148; and <I>N</I> the &#147;offset.&#148;</P>
<P>The point of this exercise is that there is a public means of generating <I>p</I> and <I>q</I>. For all practical purposes, this method prevents cooked values of <I>p</I> and <I>q</I>. If someone hands you a <I>p</I> and a <I>q</I>, you might wonder where that person got them. However, if someone hands you a value for <I>S</I> and <I>C</I> that generated the random <I>p</I> and <I>q</I>, you can go through this routine yourself. Using a one-way hash function, SHA in the standard, prevents someone from working backwards from a <I>p</I> and <I>q</I> to generate an <I>S</I> and <I>C</I>.</P>
<P>This security is better than what you get with RSA. In RSA, the prime numbers are kept secret. Someone could generate a fake prime or one of a special form that makes factoring easier. Unless you know the private key, you won&#146;t know that. Here, even if you don&#146;t know a person&#146;s private key, you can confirm that <I>p</I> and <I>q</I> have been generated randomly.</P>
<P><FONT SIZE="+1"><B><I>ElGamal Encryption with DSA</I></B></FONT></P>
<P>There have been allegations that the government likes the DSA because it is only a digital signature algorithm and can&#146;t be used for encryption. It is, however, possible to use the DSA function call to do ElGamal encryption.
</P>
<P>Assume that the DSA algorithm is implemented with a single function call:</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,q,g,k,x,h,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>You supply the numbers <I>p, q, g, k, x</I>, and <I>h</I>, and the function returns the signature parameters: <I>r</I> and <I>s</I>.</P>
<P>To do ElGamal encryption of message <I>m</I> with public key <I>y</I>, choose a random number, <I>k</I>, and call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,p,g,k,0,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>The value of <I>r</I> returned is <I>a</I> in the ElGamal scheme. Throw <I>s</I> away. Then, call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,p,y,k,0,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>Rename the value of <I>r</I> to be <I>u</I>; throw <I>s</I> away. Call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,p,m,1,u,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>Throw <I>r</I> away. The value of <I>s</I> returned is <I>b</I> in the ElGamal scheme. You now have the ciphertext, <I>a</I> and <I>b</I>.</P>
<P>Decryption is just as easy. Using secret key <I>x</I>, and ciphertext messages <I>a</I> and <I>b</I>, call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,p,a,x,0,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>The value <I>r</I> is <I>a<SUP>x</I></SUP> mod <I>p</I>. Call that <I>e</I>. Then call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (p,p,1,e,b,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>The value <I>s</I> is the plaintext message, <I>m</I>.</P>
<P>This method will not work with all implementations of DSA. Some may fix the values of <I>p</I> and <I>q</I>, or the lengths of some of the other parameters. Still, if the implementation is general enough, this is a way to encrypt using nothing more than digital signature function.</P>
<P><FONT SIZE="+1"><B><I>RSA Encryption with DSA</I></B></FONT></P>
<P>RSA encryption is even easier. With a modulus <I>n</I>, message <I>m</I>, and public key <I>e</I>, call</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (n,n,m,e,0,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>The value of <I>r</I> returned is the ciphertext.</P>
<P>RSA decryption is the same thing. If <I>d</I> is the private key, then</P>
<!-- CODE SNIP //-->
<PRE>
    DSAsign (n,n,m,d,0,0,r,s)
</PRE>
<!-- END CODE SNIP //-->
<P>returns the plaintext as the value of <I>r</I>.</P>
<P><FONT SIZE="+1"><B><I>Security of DSA</I></B></FONT></P>
<P>At 512-bits, DSA wasn&#146;t strong enough for long-term security. At 1024 bits, it is.
</P><P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="20-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="20-05.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一区二区三区免费野_久草精品视频
www.日韩在线| 国产精品一区二区三区99| 欧美片在线播放| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产精品久久久久久久久搜平片 | 91精品久久久久久久91蜜桃| 国产精品中文字幕一区二区三区| 国产精品麻豆视频| 国产三区在线成人av| 91精品欧美久久久久久动漫 | 精品国产乱码久久久久久牛牛| 麻豆中文一区二区| 中文字幕一区二区三区不卡在线| 色综合久久天天| 日韩av在线播放中文字幕| 精品久久久久久综合日本欧美 | 精品国产免费人成电影在线观看四季 | 日韩在线卡一卡二| jizzjizzjizz欧美| 久久 天天综合| 日韩一区有码在线| 精品久久久久香蕉网| 亚洲欧美综合色| 欧美日韩精品欧美日韩精品一综合| 成人黄色777网| 成人性生交大片| 99国产精品国产精品毛片| 成人深夜视频在线观看| 成人av电影在线网| 97久久精品人人做人人爽| 99久久精品久久久久久清纯| 懂色av一区二区三区蜜臀| 国产成人在线免费| 91视频免费观看| 欧美日韩免费在线视频| 成人激情视频网站| 国产aⅴ综合色| 国产精品久久久久久久久免费桃花 | 国产伦精品一区二区三区免费 | 久久精品视频免费观看| 国产精品毛片久久久久久| 一区二区三区四区在线播放| 日韩成人一级大片| 粉嫩aⅴ一区二区三区四区| 色综合中文综合网| 在线精品视频免费观看| 欧美一区二区三区公司| 国产欧美日韩综合| 一区二区三区不卡视频| 久久国产精品99久久久久久老狼| 丁香六月综合激情| 欧美美女bb生活片| 亚洲国产高清不卡| 日韩中文字幕麻豆| 成人a级免费电影| 91麻豆精品国产91久久久久久 | 亚洲精品一区二区三区香蕉 | 一本到一区二区三区| 日韩欧美中文字幕一区| 国产精品久久三| 蜜臀久久99精品久久久久久9| 成人免费观看视频| 日韩欧美亚洲国产另类| 亚洲蜜臀av乱码久久精品| 国产一区二区调教| 欧美性videosxxxxx| 久久精品欧美一区二区三区不卡 | 色激情天天射综合网| 久久先锋影音av| 亚洲成国产人片在线观看| www.久久精品| 久久―日本道色综合久久| 亚洲高清视频的网址| 成人av在线看| 久久嫩草精品久久久久| 日韩av在线发布| 在线观看亚洲专区| 国产精品久久久久婷婷二区次| 免费观看一级欧美片| 在线看国产一区二区| 国产精品女人毛片| 国产一区二区在线看| 欧美一区二区三区免费大片| 亚洲一区二区三区三| 菠萝蜜视频在线观看一区| 欧美v日韩v国产v| 三级成人在线视频| 欧洲亚洲国产日韩| 亚洲天天做日日做天天谢日日欢| 国产精品1024久久| 26uuu精品一区二区在线观看| 日韩电影在线观看一区| 欧美在线高清视频| 有码一区二区三区| 97se亚洲国产综合自在线| 中文字幕高清不卡| 国产91综合一区在线观看| 精品99久久久久久| 经典三级一区二区| 精品国产免费人成在线观看| 蜜臀91精品一区二区三区| 4438成人网| 日本不卡视频在线观看| 欧美精品丝袜中出| 日韩精品成人一区二区在线| 欧美日韩精品一二三区| 亚洲成人av中文| 6080国产精品一区二区| 日本不卡一二三| 日韩欧美国产综合一区 | 欧美午夜片在线看| 午夜精品福利一区二区蜜股av | 亚洲福利一二三区| 欧美群妇大交群的观看方式| 无码av免费一区二区三区试看| 欧美美女喷水视频| 久久99热狠狠色一区二区| 日韩精品一区二区三区老鸭窝| 蜜臀av国产精品久久久久| 亚洲精品在线三区| 国产精品亚洲专一区二区三区 | 国产精品视频一二三区 | 国产午夜精品美女毛片视频| 国产a精品视频| 亚洲视频免费观看| 在线观看成人免费视频| 亚洲国产成人av| 欧美一级高清大全免费观看| 精品在线亚洲视频| 亚洲国产精品成人综合| 色综合天天做天天爱| 性感美女极品91精品| 精品久久久久久亚洲综合网| 国产成人一区二区精品非洲| 亚洲色图色小说| 91.成人天堂一区| 国产精品一二三四五| 亚洲同性gay激情无套| 制服丝袜中文字幕亚洲| 国产一区二区三区电影在线观看| 国产精品初高中害羞小美女文| 欧美三电影在线| 国产专区欧美精品| 一区二区久久久久久| 91精品国产全国免费观看| 国产乱人伦精品一区二区在线观看| 国产精品三级电影| 欧美卡1卡2卡| 懂色av中文字幕一区二区三区| 午夜婷婷国产麻豆精品| 欧美精品一区二区三区在线 | 欧美自拍丝袜亚洲| 久久99国内精品| 亚洲欧美电影院| 日韩精品一区二区在线| 99国产麻豆精品| 玖玖九九国产精品| 亚洲女性喷水在线观看一区| 日韩欧美一区二区三区在线| 97精品国产露脸对白| 国精品**一区二区三区在线蜜桃| 亚洲另类在线视频| 久久蜜桃av一区精品变态类天堂 | 这里是久久伊人| 成人三级伦理片| 美女国产一区二区三区| 综合欧美亚洲日本| 26uuu色噜噜精品一区| 欧美日韩三级在线| 99在线精品免费| 激情另类小说区图片区视频区| 一区二区三区色| 中文字幕av免费专区久久| 欧美一区二区私人影院日本| 91在线云播放| 国产河南妇女毛片精品久久久| 日韩和欧美一区二区三区| 亚洲欧美日韩人成在线播放| 久久一区二区三区四区| 欧美伦理视频网站| 色婷婷国产精品| 成人国产亚洲欧美成人综合网| 狠狠色综合播放一区二区| 天堂影院一区二区| 一区二区欧美国产| 亚洲毛片av在线| 中文一区二区完整视频在线观看| 精品国产乱码久久久久久免费| 欧美久久久久久久久久 | 亚洲乱码国产乱码精品精可以看| 久久你懂得1024| 精品不卡在线视频| 欧美成人猛片aaaaaaa| 在线电影一区二区三区| 欧美午夜片在线观看| 91成人网在线| 色噜噜狠狠色综合中国| 91丨porny丨首页| www.色综合.com| 91猫先生在线|