当前位置:文档之家› 第04章 公钥密码系统

第04章 公钥密码系统


因此,可以把一对大素数的乘积公开作为公钥, 而把素数作为私钥,从而由一个公开密钥和密 文中恢复出明文的难度等价于分解两个大素数 之积
信息安全技术
16
4.2.1 RSA算法
公钥密码系统一般都涉及数论的知 识,如素数、欧拉函数、中国剩余 定理等等。 今有物不知其数,三三数之
剩二,五五数之剩三,七七 数之剩二,问物几何?
明文输入
加密算法,如RSA
解密算法
明文输出
12
信息安全技术
4 公钥密码系统用于三个方面
(2) 数字签名:私钥加密(数字签名),公钥 解密(验证签名),可实现一个用户加密多个 用户解读
Alice的 公钥环 Mike Joy Ted Bob Bob的公钥 传输密文
Bob的私钥
明文输入
加密算法,如RSA
信息安全技术
24
算法分析
(e, n) = (5, 35),接收到的密文是 c = 10,求明文 m
ci=mie (mod n) mi=cid (mod n)
n = pq = 35,p和q是素数,所以p = 5, q = 7 φ(n) = (p−1)(q−1) = 24 ed 1 mod φ(n) , e = 5, 所以d = 5 ed mod φ(n)= 10 5 mod 35 = 5 m= cd mod n
小于n且与n互素的正整数的个数, 记为φ (n),把φ (n)成为欧拉函数 对于素数p,每一个小于p的正整数 皆与p互素,所以φ (p) = p – 1
信息安全技术
17
4.2.1 RSA算法
如果p,q为两个素数,p≠ q, n = pq, 那么
φ (n) = φ (pq) = φ (p) * φ (q) = (p - 1)(q 1)
第四章
公钥密码体系
1
第4章 公钥密码体系
4.1 4.2 公钥密码概述 RSA密码系统
4.3
4.4
Diffie-Hellman密钥交换
数字签名
4.5
4.6
信息安全技术
数字签名的算法
PGP
2
USBKey的密码学原理
问题 1: 甲必须对文件加密才能保证不被 其他人查看其内容,那么到底应该用什么 加密技术,才能使合同传送既安全又快速 呢? 答:可以采用一些成熟的对称加密算法 , 如 DES 、 3DES 、 RC5 等对文件加密
信息安全技术
8
4.1 公钥密码概述
1 公钥的起源
公钥密码体系于1976年由W. Diffie和M. Hellman提出 公钥密码又叫非对称密码,这种密码体系 采用了一对不同的密钥——加密密钥和解 密密钥
这一对密钥,一个可以公开(称之为公钥), 另一个为用户专用(私钥)
信息安全技术
9
2 数学原理陷门单向函数
信息安全技术
25
4.2.2 对RSA算法的挑战
在1977年Rivest、Shamir及Adleman提出公开钥密码系统时,他们 认为每秒钟百万次运算的计算机可以在4小时之内因子分解一个50位 的数,但是分解一个100位的数要花几乎一个世纪,而200位的数大约 要花40亿年。甚至考虑到计算速度可以再提高百万倍(甚至尚未出 现),基于200位数的密码看来是十分安全的
信息安全技术
6
USBKey的密码学原理
故事未完,且听下回分解……
信息安全技术
7
导读
非对称密码系统的解密密钥与加密密钥是不 同的,一个称为公开密钥,另一个称为私人 密钥(或秘密密钥),因此这种密码体系也 称为公钥密码体系 公钥密码除可用于加密外,还可用于数字签 名 2005年4月1日实行《中华人民共和国电子签 名法》
26
RSA工具使用
信息安全技术
27
RSA工具使用
1、在“Number Base”组合框中选择进制为 10 2、单击“Start”按钮,获取一个随机数种子 3、在“KeySize(Bits)”编辑框中输入 32 4、单击“Generate”按钮生成 5、复制“Prime(P)”编辑框中的内容到“Public Exp.(E)”编辑框 6、在“Number Base”组合框中选择进制为 16 7、记录下“Prime(P)”编辑框中的十六进制文本内容 8、单击“Start”按钮 9、在“KeySize(Bits)”编辑框中输入所期望的密钥位数,从32到 4096,位数越多安全性越高运算速度越慢,一般选择1024位足够了 10、单击“Generate”按钮生成 11、单击“Test”按钮测试,在“Message to encrypt”编辑框中随意 输入一段文本,单击“Encrypt”按钮加密,再单击“Decrypt”按钮解 密,看解密后的结果是否和所输入的一致,如果一致表示所生成的 RSA密钥可用,否则需要重新生成 备注:“Private Exp.(D)”编辑框中的内容为私钥, “Public Exp.(E)” 为公钥,“Modulus (N)”编辑框中的内容为公共模数 信息安全技术
n = pq = 77,p和q是素数,所以p = 7, q =11 φ(n) = (p−1)(q−1) = 60 ed 1 mod φ(n) , e = 13, 所以d = 6 m= cd mod n = 10 6 mod 35 = 15
信息安全技术
23
算ቤተ መጻሕፍቲ ባይዱ分析
如果明文mi同n不是互为素数( m 取p或 q ),就有可能出现消息暴露情况。 一个明文同n有公约数的概率不大于 1/p+1/q,因此,对于大的p和q来说,这 种概率是非常小的。
求 φ (30) φ (30) = φ (2) φ (3) φ (5) = (2 - 1)(3 - 1)(5 - 1) =8 求φ (70)
φ (70) = φ (2) φ (7) φ (5) = (2 - 1)(5 - 1)(7 - 1) = 12
欧拉定理:对于任意互素的整数 信息安全技术 a和n,有
信息安全技术
3
USBKey的密码学原理
问题 2: 如果黑客截获此文件,是 否用同一算法就可以解密此文件 呢? 答:不可以 ,因为加密和解密均 需要两个组件 : 加密算法和对称密 钥 , 加密算法需要用一个对称密钥 来解密 , 黑客并不知道此密钥
信息安全技术
4
问题 3: 既然黑客不知密钥,用电话通知,若电 话被窃听,通过 Internet 发此密钥给乙,可能被 黑客截获,那么乙怎样才能安全地得到其密钥呢?
答:方法是用非对称密钥算法加密对称密钥后进 行传送。非对称加密算法需要两个密钥:公开密 钥( Public Key )和私有密钥( Private Key )。 甲乙双方各有一对公 / 私钥,公钥可在 Internet 上传送,私钥自己保存。这样甲就可以用乙的公 钥加密对称加密算法中的对称密钥。即使黑客截 获到此密钥,也会因为黑客不知乙的私钥,而解 不开对称密钥,因此也解不开密文,只有乙才能 解开密文
21
公开密钥:{7,55} 秘密密钥:{23,55}
信息安全技术
课堂练习
如果p=5, q=7, e=5, m=2, 求密文 n = pq = 35, c =me mod n 所以,c = 32
信息安全技术
22
课堂练习
(e, n) = (13, 77),接收到的密文是 c = 10,求明文 m
ci=mie (mod n) mi=cid (mod n)
公钥密码系统是基于陷门单向函数的概 念 单向函数是易于计算但求逆困难的函数 而陷门单向函数是在不知道陷门信息情
况下求逆困难,而在知道陷门信息时易
于求逆的函数
信息安全技术
10
3 公开密钥算法的特点
( 1) 发送者用加密密钥 PK ( public key)对明文 X 加密后,
接收者用解密密钥SK (secure key)解密,即可恢复 出明文,或写为: DSK(EPK(X)) X 加密和解密的运算可以对调,即 EPK(DSK(X)) X (2)加密密钥是公开的,但不能用它来解密,即 DPK(EPK(X)) X (3)在计算机上可以容易地产生成对的PK和SK
解密算法
明文输出
13
信息安全技术
4 公钥密码系统用于三个方面
(3) 密钥交换
实际应用中,考虑效率和安全性两个因 素,通常用非对称密钥密码传递密钥, 用对称密钥密码系统实现保密通信
公钥加密,私钥解密
Diffie -Hellman密钥交换协议
信息安全技术
14
对称密钥与非对称密钥的比较
密钥 个数
对称密钥 1
密钥是 否保密
保密
算法
速度
应用方 面
保密通信
非对称密 钥
2
臵换、替换、 快 移位、压缩、 扩展、异或 一个公开 陷门单向函 慢 数 一个保密
保密通信 数字签名 密钥交换
信息安全技术
15
4.2.1 RSA算法
第一个较完善的公开密钥算法RSA
RSA密码系统的安全性基于大数分解的困难性 求一对大素数的乘积很容易,但要对这个乘积 进行因式分解则非常困难(求逆)
18
2 密钥的产生
RSA公开密钥密码体制中每个参数的计算:
① 计算n:用户秘密地选择两个大素数p和q,计算出n pq ② 计算φ(n): φ (n) (p 1)(q 1) ③ 选择e:从[1, φ (n) 1]中选择一个与φ (n)互素的数e 作为公开的加密指数 ④ 计算d作为解密指数:用户计算出满足下式的d ed 1 mod φ (n) 即:(ed –1) mod φ (n) = 0 ⑤ 得出所需要的公开密钥和秘密密钥: 公开密钥(即加密密钥)PK { e, n } 秘密密钥(即解密密钥)SK { d, n } p、q、φ(n)和d是秘密的陷门(相互不是独立的),不可泄露
(4)从已知的PK实际上不可能推导出SK,即从PK到SK 是“计算上不可行的”
相关主题