- 计算机网络安全技术研究
- 董仕
- 1848字
- 2020-06-24 14:33:08
第一章 信息加密技术的研究
第一节 信息加密技术的发展历程
信息加密技术是一个既古老又新颖的领域。加密(Encryption),一般是指这样一个过程:将一组信息(或称明文,Plaintext)经过密钥(Key)及加密函数的转换,变成无阅读意义的密文(Ciphertext),而接收方则将此密文经过解密(Decryption)密钥和解密函数还原成明文。其基本模型如图1.1所示。事实上要想保密,最简单的做法就是不把它告诉别人,知道“秘密”的人越多,泄密的可能性越大,最后秘密也不称为秘密了。
图1.1 信息加密基本模型
在古代,保守一个秘密似乎要容易一些,因为只有少数人才有读书、写字的特权,如果一个秘密是书写下来的,那么只有数量极少的人才知道它是什么意思。随着越来越多的人掌握了读写文字的能力,越来越有必要在这些人中保守秘密。
早期的加密方法非常简单。据说恺撒大帝曾用一种初级的密码来加密消息,对那些他认为能够分享秘密的人,便告诉他们如何重新组合原来的消息。这种密码便是著名的“恺撒密码(The Caesar Cipher)”。它其实是一种简单的替换加密法:字母表中的每个字母依次都被其后的第三个字母取代。换言之,字母A变成D、B变成E……X变成A、Y变成B、Z变成C,依此类推。这种加密技术的一个变种是ROT-13密码,每个字母均循环移动13个位置。
简单的替换加密存在重大的缺陷,因为重复出现的某个字母总是会用相同的字母替代。通过对某种语言的分析,便可知道字母被移位的大致距离。
在古代,人和人之间的身份验证也很重要。如果只有少数人能读会写,那么签名就足以证明一个人的身份。但随着掌握读写技能的人越来越多,印章逐渐成为“签署人”的一种独特的记号。利用这种记号,便可证明信件、文档和法令签署人的身份确实无误。但随着技术的发展,人们可轻松仿制出各式各样的印章,所以它也失却了原先的“独特”性。
发展到近代,密码和与之对应的译码技术在历史上占据了重要的地位。第二次世界大战中,德国政府使用一种名为Enigma的加密设备,对自己的通信进行加密。这种设备使用了一系列转轮(Enigma机器共准备了五个,但每次通信的时候,均只使用其中的三个)。这些转轮包含了字母表中的所有字母,每个都可以单独进行设置。对正常输入的文字来说,其中每个字母都被转换成“看似”随机的输出字符。之所以说它“看似”随40机,是由于换位顺序的组合是一个天文数字。对Enigma机器的破解首先由波兰发起,最后由英国完成。
自恺撒大帝的年代开始,一直到当代,通信技术在稳步地发展。从信件到电报、电传、电话、传真以及E-mail,人和人之间的通信变得越来越方便和普遍。与此同时,保障这些通信的安全也逐渐成为一项重要课题。
一种通信方法的安全取决于建立通信的那种媒体。媒体越开放,消息落入他人之手的可能性越大。现代通信方法一般都是开放和公用的。打一次电话,或者发一次传真,信号会穿越一个共享的、公共的“电路交换”网络。而发一次E-mail也会穿越一个共享的、公共的、包交换的网络。在网络中,位于通信双方两个端点之间的任何一个实体均可将消息(信号)轻易拦截下来。如果要通过现代的通信技术来进行数据的保密传输,便必须采用某种形式的加密技术,防范那些“偷窥者”窃取秘密。
现代的基本加密技术要依赖于消息的接收者已知的一项秘密。通常,解密方法(即“算法”)是任何人都知道的,就像所有人都知道怎样打开门一样。然而,真正用来解开这一秘密的“密钥”却并非人人皆知——就像钥匙一样,一扇门的钥匙并不是任何人都拿得到的。当然,还有某些加密系统建立在一种保密的算法基础上,通常把它称为“隐匿保密”。但大多数研究者都反对使用这种加密方法,因为它未向公众开放,人们无从得知它的加密能力到底有多强,是否存在缺陷等(目前针对“加密芯片”展开的辩论便是这样的一个典型例子)。
加密工具并非只有单独的一种。有多种技术都可用来加密信息、安全地交换密钥、维持信息完整以及确保一条消息的真实性。将所有技术组合在一起,才能在日益开放的环境中,提供保守一项“秘密”所需的各项服务。
其实,世上本不存在“绝对安全”的东西。对任何一个秘密来说,都存在泄密的可能。分析专家必须根据实际情况判断出泄密的后果有多严重,以及泄密的可能性有多大。通常,一种加密方法的“强壮程度”是由其计算的复杂程度来决定的。例如,假设某种特定的加密系统复杂程度是232,我们便认为破解它需要进行232次独立的运算,这个数量从表面上看似乎非常大,但对一台高速计算机来说,它每秒钟也许能执行数千乃至上万次这样的解密运算,所以,对这种加密系统来说,其能力尚不足以保证秘密的安全。正是考虑到这样的情况,所以我们一般用“计算安全”来量度一个加密系统的安全程度。