第2章信息加密技术基础_第1页
第2章信息加密技术基础_第2页
第2章信息加密技术基础_第3页
第2章信息加密技术基础_第4页
第2章信息加密技术基础_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章

信息加密技术根底引言信息加密是网络平安体系中重要机制之一。信息加密的目的是为了坚持信息的性,运用恰当的加密规范将在计算机环境中添加平安性。信息加密经过运用一种编码而使存储或传输的信息变为不可读的信息,解密是一个相反的过程。这些编码就是将明文变成密文的加密算法或数学方法。引言(续)

加密编码在Shannon的信息论中有针对性的论述,数论及根底代数是加密算法的实际根底。要将一段信息加密或解密,他会要用到密钥,它是一个很大的值。普通来说,密钥越大,加密就越强壮。普通来说加密体制分为对称密钥加密和公用密钥加密,对称密钥加密在密钥方面有一定的缺陷,但执行效率高;公用密钥加密加密执行效率底,但严密性强,在报文和网络方面对小量信息加密非常有效.2.1信息加密实际根底信息平安的中心技术之一是加密技术,它涉及信息论、根底数论和算法复杂性等多方面根底知识。随着计算机网络不断浸透到各个领域,加密技术的运用也随之扩展,运用加密根底实际知识,深化探求可靠可行的加密方法,运用于数字签名、身份鉴别等新技术中成为网络平安研讨重要的一个方面。加密的实际根据密码学问题就是随机性的利用问题.差不多每台运用加密技术的计算机平安系统都需求随机数,供密钥、协议中的根底参量等运用或者用做辅助信息或者初始化向量。这些系统的平安也经常依赖于这些随机数的随机性及被维护程度。简单的加密举例中秋日月编码密钥密文编码诗月明明日01010110111111明日月明101010000000?明日明日101101000111日明月明110010011000经过这个例子我们看到一个简单的加密过程,原来的诗经过与密钥的模二运算实现了加密。2.1.1信息编码根底知识第二次世界大战期间,美国为了提高信息储存和传送的效率,发明了多种新的编码方法,奠定了现代信息科学技术的根底。Shannon还于1949年发表了“严密系统的通讯实际〞一文,奠定了现代密码学根底从而对加密过程中信息编码有了明确的分析。在该文中他从信息论观念,对信息系统的严密性问题作了全面而深化的论述。1.信息熵基本知识信息论中最重要的内容,是如何认识和运用信息熵来表现信息。这里用Shannon最喜欢用的猜谜方法来阐明信息熵的根本概念。假设有:“我们大__都喜__使__计__机来管__数__。〞不用很多努力,就可以猜出完好的句子:“我们大家都喜欢运用计算机来管理数据。〞Shannon在信息论中指出,能猜出来的字符不运载信息,而不能猜出来的字符运载信息。1.信息熵基本知识(续)空格所隐藏的字符属于多余度字符,不用那些字符也能运载该句子的全部信息,比如:“我__大________使______机来____数__。〞就很难猜出完好的句子,在信息传送的时候,也很难做检错和抗错。因此,保管一定的多余度(或冗余度)是非常重要的。2.信息量和信息熵根本定义(1)信息熵〔informationentropy〕是对信息形状“无序〞与“不确定〞的度量〔从本质上讲,熵不是对信息的度量,但信息的添加而使产生的熵减小,熵可以用来度量信息的增益〕。2.信息量和信息熵根本定义(2)定义:给定一离散集合X={xi;i=1,2,…,n},令xi出现的概率是 且。事件xi包含的信息量通常=2,此时相应的信息量单位是bit。Shannon定义信息的数学期望为信息熵,即信源的平均信息量。(2.1)2.信息量和信息熵根本定义(3)定义:将集合X中事件所包含的信息量统计平均,那么平均值定义为集合X的熵.信息熵表征了信源整体的统计特征,集合X的熵H〔x〕表示X中事件所包含的平均信息量,或总体的平均不确定性的量度。(2.2)2.信息量和信息熵根本定义(4)对某一特定的信源,其信息熵只需一个,因统计特性不同,其熵也不同。例如,两个信源,其概率空间分别为:2.信息量和信息熵根本定义(5)那么信息熵为:可见,,阐明信源比信源的平均不确定性要大,即在事件发生之前,分析信源,由于事件是等概率的,难以猜测哪一个事件会发生.2.信息量和信息熵根本定义(6)而信源,虽然也存在不确定性,但大致可以知道,出现的能够性要大。正如两场竞赛,其中一场,双方势均力敌;而另一场双方实力悬殊很大。当然,人们希望看第一场,由于胜负难卜,一旦赛完,人们获得信息量大。也可以这样了解,信息熵表征了变量的随机性。因此,熵反映了变量的随机性,也是表征随机变量统计特性的一个特征参数。3.信息熵的根本性质(1)对称性当概率空间中序恣意互换时,熵函数的值不变,例如下面两个信源空间:3.信息熵的根本性质(2)

其信息熵.该性质阐明,熵只与随机变量的总体构造有关,与信源总体的统计特性有关,同时也阐明所定义的熵有其局限性,它不能描画事件本身的客观意义。3.信息熵的根本性质(3)确定性假设信源的输出只需一个形状是必然的,即那么信源的熵:此性质阐明,信源的输出虽有不同形状,但其中一种是必然的,意味着其他形状不能够出现。那么,这个信源是一个确知信源,其熵为零。(2.3)3.信息熵的根本性质(4)非负性即。由于随机变量的一切取值的概率分布为,当取对数的底大于1时,,而,那么得到的熵是正值,只需当随机变量是一确知量时,熵才等于零。这种非负性对于离散信源的熵来说,这一性质并不存在。3.信息熵的根本性质(5)可加性独立信源和的结合信源的熵等于它们各自的熵之和。假设有两个随机变量和,它们彼此是统计独立的,即的概率分布为,而的分布概率为,那么结合信源的熵:

