找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 3676|回复: 5

《数字签名》第2章密码术概述

[复制链接]
发表于 2006-6-14 21:51:17 | 显示全部楼层 |阅读模式
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第</span><span lang="EN-US"><font face="Times New Roman">2</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">章密码术概述</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">数字签名是通过复杂的加密技术而产生的。尽管这些技术难以设计,但它们的基本原理却非常简单,易于理解。本章将描述加密术的基本原理。</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">千百年来,人们一直通过书写来交流。同样,千百年以来,人们一直关注着如何保护某些书面信息,以防对手知道。对于书面信息而言,最主要的是物理安全性,也就是防止对手获得该信息。通常情况下这种技术就足够了,而且各种信息都使用该技术。然而,如果对手即使获得了信息或其副本,也无法读懂它,那么信息就更加安全了。加密术的原则就是为了满足人们的这种需要。</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">密码术由设计用来保护通信的数学技术组成。密码术以非常简单却具有革命性的数学思想为基础:诸如字母表中的字母这样的数据能够作为数字进行处理</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例如,根据字母在字母表中的顺序,使用从</span><span lang="EN-US"><font face="Times New Roman">1</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span><span lang="EN-US"><font face="Times New Roman">26</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的数字来替换每个字母</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,并且,这些数字能够进行数学计算。数学计算的目的是把信息弄乱,变成毫无意义,使截获该信息的对手无法弄清楚。然而,信,色、的合法接收方知道如何撤销这些数学计算,从而恢复原始信息。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在上一个世纪,通信技术呈爆炸性的发展。与之相伴的是,密码术也呈爆炸式的发展。其原因非常简单:密码术已经成为必需的技术。利用新的通信技术,可以更为容易地截获信息。传统的电话是在封闭连接的专用线路上操作,相对而言具有私密性</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">除非是接线员偷听</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。然而,无线电通信通过空中来发送消息,从而任何具有接收装置的接收者均可截获它们。更加新式的电话</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从无绳电话到移动电话</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都使用了无线电技术,并且很容易被偷听。在</span><span lang="EN-US"><font face="Times New Roman">Internet</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上,计算机都连在一起,组成电子邮件和网页的数据包在从发送方的计算机传递到接收方的计算机的过程中,会通过很多的中间计算机。中间计算机的操作人员可以非常容易地复制或修改数据包,在发送方和接收方之间进行破坏。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在,人们交流着多种形式的信息,包括字词、数字、图像和声音。计算机把所有这些数据都翻译成字节流。每个字节都被认为是</span><span lang="EN-US"><font face="Times New Roman">0</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span><span lang="EN-US"><font face="Times New Roman">255</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的某个数字。事实上,加密技术可以像操作</span><span lang="EN-US"><font face="Times New Roman">l</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span><span lang="EN-US"><font face="Times New Roman">26</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的数字一样来操作这些数字。先前看到的是书面文本能够进行数学计算,而实际上,可以认为所有的信息都能够进行这样的操作。因此,密码术可以保护在</span><span lang="EN-US"><font face="Times New Roman">Internet</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上发送的所有类型的数据。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 1.0cm"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman"><font size="3">2.1.</font><span style="FONT: 7pt 'Times New Roman'">        </span></font></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">一个例子</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">2-1</font></span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span lang="EN-US"><font face="Times New Roman" size="3"></font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">刚刚参加了大型计算机公司</span><span lang="EN-US"><font face="Times New Roman">BCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的面试。面试过程非常顺利,他预期能得到一份工作。</span><span lang="EN-US"><font face="Times New Roman">BCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是技术上非常先进的公司,鼓励员工使用新技术,因此,想在</span><span lang="EN-US"><font face="Times New Roman">Internet</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上告诉</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这份工作。</span><span lang="EN-US"><font face="Times New Roman">HCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司是</span><span lang="EN-US"><font face="Times New Roman">BCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的竞争对手,其招聘人员</span><span lang="EN-US"><font face="Times New Roman">Eve</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可能会试图截获</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的工作任命。因为</span><span lang="EN-US"><font face="Times New Roman">HCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span><span lang="EN-US"><font face="Times New Roman">Internet</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上拥有很多服务器,</span><span lang="EN-US"><font face="Times New Roman">Alice</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">担担心</span><span lang="EN-US"><font face="Times New Roman">Eve</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可能会得逞。如果她得逞了,那么,她将有机会改变这个工作任命或阅读它。这种情况如图</span><span lang="EN-US"><font face="Times New Roman">2</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">.</span><span lang="EN-US"><font face="Times New Roman">1</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。任何改变都可能完全破坏整个消息。或者,她可以改变工作任命,使所提出的薪水加倍,从而在</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman">Alice</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间造成冲突;或者把薪水减半,导致</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拒绝这份工作。如果后来</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">Alice</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能够不受</span><span lang="EN-US"><font face="Times New Roman">Eve</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的干扰而进行交流,那么,对该消息的修改也许就会被发觉。然而,到那时为止,破坏已经造成了。如果</span><span lang="EN-US"><font face="Times New Roman">Eve</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只是阅读了这个工作任命,那么她就可以使用其中的信息,从而更加有效地与</span><span lang="EN-US"><font face="Times New Roman">BCC</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行竞争。</span><span lang="EN-US"><font face="Times New Roman">Ron</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">Alice</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将永远都不会发现这种截取行为。显然,他们需要使用密码术来保护自己的信息不被</span><span lang="EN-US"><font face="Times New Roman">Eve</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所盗取。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 1.0cm"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman"><font size="3">2.2.</font><span style="FONT: 7pt 'Times New Roman'">        </span></font></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">术语</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先需要定义一些术语,以使有关密码术的讨论能够更加顺利地进行。将要被加密保护的消息叫做明文</span><span lang="EN-US"><font face="Times New Roman">(plaintext)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。明文不一定是可读的文本:任何计算机数据都可以被认为是明文。明文可以是电子邮件消息、图形图像、字处理文档或者甚至是字处理程序。重要的是,明文是一种人或者计算机程序可以理解的形式。加密隐藏明文叫做加密</span><span lang="EN-US"><font face="Times New Roman">(encrypt</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span><span lang="EN-US"><font face="Times New Roman">encipher)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。数学运算为密码</span><span lang="EN-US"><font face="Times New Roman">(cipher)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者加密算法</span><span lang="EN-US"><font face="Times New Roman">(encryption algorithm)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。密码这个术语通常只用在一种加密类型中,即密钥加密。因此,算法是更为专业的术语。加密过的明文叫做密文</span><span lang="EN-US"><font face="Times New Roman">(cipher text)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。加密的逆过程,密文必须被解密</span><span lang="EN-US"><font face="Times New Roman">(decrypted</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span><span lang="EN-US"><font face="Times New Roman">deciphered)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,应该生成最初的明文。加密算法解释了如何把明文加密成密文,也解释了如何把密文解密成明文。匹配的加密和解密操作并不是两个独立的算法。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><b style="mso-bidi-font-weight: normal"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">古代密码术:凯撒密码</span><span lang="EN-US"> <p></p></span></font></b></p><p></p><p></p><p></p><p></p><p></p><p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">传说朱利斯•凯撒使用了一种简单的密码技术来保护他在战场上向将军发送的信息。该方法是这样的:首先,他把消息中的字母写成字母序数的形式。然后,让每个数字加三。如果这个数字大于字母表中的字母数,就使用表示差的数字来代替该数字</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在英语中,</span><span lang="EN-US"><font face="Times New Roman">Y</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是第</span><span lang="EN-US"><font face="Times New Roman">25</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个字母,</span><span lang="EN-US"><font face="Times New Roman">25+3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等于</span><span lang="EN-US"><font face="Times New Roman">28</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">;</span><span lang="EN-US"><font face="Times New Roman">28</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">26</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的差就是</span><span lang="EN-US"><font face="Times New Roman">2)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。然后,用新的数字所表示的字母表中的字母来书写信息。接收到该信息的将军只需反过来运算,就可以得到原始消息了。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">这里有一个例子。消息:</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span lang="EN-US"><font face="Times New Roman" size="3">THE HUNS ARE CONING</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">变成了:</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span lang="EN-US"><font face="Times New Roman" size="3">WKH KXQV DUH FRPLQJ</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">写下这两组字母,把第二组字母向左边移动</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个位置,就可以对凯撒密码进行编码和解码。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span lang="EN-US"><font face="Times New Roman" size="3">ABCDEFGHIJKLMNOPQRSTUVWXYZ</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><span lang="EN-US"><font face="Times New Roman" size="3">DEFGHIJKLMNOPQRSTUVWXYZABC</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前而所述的凯撒密码小在叮以用新的术语来描述。加密算法把消息中的字母转换成数字,给每个数字加</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,并把这些数字转换成字母</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">达到字母表结尾时,则转向字母表开头</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。解密过程将加密过程中的步骤反过来,所以,应该把表示密文中字母的每个数字减去</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,从而生成代表明文的数字。明文</span><span lang="EN-US"><font face="Times New Roman">THE HUNS ARE COMING</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所生成的密文是</span><span lang="EN-US"><font face="Times New Roman">WKH KXQV DUH FRPLQJ</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更为重要的加密术语就是密钥</span><span lang="EN-US"><font face="Times New Roman">(key)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。密钥是数字或数字组,它能够调整加密算法的行为。如果没有密钥所提供的可变性,给定的加密算法从相同的明文输入中始终只能产生相同的密文输出。凯撒密码就是没有密钥的算法,明文</span><span lang="EN-US"><font face="Times New Roman">THE</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">始终只能产生密文</span><span lang="EN-US"><font face="Times New Roman">WKH</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。这使得算法很容易被攻击,因此安全性较低。如果明文</span><span lang="EN-US"><font face="Times New Roman">THE</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有时能生成</span><span lang="EN-US"><font face="Times New Roman">YMJ</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,有时能够生成</span><span lang="EN-US"><font face="Times New Roman">AOL</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。那就强多了。然而,</span><span lang="EN-US"><font face="Times New Roman">YMJ</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span><span lang="EN-US"><font face="Times New Roman">THE</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的凯撒密文,但这些字母已经被增加了</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而不是</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span><span lang="EN-US"><font face="Times New Roman">AOL</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示左移了</span><span lang="EN-US"><font face="Times New Roman">7</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个字母。也许应该调整算法。进行如下操作:</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42.75pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo2; tab-stops: list 42.75pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore"><font size="3">l</font><span style="FONT: 7pt 'Times New Roman'">         </span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">字母转换为数字</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42.75pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo2; tab-stops: list 42.75pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore"><font size="3">l</font><span style="FONT: 7pt 'Times New Roman'">         </span></span></span><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使每个数字加</span><span lang="EN-US"><font face="Times New Roman">x</font></span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42.75pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo2; tab-stops: list 42.75pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore"><font size="3">l</font><span style="FONT: 7pt 'Times New Roman'">         </span></span></span><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把每个大于</span><span lang="EN-US"><font face="Times New Roman">26</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的数字减去</span><span lang="EN-US"><font face="Times New Roman">26</font></span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42.75pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo2; tab-stops: list 42.75pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore"><font size="3">l</font><span style="FONT: 7pt 'Times New Roman'">         </span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">把数字转换成字母</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里,</span><span lang="EN-US"><font face="Times New Roman">x</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示在字母表示移动明文中字母的位数,它成为了新的凯撒密码中的密钥。这个新算法是在原算法基础上的巨大改进。从而可以为不同的消息使用不同的密钥。这个凯撒密码中有两个问题。第一个问题是,这个算法只有</span><span lang="EN-US"><font face="Times New Roman">25</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个可能的密钥。攻击者只需要使用铅笔和纸,就可以很快把它们全部尝试出来。在加密术语中,这个算法具有一个很小的密钥长度。密钥长度的问题将在如下小节中特别说明。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二个问题是,如果凯撒能够选择</span><span lang="EN-US"><font face="Times New Roman">25</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种可能密钥中的一种,那么,接收该消息的将军如何才能知道应用了哪个密钥呢</span><span lang="EN-US"><font face="Times New Roman">?</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">凯撒并不会简单地把密钥和密文一起发送,因为能够获取密文的攻击者也能够获取密钥。安全地共享密钥,而不把它们暴露给攻击者,这叫做密钥分发问题</span><span lang="EN-US"><font face="Times New Roman">(key distribution problem)</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果凯撒和将军设法安全地共享密钥,那么,他们为什么不直接共享消息呢</span><span lang="EN-US"><font face="Times New Roman">?</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">简单的答案就是,当他们共享密钥时,还不知道消息是什么样的。密钥可以预先共享,比如在两个人有机会进行亲自会面的时候。以后,当他们分开时,就可以使用密钥来隐藏消息。安排会面以共享密钥并不是容易的事情,然而,这的确是千百年来的做法。</span><span lang="EN-US"><font face="Times New Roman">20</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">世纪</span><span lang="EN-US"><font face="Times New Roman">70</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年代开发的公钥密码术最终改变了这种情形。在了解公钥密码术之前,将先研究对称密码术,它仍然代表了加密技术的主体。</span></font></p>
 楼主| 发表于 2006-6-14 22:25:59 | 显示全部楼层

《数字签名》第2章密码术概述

第二、三章
发表于 2006-6-15 09:27:46 | 显示全部楼层

《数字签名》第2章密码术概述

已下载,十分感谢!
发表于 2006-6-15 11:36:43 | 显示全部楼层

《数字签名》第2章密码术概述

谢谢,顶一下
发表于 2009-10-8 14:04:52 | 显示全部楼层
抛砖引玉
发表于 2009-11-12 20:03:13 | 显示全部楼层
有没有电子版的《数字签名》?给我传一份嘛,谢谢了
我的邮箱是wlflyfly@163.com
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表