第二讲之第4章 公钥密码体制
合集下载
第4章公钥密码体制

密钥
为公钥。 不再需要, 以n,e为公钥。私密钥为d。(p, q不再需要, 可以销毁。 可以销毁。)
RSA算法在计算上的可行性
加密和解密
无论是加密还是解密都需要计算某个整数的模n 整数次幂,即C=Me mod n、M=Cd mod n。但不 、 需要先求出整数的幂再对n取模,而可利用模运 算的性质: (a mod n) * (b mod n)= (a*b) mod n 对于Me mod n,可先求出M1 mod n,M2 mod n, M4 mod n……,再求Me mod n
RSA算法 RSA算法
RSA Algorithm
概况
MIT三位年轻数学家, 1979年发现了一种用数 论构造双钥的方法,称作MIT 体制 MIT体制 MIT 体制,后来被 广泛称之为RSA体制 RSA体制 RSA体制。 它既可用于加密、又可用于数字签字。 RSA算法的安全性基于数论中大整数分解的 困难性。 迄今为止理论上最为成熟完善的公钥密码体 制,该体制已得到广泛的应用。
公钥密码体制有4个组成部分
明文:算法的输入,它们是可读信息或数据,用M 表示; 密文:算法的输出。依赖于明文和密钥,对给定的 消息,不同的密钥产生密文不同。用E表示; 公钥和私钥:算法的输入。这对密钥中一个用于加 密,为Ke,此密钥公开;一个用于解密,为Kd,此 密钥保密。加密算法执行的变换依赖于密钥; 加密、解密算法
选p=7,q=17。 求n=p×q=119,φ(n)=(p-1)(q-1)=96。 取e=5,满足1<e<φ(n),且gcd(φ(n),e)=1。确 定满足d·e=1 mod 96且小于96的d,因为 77×5=385=4×96+1,所以d为77。 因此公开钥为{5,119},秘密钥为{77,119}。 设明文m=19,则由加密过程得密文为 C=195 mod 119≡2476099 mod 119=66 解密为6677mod 119=19
第四章 公钥密码体制

访问控制决策功能
2015-7-18
127
访问控制模型
�
典型的访问控制模型
� � � �
自主访问控制模型 强制访问控制模型 基于角色的访问控制模型 基于任务的访问控制模型
2015-7-18
128
强制访问控制模型
�
强制访问控制模型
�
主体和客体均被赋予一定的 安全级别,主体不 能改变自身和客体的安全级别,只有 系统管理 员才能够确定主体的权限 系统对访问主体和受控对象实行强制访问控 制,依据主体和客体的安全级别决定是否允许 访问
�
2015-7-18
129
强制访问控制模型(续)
�
依据主体和客体的安全级别,MAC中主体对客 体的访问有四种方式:
�
向下读( Read Down,rd )
�
主体安全级别高于客体的安全级别时允许的读操作 主体安全级别低于客体的安全级别时允许的读操作 主体安全级别高于客体的安全级别时允许的写操作 主体安全级别低于客体的安全级别时允许的写操作
2015-7-18
122
4.4 访 问 控 制
� � �
访问控制的组成 访问控制模型 访问控制的实现技术
2015-7-18
123
相关概念
�
访问控制:Access Control
�
依据一定的授权规则,对提出的资源访问加 以控制。 访问控制是网络安全防护技术的主要安全策 略之一,它可以通过关键资源的限制访问, 达到防止非法用户使用和合法用户滥用权限 所造成的资源破坏。
2015-7-18 121
Kerberos的安全性
④ Kerberos 协议的第②~ ⑥步传输都采用了加密, 提高了抗攻击能力; ⑤AS要存储所有属于它的用户及 TGS、V的ID、 Kc、 Ktgs,而TGS要存储Ktgs、Kv,V要存储Kv ; ⑥ Kerberos 对加密体制、Internet 协议具有依赖性。
公钥密码体制