可加性是熵函数的一个重要特性,正由于有可加性,所以可以证明熵函数的方式是独一的。3.信息熵的根本性质(6)极值性信源各个形状为零概率分布时,熵值最大,并且等于信源输出形状数,由于当时,

(2.5)例题例,信源有两种形状时,概率空间其与关系如下图,,当=1/2时熵有最大值;当信源输出是确定的,即,那么,此时阐明该信源不提供任何信息;反之,当信源输出为等概率发生时,即时信源的熵到达最大值,等于1bit信息量。信息熵函数曲线P(x)00.51明文H(x)4.信息熵在信息加密编码中的作用(1)经过熵和信息量的概念,可计算加密系统中各部分的熵。令明文熵为,密钥熵,密文熵。这里M、K和C分别是明文、密钥和密文空间,m、k、c分别是它们的字母集,l,r和v分别是明文、密钥、和密文的长度。那么明文和密文之间的互信息以及密钥与密文之间的互信息分别是:(2.6)(2.7)4.信息熵在信息加密编码中的作用(2)由于只需密文、密钥确定后,明文也就得到了,所以,故定理:对恣意加密系统从该实际我们可以看出,密钥熵越大,密文中所包含的明文信息量就越小。一个加密系统中,假设其密文与明文之间的互信息,那么密码分析者无论截获多大的密文,均不能得到有关明文的任何信息。这种加密系统称为完善加密系统,或无条件加密系统。(2.8)4.信息熵在信息加密编码中的作用(3)在对密文攻击下,完善加密系统是平安的,但它不能保证在知明文或选择性明文攻击下也是平安的。因此,完善严密系统存在的必要条件是证明:假设,那么由前一个定理可得,,所以的必要条件是(2.9)2.1.2数论根本术语数论是研讨整数性质的一个数学分支,同时也是加密技术的根底学科之一。首先引见一些数论的根本知识.1.整数定义:设。假设存在使得,那么就说b可以被a整除,记为,且称b是a的倍数,a是b的因数(或称约数、除数、因子)。b不能被a整除可以记作dFa。由定义及乘法运算的性质,可推出整除关系具有以下性质〔注:符号本身包含了条件〕:〔1〕;〔2〕假设且,那么;〔3〕设,那么与等价;〔4〕假设且,那么对一切的,有;〔5〕设,假设,那么;2.素数定义:设整数。假设它除了显然因数外没有其他的因数,那么p就称为是素数,也叫不可约数。假设,且a不是素数,那么a称为合数。关于素数,有以下性质:〔1〕假设p是素数,且,那么或,即p至少整除a与b中的一个。〔2〕任何一个整数,均可以分解成素数幂之积:〔3〕假设不计因数的顺序,这个分解式是独一的。其中,是两两互不一样的素数,是正整数。〔4〕素数有无穷多个。〔5〕设表示不大于的素数的数目,那么。3.同余设,假设,那么称a和b模n同余,记为,整数n称为模数。由于等价于,所以与等价。因此,普通我们总假定。假设,我们称b是a对模n的最小非负剩余,有时也称b为a对模n的余数。同余式的一些根本性质〔1〕反身性:;〔2〕对称性:假设,那么;〔3〕传送性:假设,,那么;〔4〕假设,那么;。〔5〕假设,,gcd,(两个不同时为0的整数a与b的最大公约数表示成gcd(a,b))那么,存在,当且仅当gcd。一些关于同余的根本概念(1)同余类可用其中任一元素a(经常取)替代,记作。于是从中分别取一个数作为代表构成一个集合,称为模n的一个完全剩余系,记为,称为模n的非负最小完全剩余系。

