文档介绍:关于密码技术和安全协议
现在学习的是第1页,共67页
引言
安全要素与密码技术的关系
保密通信的基本过程(不同协议层加密对通信的影响)
实际过程中遇到的问题(密钥共享、密钥获取、验证、算法协商等)
现在学习的是第2页,共67的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准
DES是一个分组加密算法,他以64位为分组对数据加密。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
现在学习的是第23页,共67页
DES算法框架
DES对64(bit)位的明文分组M进行操作,M经过一个初始置换IP置换成m0,将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。经过16轮后,左,右半部分合在一起经过一个末置换
在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次
现在学习的是第24页,共67页
DES解密
加密和解密使用相同的算法
DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1,K2,K3….K16那么解密密匙就是K16,K15,K14…K1
现在学习的是第25页,共67页
对称密钥算法的特点
优点:加解密速度快,如果密钥长度足够,则很难破解
缺点:通信相方需要在通信前交换密钥,或者事先保存密钥。密钥数量随着用户数量的增长而急剧增长: Cn2=n(n-1)/2 ,使用和管理都比较困难
难以实现认证和防抵赖功能
现在学习的是第26页,共67页
对称密码算法如何实现保密通信
如何实现?实现思想(思考提问)
如何密钥共享
自行交换:不适合大规模使用
使用密钥分发中心
现在学习的是第27页,共67页
使用密钥分发中心的密钥共享
现在学习的是第28页,共67页
使用密钥分发中心的密钥共享
现在学习的是第29页,共67页
对称密码算法如何实现真实性
认证的基本思想(思考提问)
对称算法中,通信真实性的基础
现在学习的是第30页,共67页
Otway Rees密钥交换与鉴别协议
现在学习的是第31页,共67页
对称算法体系中如何实现完整性
完整性:摘要算法
如何实现(思考)
现在学习的是第32页,共67页
非对称密码算法体系
现在学习的是第33页,共67页
非对称密码算法基本概念
算法公开
加密密钥和解密密钥不同,但成对
一般为分组算法
现在学习的是第34页,共67页
非对称密钥算法加解密流程
加密
明文
密文
解密
密文
明文
自己私钥
(接收者)
(发送者)
对方公钥
现在学习的是第35页,共67页
著名的公钥密码算法1
RSA
该算法于1977年由MIT的Ron Rivest,Adi Shamir和Len Adleman三位年轻教授提出
基于大质数分解在计算上的困难来实现
攻破512位密钥RSA算法大约需要8个月时间;现在,在技术上还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间
美国Lotus公司悬赏1亿美元,奖励能破译其Domino产品中1024位密钥的RSA算法的人
现在学习的是第36页,共67页
RSA算法简介
a)选择两质数p、q。   b)计算n = p*q。   c)计算n的欧拉函数 (n)=(p-1)(q-1)。   d)选择整数e,使e与 (n)互质,且1<e< (n)。   e)计算d,使d*e=1 mod (n)。   其中,公钥 KU={e,n},私钥 KR={d,n}
现在学习的是第37页,共67页
RSA算法的加解密
利用RSA加密,首先需将明文数字化,取长度小log2n位的数字作为明文块。对于明文块M和密文块C加/解密的形式如下:  加密:C=Me mod n   解密:M=Cd mod n=(Me)d mod n= Med mod n
现在学习的是第38页,共67页
RSA算法的安全性
RSA的安全性基于大数分解质因子的困难性。因为若n被分解为n=p*q,则 (n)、e、d可依次求得。
目前,因式分解速度最快的方法的时间