{1,3,6,13,27,52, …} 而 {1,3,4,9,15,25} 不是。
如果序列为超递增序列,则背包问题则是P类问题。
14
MH背包密码的基本思想
利用实际上存在两类不同的背包问题,一类在线性时间 内可解(超递增背包问题),而另一类不能(普通背包问题)。 易解的背包问题可以转化成难解的背包问题。公钥使用难解 的背包问题,它可很容易地被用来加密明文但不能用来解密 密文。私钥使用易解的背包问题,它给出一个解密的简单方 法。不知道私钥的人要破解密文就不得不解一个难解的背包 问题。
i=1
利用已知u并根据uv=1 (mod p) ,可求得v。
下面作变换称为墨科-赫尔曼(Merkle-Hellman)变换:
ak≡ubk(mod p),k=1,2,…,n 非超递增序列{ai}和p作为公钥; 超递增序列{bi}和v作为私钥;
12
背包问题
已知一长度 b 的背包及长度分别为 a1,a2,… ,an 的 n 个物品。假定这些物品的半径和背包相同,若从这 n 个物品 中选出若干物品使得恰好装满这个背包。
公式化的描述为:给定一个正整数集A={a1,a2,…,an},已 知b是A的某子集中元素的和。问题是,找到一个n元的0 、1
向量X=(x1,x2,…,xn)使得:
n
∑ aixi = b
i =1
这是一个NP问题。
其中a1, a2, … , an 和 b 都是正整数。
13
超递增序列
如果序列 a1, a2, … , an 满足条件:
i −1
∑ ai > a j (i = 2,3,..., n) j =1
则称该序列为超递增序列。 例如: {1,2,4,8, … ,2n }
如果序列为超递增序列,则背包问题则是P类问题。
14
MH背包密码的基本思想
利用实际上存在两类不同的背包问题,一类在线性时间 内可解(超递增背包问题),而另一类不能(普通背包问题)。 易解的背包问题可以转化成难解的背包问题。公钥使用难解 的背包问题,它可很容易地被用来加密明文但不能用来解密 密文。私钥使用易解的背包问题,它给出一个解密的简单方 法。不知道私钥的人要破解密文就不得不解一个难解的背包 问题。
i=1
利用已知u并根据uv=1 (mod p) ,可求得v。
下面作变换称为墨科-赫尔曼(Merkle-Hellman)变换:
ak≡ubk(mod p),k=1,2,…,n 非超递增序列{ai}和p作为公钥; 超递增序列{bi}和v作为私钥;
12
背包问题
已知一长度 b 的背包及长度分别为 a1,a2,… ,an 的 n 个物品。假定这些物品的半径和背包相同,若从这 n 个物品 中选出若干物品使得恰好装满这个背包。
公式化的描述为:给定一个正整数集A={a1,a2,…,an},已 知b是A的某子集中元素的和。问题是,找到一个n元的0 、1
向量X=(x1,x2,…,xn)使得:
n
∑ aixi = b
i =1
这是一个NP问题。
其中a1, a2, … , an 和 b 都是正整数。
13
超递增序列
如果序列 a1, a2, … , an 满足条件:
i −1
∑ ai > a j (i = 2,3,..., n) j =1
则称该序列为超递增序列。 例如: {1,2,4,8, … ,2n }
第四章-公钥密码体制

(p-1)! = 12…(p-1) [(a mod p)(2a mod p)…((p-1)a mod p)] mod p [a2a…(p-1)a] mod p [ap-1(p-1)!] mod p 注意到(p-1)!与p互素,因此定理成立.
• 推论: p素数,a是任意整数,则: ap a mod p
– M kφ(n)+1=M mod n
RSA算法举例(1)
p = 53,q = 61,n = pq = 3233, φ(n)=52x60 = 3120 令d = 791,则e = 71 令m = RE NA IS SA NC E 即m = 1704 1300 0818 1800 1302 0426 170471 mod 3233 = 3106,…, C = 3106 0100 0931 2691 1984 2927
欧拉定理
• 证明: • R={x1,x2,…,x(n)}为所有小于n且与n互素的正整数,考虑集 合 • S={(ax1mod n), (ax2mod n),…, (ax(n) mod n)} • (aximod n)与n互素 • (aximod n)两两不等: • (aximod n) = (axjmod n) ximod n = xjmod n • S有(n)个元素 • 故S也是所有小于n且与n互素的正整数,因此S=R,从而 xi=(aximod n)((axi)) mod n • (a(n) xi) mod n • 注意到xi 与n互素,从而得到结论.
费马(Fermat)定理
• 若p是素数,a是正整数,且gcd(a,p)=1,则ap1≡1mod p • 证明:考虑集合{1,2,…,p-1},对每个数乘以a,得到 集合{a mod p,2a mod p,…,(p-1)a mod p},对于p, 后者两两不同且都在1与p-1之间,因此两个集合相 同,于是:
• 推论: p素数,a是任意整数,则: ap a mod p
– M kφ(n)+1=M mod n
RSA算法举例(1)
p = 53,q = 61,n = pq = 3233, φ(n)=52x60 = 3120 令d = 791,则e = 71 令m = RE NA IS SA NC E 即m = 1704 1300 0818 1800 1302 0426 170471 mod 3233 = 3106,…, C = 3106 0100 0931 2691 1984 2927
欧拉定理
• 证明: • R={x1,x2,…,x(n)}为所有小于n且与n互素的正整数,考虑集 合 • S={(ax1mod n), (ax2mod n),…, (ax(n) mod n)} • (aximod n)与n互素 • (aximod n)两两不等: • (aximod n) = (axjmod n) ximod n = xjmod n • S有(n)个元素 • 故S也是所有小于n且与n互素的正整数,因此S=R,从而 xi=(aximod n)((axi)) mod n • (a(n) xi) mod n • 注意到xi 与n互素,从而得到结论.
费马(Fermat)定理
• 若p是素数,a是正整数,且gcd(a,p)=1,则ap1≡1mod p • 证明:考虑集合{1,2,…,p-1},对每个数乘以a,得到 集合{a mod p,2a mod p,…,(p-1)a mod p},对于p, 后者两两不同且都在1与p-1之间,因此两个集合相 同,于是:
第4章公钥密码体制