(2.11)一些关于同余的根本概念(2)在模n的完全剩余系中,去掉那些与n不互素的数,剩下的部分称为模n的简化剩余系;的简化剩余系记为,读为模n的非负最小简化剩余系。显然,中的元便是不超越n并与n互素的那些数,它们的个数等于欧拉函数的值。〔欧拉函数的定义为:小于自然数N并与N互质(除1以外无其它公因子)的自然数的个数用函数表示,称为欧拉函数。欧拉函数的详细性质会在后面第6小节进展论述〕4.模运算给定正整数n,对恣意a,假设存在q,使得那么称r是a关于模n的余数,记为。假设那么称整数a,b同余,记为整数集中一切与数a同余的整数集合称为a的同余类,记为。模运算的性质〔1〕当且仅当。〔2〕当且仅当。〔3〕假设,,那么。a模n的运算给出了a对模n的余数。留意:模运算的结果是从0到的一个整数。模运算就像普通的运算一样,它是可交换,可结合,可分配的。而且,对每一个中间结果进展模m运算,其作用与先进展全部运算,然后再进展模m运算所得到结果是一样的。5.最大公约数与最小公倍数设,是两个整数,假设且,那么就称b是和的公约数.普通的,设,是K个整数,假设那么就称b是的公约数。由于对于恣意一个不等于零的整数,它的因数是有限的。所以,恣意一对整数,其中一个不为零时,它们的公约数的个数也必定是有限的;同理,当中有一个不为零时,它们的公约数是有限的.这样,我们引入最大公约数的概念。定义:设,是两个整数,我们把和的公约数中最大的数称为和的最大公约数,记为(,)或当时,我们称和是互素的。显然最大公约数的性质〔1〕〔2〕假设|,j=2,…,k,那么〔3〕恣意的整数x,有〔4〕对恣意的整数x,有〔5〕设,是不都为零的整数,那么一定存在一对整数,,使得:最小公倍数的概念设,是两个均不等于零的整数,假设且,那么1就称为是和的公倍数,普通地,设是k个均不等于零的整数。假设,那么称l是的公倍数。公倍数的集合是无穷集合,但根据自然数的实际,存在最小的正的公倍数。我们把和的正的公倍数中最小的数称为和的最小公倍数,记为或6.欧拉〔Euler〕函数欧拉〔Euler〕函数设n≥1,欧拉函数表示在区间中与n互素的整数的个数。欧拉函数具有以下性质:(1)假设p是素数,那么;(2)假设p是素数,。那么;(3)对于整数,根据算术根本定理,n可以分解成独一的形如的分解式,那么(4)假设和互素,那么。2.1.3算法复杂性根底知识所谓问题,是指一个要求给出解释的普通性提问,通常含有假设干个未定参数或自在变量。它由两个要素组成,第一个要素是描画一切的参数,也就是对一切未定参数的普通性描画;第二个要素是解答必需满足的性质。一个问题可以看成是由无穷多个问题实例组成的一个类。1.算法的定义所谓算法是由明确指出操作的规那么所组成的假设干语句的集合,只需按照规那么一步一步执行一定数目的语句,便可求出问题的答案。通常的计算机程序都可以看作是算法的表达方式,在问题的两要素中,对算法而言,第一个要素就是“输入〞,第二个要素就是“输出〞。假设把问题P的恣意一个实例作为算法A的输入,A在有限步骤之内总能输出关于此实例的正确答案,我们就说算法A可解问题P。对于一个问题P,假设存在一个算法A可解问题P,我们称问题P是算法可解的。2.算法复杂性算法的复杂性表征了算法在实践执行时所需计算才干方面的信息,通常它由该算法所要求的最大时间与存取空间来确定。由于算法所需的时间和空间往往取决于问题实例的规模n(n表示了该实例的输入数据长度),同时,算法在用于一样规模n的不同实例时。其时间和空间需求也能够会有很大差别,因此,实践中我们经常研讨的是算法关于输入规模的一切实例的时间与空间需求的平均值。算法复杂性的构成通常情况下,一个算法的计算复杂性由两个变量度量:时间复杂性和空间复杂性。它们定义如下:〔1〕时间复杂性:以某特定的根本步骤为单元,完成计算过程所需的总单元数称为算法的时间复杂性,或时间复杂度。n为输入的规模或尺寸。〔2〕空间复杂性:以某特定的根本存储空间为单元,完成计算过程所用的存储单元数,称为算法的空间复杂性或空间复杂度。n是输入的规模或尺寸。算法复杂性的根本符号〔1〕一个算法的计算复杂性用“O〞符号表示其数量级。“O〞的意思是:对于两个恣意的实值函数f和g,假设记号,那么存在有一个值a,对充分大的n,有。计算复杂性的数量级就是这种类型的函数,即当n变大时增长得最快的函数,一切常数和较低阶方式的函数可以忽略不计。算法复杂性的根本符号〔2〕另一个符号是“o〞。它的定义是:当且仅当,这意味着在时,比可以忽略不计。时间复杂度有时也用任务因子W表示,这时。假设一个算法的复杂性不依赖于n,那么它是常数级的用表示之,而表示复杂性随n线性增长,因此是线性型算法。复杂性随n线性增长的其他一些算法也称为二次方或三次方等,一切这些算法都是多项式的,它们的时间复杂性是。有多项式时间复杂性的算法称为多项式时间算法或有效算法。3.问题的复杂性问题的复杂性是问题固有的性质。问题的复杂性实际利用算法复杂性作为工具,将大量典型的问题按照求解的代价进展分类。问题的复杂性由在图灵机上解其最难实例所需的最小时间与空间决议,还可以了解为由解该问题的最有效的算法所需的时间与空间来度量。NP问题在确定型图灵机上可用多项式时间求解的问题,称为易处置的问题。易处置的问题的全体称为确定性多项式时间可解类,记为P类。在非确定性图灵机上可用多项式时间求解的问题,称为非确定性多项式时间可解问题,记为NP问题。NP问题的全体称为非确定性多项式时间可解类,记为NP类。显然,,由于在确定型图灵机上多项式时间可解的任何问题在非确定型图灵机上也是多项式时间可解的。NPC问题NP类中还有一类问题称为NP完全类,记为NPC。一切的NP问题都可以经过多项式时间转换为NPC中的问题。NPC是NP类中困难程度最大的一类问题,但NPC中的问题困难程度相当,都可以多项式时间转化为称为可满足性问题的NPC问题,此类NPC具有如下性质,假设其中的任何一个问题属于P,那么一切的NP问题都属于P,且。如今的密码算法的平安性都是基于NPC问题的,破译一个密码相当于求解一个NPC问题,假设,那么破译密码就是一件很容易的事情.2.2信息加密方式与规范经典的信息加密实际主要用于通讯严密,而现代信息加密技术的运用已深化到信息平安的各个环节和对象,信息的加密方式和规范也有了深化广泛的开展,特别是现代加密和信息隐藏技术的结合,实现信息隐蔽传输使人类对信息的加密技术有了新的认识和要求,下面引见信息加密技术的根本概念、方式和规范。2.2.1信息加密根本概念〔1〕研讨平安信息的加密技术和研讨破解平安信息密码的密码分析技术的学科称为密码学。信息加密是经过运用一种编码而使某些可读的信息(明文)变为不可读的信息(密文)。这些编码就是将明文变成密文的加密算法(也称为密码)或数学方法。密码运用隐蔽言语、文字、图象的特种符号,目的是接纳数据作为输入,产生密文作为输出,以便数据的原始意义得以隐藏。在计算机通讯中,采用密码〔密钥为参数〕将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,也不能了解信息的内容,从而保证信息传输的平安。2.2.1信息加密根本概念〔2〕通讯两端将信息编码时,发送端运用简单的信息加密;接纳端收到传来的信息后经过解密看到编码前的信息,整个过程中加密或解密是由密钥控制实现的。密钥是用户按照一种密码体制随机选取,它通常是一随机字符串,是控制明文变换〔加密〕和密文变换〔解密〕的独一参数。密钥全体称为密钥空间。普通来说,密钥越大,加密就越强壮。加密系统的组成部分如上所述,一个加密系统实践上是某种加密算法在密钥控制下实现的从明文到密文的映射,它至少包括下面四个组成部分:〔1〕加密的报文,也称明文;〔2〕加密后的报文,也称密文;〔3〕加密解密设备或算法;〔4〕加密解密的密钥;普通情况下,密钥由K表示,明文由m表示,加密算法由()表示,解密算法由()表示,;那么,((m))=m加密系统表示图一个完好的加密系统如以下图所示:信源加密解密信宿密文明文窃听干扰明文密钥K1密钥K2图2.2加密系统表示图加密系统的平安规那么〔1〕任何一个加密系统必需根本具备四个平安规那么:〔1〕性(confidentiality):加密系统在信息的传送中提供一个或一系列密钥来把信息经过密码运算译成密文,使信息不会被非预期的人员所读取,只需发送者和接纳者应该知晓此信息的内容。加密系统的平安规那么〔2〕〔2〕完好性(integrity):数据在传送过程中不应被破坏,收到的信宿数据与信源数据是一致的。应该选取强壮的密码和加密密钥,以确保入侵者无法攻破密钥或找出一个一样的加密算法,阻止入侵者会改动数据后对其重新加密。有时,数据完好性可以经过适当的方法在信息还未被完全修正时检测到,如:密码散列函数是单向密码,它为明文产生独一的“指纹〞,当明文被拦截和读取,要修正它将改动散列,致使有意向的接纳者很容易看出散列之间的差别。加密系统的平安规那么〔3〕〔3〕认证性(authentication):加密系统应该提供数字签名技术来使接纳信息用户验证是谁发送的信息,确定信息能否被第三者篡改。只需密钥还未泄露或与他人共享,发送者就不能否认他发送的数据。实践运用中,假设发送者和接纳者都运用一个对称密钥,对于整体信息加密或计算机网络上的链路级加密,在两个路由器之间建立一个加密会话,以经过因特网发送加密信息。衔接到网络的计算机发送明文给路由器,明文被转换为密文,然后经过因特网发送到另一端的路由器。在整个加密数据构成和传送过程中,加密方网络内部和非加密方的任一节点都能插入信息,并在这一层次分析,但对于接纳者这一节点来说他只能断定信息能否来自某个特定的网络,而要确认信息的发送节点,这将使验证机制变得很复杂。加密系统的平安规那么〔4〕〔4〕非否认(non-repudiation):加密系统除了应该验证是谁发送的信息外,还要进一步验证收到的信息能否来自可信的源端,实践上是经过必要的认证确认信息发送者能否可信。现代强壮的验证方法用加密算法来比较一些知的信息段,如PIN(个人识别号)判别源端能否可信。非否认规那么应属于认证性规那么中的一部分。普通来说,前三个规那么一同被称为CIA。从技术的角度来看,一切的加密都提供了私有性和完好性,其他的均由此衍生,这包括非否认和认证性规那么。2.2.2信息加密方式

