发新话题
打印

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

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

2章密码术概述

数字签名是通过复杂的加密技术而产生的。尽管这些技术难以设计,但它们的基本原理却非常简单,易于理解。本章将描述加密术的基本原理。

千百年来,人们一直通过书写来交流。同样,千百年以来,人们一直关注着如何保护某些书面信息,以防对手知道。对于书面信息而言,最主要的是物理安全性,也就是防止对手获得该信息。通常情况下这种技术就足够了,而且各种信息都使用该技术。然而,如果对手即使获得了信息或其副本,也无法读懂它,那么信息就更加安全了。加密术的原则就是为了满足人们的这种需要。

密码术由设计用来保护通信的数学技术组成。密码术以非常简单却具有革命性的数学思想为基础:诸如字母表中的字母这样的数据能够作为数字进行处理(例如,根据字母在字母表中的顺序,使用从126的数字来替换每个字母),并且,这些数字能够进行数学计算。数学计算的目的是把信息弄乱,变成毫无意义,使截获该信息的对手无法弄清楚。然而,信,色、的合法接收方知道如何撤销这些数学计算,从而恢复原始信息。

在上一个世纪,通信技术呈爆炸性的发展。与之相伴的是,密码术也呈爆炸式的发展。其原因非常简单:密码术已经成为必需的技术。利用新的通信技术,可以更为容易地截获信息。传统的电话是在封闭连接的专用线路上操作,相对而言具有私密性(除非是接线员偷听)。然而,无线电通信通过空中来发送消息,从而任何具有接收装置的接收者均可截获它们。更加新式的电话(从无绳电话到移动电话)都使用了无线电技术,并且很容易被偷听。在Internet上,计算机都连在一起,组成电子邮件和网页的数据包在从发送方的计算机传递到接收方的计算机的过程中,会通过很多的中间计算机。中间计算机的操作人员可以非常容易地复制或修改数据包,在发送方和接收方之间进行破坏。

现在,人们交流着多种形式的信息,包括字词、数字、图像和声音。计算机把所有这些数据都翻译成字节流。每个字节都被认为是0255之间的某个数字。事实上,加密技术可以像操作l26之间的数字一样来操作这些数字。先前看到的是书面文本能够进行数学计算,而实际上,可以认为所有的信息都能够进行这样的操作。因此,密码术可以保护在Internet上发送的所有类型的数据。

2.1.        一个例子

2-1

Ron刚刚参加了大型计算机公司BCC的面试。面试过程非常顺利,他预期能得到一份工作。BCC是技术上非常先进的公司,鼓励员工使用新技术,因此,想在Internet上告诉Ron这份工作。HCC公司是BCC的竞争对手,其招聘人员Eve可能会试图截获Ron的工作任命。因为HCCInternet上拥有很多服务器,Alice担担心Eve可能会得逞。如果她得逞了,那么,她将有机会改变这个工作任命或阅读它。这种情况如图21所示。任何改变都可能完全破坏整个消息。或者,她可以改变工作任命,使所提出的薪水加倍,从而在RonAlice之间造成冲突;或者把薪水减半,导致Ron拒绝这份工作。如果后来RonAlice能够不受Eve的干扰而进行交流,那么,对该消息的修改也许就会被发觉。然而,到那时为止,破坏已经造成了。如果Eve只是阅读了这个工作任命,那么她就可以使用其中的信息,从而更加有效地与BCC进行竞争。RonAlice将永远都不会发现这种截取行为。显然,他们需要使用密码术来保护自己的信息不被Eve所盗取。

2.2.        术语

首先需要定义一些术语,以使有关密码术的讨论能够更加顺利地进行。将要被加密保护的消息叫做明文(plaintext)。明文不一定是可读的文本:任何计算机数据都可以被认为是明文。明文可以是电子邮件消息、图形图像、字处理文档或者甚至是字处理程序。重要的是,明文是一种人或者计算机程序可以理解的形式。加密隐藏明文叫做加密(encryptencipher)。数学运算为密码(cipher)或者加密算法(encryption algorithm)。密码这个术语通常只用在一种加密类型中,即密钥加密。因此,算法是更为专业的术语。加密过的明文叫做密文(cipher text)。加密的逆过程,密文必须被解密(decrypteddeciphered),应该生成最初的明文。加密算法解释了如何把明文加密成密文,也解释了如何把密文解密成明文。匹配的加密和解密操作并不是两个独立的算法。

