《信息安全概论第7讲.ppt》由会员分享,可在线阅读,更多相关《信息安全概论第7讲.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息安全概论第7讲2008年x月y日密码系统的定义定义1 一个对称密码系统(Cryptosystem)CS,是一个五元集合CS=M,C,K,e,d,其中:1.明文消息空间 :表示明文消息的集合;2.密文消息空间 :表示密文消息的集合;3.密钥空间 :表示密钥的集合;4.加密变换 :表示一个确定的映射5.脱密变换 :表示一个确定的映射它满足下列条件:对于给定的密钥k,均有对给定的密钥k,由e和d诱导下列两个变换也称为加密/脱密变换。这时,定义1所满足的条件可以记为 。3.1.1密码编码通常实用的密码系统在技术角度上还需要满足下列三个要求:1.加、脱密变换e、d对所有密钥k都有效(防止计算中的阻断
2、)。2.密码系统应易于实现(对任意给定的密钥k,有高效的加密/脱密计算方法)。3.密码系统的安全性仅依赖于密钥的保密,而不依赖于算法e和d的保密。图3.2 密码系统应用参考模型 3.2.4其他分组算法1.IDEA 由瑞士联邦理工学院的Xuejia Lai和James Messey 1990年提出。算法主要参数是:64 bit分组,128 bit密钥。主要特点是运行速度快、适合软件、芯片实现。IDEA在其后面版本中增加了抗差分分析特性。设计者定义了马尔科夫链且证明了能抗差分攻击的模型和量化估计,Lai证明在8轮的算法中4轮后就对差分分析攻击免疫了。算法已经被PGP电子邮件安全协议采用。3.2.4
3、其他分组算法2.RC5RC5由美国RSA Laboratory的Ron Rivest在1994年提出。算法主要参数是:加密圈数为0到255之间的任何数,分组长度32bit、64bit、128bit可选,密钥长度为0 bit到255 bit之间的任何数。主要特点是:因为主要参数的可变性,使用者可方便地在算法安全性、速度和内存资源占用的等方面作出符合实际应用情况的选择。RC5已经用于RSA数据安全公司的BSAFE、JSAFE、S/MAIL等产品中。3.2.4其他分组算法3.CAST-128由Carlisle Adams和Stafford Tavares 1997年提出。算法主要参数是:密钥长度从4
4、0 bit开始按照8 bit递增到128 bit,分组长度为64 bit。主要特点:得到密码学家广泛的评审,认为其安全性较好。算法已经被PGP电子邮件安全协议采用,并且作为RFC 2144标准颁布。3.2.4其他分组算法4.Blowfish由密码学家Bruce Schneier在1993年提出。算法主要参数是:密钥长度从32bit到448bit,分组长度64bit。主要特点是:编码规则同以往算法比较有重要改进,密码分析变得异常困难。从而认为它的安全强度较高。目前应用到很多产品中。此外,还有一些很好的密码算法。如MARS、Serpent、Twofish、RC6都进入AES评选决赛。这里不再赘述。
5、3.2.5 序列密码A5在1989年由法国人开发,用于GSM系统的序列密码算法,它用于对从电话到基站连接的加密。而基站之间的固网信息没有进行加密。先后开发的三个版本称作A5/1、A5/2、A5/3。如果没有特别声明,通常所说的A5是指A5/1。关于GSM的加密问题,一些人认为会因为密码的问题阻碍手机的推广。而另一些人则认为A5太弱,不能抵抗一些国家情报机构的窃听。A5的特点是效率高,适合硬件上高效实现,它能通过已知的统计检验,起初该算法的设计没有公开但最终不慎泄漏。1.A5算法的描述 A5算法由三个线性反馈移位寄存器(LFSR)R1、R2、R3组成,寄存器的长度分别是n1=19,n2=22和n
6、3=23。它们的特征多项式分别是:f1(x)=x 19+x 5+x 2+x+1f2(x)=x 22+x+1f3(x)=x 23+x 15+x 2+x+1所有的反馈多项系数都较少。三个LFSR的异或值作为输出。A5通过所谓的“停/走”式钟控方式相联。1.A5算法的描述 1.A5算法的描述 这里Si,j表示t时刻,Ri的状态向量的第j个比特,而1=10,2=11,3=12。钟控函数为:Ri的停/走规则是,当时,则Ri走,否则停。1.A5算法的描述 A5算法的密钥K是为64比特。顺次填入为R1、R2、R3的初始状态,然后经过100拍的初始化运算,不输出。加密过程是,为通信的一个方向生成114比特的密
7、钥序列,然后空转100拍,再为通信的另一个方向生成114比特的密钥序列,。用密钥序列与明文序列按位模2相加得到相应的密文,对方用密钥序列与密文序列按位模2相加得到相应的明文。这就是A5的基本原理。2.A5 的弱点A5的弱点或许是因为其移位寄存器的技术太短所致。有一种直接攻击需要240次加密运算:先猜测前两个移位寄存器的状态,然后通过输出序列决定第三个移位寄存器的状态。1999年12月一定条件下A5算法被攻破,2002年5月IBM研究人员发现新的快速获取密钥k的方法。2003年8月A5的一个变种A5/2也被破译。3.3公钥密码算法公钥密码算法又称为非对称密钥密码算法,其主要特征是加密密钥可以公开
8、,而不会影响到脱密密钥的机密性。可用于保护数据的机密性、完整性、身份识别等。3.3.1 RSA算法1.系统建立过程Bob选定两个不同的素数p和q,令n=pq,再选取一个整数e,使得。从而可以计算出Bob公开(e,n)作为公开密钥,而保存(d,n)作为自己的私有密钥。这里,表示n的欧拉函数,即表示不超过n且与n互素的整数个数。易证当n=pq,p和q为不同的素数时,。当把e看成 中的元时对乘法是可逆的,从而可用欧几里的算法求出其逆元3.3.1 RSA算法1.加密过程RSA算法的明文空间与密文空间均为3.3.1 RSA算法1.脱密过程3.3.1 RSA算法加脱密过程中的e称为加密指数,d称为脱密指数
9、。显然,由e和n无法算出d。明文发送方和接收方都必须知道n的值。发送方知道e的值,而只有接收方知道d的值,公开密钥:私有密钥:3.3.1 RSA算法例2.构造一个RSA算法如下:1.选择两个素数p=7以及q=17;2.计算n=pq=7 17=119;3.计算 ;4.选择一个e=5,它小于 ;5.求出d,使得de=1 mod 96且d96。易见d=77,因为 7 753854 961。6.结果得到的密钥为公开密钥KU5,119和私有密钥KR77,119。3.3.1 RSA算法我们用明文输入m19时的加脱密过程来说明上述密码系统的应用。在加密时,取19的5次方得2476099;除以119后计算得到的余数为66;因此,所以密文为66。在脱密时,取66的77次方,除以119后计算余数得到,所以脱密后得到原来的明文19。作业l9.考虑RSA密码系统。证明对明文0,1和n-1,加密后密文等于明文本身。还存在这样的明文吗?l10.通常说破译RSA密码等同于分解大整数n。证明:如果n能被分解,则可根据n和公钥计算出私钥。
限制150内