1.信息加密方式分类对存储的文件和网络中传输的数据包实施信息加密,其加密方式可以根据加密系统不同的特征划分:〔1〕按密钥方式划分对称式加密:收发双方运用一样密钥。加密和解密运用同一密钥。加密算法和解密算法在对称式加密中是一样的,加密和解密运用同一密钥K表示。非对称式加密:也称公用密钥加密,加密和解密运用不同密钥。它通常有两个密钥,称为“公钥〞和“私钥〞。它们两个必需配对运用,否那么不能翻开加密文件。这里的“公钥〞是指可以对外公布的,“私钥〞那么不对外公布,只需持有人知道。加密算法和解密算法在非对称式加密中是不一样的;K1是加密密钥,是公开的,称为公钥,K2是解密密钥,称为私钥,那么须严密。2种不同方式的加密表示图

明文解密密钥K2明文加密密钥K2KK密文传输图2.2对称式加密表示图明文解密密钥K2K1K2加密密钥K2明文图2.3非对称式加密表示图1.信息加密方式分类〔2〕按严密程度划分实际上严密的加密:无论获取多少密文和有多大的计算才干,对于明文一直不能得到独一解的加密方法。如:采用客观随机一次出来的密码就属于这种加密方式。实践上严密的加密:从实际的角度是可以破解的,但在现有客观条件下,无法经过计算来确定独一解。〔3〕按明文形状划分模拟信息加密:用来加密模拟信息。如:动态范围之内,延续变化的语音信号的加密。数字信息加密:用来加密数字信息。如:两个离散电平构成0、1二进制关系的电报信息的加密。2.数字签名数字签名是对原信息附上加密信息的过程,是一种身份认证技术,支持加密系统认证性和非否认;签名者对发布的原信息的内容担任,不可否认。数字签名采用非对称式加密〔也称公钥加密规范〕对信息m运用私钥K2加密,运算如下:S=DK2(m)其中S为签名,D为解密算法;接纳者收到发送者发来的S和m信息,同时从公开媒体找到了发送者的公钥K1,发送者用K2对S进展如下运算:EK1(S)=EK1(DK2(m))=m,E为加密算法;收到的m对应计算出来的m,结果阐明信息确实来源于发送者,第三方不能够知道私钥K2,无法篡改S,发送者无法否认发送m信息。在实践任务中,由于解密计算缓慢,为了提高签名速度,m信息往往要经过紧缩或散列处置或尽量取简短信息,如公钥数据等。数字签名任务流程图