1976年,W.Diffie和M.E.Hellman发表了“密码学的新方 向(New Directions in Cryptography)”一文,提出了公 钥密码学(Public-key cryptography)的思想,在公钥密 码体制(Public-key cryptosystem)中加密密钥和解密密 钥是不同的,加密密钥可以公开传播而不会危及密码体制 的安全性。
数字签名和认证
只有解密密钥能解密,只有正确的接收者才拥有解密密钥
单向函数
对于一个函数 f (x) ,如果对于其定义域上的 任意 x,都容易计算 f (x) ,同时,对于其值 域中几乎所有的取值 y ,计算其逆函数 f 1 ( y) 都是不可行的,则函数 f (x) 被称为单向函数
可以提供单向函数的三大数学难题
硬件实现:比 DES 慢 1000 倍。
软件实现:比 DES 慢 100 倍。
安全强度:
同等强度的 DES 与 RSA 比较
RSA的缺点主要有: 产生密钥很麻烦,受到素数产生技术的限制,因而难 以做到一次一密。 分组长度太大,为保证安全性,n 至少也要 600比特 以上,使运算代价很高,尤其是速度较慢,较对称密 码算法慢几个数量级;且随着大数分解技术的发展, 这个长度还在增加,不利于数据格式的标准化。 目前,SET(Secure Electronic Transaction)协议中要 求CA采用2048比特长的密钥,其他实体使用1024比特的 密钥。
取公钥:e=7,计算私钥:d =23.
明文: m=88, 计算密文: c=887 (mod 187).
1. 如果密码分析者能分解
n
的因子 p 和 q ,他就
可以求出 n 和解密的密钥 d ,从而能破译RSA,因此破 译RSA不可能比因子分解难题更困难。
《公钥密码体系》课件

03
保障国家安全
公钥密码体系在国家安全领域 中也有广泛应用,如军事通信
、政府机密保护等。
公钥密码体系的历史与发展
03
起源
公钥密码体系起源于20世纪70年代,最 早的公钥密码体系是RSA算法。
发展历程
未来展望
随着计算机科学和数学的发展,公钥密码 体系不断得到改进和完善,出现了多种新 的算法和应用。
随着互联网和物联网的普及,公钥密码体 系将面临更多的挑战和机遇,需要不断探 索和创新。
性能问题
1 2 3
加密和解密速度
公钥密码体系的加密和解密速度通常较慢,需要 优化算法和提高计算能力,以提高加密和解密的 速度。
资源消耗
公钥密码体系通常需要较大的计算资源和存储空 间,需要优化算法和资源利用方式,以降低资源 消耗。
适应性
公钥密码体系需要适应不同的应用场景和需求, 需要开发适用于不同场景的公钥密码算法和解决 方案。
人工智能与机器学习
人工智能和机器学习技术在公钥密码体系中也有着广阔的应用前景。这些技术可以帮助自动识别和防御 网络攻击,提高公钥密码体系的安全性和可靠性。
应用领域拓展
物联网安全
随着物联网技术的普及,公钥密 码体系在物联网安全领域的应用 将越来越广泛。物联网设备需要 使用公钥密码算法进行身份认证 和数据加密,以确保设备之间的 通信安全。
非对称加密算法可以支持多种加密模式,如对称加密算法中的块加 密和流加密模式。
数字签名
验证数据完整性和身份
数字签名使用私钥对数据进行加密,生成一个数字签名。 接收者使用公钥解密数字签名,验证数据的完整性和发送 者的身份。
防止数据被篡改
数字签名可以防止数据在传输过程中被篡改,因为任何对 数据的修改都会导致数字签名无效。
公钥密码体制 PPT课件

