电子商务的安全技术
----非对称加密(RSA)
主讲:何鑫生
邮箱:hxshhy@
电话:
教学目标
教学目标:
1. 了解非对称加密技术的基本概念
2. 了解RSA的基本工作原理
3. 掌握对称与非对称加密技术的差别
4. 了解非对称加密的应用:数字签名和鉴
别。
教学内容
1. 非对称加密技术的基本概念
2. RSA的基本工作原理
3. 对称与非对称加密技术的差别
4. 非对称加密的应用
课程引入
1. 数据加密技术
① 古典密码技术
A. 替代加密
B. 置换加密
② 现代密码技术
A. 对称密码技术
B. 非对称密码技术
课程引入
2. 对称密码技术
课程引入
3. 常规加密的安全性
① 加密算法足够强大:仅知密文很难破译出
明文
② 基于密钥的安全性,而不是基于算法的安
全性:基于密文和加/解密算法很难破译出
明文
③ 算法开放性:开放算法,便于实现
课程引入
4. 对称密码技术存在的问题
① 第一,密钥量问题
② 第二,密钥分发问题
5. 常用的对称加密技术
① DES
② IDEA
③ RC2
④ RC4
一、非对称加密技术的基本概念
对称密码系统存在的缺点表明,发展一
种新的﹑更有效﹑更先进的密码体制显
得更为迫切和必要。
新的公钥密码体制,突破性地解决了困
扰着无数科学家的密钥分发问题,密码
传递的问题。是密码史上两千年来自单
码替代密码发明以后最伟大的成就。
1、对称密码体制的概念
基本思想:
① 公钥密码系统中,加密和解密使用的是不同的密钥
(相对于对称密钥,人们把它叫做非对称密钥),
这两个密钥之间存在着相互依存关系:即用其中任
一个密钥加密的信息只能用另一个密钥进行解密。
② 通信双方无需事先交换密钥就可进行保密通信。
③ 加密密钥和算法是对外公开的,人人都可以通过这
个密钥加密文件然后发给收信者,这个加密密钥又
称为公钥;而收信者收到加密文件后,它可以使用他
的解密密钥解密,这个密钥是由他自己私人掌管的,
并不需要分发,因此又成称为私钥,这就解决了密
钥分发的问题。
2、拓展思维
假设为Alice(收信者)和Bob(发信者),他们希望能够
安全的通信而不被他们的敌手Oscar破坏。
① Alice 想到了一种办法,她使用了一种锁(公钥),
这种锁任何人只要轻轻一按就可以锁上,但是只有
Alice的钥匙(私钥)才能够打开。
② 然后Alice 对外发送无数把这样的锁,任何人比如
Bob想给她寄信时,只需找到一个箱子,然后用一
把Alice的锁将其锁上再寄给Alice,这时候任何人
(包括Bob自己)除了拥有钥匙的Alice,都不能再
打开箱子。
③ 即使Oscar能在通信过程中截获这个箱子,没有
Alice的钥匙他也不可能打开箱子,而Alice的钥匙
并不需要分发,这样 Oscar也就无法得到这把“私
人密钥”。
图示Alice与Bob的安全通信
Bob的公钥
Bob的
私钥
Alice 信息传输 Bob
案例启示
① 公开密钥密码体制下,加密密钥不等于解密
密钥。
② 加密密钥可对外公开,使任何用户都可将传
送给此用户的信息用公开密钥加密发送。
③ 用户唯一保存的私人密钥是保密的,也只有
它能将密文复原、解密。
密钥强度分析:
解密密钥理论上可由加密密钥推算出来,但
在实际上是不可能的,或者要花费很长的时
间成本而成为不可行的。所以将加密密钥公
开也不会危害密钥的安全。
3、对称密码体制的加密与解密
1. 用户拥有自己的密钥对(KU ,KR)
2. 公钥 KU(公开),私钥KR(保密)
3. 加密(E):
4. 解密(D):
4、常见的非对称加密算法
① RSA
② Diffie-Hellman
二、RSA的基本工作原理
1. RSA的背景情况
① 来由:当前最著名、应用最广泛的公钥系统RSA
是在1978年,由美国麻省理工学院(MIT)的Rivest、
Shamir和Adleman在题为《获得数字签名和公开
钥密码系统的方法》的论文中提出的。
② 原理:RSA是一个基于数论的非对称(公开钥)密
码体制,是一种分组密码体制。安全性是基于大
整数素因子分解的困难性,而大整数因子分解问
题是数学上的著名难题,至今没有有效的方法予
以解决,因此可以确保RSA算法的安全性。
③ 应用:RSA系统是公钥系统的最具有典型意义的
方法,大多数使用公钥密码进行加密和数字签名
的产品和标准使用的都是RSA算法
2、 RSA算法的实现
实现的步骤如下:Bob为实现者
(1) Bob寻找出两个大素数p和q
(2) Bob计算出n=pq 和φ(n)=(p-1)(q-1)
(3) Bob选择一个随机数e (0<e< φ(n)),满足
(e,φ(n))=1
(4) Bob使用辗转相除法计算d=e-1(modφ(n))
(5) Bob在目录中公开n和e作为公钥
密码分析者攻击RSA体制的关键点在于如何
分解n。若分解成功使n=pq,则可以算出
φ(n)=(p-1)(q-1),然后由公开的e,解出
秘密的d
①参数T={N};
②私钥SK=D;
③公钥PK=E;
设:明文M,密文C,那么:
用公钥作业:ME mod N = C
用私钥作业:MD mod N = M
3、RSA算法编制
①设 p=7, q=17, n=7*17=119; 参数
T={n=119};
②φ(n)=(7-1)(17-1)=96;
③选择e=5, gcd(5,96)=1; 公钥pk=5;
④计算d, ( d*e) mod 96=1; d=77; 私钥sk=77;
⑤设:明文m=19
加密:(19)5 mod 119 = 66
脱密:(66)77 mod 119 = 19
4、RSA算法举例
①密码分析者攻击RSA体制的关键点在于如何分解n
②若分解成功使n=pq,则可以算出φ(n)=(p-1)(q-1)
,然后由公开的e,解出秘密的d
③若使RSA安全,p与q必为足够大的素数,使分析者
没有办法在多项式时间内将n分解出来
5、RSA算法的安全性分析(一)
①建议选择p和q大约是100位的十进制素数
②模n的长度要求至少是512比特
③EDI攻击标准使用的RSA算法中规定n的长度为512至
1024比特位之间,但必须是128的倍数
④国际数字签名标准ISO/IEC 9796中规定n的长度位512比
特位
5、RSA算法的安全性分析(二)
为了抵抗现有的整数分解算法,对RSA模n的素因子p
和q还有如下要求:
(1) |p-q|很大,通常 p和q的长度相同;
(2) p-1 和q-1分别含有大素因子p1和q1
(3) P1-1和q1-1分别含有大素因子p2和q2
(4) p+1和q+1分别含有大素因子p3和q3
5、RSA算法的安全性分析(三)
①为了提高加密速度,通常取e为特定的小整数
②如EDI国际标准中规定 e=216+1
③ISO/IEC9796中甚至允许取e=3
④这时加密速度一般比解密速度快10倍以上
5、RSA算法的安全性分析(四)
6、RSA密码的特点
1. 优点 :RSA算法是第一个能同时用于加密和
数字签名的算法,也易于理解和操作。
2. 缺点 :
① 产生密钥很麻烦,受到素数产生技术的限制,因
而难以做到一次一密。
② 安全性, RSA的安全性依赖于大数的因子分解
③ 速度太慢,由于RSA 的分组长度太大,为保证安
全性,常有512、1024、2048、3096位。
三、对称与非对称加密技术的差别
1. 对称密码技术
① 加密和解密速度快
② 密码多而难以管理
③ 密码强度问题
2. 非对称密码技术
① 密码传递而存在不安全因素
② 解决对称密码传递问题
③ 加密和解密速度慢
四、非对称加密的应用
1. 应用领域广泛,如电子邮件、银行、税
务、公安、航天、军事等领域的电子通
信方面。
2. 应用技术
① 数字证书
② 数字签名
③ CA认证