信息m密钥K2私钥K2公钥K1信息m密钥K2解密算法密钥K2签名S密钥K2签名S密钥K2加密算法密钥K2图2.4数字签名任务流程图3.网络信息加密

网络信息加密的目的是维护网内的数据、文件、口令和控制信息,维护网上传输的数据。网络加密常用的方式有链路加密和端点加密。〔1〕链路加密链路加密对链路层数据单元进展加密维护,其目的是维护网络节点之间的链路信息平安。这种加密不但对节点之间之间传输的数据报文加密,还要把路由信息、校验和控制信息包括数据链路层的帧头、位填充和控制序列等都进展加密;当密文传输到某一节点时,全部解密获得链信息和明文,然后全部加密后发送往下一个节点;对于这种加密,加密设备的设计相对复杂,必需了解链路层协议和必要的协议转换。链路加密的优缺陷链路加密非常有效,是由于几乎任何有用音讯都被加密维护。加密范围包括用户数据、路由信息和协议信息等。因此,攻击者将不知道通讯的发送和接受者的身份、不知道信息的内容、甚至不知道信息的长度以及通讯继续的时间。而且,系统的平安性将不依赖任何传输管理技术。密钥管理也相对简单,仅仅是线路的两端需求共同的密钥。线路两端可以独立于网络的其他部分改换密钥。链路加密的缺陷是:整个衔接中的每段衔接都需求加密维护。对于包含不同体系机构子网络的较大型网络,加密设备、战略管理、密钥量等方面的开销都是宏大的。另外,在每个加密节点,都存在加密的空白段:明文信息,这是及其危险的,特别是对于跨越不同平安域的网络。后来,为处理节点中数据是明文的缺陷,在节点内添加了加解安装,防止了节点明文,这种加密方式称为节点加密;但和链-链加密一样,同样依托公共网络节点资源的配合,开销依然很大。端点加密端点加密的是对源端用户到目的端用户的数据提供加密维护。既将加密模块置于网络以上的加密方式。端点加密中,数据从加密的端节点,不断到对应的解密节点,数据在整个传输过程中都坚持密文方式,从而抑制了链路加密出现加密空白段〔中间节点明文信息〕的问题。由于加密和解密只发生在两个端节点,因此对中间节点是透明的。这样大大减少了安装设备的开销〔特别是中间节点设备开销〕,以及复杂的战略管理和密钥管理所引起的费事。由于加密范围往往集中在高层协议数据,还极易为不同流量提供QoS效力,实现按特定流量进展加密和不同强度的加密。从而有利于提高系统的效能,优化系统的性能。端点加密的缺陷端点加密的缺陷是:由于通讯环境往往比较复杂,要在跨越网络的两个端用户之间胜利地完成密钥的建立是需求付出性能代价的。其次,端点加密不能维护数据传输过程中的某些信息,如路由信息、协议信息等,一个训练有素的攻击者可以借助这些信息发动某些流量分析攻击。另外,端点加密设备〔模块〕的实现非常复杂,要求设备必需了解效力的提供层的协议,并且胜利调用这些效力,然后在设备中对对应的数据进展密码处置,并且将处置后的数据传送给上层协议。假设加密设备不能为上层协议提供良好的效力接口,那么将对通讯的性能产生较大的影响。

2.2.3数据加密规范