其他任何人都可以获得Ea,因此,任何人 都可以对s解密(加密、验证);只有A才有 Da,因此,只有A才可以加密(解密、签 名)
公钥密码体制 – RSA体制
RSA公钥密码体制 – 简介
1978年,Rivest、Shamir、Adleman一 起提出RSA公钥密码体制
RSA基于大整数分解难题 n是由两个素数相乘得到,已知n,不存在
RSA公钥密码体制 – 算法
加密:
◦ 设消息m < n, c = m e mod n
解密:
◦ m = c d mod n
解密证明:
◦ c d mod n = m ed mod n = m 1 mod φ(n) mod n = m k* φ(n) + 1 mod n
◦ m与n互素时,由欧拉定理 m k* φ(n) + 1 mod n = m k* φ(n) * m mod n = = m (φ(n))k * m mod n = m mod n , (m φ(n) mod n = 1)
公钥密码体制概念
公钥密码体制的建立是依据数学难问题 寻找一个单向陷门函数f:XY,其中
计算y = f(x)很容易,但如果不知道陷 门,则计算x = f-1(y)很难 现阶段公开且未解决的数学难题:
◦ 大整数分解难题(RSA) ◦ Zp域上的离散对数问题(DH) ◦ EC上点域的离散对数问题(EC)
安全的RSA通常认为需要使用1024比 特以上
国际上建议采用2048、4096比特密钥 长度
RSA用于密钥交换的功能正在被ECDH 所取代
RSA用于数字签名的功能正在被 ECDSA所取代
RSA公钥密码体制 – 数学基础
模运算 缩余系 费马小定理 a p-1 = 1 mod p 欧拉函数 φ(n) 欧拉定理 a φ(n) = 1 mod n 中国剩余定理(加速解密) 二次剩余(RSA参数选取) 欧几里德算法(逆的计算) 模幂的计算
公钥密码体制 – RSA体制
RSA公钥密码体制 – 简介
1978年,Rivest、Shamir、Adleman一 起提出RSA公钥密码体制
RSA基于大整数分解难题 n是由两个素数相乘得到,已知n,不存在
RSA公钥密码体制 – 算法
加密:
◦ 设消息m < n, c = m e mod n
解密:
◦ m = c d mod n
解密证明:
◦ c d mod n = m ed mod n = m 1 mod φ(n) mod n = m k* φ(n) + 1 mod n
◦ m与n互素时,由欧拉定理 m k* φ(n) + 1 mod n = m k* φ(n) * m mod n = = m (φ(n))k * m mod n = m mod n , (m φ(n) mod n = 1)
公钥密码体制概念
公钥密码体制的建立是依据数学难问题 寻找一个单向陷门函数f:XY,其中
计算y = f(x)很容易,但如果不知道陷 门,则计算x = f-1(y)很难 现阶段公开且未解决的数学难题:
◦ 大整数分解难题(RSA) ◦ Zp域上的离散对数问题(DH) ◦ EC上点域的离散对数问题(EC)
安全的RSA通常认为需要使用1024比 特以上
国际上建议采用2048、4096比特密钥 长度
RSA用于密钥交换的功能正在被ECDH 所取代
RSA用于数字签名的功能正在被 ECDSA所取代
RSA公钥密码体制 – 数学基础
模运算 缩余系 费马小定理 a p-1 = 1 mod p 欧拉函数 φ(n) 欧拉定理 a φ(n) = 1 mod n 中国剩余定理(加速解密) 二次剩余(RSA参数选取) 欧几里德算法(逆的计算) 模幂的计算
信息安全概论第四章公钥密码体制

