第04章 公钥密码系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(4)从已知的PK实际上不可能推导出SK,即从PK到SK 是“计算上不可行的”
(5)加密和解密算法都是公开的
信息安全技术
11
4 公钥密码系统用于三个方面
(1) 通信保密:公钥加密,私钥解密,通信 双方不需要交换密钥就可以实现保密通信
Bob的 公钥环 Mike Joy Ted Alice Alice的公钥 传输密文 Alice的私钥
因此,可以把一对大素数的乘积公开作为公钥, 而把素数作为私钥,从而由一个公开密钥和密 文中恢复出明文的难度等价于分解两个大素数 之积
信息安全技术
16
4.2.1 RSA算法
公钥密码系统一般都涉及数论的知 识,如素数、欧拉函数、中国剩余 定理等等。 今有物不知其数,三三数之
剩二,五五数之剩三,七七 数之剩二,问物几何?
信息安全技术
6
USBKey的密码学原理
故事未完,且听下回分解……
信息安全技术
7
导读
非对称密码系统的解密密钥与加密密钥是不 同的,一个称为公开密钥,另一个称为私人 密钥(或秘密密钥),因此这种密码体系也 称为公钥密码体系 公钥密码除可用于加密外,还可用于数字签 名 2005年4月1日实行《中华人民共和国电子签 名法》
信息安全技术
8
4.1 公钥密码概述
1 公钥的起源
公钥密码体系于1976年由W. Diffie和M. Hellman提出 公钥密码又叫非对称密码,这种密码体系 采用了一对不同的密钥——加密密钥和解 密密钥
这一对密钥,一个可以公开(称之为公钥), 另一个为用户专用(私钥)
信息安全技术
9
2 数学原理陷门单向函数
信息安全技术
20
2 密钥的产生
举例RSA的加/解密过程
选p=5,q=11,则
n= pq = 55,φ(n) = (p−1)(q−1) = 40 随机选择e (与φ (n)互素)设e=7 d要满足 ed 1 mod φ (n)
40 = 5 * 7 + 5 7 = 1 * 5 + 2 5 = 2 * 2 + 1 2 = 2 * 1 + 0 5 = 40 - 5 * 7 2 = 7 - 1 * 5 1 = 5 - 2 * 2 1 = 5 - 2 * (7 - 1 * 5) =3*5–2*7 = 3 *(40 – 5 * 7) – 2 * 7 = 3 * 40 – 17 * 7 = (40 - 17) * 7 – 4 *40 所以,d = 23 ed = 7 * 23 = 161
第四章
公钥密码体系
1
第4章 公钥密码体系
4.1 4.2 公钥密码概述 RSA密码系统
4.3
4.4
Diffie-Hellman密钥交换
数字签名
4.5
4.6
信息安全技术
数字签名的算法
PGP
2
USBKey的密码学原理
问题 1: 甲必须对文件加密才能保证不被 其他人查看其内容,那么到底应该用什么 加密技术,才能使合同传送既安全又快速 呢? 答:可以采用一些成熟的对称加密算法 , 如 DES 、 3DES 、 RC5 等对文件加密
信息安全技术
5
USBKey的密码学原理
USBKey的密码学原理
问题 4 :既然甲可以用乙的公钥加密其对称密 钥,为什么不直接加密其文件呢?这样不仅简单, 而且省去了用对称加密算法加密文件的步骤?
答:不可以这么做。因为非对称密码算法有两个 缺点 : 加密速度慢 , 比对称加密算法 慢 10 ~ 100 倍 , 因此只可用其加密小数据 ( 如对 称密钥 ) ,另外加密后会导致得到的密文变长。 因此一般采用对称加密算法加密其文件 , 然后用 非对称算法加密对称算法所用到的对称密钥
明文输入
加密算法,如RSA
解密算法
明文输出
12
信息安全技术
4 公钥密码系统用于三个方面
(2) 数字签名:私钥加密(数字签名),公钥 解密(验证签名),可实现一个用户加密多个 用户解读
Alice的 公钥环 Mike Joy Ted Bob Bob的公钥 传输密文
Bob的私钥
明文输入
加密算法,如RSA
为了显示这一技术的威力,RSA公司的研究人员用一个129位的十进 制数N和一个4位数e 对一个关于秃鹰的消息作了编码。并刊登了那个 密文,同时给出了N和e。RSA公司还悬赏100美元,奖给第一个破译 这密码的人
数学史上往往有意外的事发生。这个叫阵的RSA-129仅仅在十七年之 后就败下阵来。一批松散组成的因子分解迷,大约有六百多人,分布 在二十几个国家。他们经过八个月的努力最后于1994年4月为RSA129找到了64位数和65位数两个素数因子 信息安全技术
公钥密码系统是基于陷门单向函数的概 念 单向函数是易于计算但求逆困难的函数 而陷门单向函数是在不知道陷门信息情
况下求逆困难,而在知道陷门信息时易
于求逆的函数
信息安全技术
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
信息安全技术
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
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且与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)
信息安全技术
19
RSA加密消息m时(这里假设m是以十进制 表示的),首先将消息分成大小合适的数据 分组,然后对分组分别进行加密 每个分组的大小应该比n小 设 ci 为明文分组 mi 加密后的密文,则加密 公式为 ci=mie (mod n) 解密时,对每一个密文分组进行如下运算: mi=cid (mod n) (encryption discryption )
对称密钥 1
密钥是 否保密
保密
算法
速度
应用方 面
保密通信
非对称密 钥
2
臵换、替换、 快 移位、压缩、 扩展、异或 一个公开 陷门单向函 慢 数 一个保密
保密通信 数字签名 密钥交换
信息安全技术
15
4.2.1 RSA算法
第一个较完善的公开密钥算法RSA
RSA密码系统的安全性基于大数分解的困难性 求一对大素数的乘积很容易,但要对这个乘积 进行因式分解则非常困难(求逆)
答:方法是用非对称密钥算法加密对称密钥后进 行传送。非对称加密算法需要两个密钥:公开密 钥( Public Key )和私有密钥( Private Key )。 甲乙双方各有一对公 / 私钥,公钥可在 Internet 上传送,私钥自己保存。这样甲就可以用乙的公 钥加密对称加密算法中的对称密钥。即使黑客截 获到此密钥,也会因为黑客不知乙的私钥,而解 不开对称密钥,因此也解不开密文,只有乙才能 解开密文
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来说,这 种概率是非常小的。
解密算法
明文输出
13
信息安全技术
4 公钥密码系统用于三个方面
(3) 密钥交换
实际应用中,考虑效率和安全性两个因 素,通常用非对称密钥密码传递密钥, 用对称密钥密码系统实现保密通信
公钥加密,私钥解密
Diffie -Hellman密钥交换协议
信息安全技术
14
对称密钥与非对称密钥的比较
密钥 个数
求 φ (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,有
信息安全技术
25
4.2.2 对RSA算法的挑战
在1977年Rivest、Shamir及Adleman提出公开钥密码系统时,他们 认为每秒钟百万次运算的计算机可以在4小时之内因子分解一个50位 的数,但是分解一个100位的数要花几乎一个世纪,而200位的数大约 要花40亿年。甚至考虑到计算速度可以再提高百万倍(甚至尚未出 现),基于200位数的密码看来是十分安全的
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)
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是秘密的陷门(相互不是独立的),不可泄露
Leabharlann Baidu
信息安全技术
3
USBKey的密码学原理
问题 2: 如果黑客截获此文件,是 否用同一算法就可以解密此文件 呢? 答:不可以 ,因为加密和解密均 需要两个组件 : 加密算法和对称密 钥 , 加密算法需要用一个对称密钥 来解密 , 黑客并不知道此密钥
信息安全技术
4
问题 3: 既然黑客不知密钥,用电话通知,若电 话被窃听,通过 Internet 发此密钥给乙,可能被 黑客截获,那么乙怎样才能安全地得到其密钥呢?
相关文档
最新文档