1.对称密钥加密DESDES(dataencryptionstandard)是1976年由美国国家规范局公布的一种加密算法,属于对称密钥加密算法体制,早期被公以为较好的加密算法,经过长期严验证后,被国际规范化组织接受作为国际规范。DES自它运用20多年来,不断经受了许多科学家破译,同时也成为密码界研讨的重点。DES对称密钥加密算法广泛的运用在民用密码领域,为全球贸易、金融等非官方部门提供了可靠的通讯平安保证。DES的相关知识DES主要采用交换和移位的加密方法用56位密钥对64位二进制数据块进展加密,加密每次可对64位的输入数据进展16轮编码,经过一系列交换和移位后,原始的64位输入数据转换成了完全不同的64位输出数据。DES算法运算速度快,生成密钥容易,适宜于在当前大多数计算机上用软件方法和公用芯片上实现。但DES密钥太短〔56位〕,密钥强壮性不够好,降低严密强度;同时,DES平安性完全依赖于对密钥的维护,在网络环境下运用,分发密钥的信道必需具备有力的可靠性才干保证性和完好性。DES算法还有一些变形,如:三重DES和广义DES等。目前,DES运用领域主要包括:计算机网络通讯中的数据维护〔只限于民用敏感信息〕;电子资金加密传送;维护用户存储文件,防止了未授权用户保密;计算机用户识别等。2.Clipper加密芯片规范这种数据加密规范对用户只提供加密芯片〔Clipper〕和硬件设备,它的密码算法不公开,密钥量比DES多1000多万倍,是美国国家严密局〔NSA〕在1993年正式运用的新的商用数据加密规范,目的是取代DES,提高密码算法的平安性,主要用于通讯交换系统中、和计算机通讯信息的平安维护。为确保更可靠的平安性,加密设备的制造方法按照Clipper芯片由一个公司制造裸片,再由另一公司编程严厉规定来实施。Clipper芯片主要特点是充分利用高的运算才干的设备资源加大密钥量,从而用于计算机通讯网上的信息加密,如:政府和军事通讯网中数据加密芯片的研讨不断换代使它还实现了数字签名规范和严密的哈希函数规范以及用纯噪声源产生随机数据的算法等。3.国际数据加密规范这种算法是在DES算法的根底上开展的。与DES一样,国际数据加密算法IDEA〔internationaldataencryptionalgorithm〕也是针对数据块加密;它采用128位密钥,设计了一系列加密轮次,每轮加密都运用从完好的加密密钥中生成的一个子密钥,基于这种算法,采用软件实现和采用硬件实现同样快速,非常适宜于对大量的明文信息的快速加密。它在1990年正式公布并在以后得到了加强。传统加密方法的缺陷在网络通讯中,传统的对称加密方法是发送者加密、接纳者解密运用同样的密钥,这种方法虽然有运算快的特点,随着用户的添加,大量密钥的分配是一个难以处理的问题。例如,假设系统中有n个用户,其中每两个用户之间需求建立密码通讯,那么系统中每个用户须掌握(n-1)/2个密钥,而系统中所需的密钥总数为n*(n-1)/2个。对10个用户,每个用户必需有9个密钥,系统中密钥的总数为45个。对100个用户,每个用户必需有99个密钥,系统中密钥的总数为4950个。这还仅思索用户之间的通讯只运用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处置的问题。因此,对称加密方法所带来的密钥的弱的强壮性和密钥管理的复杂性局限了它的开展。4.公开密钥加密规范早在20世纪70年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种加密方法――公开密钥加密方法,处理了传统加密体系的密匙分配复杂的缺陷。公开密钥加密方法是非对称加密方式,该技术采用不同的加密密钥和解密密钥对信息加密和解密,每个用户有一个对外公开的加密算法E和对外严密的解密算法D,它们须满足条件:〔1〕D是E的逆,即D[E〔X〕]=X。〔2〕E和D容易计算。〔3〕假设由E出发求解D非常困难。公钥及私钥的概念假设加密密钥可对外公开,称为公钥;一个用户向另一用户传送信息,首先经过开放途径(如BBS)的获得另一用户的公开密钥,对明文加密后发送,而另一用户独一保管的解密密钥是严密的,称为私钥,另一用户经过平安的方法验证信源可靠后,私钥将密文复原、解密。实际上解密密钥可由加密密钥推算出来,但这种算法设计在实践上是不能够的,或者虽然可以推算出,但要破费很长的时间和代价,所以,将加密密钥公开不会危害密钥的平安。RSA算法著名的RSA正是基于这种实际,算法以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman.这种算法为公用网络上信息的加密和鉴别提供了一种根本的方法。为提高严密强度,RSA密钥至少为500位长,普通引荐运用1024位,这就使加密的计算量很大。同时,为减少计算量,在传送信息时,常采用传统对称加密方法与RSA公开密钥加密方法相结合的方式,信息明文加密采用改良的DES或IDEA加密方法,运用RSA用于加密密钥和信息摘要。对方收到信息后,用各自相关的密钥解密并可核对信息。但是RSA并不能替代DES等对称算法,RSA的密钥长,加密速度慢,而采用DES等对称算法加密速度快,适宜加密较长的报文,弥补了RSA的缺陷。美国的严密加强邮件系统〔PEM〕就是采用了RSA和DES结合的方法,目前已成为严密通讯规范。5.量子加密方法量子加密与公钥加密规范同期出现,适用于网络上加密普通宽带数据信道所传送的信息,任务原理是两端用户各自产生一个私有的随机数字符串,两个用户向对方的接受安装发送代表数字字符串的单个量子序列〔光脉冲〕,接受安装从两个字符串中取出相匹配的比特值组成了密钥。实现了会话或交换密钥的传送。由于这种方法依赖的是量子力学定律,传输的光量子是无法被窃听的;假设有人进展窃听,就会对通讯系统呵斥干扰,对通讯系统的量子形状呵斥不可挽回的变化,通讯双方就会得知有人进展窃听,从而终了通讯,重新生成密钥。这种加密技术不久的未来应该有运用和开展,但是如何实现数字签名有待于研讨。2.3公钥信息加密算法随着密码技术的开展,Diffie和Hellman在IEEE提出提出了公钥密码系统,即加密密钥和解密密钥不是同一把密钥。如今公钥密码系统被广泛的运用,其中RSA加密算法,Diffie-Hellman算法,ElGamal加密算法,椭圆曲线加密算法被广泛研讨和运用。2.3.1RSA加密算法RSA的平安性依赖于大数分解。公钥及私钥都是两个大素数〔大于100个十进制位〕的函数,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。算法如下:1.生成密钥〔1〕的选取两个大数p,q〔2〕计算,,这指的是Euler函数〔3〕选取整数e,满足且。〔4〕计算d,满足。即d是e关于模乘的逆元,〔乘法逆元:设,假设存在,满足,那么称x是a的模n乘法逆元,记为(modn)〕由e的定义,d独一。〔5〕输出公钥,私钥。详细加密解密操作加密操作选定,把明文分生长度为k的组块。对每个明文分组M,M在0到(n-1)之间。加密操作为:

解密操作得到密文分组C,解密操作为:

(2.14)