古代密码术:凯撒密码

传说朱利斯•凯撒使用了一种简单的密码技术来保护他在战场上向将军发送的信息。该方法是这样的:首先,他把消息中的字母写成字母序数的形式。然后,让每个数字加三。如果这个数字大于字母表中的字母数,就使用表示差的数字来代替该数字(在英语中,Y是第25个字母,25+3等于282826之间的差就是2)。然后,用新的数字所表示的字母表中的字母来书写信息。接收到该信息的将军只需反过来运算,就可以得到原始消息了。

这里有一个例子。消息:

THE HUNS ARE CONING

变成了:

WKH KXQV DUH FRPLQJ

写下这两组字母,把第二组字母向左边移动3个位置,就可以对凯撒密码进行编码和解码。

ABCDEFGHIJKLMNOPQRSTUVWXYZ

DEFGHIJKLMNOPQRSTUVWXYZABC

前而所述的凯撒密码小在叮以用新的术语来描述。加密算法把消息中的字母转换成数字,给每个数字加3,并把这些数字转换成字母(达到字母表结尾时,则转向字母表开头)。解密过程将加密过程中的步骤反过来,所以,应该把表示密文中字母的每个数字减去3,从而生成代表明文的数字。明文THE HUNS ARE COMING所生成的密文是WKH KXQV DUH FRPLQJ

更为重要的加密术语就是密钥(key)。密钥是数字或数字组,它能够调整加密算法的行为。如果没有密钥所提供的可变性,给定的加密算法从相同的明文输入中始终只能产生相同的密文输出。凯撒密码就是没有密钥的算法,明文THE始终只能产生密文WKH。这使得算法很容易被攻击,因此安全性较低。如果明文THE有时能生成YMJ,有时能够生成AOL。那就强多了。然而,YMJTHE的凯撒密文,但这些字母已经被增加了5而不是3AOL表示左移了7个字母。也许应该调整算法。进行如下操作:

l         字母转换为数字

l         使每个数字加x

l         把每个大于26的数字减去26

l         把数字转换成字母

这里,x表示在字母表示移动明文中字母的位数,它成为了新的凯撒密码中的密钥。这个新算法是在原算法基础上的巨大改进。从而可以为不同的消息使用不同的密钥。这个凯撒密码中有两个问题。第一个问题是,这个算法只有25个可能的密钥。攻击者只需要使用铅笔和纸,就可以很快把它们全部尝试出来。在加密术语中,这个算法具有一个很小的密钥长度。密钥长度的问题将在如下小节中特别说明。

第二个问题是,如果凯撒能够选择25种可能密钥中的一种,那么,接收该消息的将军如何才能知道应用了哪个密钥呢?凯撒并不会简单地把密钥和密文一起发送,因为能够获取密文的攻击者也能够获取密钥。安全地共享密钥,而不把它们暴露给攻击者,这叫做密钥分发问题(key distribution problem)

如果凯撒和将军设法安全地共享密钥,那么,他们为什么不直接共享消息呢?简单的答案就是,当他们共享密钥时,还不知道消息是什么样的。密钥可以预先共享,比如在两个人有机会进行亲自会面的时候。以后,当他们分开时,就可以使用密钥来隐藏消息。安排会面以共享密钥并不是容易的事情,然而,这的确是千百年来的做法。20世纪70年代开发的公钥密码术最终改变了这种情形。在了解公钥密码术之前,将先研究对称密码术,它仍然代表了加密技术的主体。

本人热爱党,热爱祖国,工作认真,学习努力,争取作医院信息化的带头人。

TOP

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

第二、三章
本人热爱党,热爱祖国,工作认真,学习努力,争取作医院信息化的带头人。

TOP

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

已下载,十分感谢!
真诚交流,开阔视野

TOP

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

谢谢,顶一下
一只加肥猫,有啥可怕? --- mouse forever
___________________________________
Name(姓名): mouse
Field(行业) : PACS & RIS & DICOM
QQ (OICQ) : 2670136
Page (主页): http://www.pacser.net

-------------------------------------------------------------

TOP

发新话题