14
Diffie-Hellman密钥交换算法 密钥交换算法
Diffie和Hellman在其里程碑意义的文章中, 虽然给出了密码的思想,但是没有给出真正意 义上的公钥密码实例,也既没能找出一个真正 带陷门的单向函数 然而,他们给出单向函数的实例,并且基于此 提出Diffie-Hellman密钥交换算法
13
常用的公开密钥算法
公钥算法的种类很多,具有代表性的三种密码: 公钥算法的种类很多,具有代表性的三种密码: 基于整数分解难题(IFP)的算法体制 基于整数分解难题(IFP)的算法体制(RSA) 基于离散对数难题(DLP)算法体制 基于离散对数难题(DLP)算法体制(ElGamal) 基于椭圆曲线离散对数难题( ECDLP ) 的算法体制 基于椭圆曲线离散对数难题 ( ECDLP) (ECC)
3
4.1 公钥密码体制的基本原理
对称算法的不足
(1)密钥管理量的困难 传统密钥管理:两两分别用一个密钥时, 传统密钥管理:两两分别用一个密钥时,则n个用户需 C(n,2)=n(n-1)/2个密钥 当用户量增大时, 个密钥, 要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密钥空 间急剧增大。 间急剧增大。如: n=100 时, C(100,2)=4,995 n=5000时 n=5000时, C(5000,2)=12,497,500 (2)密钥必须通过某一信道协商,对这个信道的安全 密钥必须通过某一信道协商, 性的要求比正常的传送消息的信道的安全性要高
7
公开密钥密码的重要特性
加密与解密由不同的密钥完成 Y: X: Y = EKU(X) X = DKR(Y) = DKR(EKU(X))
加密: X 解密: Y
知道加密算法,从加密密钥得到解密密钥在计算上 , 是不可行的 两个密钥中任何一个都可以用作加密而另一个用 作解密(不是必须的) X = DKR(EKU(X))
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于背包问题的Merkle-Hellman背包公 钥体制
基于有限域上离散对数问题的ElGamal 公钥体制
基于椭圆曲线的ECC密码体制
……
公钥密码体制介绍
公钥密码体制加解密过程主要有以下几步 :
不一样的密码
安全的公开密钥密码达到的功能
(1)简化密钥分配及管理问题
➢ 公钥体制用于数据加密时:
两两互不相同,构成一个1~p-1的全体数 的一个排列。对于任意数b及素数p的原元 a,可以找到一个唯一的指数 i,满足
b ai mod p , 0<=i<=p-1
则称指数i为以a为底、模p的b的离散对数。
1.基本原理
用户A
公开 YA 秘密 XA
用户B
YB 公开
XB 秘密
计算
计算
会话秘密 KA 密钥交换过程 KB 会话秘密
应用最广泛的公钥密码算法 只有美国专利,且已于2000年9月到期
1.RSA算法要点
算法产生一对密钥,一个人可以用密钥对中 的一个加密消息,另一个人则可以用密钥对 中的另一个解密消息。同时,任何人都无法 通过公钥确定私钥,也没有人能使用加密消 息的密钥解密。只有密钥对中的另一把可以 解密消息。
➢ 对方收到消息后,为了确定信源的真实性,用对方的解密密钥解 密签名消息──称为(签名)验证,如果解密后的消息与原消息 一致,则说明信源是真实的,可以接受,否则,拒绝接受。
4.2 Diffie-Hellman 密钥交换算法
W.Diffie和M.E.Hellman于1976年提出的,让A和B 两个陌生人之间建立共享秘密密钥的公开密钥算 法,称为Diffie-Hellman算法,它定义了公开密 钥密码体制。它的目的是使得两个用户安全地交 换一个密钥以便用于以后的报文加密,这个算法 本身限于密钥交换的用途。许多商用产品都使用 这种密钥交换技术。
在Diffie-Hellman密钥交换算法中的单向函数 是模指数运算。它的逆过程是离散对数问题,其 Diffie-Hellman算法的保密性基于求mod p解离散 对数问题的困难。
离散对数
定义素数p的原元(原始根)为这样一个 数,他能生成1~p-1所有数的一个数。现 设a为p的原元,则
a mod p, a2 mod p,L , a p1 mod p
c= me mod n=857 mod 143=123,并发送给 李先生。
李先生在收到密文c=123后,利用只有他自己 知道的秘密密钥计算:m= cd mod n =123103 mod 143=85,所以,李先生可以得到张小姐发 给他的真正的信息m=85,实现了解密。
7.RSA算法的安全性
依赖于大数分解,但是否等同于大数分解一直 未能证明。不管怎样,分解n是最显然的攻击方法 。 1994年4月26日,美国各大媒体报道:由RSA发 明人在17年前出的129位数字已被因子分解,并破 解了附带的密语:
公开密钥密码体制的产生,是密码学革命 性的发展。一方面,为数据的保密性、完 整性、真实性提供了有效方便的技术。另 一方面,科学地解决了密码技术的瓶颈 ──密钥的分配问题。
公钥体制算法
第一个公钥体制是1977年由Rivest, Shamir,Adleman提出的,称为RSA 公钥体制,其安全性是基于整数的因子 分解的困难性。RSA公钥体制已得到了 广泛的应用。
➢ 3)为保证安全性,n 至少也要 600 bits以上 ,且还在增加。在运算上要付出代价。
12. RSA算法和DES算法比较
比较1
在加密、解密的处理效率方面,DES算法 优于RSA算法。因为DES密钥的长度只有56 比特,可以利用软件和硬件实现高速处理; RSA算法需要进行诸如200比特整数的乘幂 和求模等多倍字长的处理,处理速度明显慢于 DES算法。
续(2)
比较3 在安全性方面,DES算法和RSA算法
的安全性都较好,还没有在短时间内破译 它们的有效的方法。
比较4 在签名和认证方面,DES算法从原理
上不可能实现数字签名和身份认证,但 RSA算法能够容易地进行数字签名和身份 认证。
13. 基于DES和RSA的加密方案
设发送方为A(加密密钥为Kea,解密密钥为 Kda),接收方为B(加密密钥为Keb,解密密钥为 Kdb)。
1978年由Ron Rivest、AdiShamir和Len Adleman发明。
➢ “A method for obtaining digital signatures and public key cryptosystem”
是一种块加密算法。
➢ 明文和密文在0~n-1之间,n是一个正整数
特征与不足
➢特征:
•(1)仅当需要时才产生密钥,减少储存时间,减 少受攻击的机会; •(2)除对全局参数的约定外,密钥交换不需要事 先存在的基础结构。
➢不足:
➢(1)没有通信双方身份的信息; ➢(2)计算是密集性的,容易受到阻塞性攻击; ➢(3)没办法防止重放攻击; ➢(4)容易受到中间人攻击。
4.3 RSA算法
4.RSA 的使用
发送方要加密明文M:
➢ 获得接收方的公钥 KU={e,N} ➢ 计算: C=Me mod N, where 0≤M<N
接收方解密密文C:
➢ 使用自己的私钥 KR={d,N} ➢ 计算: M=Cd mod N
注意:M必须比N小
5.RSA例1
①取两个质数p=11,q=13,p和q的乘积为 n=p×q=143,算出另一个数z=(p-1)×(q-1)=120; ②再选取一个与z=120互质的数,例如e=7,则
2.RSA算法描述
加密: C=Me mod N, where 0≤M<N 解密: M=Cd mod N 公钥为(e,N), 私钥为(d,N) 必须满足以下条件:
➢ 计算Me和Cd是比较容易的 ➢ 由e和N确定d是不可行的
3.RSA 密钥产生过程
随机选择两个互质大素数 p, q (p,q 必须保密) 计算 n=p.q 计算z =(p-1)(q-1) 随机选择整数 e,使得1<e<z且gcd(e,z)=1 计算d :d=e-1 mod z 且 0≤ d ≤ n 公布公钥: KU={e,n} 保存私钥: KR={d,n}
2.交换示例 为了计算简单,使用很小数字。设P=47和47
的一个原元,a=3。
A选择秘密密钥XA=8,B选择秘密密钥XB=10, 各自计算其公开密钥。
(1)双方各自计算
➢ 用户A计算:YA=3 8mod 47=6561 mod 47=28 mod 47
➢ 用 户 B 计 算 : YB=3 10mod 47= 59049 mod 47=17 mod 47
密钥交换过程
(1)选择一个素数P和它的一个原元a;
(公2)开通密信钥方YAA选: 择自己的秘密密钥XA,并计算自己的 YA=a XA mod P
(3)通信方B选择自己的秘密密钥XB,并计算自己的 公开密钥YB: YB=a XB mod P
(4)通信双方A和B交换YA和YB; (5)A独立计算会话密钥,B独立计算会话密钥KS; (6)通信双方利用会话密钥KS进行通信。
➢ p、q不相同,即不要太接近,又不能差别太大 ➢ p-1、q-1都有大素数因子,增加猜测φ(r) 难度 ➢ gcd( p-1,q-1)应当小
RSA算法的脆弱性(续)
4)p、q选择不当,则变换周期性、封闭性而泄密 例:p=17,q=11,e=7,则n=187。 设m=123,则 C1=1237 mod 187=183 C2=1837 mod 187=72 C3=727 mod 187=30 C4=307 mod 187=123 明文m经过4次加密,恢复成明文。
公开密钥=(n,e)=(143,7)。 ③ 对于这个e值,可以算出其逆:d=103。 ④ 因为e×d=7×103=721,满足e×d mod z =1 ;即721 mod 120=1成立。
则秘密密钥=(n,d)=(143,103)。
6.RSA例2
张小姐需要发送机密信息(明文)m=85给李 先生,她已经从公开媒体得到了李先生的公开密 钥(n,e)=(143,7),于是她算出加密值:
➢ 可见,这里省去了从秘密信道传递密钥的过程 。这是公钥体制的一大优点。
密成密文,此后只有拥有解密密钥 的人才能解密。
(3)实现不可否认功能
➢ 公钥体制用于数字签名时:
➢ 信源为了他人能够验证自己发送的消息确实来自本人,他将自己 的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与 别人通信时,则用自己的加密密钥对消息加密──称为签名,将 原消息与签名后的消息一起发送.
续(1)
比较2
在密钥的管理方面,RSA算法比DES 算法更加优越。因为RSA算法可采用公开 形式分配加密密钥,对加密密钥的更新也 很容易,并且对不同的通信对象,只需对 自己的解密密钥保密即可;DES算法要求 通信前对密钥进行秘密分配,密钥的更换 困难,对不同的通信对象,DES需产生和 保管不同的密钥。
2.交换示例(续) (2)交换YA和YB; (3)交换密钥后,A、B分别计算共享的秘密
会话密钥KA、KB: ➢ 用 户A计 算: KA=YB XA mod 47=178 mod
47=4 mod 47
➢ 用户B计算: KB=YA XB mod 47=2810 mod 47=4 mod 47
A和B双方独立地决定采用数据“4”作为 会话密钥。
第二讲 信息安全技术
第2章 密码技术基础 第3章 对称密码体系 第4章 公钥密码体系 第5章 公钥基础设施PKI 第6章 信息隐藏技术
第四章 内容
4.1公钥密学概述 4.2 Diffie-Hellman 密钥交换算法 4.3 RSA算法
基于有限域上离散对数问题的ElGamal 公钥体制
基于椭圆曲线的ECC密码体制
……
公钥密码体制介绍
公钥密码体制加解密过程主要有以下几步 :
不一样的密码
安全的公开密钥密码达到的功能
(1)简化密钥分配及管理问题
➢ 公钥体制用于数据加密时:
两两互不相同,构成一个1~p-1的全体数 的一个排列。对于任意数b及素数p的原元 a,可以找到一个唯一的指数 i,满足
b ai mod p , 0<=i<=p-1
则称指数i为以a为底、模p的b的离散对数。
1.基本原理
用户A
公开 YA 秘密 XA
用户B
YB 公开
XB 秘密
计算
计算
会话秘密 KA 密钥交换过程 KB 会话秘密
应用最广泛的公钥密码算法 只有美国专利,且已于2000年9月到期
1.RSA算法要点
算法产生一对密钥,一个人可以用密钥对中 的一个加密消息,另一个人则可以用密钥对 中的另一个解密消息。同时,任何人都无法 通过公钥确定私钥,也没有人能使用加密消 息的密钥解密。只有密钥对中的另一把可以 解密消息。
➢ 对方收到消息后,为了确定信源的真实性,用对方的解密密钥解 密签名消息──称为(签名)验证,如果解密后的消息与原消息 一致,则说明信源是真实的,可以接受,否则,拒绝接受。
4.2 Diffie-Hellman 密钥交换算法
W.Diffie和M.E.Hellman于1976年提出的,让A和B 两个陌生人之间建立共享秘密密钥的公开密钥算 法,称为Diffie-Hellman算法,它定义了公开密 钥密码体制。它的目的是使得两个用户安全地交 换一个密钥以便用于以后的报文加密,这个算法 本身限于密钥交换的用途。许多商用产品都使用 这种密钥交换技术。
在Diffie-Hellman密钥交换算法中的单向函数 是模指数运算。它的逆过程是离散对数问题,其 Diffie-Hellman算法的保密性基于求mod p解离散 对数问题的困难。
离散对数
定义素数p的原元(原始根)为这样一个 数,他能生成1~p-1所有数的一个数。现 设a为p的原元,则
a mod p, a2 mod p,L , a p1 mod p
c= me mod n=857 mod 143=123,并发送给 李先生。
李先生在收到密文c=123后,利用只有他自己 知道的秘密密钥计算:m= cd mod n =123103 mod 143=85,所以,李先生可以得到张小姐发 给他的真正的信息m=85,实现了解密。
7.RSA算法的安全性
依赖于大数分解,但是否等同于大数分解一直 未能证明。不管怎样,分解n是最显然的攻击方法 。 1994年4月26日,美国各大媒体报道:由RSA发 明人在17年前出的129位数字已被因子分解,并破 解了附带的密语:
公开密钥密码体制的产生,是密码学革命 性的发展。一方面,为数据的保密性、完 整性、真实性提供了有效方便的技术。另 一方面,科学地解决了密码技术的瓶颈 ──密钥的分配问题。
公钥体制算法
第一个公钥体制是1977年由Rivest, Shamir,Adleman提出的,称为RSA 公钥体制,其安全性是基于整数的因子 分解的困难性。RSA公钥体制已得到了 广泛的应用。
➢ 3)为保证安全性,n 至少也要 600 bits以上 ,且还在增加。在运算上要付出代价。
12. RSA算法和DES算法比较
比较1
在加密、解密的处理效率方面,DES算法 优于RSA算法。因为DES密钥的长度只有56 比特,可以利用软件和硬件实现高速处理; RSA算法需要进行诸如200比特整数的乘幂 和求模等多倍字长的处理,处理速度明显慢于 DES算法。
续(2)
比较3 在安全性方面,DES算法和RSA算法
的安全性都较好,还没有在短时间内破译 它们的有效的方法。
比较4 在签名和认证方面,DES算法从原理
上不可能实现数字签名和身份认证,但 RSA算法能够容易地进行数字签名和身份 认证。
13. 基于DES和RSA的加密方案
设发送方为A(加密密钥为Kea,解密密钥为 Kda),接收方为B(加密密钥为Keb,解密密钥为 Kdb)。
1978年由Ron Rivest、AdiShamir和Len Adleman发明。
➢ “A method for obtaining digital signatures and public key cryptosystem”
是一种块加密算法。
➢ 明文和密文在0~n-1之间,n是一个正整数
特征与不足
➢特征:
•(1)仅当需要时才产生密钥,减少储存时间,减 少受攻击的机会; •(2)除对全局参数的约定外,密钥交换不需要事 先存在的基础结构。
➢不足:
➢(1)没有通信双方身份的信息; ➢(2)计算是密集性的,容易受到阻塞性攻击; ➢(3)没办法防止重放攻击; ➢(4)容易受到中间人攻击。
4.3 RSA算法
4.RSA 的使用
发送方要加密明文M:
➢ 获得接收方的公钥 KU={e,N} ➢ 计算: C=Me mod N, where 0≤M<N
接收方解密密文C:
➢ 使用自己的私钥 KR={d,N} ➢ 计算: M=Cd mod N
注意:M必须比N小
5.RSA例1
①取两个质数p=11,q=13,p和q的乘积为 n=p×q=143,算出另一个数z=(p-1)×(q-1)=120; ②再选取一个与z=120互质的数,例如e=7,则
2.RSA算法描述
加密: C=Me mod N, where 0≤M<N 解密: M=Cd mod N 公钥为(e,N), 私钥为(d,N) 必须满足以下条件:
➢ 计算Me和Cd是比较容易的 ➢ 由e和N确定d是不可行的
3.RSA 密钥产生过程
随机选择两个互质大素数 p, q (p,q 必须保密) 计算 n=p.q 计算z =(p-1)(q-1) 随机选择整数 e,使得1<e<z且gcd(e,z)=1 计算d :d=e-1 mod z 且 0≤ d ≤ n 公布公钥: KU={e,n} 保存私钥: KR={d,n}
2.交换示例 为了计算简单,使用很小数字。设P=47和47
的一个原元,a=3。
A选择秘密密钥XA=8,B选择秘密密钥XB=10, 各自计算其公开密钥。
(1)双方各自计算
➢ 用户A计算:YA=3 8mod 47=6561 mod 47=28 mod 47
➢ 用 户 B 计 算 : YB=3 10mod 47= 59049 mod 47=17 mod 47
密钥交换过程
(1)选择一个素数P和它的一个原元a;
(公2)开通密信钥方YAA选: 择自己的秘密密钥XA,并计算自己的 YA=a XA mod P
(3)通信方B选择自己的秘密密钥XB,并计算自己的 公开密钥YB: YB=a XB mod P
(4)通信双方A和B交换YA和YB; (5)A独立计算会话密钥,B独立计算会话密钥KS; (6)通信双方利用会话密钥KS进行通信。
➢ p、q不相同,即不要太接近,又不能差别太大 ➢ p-1、q-1都有大素数因子,增加猜测φ(r) 难度 ➢ gcd( p-1,q-1)应当小
RSA算法的脆弱性(续)
4)p、q选择不当,则变换周期性、封闭性而泄密 例:p=17,q=11,e=7,则n=187。 设m=123,则 C1=1237 mod 187=183 C2=1837 mod 187=72 C3=727 mod 187=30 C4=307 mod 187=123 明文m经过4次加密,恢复成明文。
公开密钥=(n,e)=(143,7)。 ③ 对于这个e值,可以算出其逆:d=103。 ④ 因为e×d=7×103=721,满足e×d mod z =1 ;即721 mod 120=1成立。
则秘密密钥=(n,d)=(143,103)。
6.RSA例2
张小姐需要发送机密信息(明文)m=85给李 先生,她已经从公开媒体得到了李先生的公开密 钥(n,e)=(143,7),于是她算出加密值:
➢ 可见,这里省去了从秘密信道传递密钥的过程 。这是公钥体制的一大优点。
密成密文,此后只有拥有解密密钥 的人才能解密。
(3)实现不可否认功能
➢ 公钥体制用于数字签名时:
➢ 信源为了他人能够验证自己发送的消息确实来自本人,他将自己 的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与 别人通信时,则用自己的加密密钥对消息加密──称为签名,将 原消息与签名后的消息一起发送.
续(1)
比较2
在密钥的管理方面,RSA算法比DES 算法更加优越。因为RSA算法可采用公开 形式分配加密密钥,对加密密钥的更新也 很容易,并且对不同的通信对象,只需对 自己的解密密钥保密即可;DES算法要求 通信前对密钥进行秘密分配,密钥的更换 困难,对不同的通信对象,DES需产生和 保管不同的密钥。
2.交换示例(续) (2)交换YA和YB; (3)交换密钥后,A、B分别计算共享的秘密
会话密钥KA、KB: ➢ 用 户A计 算: KA=YB XA mod 47=178 mod
47=4 mod 47
➢ 用户B计算: KB=YA XB mod 47=2810 mod 47=4 mod 47
A和B双方独立地决定采用数据“4”作为 会话密钥。
第二讲 信息安全技术
第2章 密码技术基础 第3章 对称密码体系 第4章 公钥密码体系 第5章 公钥基础设施PKI 第6章 信息隐藏技术
第四章 内容
4.1公钥密学概述 4.2 Diffie-Hellman 密钥交换算法 4.3 RSA算法