(2.15)RSA算法的局限性〔1〕〔1〕有限的平安性RSA是一种分组密码算法,它的平安是基于数论中大的整数n分解为两个素数之积的难解性。目前,RSA的一些变种算法已被证明等价于大数分解。同样,分解n也是最显然的攻击方法。如今,人们已能分解140多个十进制位的大素数。因此,适用详细情况而定,模数n必需选尽能够大。同时要留意,假设系统中共享一个模数,不同的人拥有不同的公钥e1和e2,这些公钥共模而且互质,假设普遍的情况是同一信息用不同的公钥加密,那么该信息无需私钥就可得到恢复。即设P为信息明文,C1和C2为密文,公共模数是n,那么:C1=P^e1modn;C2=P^e2modn密码分析者知道n、e1、e2、C1和C2,就能得到P。处理方法只需一个,那就是不要共享模数n。RSA算法的局限性〔2〕〔2〕运算速度慢RSA算法进展的都是大数计算,使得其最快的情况也比DES慢上100倍,无论是软件实现还是硬件实现。速度不断是RSA算法的缺陷。普通来说RSA算法只用于少量数据加密。有一种提高RSA速度的建议是使公钥e取较小的值,这样会使加密变得易于实现,速度有所提高。但这样作是不平安的,公钥e和私钥d还是都取较大的值为好。但是,RSA算法是第一个能同时用于加密和数字签名的算法,也易于了解和操作。阅历了各种攻击的考验和最广泛的研讨,从提出到如今已近二十年,逐渐为人们以为是目前最适用的公钥算法之一。2.3.2Diffie-Hellman算法Diffie和Hellman在1976年公开发表的第一个公钥密码算法定义了公钥密码学。论文中提出一个密钥交换系统,让网络互不相见的两个通讯体,可以共享一把钥匙,用以证明公开密钥的概念的可行性。这个算法本身基于计算对数难度,其目的是实现两个用户之间平安地交换密钥以便于后续的数据加密。Diffie-Hellman密钥交换算法在如今的许多商用产品中运用。Diffie-Hellman算法描画算法描画如下:给定公开素数q和q的本原根r。即r∈{1,2,3,4,…(q-1)},且{1,2,3,4,…(q-1)}={modq,modq,modq,…modq}那么对b∈{1,2,3,4,…(q-1)},可以独一的指数i,使得b=modq。用户A,B交换密钥的方法如下:〔1〕用户A选择一个随机数,计算,A将保管而将公开。〔2〕用户B选择一个随机数,计算,B将保管而将公开。〔3〕A将送给B,B将送给A,〔A并不知道,B并不知道〕〔4〕用户A计算密钥:;〔5〕用户B计算密钥:;2.3.3ElGamal加密算法EIGamal体制是T.EIGamal在1985年发表的“Apublic-keycryptosystemandasignaturesschemebasedondiscretelogarithms〞(一个基于离散对数的共钥密码体制和数学签名方案)论文中提出的公开密匙密码体制。下面给出的EIGamal体制在论文中用于数据加密的算法。采用EIGamal公开密匙密码体制的密码系统中,一切的用户都共享一个素数P以及一个Z的生成元g,明文空间P=Z,密文空间,选定0<a<p,计算密钥:a公开密钥:bElGamal加密解密算法加密算法:设明文为m,0≤m<p,随机的选取正整数k,0≤k<p,gcd(k,p-1)=1,计算密文对y1,y2:

密文。解密算法:可见,EIGamal体制的密文不是独一的,这是一种非确定性加密方式。显然添加了系统的平安性,但是,代价是密文膨胀了两倍。2.3.4椭圆曲线加密算法定义

定义:椭圆曲线指的是由韦尔斯特拉斯方程所确定的平面曲线。其中,系数〔i=1,2,…,6〕定义在基域K上〔K可以是有理数域、实数域、复数域,还可以是有限域,椭圆曲线密码体制中用到的椭圆曲线都定义在有限域上〕椭圆曲线加密算法相关知识1985年,Koblitz和Miller相互独立地开发提出了在密码学中运用椭圆曲线〔ElipticalCurve〕构造公开密钥密码体制的思想。这一算法一出现便遭到关注,由于基于椭圆曲线的公开密钥密码体制开销小〔所需的计算量小〕、平安性高等优点,随着椭圆曲线的公开密钥密码体制极大的开展,它将替代RSA成为通用的公钥密码算法。实际阐明,在32位的PC机上和16位微处置器上运转椭圆曲线密码算法,其中16位微处置器上的数字签名缺乏500ms。因此,运用椭圆曲线的数字签名可以很容易地在小的有限资源的设备中运用。1.有限域上的椭圆曲线算法的提出

设K表示一个有限域,E是域K上的椭圆曲线,那么E是一个点的集合:E/K={(x,y)|y2+a1xy+a3y=x3+a2x2+a4x+a6,a1,a3,a2,a4,a6x,yK}{O}其中O表示无穷远点。在E上定义‘+’运算,P+Q=R,R是过P、Q的直线与曲线的另一交点关于x轴的对称点,当P=Q时R是P点的切线与曲线的另一交点关于x轴的对称点。这样,(E,+)构成可换群(Abel群),O是加法单位元(零元)。椭圆曲线离散对数问题定义如下:给定定义在K上的椭圆曲线E,一个n阶的点PE/K,和点QE/K,假设存在l,确定整数l,0,l,n-1,Q=lP。我们知道,RSA是基于因子分解,其算法的中心就是如何寻觅大数的因子分解,但大数的因子分解是比因子分解难得多的问题。椭圆曲线上的加法:P+Q=R是椭圆曲线上一点的2倍:P+P=R.基于该难题,1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,分别利用有限域上椭圆曲线的点构成的群实现了离散对数密码算法。2.椭圆曲线上的密码算法椭圆曲线加密系统由很多依赖于椭圆曲线离散对数算法问题的加密系统组成:〔1〕知E(Fn)对点的“〞运算构成一个Abel群,设p∈E(Fn),假设p的周期很大,即使pp……p=θ(共有t个p相加)成立的最小正整数t,希望t很大(t=p的周期,表示为∏(p)=t),并且对Q∈E(Fq),定有某个正整数m使Q=m•p=p……p(共有m个p相加)定义m=㏒nQ(m为以n为底Q的对数)椭圆曲线上的点构成的群E(Fn),相关它的离散对数问题是难处置的。建立椭圆曲线密码体制

