📄 19-04.html
字号:
<INPUT TYPE="hidden" NAME="SearchPage" VALUE="http://search.earthweb.com/search97/samples/forms/srchdemo.htm">
<INPUT TYPE="hidden" NAME="Collection" VALUE="ITK">
<INPUT TYPE="hidden" NAME="ResultTemplate" VALUE="itk-full.hts">
<INPUT TYPE="hidden" NAME="ViewTemplate" VALUE="view.hts">
<font face="arial, helvetica" size=2><b>Search this book:</b></font><br>
<INPUT NAME="queryText" size=50 VALUE=""> <input type="submit" name="submitbutton" value="Go!">
<INPUT type=hidden NAME="section_on" VALUE="on">
<INPUT type=hidden NAME="section" VALUE="http://www.itknowledge.com/reference/standard/0471128457/">
</form>
<!-- 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=19//-->
<!--PAGES=468-469//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="19-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="19-05.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<P>first break it into small blocks. Three-digit blocks work nicely in this case. The message is split into six blocks, <I>m</I><SUB>i</SUB>, in which</P>
<DL>
<DD><I>m</I><SUB>1</SUB> = 688
<DD><I>m</I><SUB>2</SUB> = 232
<DD><I>m</I><SUB>3</SUB> = 687
<DD><I>m</I><SUB>4</SUB> = 966
<DD><I>m</I><SUB>5</SUB> = 668
<DD><I>m</I><SUB>6</SUB> = 003
</DL>
<P>The first block is encrypted as
</P>
<DL>
<DD>688<SUP>79</SUP> mod 3337 = 1570 = <I>c</I><SUB>1</SUB>
</DL>
<P>Performing the same operation on the subsequent blocks generates an encrypted message:
</P>
<DL>
<DD><I>c</I> = 1570 2756 2091 2276 2423 158
</DL>
<P>Decrypting the message requires performing the same exponentiation using the decryption key of 1019, so
</P>
<DL>
<DD>1570<SUP>1019</SUP> mod 3337 = 688 = <I>m</I><SUB>1</SUB>
</DL>
<P>The rest of the message can be recovered in this manner.
</P>
<P><FONT SIZE="+1"><B><I>RSA in Hardware</I></B></FONT></P>
<P>Much has been written on the subject of hardware implementations of RSA [1314, 1474, 1456, 1316, 1485, 874, 1222, 87, 1410, 1409, 1343, 998, 367, 1429, 523, 772]. Good survey articles are [258, 872]. Many different chips perform RSA encryption [1310, 252, 1101, 1317, 874, 69, 737, 594, 1275, 1563, 509, 1223]. A partial list of currently available RSA chips, from [150, 258], is listed in Table 19.3. Not all are available on the open market.
</P>
<P><FONT SIZE="+1"><B><I>Speed of RSA</I></B></FONT></P>
<P>In hardware, RSA is about 1000 times slower than DES. The fastest VLSI hardware implementation for RSA with a 512-bit modulus has a throughput of 64 kilobits per second [258]. There are also chips that perform 1024-bit RSA encryption. Currently chips are being planned that will approach 1 megabit per second using a 512-bit modulus; they will probably be available in 1995. Manufacturers have also implemented RSA in smart cards; these implementations are slower.
</P>
<P>In software, DES is about 100 times faster than RSA. These numbers may change slightly as technology changes, but RSA will never approach the speed of symmetric algorithms. Table 19.4 gives sample software speeds of RSA [918].</P>
<P><FONT SIZE="+1"><B><I>Software Speedups</I></B></FONT></P>
<P>RSA encryption goes much faster if you’re smart about choosing a value of <I>e</I>. The three most common choices are 3, 17, and 65537 (2<SUP>16</SUP> + 1). (The binary representation of 65537 has only two ones, so it takes only 17 multiplications to exponentiate.) X.509 recommends 65537 [304], PEM recommends 3 [76], and PKCS #1 (see Section 24.14) recommends 3 or 65537 [1345]. There are no security problems with using any of these three values for <I>e</I> (assuming you pad messages with random values—see later section), even if a whole group of users uses the same value for <I>e</I>.</P>
<TABLE WIDTH="100%"><TH CAPTION COLSPAN="7" ALIGN="CENTER">Table 19.3<BR>Existing RSA Chips
<TR>
<TD COLSPAN="7"><HR>
<TR>
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="CENTER">Company
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="RIGHT">Clock Speed
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="RIGHT">Baud Rate Per 512 Bits
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="RIGHT">Clock Cycles Per 512 Bit Encryption
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="RIGHT">Technology
<TH WIDTH="15%" VALIGN="BOTTOM" ALIGN="RIGHT">Bits per Chip
<TH VALIGN="BOTTOM" ALIGN="RIGHT">Number of Transistors
<TR>
<TD COLSPAN="7"><HR>
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Alpha Techn.
<TD VALIGN="BOTTOM" ALIGN="RIGHT">25 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">13 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.98 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">2 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1024
<TD VALIGN="BOTTOM" ALIGN="RIGHT">180,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">AT&T
<TD VALIGN="BOTTOM" ALIGN="RIGHT">15 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">19 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.4 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1.5 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">298
<TD VALIGN="BOTTOM" ALIGN="RIGHT">100,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">British Telecom
<TD VALIGN="BOTTOM" ALIGN="RIGHT">10 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">5.1 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">2.5 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">256
<TD VALIGN="BOTTOM" ALIGN="RIGHT">——
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Business Sim. Ltd.
<TD VALIGN="BOTTOM" ALIGN="RIGHT">5 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">3.8 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.67 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">Gate Array
<TD VALIGN="BOTTOM" ALIGN="RIGHT">32
<TD VALIGN="BOTTOM" ALIGN="RIGHT">——
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Calmos Syst. Inc.
<TD VALIGN="BOTTOM" ALIGN="RIGHT">20 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">28 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.36 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">2 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">593
<TD VALIGN="BOTTOM" ALIGN="RIGHT">95,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">CNET
<TD VALIGN="BOTTOM" ALIGN="RIGHT">25 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">5.3 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">2.3 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1024
<TD VALIGN="BOTTOM" ALIGN="RIGHT">100,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Cryptech
<TD VALIGN="BOTTOM" ALIGN="RIGHT">14 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">17 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.4 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">Gate Array
<TD VALIGN="BOTTOM" ALIGN="RIGHT">120
<TD VALIGN="BOTTOM" ALIGN="RIGHT">33,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Cylink
<TD VALIGN="BOTTOM" ALIGN="RIGHT">30 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">6.8 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1.2 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1.5 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1024
<TD VALIGN="BOTTOM" ALIGN="RIGHT">150,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">GEC Marconi
<TD VALIGN="BOTTOM" ALIGN="RIGHT">25 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">10.2 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.67 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1.4 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">512
<TD VALIGN="BOTTOM" ALIGN="RIGHT">160,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Pijnenburg
<TD VALIGN="BOTTOM" ALIGN="RIGHT">25 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">50 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.256 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1024
<TD VALIGN="BOTTOM" ALIGN="RIGHT">400,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Sandia
<TD VALIGN="BOTTOM" ALIGN="RIGHT">8 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">10 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.4 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">2 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">272
<TD VALIGN="BOTTOM" ALIGN="RIGHT">86,000
<TR>
<TD VALIGN="BOTTOM" ALIGN="LEFT">Siemens
<TD VALIGN="BOTTOM" ALIGN="RIGHT">5 MHz
<TD VALIGN="BOTTOM" ALIGN="RIGHT">8.5 K
<TD VALIGN="BOTTOM" ALIGN="RIGHT">.3 M
<TD VALIGN="BOTTOM" ALIGN="RIGHT">1 micron
<TD VALIGN="BOTTOM" ALIGN="RIGHT">512
<TD VALIGN="BOTTOM" ALIGN="RIGHT">60,000
<TR>
<TD COLSPAN="7"><HR>
</TABLE>
<P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="19-03.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="19-05.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
[an error occurred while processing this directive]
<!-- all of the reference materials (books) have the footer and subfoot reveresed --><!-- reference_subfoot = footer --><!-- reference_footer = subfoot --><!-- BEGIN SUB FOOTER --> <br><br> </TD> </TR> </TABLE> <table width="640" border=0 cellpadding=0 cellspacing=0> <tr> <td align="left" width=135><img src="/images/white.gif" width=100 height="1" alt="" border="0"></td> <!-- END SUB FOOTER -->
<!-- all of the books have the footer and subfoot reveresed --><!-- reference_subfoot = footer --><!-- reference_footer = subfoot --><!-- FOOTER --> <td width="515" align="left" bgcolor="#FFFFFF"><font face="arial, helvetica" size="1"><b><a href="/products.html"><font color="#006666">Products</font></a> | <a href="/contactus.html"><font color="#006666">Contact Us</font></a> | <a href="/aboutus.html"><font color="#006666">About Us</font></a> | <a href="http://www.earthweb.com/corporate/privacy.html" target="_blank"><font color="#006666">Privacy</font></a> | <a href="http://www.itmarketer.com/" target="_blank"><font color="#006666">Ad Info</font></a> | <a href="/"><font color="#006666">Home</font></a></b> <br><br> Use of this site is subject to certain <a href="/agreement.html">Terms & Conditions</a>, <a href="/copyright.html">Copyright © 1996-1999 EarthWeb Inc.</a><br> All rights reserved. Reproduction whole or in part in any form or medium without express written permision of EarthWeb is prohibited.</font><p></td> </tr></table></BODY></HTML><!-- END FOOTER -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -