加密技术下的信息安全

2013-08-20 01:54晏国勋
网络安全技术与应用 2013年8期
关键词:明文公钥密文

晏国勋

(云南省公安消防总队司令部信息通信处 云南 650000)

0 引言

以互联网为代表的全球信息化浪潮日益深刻,信息网络技术的应用正日益普及和广泛,应用层次正在深入,应用领域从传统的小型业务系统逐渐向大型、关键业务系统扩展。伴随网络的普及以及信息的重要性,安全问题日益成为影响政府,企业及个人战略的重要问题,而互联网所具有的开放性、国际性和自由性增加应用自由度的同时,对信息安全提出了更高的要求。如最近备受关注的“棱镜门”事件,就揭露了信息安全的严峻形势,如何保证机密信息不受黑客和工业间谍的入侵,已成为政府、企业单位信息化健康发展所要考虑的重要议题。

1 信息安全和加密技术概述

1.1 何谓信息安全

信息安全(Security of Information Carrier)一般是指信息在通信、存贮或处理过程中是否得到妥善的、完好无损的保护,表现在信息不能被窃取、丢失、修改、错误投递等,并可以追溯发信人。

“信息安全”要求信息网络或系统在承载信息时,要确保它本身的安全。因此,“信息安全”是信息网络、信息系统的责任和义务。为保证通信过程信息的安全,通常采用身份鉴别和数据加密的措施。为了保证存贮的安全性,也采用身份鉴别访问、加密存贮、文件备份等措施。为了保证传输过程的安全,采用校验、纠错、编码等措施。

1.2 何谓加密

说到“加密”,实际上包括如下几个基本术语:

(1)密码学——制作和破解“秘密代码”的技艺和科学。

(2)加密(加密系统)——“秘密代码”的制作过程。

(3)密码分析——“秘密代码”的破解过程。

(4)加密——根据情况不同,这个词语可以看成上述所有术语(甚至还有诸如此类的更多说法和词汇)中任何一个的同义词,具体场合的精确含义应该根据上下文来判定清楚。

密码学所采用的加密方法通常是用一定的数学计算操作来改变原始信息。用某种方法伪装消息并隐藏它的内容,称作加密(Encryption)。待加密的消息称作明文(Plaintext),所有明文的集合称为明文空间;被加密以后的消息称为密文(Ciphertext),所有密文的集合称为密文空间。而把密文转变成明文的过程,称为解密(Decryption)。加密体制中的加密运算是由一个算法类组成的,这些算法类的不同运算可用不同的参数表示,不同的参数分别代表不同的算法,这些参数称作密钥,密钥空间是所有密钥的集合。密钥空间与相应的加密运算结构(包括明文和密文的结构特征)构成一个密码体制。

任何一个密码系统都包含明文空间、密文空间、密钥空间和算法。密码系统的两个基本单元是算法和密钥。如果所示,在最简单的黑盒加密示意图(图1)中:发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

图1 黑盒加密示意图

对于理想的密码系统,要能够确保:在没有密钥的情况下,想从密文恢复出明文是不可能的。这是加密系统的目标,虽然现实往往并非能够如愿以偿。密码学的基本原则之一是:密码系统的内部工作原理对于攻击者,是完全可见的,唯一的秘密就是密钥(也被称为Kerckhoffs原则)。事实上,如果你的安全依赖于秘密设计的系统,那么至少会有下面几个问题。首先,即使可以保密,所谓“秘密”加密系统的细节也极少会长期保持机密性。逆向工程可能会被用于从软件恢复出算法实现,而且,即使算法嵌入到所谓的防篡改硬件中,有时也仍然会遭受逆向工程攻击,进而被泄露。其次,更加令人担忧的是这样一个事实:当算法本身一旦暴露在公众明察秋毫的视野之下,秘密的加密算法和系统将不再有任何安全性可言,而这样的例子由来已久,层出不穷。

2 现代经典加密技术

2.1 几个经典的传统加密技术

2.1.1 代码加密

发送秘密消息的最简单做法,就是使用通信双方预先设定的一组代码。代码可以是日常词汇、专有名词或特殊用语,但都有一个预先指定的确切含义。它简单而有效,得到广泛的应用。例如:

密文 明文黄姨白姐安全到家了 黄金和白银巳经走私出境了

代码简单好用,但只能传送一组预先约定的信息。当然,可以将所有的语意单元(如每个单词)编排成代码簿,加密任何语句只要查代码表即可。不重复使用的代码是很安全的。但是,代码经过多次反复使用,窃密者会逐渐明白它们的意义,代码就逐渐失去了原有的安全性。

2.1.2 替换加密

明文中的每个字母或每组字母被替换成另一个或一组字母。例如,下面的一组字母对应关系就构成了一个替换加密器:

密文 明文ABCD HGUA

替换加密器可以用来传达任何信息,但有时还不及代码加密安全。窃密者只要多搜集一些密文就能够发现其中的规律。

2.1.3 变位加密

代码加密和替换加密保持着明文的字符顺序,只是将原字符替换并隐藏起来。变位加密不隐藏原明文的字符,却将字符重新排序。例如,加密方首先选择一个用数字表示的密钥,写成一行,然后把明文逐行写在数字下。按密钥中数字指示的顺序,逐列将原文抄写下来,就是加密后的密文:

密钥:4 1 6 8 2 5 7 3 9 0密文 明文里人现平来住已在出安 来人已出现住在平安里

2.1.4 一次一密乱码本加密

要既保持代码加密的可靠性,又要保持替换加密器的灵活性,可以采用一次一密乱码本进行加密。一次一密乱码本是一个不重复的真随机密钥字母集,这个密钥字母集被写在几张纸上,并被粘成一个乱码本。 发送者用乱码本中的每一密钥字母加密一个明文字符。加密使用明文字符和一次一密乱码本中密钥字符的模26加法。一次一密乱码本密码体制具有以下特点:①每个密钥仅对一个消息使用一次;②密钥以随机方式产生;③密钥长度等于明文长度; ④发送者和接收者必须完全同步;⑤一次一密乱码本密码体制是唯一达到理论不可破译的密码体制。

一次性密码本,也被称为弗纳姆(Vernam)密码,是一种可证明为安全的密码系统。假如我们有两个明文消息P1 和P2,我们进行加密:C1=P1 ⊕ K 和C2=P2 ⊕ K,也就是说,我们有两个消息被加密,它们是用同一个一次性密码本密钥K 加密的。在密码分析行业里,这称为depth。对于使用一次性密码本加密的 in depth(有相同的depth)的两个密文来说,我们可以得到如下计算:

C1 ⊕ C2=P1 ⊕ K⊕ P2 ⊕ K=P1 ⊕ P2

我们可以看到在这个问题当中,密钥已经完全消失了。在这种情况下,密文确实会供出有关背后的明文的一些信息。看待这个问题的另一个角度是考虑穷举式密钥检索。如果密码本仅使用一次,攻击者就没有办法了解到猜测的密钥对错与否。但是如果两个消息是in depth 的,那么对于正确的密钥,必然会有两个猜测的明文都有确定含义。这就为攻击者提供了一种途径用来区分正确的密钥和错误的密钥。密钥被重复使用的次数越多,问题就只能变得越严重。

既然我们无法做到比可证明的安全性更好,那么我们为什么不一直使用一次性密码本呢?遗憾的是,该方法对于大多数应用来说很不实际。为什么会是这种情况呢?这里的一个关键问题是:需要与消息体本身等长的密码本,因为密码本正是密钥自身,所以必须安全地共享给消息的目标接收方,而且应该是在密文消息被解密之前。如果我们可以安全地传送密码本,那么为什么不简单地采用同样的方式直接传送明文消息,而要花费大力气去做加密呢?所以,对于现代的高数据率加密系统来说,一次性密码本加密就完全属于不切实际的方案了。

2.2 现代信息系统加密技术

现代信息系统主要使用两种加密算法:对称密钥密码算法以及公钥密码算法。我们将主要通过讨论对称密钥算法的原理以及其中的流密码、分组密码和公钥密码算法的原理以及其中的RSA算法来理解现代加密算法和信息安全的关系。

2.2.1 对称密钥加密技术

对称密钥加密技术主要有两个分支:流密码加密和分组密码加密。在流密码中,将明文按字符一个一个地加密;在分组密码中,将明文分成若干个组,每组含多个字符,一组一组地加密。

流密码

流密码简述

在流密码中,将明文m写成连续的符号m=m1m2…,利用密钥流k=k1k2…中的第i个元素ki对应明文中的第i个元素mi进行加密,若加密变换为E,则加密后的密文为:

设与加密变换E对应的解密变换为D,其中D满足:

则通过解密运算可译得明文为:

从而完成一次密码通信。流密码通信框图如图2所示。

密钥流生成器

在流密码中,如果密钥流经过d个符号之后重复,则称该流密码是周期的,否则称之为非周期的。密钥流元素kj的产生由第j时刻流密码的内部状态sj和实际密钥k所决定,记为kj=f(k,sj)。加密变换Ekj与解密变换Dkj都是时变的,其时变性由加密器或解密器中的记忆文件来保证。加密器中存储器的状态s随时间变化而变化,这种变化可用状态转移函数fs表示。如果fs与输入的明文无关,则密钥流kj=f(k,sj)与明文无关,j=1,2,…,从而j时刻输出的密文cj=Ekj(mj)与j时刻之前的明文也无关,称此种流密码为同步流密码。在同步流密码中,只要发送端和接收端有相同的实际密钥和内部状态,就能产生相同的密钥流,此时称发送端和接收端的密钥生成器是同步的。一旦不同步,解密工作立即失败。如果状态转移函数fs与输入的明文符号有关,则称该流密码为自同步流密码。目前应用最广泛的流密码是同步流密码。

图2 流密码通信模式框图

一个同步流密码是否具有很高的密码强度主要取决于密钥流生成器的设计。为了设计安全的密钥流生成器,必须在生成器中使用线性变换,这就给生成器的理论分析工作带来了很大困难。密钥流生成器的目的是由一个短的随机密钥(也称实际密钥或种子密钥)k生成一个长的密钥流,用这个长的密钥流对明文加密或对密文解密,从而使一个短的密钥可用来加密更长的明文或解密更长的密文的目的。对一个密钥流生成器的一个实际的安全要求是它的不可测性,即要求生成的密钥流具有随机性,从而使密码分析者不可能从截获的i比特子段生成大于i比特的密码。构造密钥流生成器是流密码最核心的内容,目前有各种各样的构造方法,这些方法可划分为四大类:信息论方法、系统论方法、复杂度理论方法和随机化方法。根据已知的构造方法构造出来的大多数密钥流生成器已被证明是不安全的,现在还没有被证明是不安全的少数密钥流生成器迟早也会被证明是不安全的。因为现在被认为是安全的密码,都是基于世界上某个数学难题没有解决,即破译密码系统的难度等价于解决世界上某个公开数学问题的难度,一旦这个数学问题被解决,与之同难度的密码系统就不安全了。下面介绍由两个移位寄存器组成的收缩密钥流生成器,该构造方法属于系统论方法。

收缩密钥流生成器

在介绍收缩密钥流生成器之前,先介绍移位寄存器。移位寄存器是密码学中最基本也是最重要的电子设备。图3是n级移位寄存器的框图。

图3 n级移位寄器

图中n个小方框是n个寄存器,从左到右依序叫第1级,第2级,…,第n级寄存器。开始时,设第1级内容是an-1,第2级内容是an-2,…,第n级内容是a0,则称这个寄存器的初始状态是(a0,a1,…,an-1)。当加上一个脉冲时,每个寄存器的内容移给下一级,第n级内容输出,同时将各级内容送给运算器f(x0,x1,…,xn-1),并将运算器的结果an= f (a0,a1,…,an-1)反馈到第一级去。这样这个移位寄存器的状态就是(a1,a2,…,an),而输出是a0。不断地加脉冲,上述n级移位寄存器的输出就是一个二元(或q元)序列:

a0,a1,a2,…

在运算器中反馈函数f(x0,x1,…,xn-1)给定的条件下,这个序列完全由初始状态(a0,a1,…,an-1)完全确定。当f(x0,x1,…,xn-1)为线性函数时,称该移位寄存器为n级线性移位寄存器;否则为n级非线性移位寄存器。代数编码中已证明移位寄存器产生的序列都是周期序列,周期都不大于2n。

分组密码

分组密码体系的概念

分组密码将明文按一定的位长分组,输出也是固定长度的密文。明文组经过加密运算得到密文组。解密时密文组经过解密运算(加密运算的逆运算)还原成明文组。分组密码的优点是:密钥可以在一定时间内固定,不必每次变换,因此给密钥配发带来了方便。但是,由于分组密码存在密文传输错误在明文中扩散的问题,因此在信道质量较差的情况下无法使用。

分组密码通信模式

分组密码是将明文消息编码表示成数字序列x1,x2,…,xm之后,再划分成长为m的组x=(x1,x2,…, xm),各组分别在密钥k=( k1,k2,…, kt)的控制下变换成长为n的密文y=(y1,y2,…, yn)。分组密码通信模式框图如图4所示。

分组密码与流密码的不同之处在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为m的明文数字有关。分组密码的优点是容易标准化,而且容易实现同步,其缺点是相同的密文组蕴含相同的明文组,且其加密不能抵抗组的重放等攻击。但这些缺点可通过一些技术手段加以克服。

图4 分组密码通信模式框图

在分组密码通信中,通常明文与密文长度相等,称该长度为分组长度。设明文空间与密文空间均为F2n,密钥空间为Sk,则分组密码的加密函数y=E(x,k)和解密函数x=D(y,k)都是从F2

n到F2

n的一个置换。一个好的分组密码应该是既难破译又容易实现的,即加密函数E(x,k)和解密函数D(y,k)都必须是很容易计算的,但是要从方程y=E(x,k)和x=D(y,k)中求出k应该是一个很困难的问题。

设计一个好的分组密码算法是非常困难的。目前有代表性的私钥分组密码算法有DES(美国商业部的数据加密标准)、IDEA(国际数据加密算法)等。

2.2.2 公钥密码算法

上节讨论的对称密钥密码体制中,解密密钥与加密密钥相同或容易从加密密钥导出,加密密钥的暴露会使系统变得不安全,因此使用对称密钥密码体制在传送任何密文之前,发送者和接收者必须使用一个安全信道预先通信传输密钥k,在实际通信中做到这一点很困难。公钥密码体制能很好地解决对称密钥密码体制中的安全性问题。

公钥密码体制及其设计的基本原理

设计公钥密码体制的基本原理

在公钥密码中,解密密钥和加密密钥不同,从一个难于推出另一个,解密和加密是可分离的,加密密钥是可以公开的。公钥密码系统的观点是由Diffie和Hellman在1976年首次提出的,它使密码学发生了一场革命。1977年由Rivest,Shamir和Adleman提出了第一个比较完善的公钥密码算法,这就是著名的RSA算法。自那时起,人们基于不同的计算问题,提出了大量的公钥密码算法,代表性的算法有RSA算法、Merke-Hellman背包算法和椭圆曲线算法等。在公钥密码体制中,信息可通过编码被加密在一个NP-完全问题之中,使得以普通的方法破译这种密码等价于解一个NP-安全问题。但若已知解密密钥,解密就容易实现。要构造这样的密码,核心问题是找一个陷门单向函数。

如果函数f(x)满足以下条件:

(1)对f(x)的定义域中的任意x,都容易计算函数值f(x)

(2)对于f(x)的值域中的几乎所有的y,即使已知f要计算f--1(y)也是不可行的

则称f(x)是单向函数(One-way Function)。

若给定某些辅助信息时又容易计算单向函数f的逆f--1,则称f(x)是一个陷门单向函数。这一辅助信息就是秘密的解密密钥。这就是设计公钥密码体制的基本原理。

公钥密码体制

公钥密码体制也称为双密钥密码体制或非对称密码体制,与此相对应,将序列密码和分组密码等称为单密钥密码体制或对称密钥密码体制。

单钥加密 公开密钥加密运行条件①加密和解密使用同一密钥和同一算法②发送方和接收方必须共享密钥和算法①用同一算法进行加密和解密,而密钥有一对,其中一个用于加密,而另一个用于解密②发送方和接收方每个拥有一个相互匹配的密钥中的一个(不是另一个)①两个密钥中的一个必须保密②如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的③知道所用的算法加上一个密钥和密文的样本必须不足以确定密钥安全条件①密钥必须保密②如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的③知道所用的算法加上密文的样本必须是不足以确定密钥

为了区分这两个体制,一般将单钥加密中使用的密钥称为秘密密钥(Secret Key),公开密钥加密中使用的两个密钥分别称为公开密钥(Public Key)和私有密钥(Private Key)。在任何时候私有密钥都是保密的,但把它称为私有密钥而不是秘密密钥,以免同单钥加密中的秘密密钥混淆。

单钥密码安全的核心是通信双方秘密密钥的建立,当用户数增加时,其密钥分发就越来越困难,而且单钥密码不能满足日益膨胀的数字签名的需要。公开密钥密码编码学是在试图解决单钥加密面临的这个难题的过程中发展起来的。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥算法或简称为公钥算法。公开密钥的应用主要有以下三方面:

(1)加密和解密。发送方用接收方的公开密钥加密报文。

(2)数字签名。发送方用自己的私有密钥“签署”报文。签署功能是通过对报文或者作为报文的一个函数的一小块数据应用发送者私有密钥加密完成的。

(3)密钥交换。两方合作以便交换会话密钥。

公开密钥密码系统原理

公开密钥算法用一个密钥进行加密,而用另一个不同但是相关的密钥进行解密:①仅仅知道密码算法和加密密钥而要确定解密密钥,在计算上是不可能的;②两个相关密钥中任何一个都可以用作加密而让另外一个解密。

图5给出了公开密钥加密和解密的过程,其中重要步骤如下:

(1)网络中的每个端系统都产生一对用于将接收的报文进行加密和解密的密钥;

(2)每个系统都通过把自己的加密密钥放进一个登记本或者文件来公布它,这就是公开密钥。另一个密钥则是私有的;

(3)如果A想给B发送一个报文,A就用B的公开密钥加密这个报文;

(4)B收到这个报文后用自己的私有密钥解密报文,其他收到这个报文的人都无法解密它,因为只有B才有自己的私有密钥。

使用这种方法,所有参与方都可以获得各个公开密钥,而各参与方的私有密钥则由各参与方自己在本地产生和保管。只要一个系统控制住它的私有密钥,它收到的通信内容就是安全的。任何时候,一个系统都可以更改它的私有密钥并公开相应的公开密钥来替代它原来的公开密钥。

图5 公开密钥加密过程

公钥密码体制的安全性

公钥密码体制的安全性是指计算安全性,而绝不是无条件安全性,这是由公钥密码算法中求陷门单向函数的逆的复杂性决定的。虽然有许多函数被认为或被相信是单向的,但目前还没有一个函数能被证明是单向的。下面举一个被相信是单向函数的例子。

设n是两个大素数p和q的乘积,b是一个正整数,对x∈Zn,令

f(x)≡xb(mod n)

即f(x)等于xb被n除所得的余数,人们认为f(x)是一个从Zn到Zn的单向函数。

当对b和n作一个适当的选择时,该函数就是著名的RSA算法的加密函数。

RSA加密系统

RSA 因其创始人 Rivest,Shamir和 Adleman 而得名。RSA 的难度是基于因式分解,RSA 的安全性几乎都建立在一些重要的数学假设基础之上,它至今仍是一条数学家相信存在但缺乏正式证明的定理。RSA 算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决 DES 算法秘密密钥利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题,还可利用 RSA 来完成对电文的数字签名以抵抗对电文的否认与抵赖,同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。RSA 是第一个比较完善的公开密钥算法,它既能用于加密也能用于数字签名。在已公开的公钥算法中,RSA 是最容易理解和实现的。

RSA算法简单描述

RSA 算法的实现步骤如下(这里设B为实现者):

①B寻找出两个大素数p和q。

②B计算出n=pq和 j(n)=(p-1)(q-1)。

③B选择一个随机数b(0

④B使用Euclidean(欧几里得)算法计算a= b-1(mod j(n))。

⑤B在目录中公开n和b作为他的公开密钥,保密p、q和a。

密码分析者攻击RSA体制的关键点在于如何分解n。若分解成功使n=pq,则可以算出

j(n) =(p-1)(q-1),

然后由公开的b解出秘密的a。

加密时,对每一明文m计算密文:

c=mb(mod n)

解密时,对每一密文c计算明文:

m=ca(mod n)

RSA算法主要用于数据加密和数字签名。RSA算法用于数字签名时,公钥和私钥的角色可变换,即将消息用a加密签名,用b验证签名。

欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数(记为gcd(a,b)),其计算原理为:gcd(a,b) =gcd(b,a mod b)。

例如:

gcd(72,15)=gcd(15,72 mod 15)=gcd(15,12)=gcd(12,15 mod 12)=gcd(12,3)

=gcd(3, 12 mod 3)=gcd(3, 0)=3

根据欧几里德算法,若gcd(ab, j(n))= gcd(j(n),ab mod j(n))= gcd(j(n),1), 则ab = 1(mod j(n)),即a=b-1(mod j(n))。因此,根据欧几里德算法,如果已知b,通过列举计算的方法可得到私有密钥a。

RSA的安全性

RSA算法的理论基础是一种特殊的可逆模指数运算,它的安全性是基于分解大整数n的困难性。密码破译者对RSA密码系统的一个明显的攻击是企图分解n,如果能做到,则他很容易计算出欧拉数j(n)=(p-1)(q-1),这样他就可从公钥b计算出私钥a,从而破译密码系统。目前大整数分解算法能分解的数已达到130位的十进制数。也就是说,129位十进制数字的模数是能够分解的临界数,因此,n的选取应该大于这个数。基于安全性考虑,建议用户选择的素数p和q大约都为100位的十进制数,那么n=pq将是200位的十进制数。因为在每秒上亿次的计算机上对200位的整数进行因数分解,要55万年。因而RSA体制在目前技术条件下是安全的,是无人能破译的。

当然,现在有很多种攻击RSA的方法,但这些攻击方法都是在得到一定信息的前提下进行攻击才有效。

三种可能攻击RSA算法的方法是:①强行攻击:这包含对所有的私有密钥都进行尝试。②数学攻击:有几种方法,实际上都等效于对两个素数乘积的因子分解。③定时攻击:这依赖于解密算法的运行时间。

基于安全性考虑,一般在应用RSA时,必须做到以下几点:①绝对不要对陌生人提交的随机消息进行签名;②不要在一组用户间共享n;③加密之前要用随机值填充消息,以确保m和n的大小一样。

RSA技术既可用于加密通信又能用于数字签名和认证。由于RSA的速度大大低于DES等分组算法,因此RSA多用于加密会话密钥、数字签名和认证。RSA以其算法的简单性和高度的抗攻击性在实际通信中得到了广泛的应用。在许多操作平台(如Windows、Sun、Novell等)都应用了RSA算法。另外,几乎所有的网络安全通信协议(如SSL,IPsec等)也都应用了RSA算法。ISO几乎已指定RSA用作数字签名标准。在ISO9796中,RSA已成为其信息附件。法国银行界和澳大利亚银行界已使RSA标准化,ANSI银行标准的草案也利用了RSA。许多公司都采用了RSA安全公司的PKCS。

RSA在目前和可预见的未来若干年内,在信息安全领域的地位是不可替代的,在没有良好的分解大数因子的方法以及不能证明RSA的不安全性的时候,RSA的应用领域会越来越广泛。但是一旦分解大数因子不再困难,RSA的时代将会成为历史。

加密技术下的信息安全

通过以上章节我们分析了几种经典的加密算法的原理可以看出,加密技术是保护信息安全的主要手段,使用加密技术不仅可以保证信息的机密性,而且可以保证信息的完整性和正确性,防止信息被篡改、伪造和假冒。选择一个强壮的加密算法是至关重要的,为了防止密码分析,可以采取以下机制:

(1)强壮的加密算法。一个好的加密算法往往只有用穷举法才能得到密钥,所以只要密钥足够长就会很安全。建议至少为64位。

(2)动态会话密钥。每次会话的密钥不同,即使一次会话通信被破解,不会因本次密钥被破解而殃及其它通信。

(3)保护关键密钥(Key Encryption Key,KEK),定期变换加密会话密钥的密钥。因为这些密钥是用来加密会话密钥的,泄漏会引起灾难性后果。

人们一直努力在其他困难问题上建立和改进各种加密算法体制,不至于一旦一些数学难题被解决之后,没有可用的密码算法,所以出现了大量的加密衍生算法,如RC2及RC4算法,IDEA算法, SKIPJACK算法,ElGamal算法,SCHNORR算法,ESIGN算法等。

加密算法不仅仅是编码与破译的学问,而且包括了安全管理,安全协议设计,数字签名,秘密分存,散列函数等很多内容。当然,对信息安全的重视才是最有分量的,政府和企业在提倡信息安全的大环境里讲求安全之道会事半功倍,信息安全形势严峻的另一面,也将推动安全管理技术的发展。

[1]Brian Hatch, 2001, Linux Security Secrets & Solutions,The McGraw-Hill Companies

[2]IEEE,2004,Functional Requirements for 802.20 Security,IEEE.org

[3]姚顾波,2003,网络安全完全解决方案,电子工业出版社

[4]RSA, 2010,The Security Division of EMC,www.rsasecurity.com

[5]Stallings W,2006,密码学和网络安全,Prentice HALL

猜你喜欢
明文公钥密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
一种基于混沌的公钥加密方案
奇怪的处罚
P2X7 receptor antagonism in amyotrophic lateral sclerosis
一种基于密文分析的密码识别技术*
一种基于密文分析的密码识别技术*
HES:一种更小公钥的同态加密算法
奇怪的处罚
SM2椭圆曲线公钥密码算法综述