选取基域Fn,Fn的椭圆曲线详细给定为确定的方式。在E(Fn)中选一个周期很大的点,如选了一个点P=(xn,yn),它的周期为一个大的素数n,记∏(P)=n(素数)。留意:在这个密码体制中,详细的曲线及点P和它的n都是公开信息。密码体制的方式采用EIGamal体制,是完全类比过来。建立椭圆曲线密码的方法运用者执行了以下计算:a)在区间[1,n-1]中随机选取一个整数d;b)计算点Q:=dP(d个P相);c)运用者公开本人的公开密钥——(E(Fn),p,n,Q);d)运用者的私钥为整数d;发送者要发送音讯m给运用者,执行:a)查找运用者的公钥(E(Fn),p,n,Q),b)将m表示成一个域元素m∈Fn,c)在区间[1,n-1]内选取一个随机数k,d)根据运用者的公钥计算点(x1,y1):=kP(k个P相),e)计算点(x2,y2):=kQ,假设x2=0,那么回到第c步计算C:=m•x2;f)传送加密数据(x1,y1,C)给运用者;运用者收到发送者的密文(x,y,C)后,执行解密过程:a)运用私钥d,计算点(x2,y2):=d(x1,y1),再计算Fn中,b)经过计算m:=C•,恢复出明文数据m。2.4信息加密产品简介信息加密产品随着加密技术的运用和开展出现了良好的商业化趋势,比较常用的信息加密软件有PGP和CryptoAPI,作为开放的软件工具,它们的运用为深化开展信息加密技术的研讨提供了协助。下面分别引见PGP和CryptoAPI。2.4.1PGP加密软件简介PGP(pretty

good

privacy)是一个对邮件和传输的文挡进展加密的软件,可以用来对邮件和文挡严密以防止非授权者阅读,让他可以平安地和他从未见过的人们通讯。PGP软件综合了目前强壮的加密方法和加密系统认证性方面的新手段,功能强大有很快的速度,是一种比较适用和平安的加密工具。PGP软件开创人是美国的Phil

Zimmermann,由于许多版本不受密码出口控制,源代码也是免费的,获取比较方便。1.PGP采用的加密规范PGP

用的是公匙加密和传统加密的杂合算法,这种算法发明性在于他把公匙加密体系的方便和传统加密体系的高速度结合起来,充分利用多个算法各自的优点运用于明文加密和密匙认证管理机制中,构成了整个加密系统巧妙的设计。PGP实践上用来对明文加密采用了IDEA的传统加密算法。IDEA的加〔解〕密速度比公匙加密算法如RSA快得多,但主要缺陷就是密匙的传送渠道处理不了平安性问题,不适宜网络环境加密需求。因此,PGP每次加密都可以随机生成密匙用IDEA算法对明文加密,然后在用密匙的传送中用公匙加密算法,普通是运用不适宜加密大量数据的RSA或Diffie-Hellman算法对该密匙加密来保证传送渠道的平安性,这样收件人同样是用RSA或Diffie-Hellman解密出这个随匙,再用IDEA解密出明文。PGP加密方法表示图

解密密钥K2明文密钥K加密密钥K2明文加密密钥K2发送者接纳者IDEA加密密文接纳者的公钥K1公钥加密密文解密密钥K2接纳者的私钥K2密钥K图4.1PGP加密方法表示图2.PGP的密匙管理〔1〕在PGP中假设IDEA密匙是经过网络传送而不加密,网络黑客们就会“监听〞而获取密匙,整个传输一定危险,因此,必需经过必要可靠的密匙管理来保证信息发送和接纳的平安性。一个成熟的加密系统必然要有一个成熟的密匙管理机制配套,公匙加密体系可以处理传统加密体系的密匙分配难严密的缺陷,PGP中运用RSA或Diffie-Hellman算法实施密匙分配。2.PGP的密匙管理〔2〕但是,分配过程中首先要获取对方公匙,假设公匙被篡改,所获得的公匙成了伪造的,密匙分配就会传送给篡改者,篡改者可以用本人的私匙解密获得密匙。这能够是公匙密码体系中最大的破绽和平安性问题,他必需确信他拿到的公匙属于它看上去属于的那个人。防止这种情况出现的最好方法是防止让任何其他人有时机篡改公匙,比如直接从要接纳信息的人手中得到公匙,然而当在千里之外或无法见到时,这是很困难的。2.PGP的密匙管理〔3〕处理这个问题普通方法是数字签名,直接认证他的信息接纳者的公匙,防止篡改公匙;而PGP那么在此根底上开展了一种公匙引见机制来处理这个问题,举例来说:假设他和接纳信息的人有一个共同的朋友,而朋友知道他手中的他的接纳信息的人的公匙是正确的,这样朋友可以用他本人的私匙在他的接纳信息的人的公匙上加密,表示他担保这个公匙属于他的信息接纳者,然后他需求用朋友的公匙解密获取信息接纳者给他的公匙,同样朋友也可以向他的信息接纳者认证他的公匙。这样朋友“引见人〞。这样他就可以放心地到BBS上取朋友签过字的公匙,由于经过朋友认证,没人能够获得朋友的私匙去伪造和篡改信息接纳者给他的公匙,但前提是朋友认证过他的信息接纳者的公匙,这样是从信任的公共渠道传送公匙的平安手段。PGP的平安性管理特点〔1〕谨慎的密匙管理〔2〕灵敏选择加密密匙对的位数〔3〕专门用来签名而不加密,用于声明人用本人的私匙签名证明本人的身份〔4〕加密的实践密匙随机数难以分析,如:PGP程序对随机数的产生是很谨慎的,关键的随机数像RSA密匙的产生是从用户瞧键盘的时间间隔上获得随机数种子的,这有效地防止了他人从他的随机数文件中分析出他的加密实际密匙的规律来〔5〕PGP内核运用PKZIP算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论