第四讲公钥密码体制(第6章)

合集下载

公钥密码体制公钥密码体制

公钥密码体制公钥密码体制

首次公开提出了“公开密钥密码编码学”的概念。
这是一个与对称密码编码截然不同的方案。
提出公开密钥的理论时,其实用性并没有又得到证明:
❖ 当时还未发现满足公开密钥编码理论的算法; ❖ 直到 1978 年,RSA 算法的提出。
2.基本特征
❖ 加密和解密使用两个不同的密钥 公钥PK:公开,用于加密,私钥SK:保密,用作解密 密钥
3.优点
❖ 密钥管理
加密密钥是公开的; 解密密钥需要妥善保存; 在当今具有用户量大、消息发送方与接收方具有明显的信息不对称
特点的应用环境中表现出了令人乐观的前景。 新用户的增加只需要产生一对公共/私有密钥。
❖ 数字签名和认证
只有解密密钥能解密,只有正确的接收者才拥有解密密钥。
缺点:公共密钥系统的主要弱点是加密和解密速度慢。
加密与解密由不同的密钥完成; 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的; 两个密钥中任何一个都可以作为加密而另一个用作解密。
6.公钥密码算法
除RSA算法以外,建立在不同计算问题上的其他公钥密码算法 有:
基于因子分解问题的Rabin算法; 椭圆曲线公钥算法; 基于有限域中离散对数难题的ElGamal公钥密码算法 基于代数编码系统的McEliece公钥密码算法; 基于“子集和”难题的Merkle-Hellman Knapsack(背包)公钥密码算 法; 目前被认为安全的Knapsack型公钥密码算法Chor-Rivest。
实际应用中的加密方式
❖ 混合加密技术 对称密码体制:密钥分发困难 公钥体制:加解密效率低 将对称加密算法的数据处理速度和公钥算法对密钥的保 密功能相结合 利用对称加密算法加密传输数据 利用非对称加密算法交换会话密钥
实际应用中的加密方式

pdf第6章 公钥密码体制

pdf第6章 公钥密码体制

12
6.3 RSA算法 算法
• • • • 分组密码,安全性依赖于大数的因子分解。 分组密码,安全性依赖于大数的因子分解。 是第一个较为完善的公钥算法。 是第一个较为完善的公钥算法。 能够同时用于加密和数字签名,且易于理解和操作。 能够同时用于加密和数字签名,且易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出到现在已近二 是被研究得最广泛的公钥算法, 是被研究得最广泛的公钥算法 十年,经历了各种攻击的考验,逐渐为人们接受, 十年,经历了各种攻击的考验,逐渐为人们接受,被普遍 认为是目前最优秀的公钥算法之一。 认为是目前最优秀的公钥算法之一。 • 目前仍然无法从理论上证明它的保密性能究竟如何 ,因 为人们并没有从理论上证明破译RSA的难度与大整数分解 为人们并没有从理论上证明破译 的难度与大整数分解 问题的难度等价。 问题的难度等价。
• 数字签名和认证
– 只有解密密钥能解密,只有正确的接收者才拥有解密密钥。 只有解密密钥能解密,只有正确的接收者才拥有解密密钥。
6
6.2 公钥密码算法基础
• 单向函数
– 对于一个函数 f ( x ) 如果对于其定义域上的任意 x, , , f ( x ) 都容易计算,同时 对于其值域中几乎所有的取值 y , 都容易计算, f被称 (x) 都是不可行的, 计算其逆函数 f − 1都是不可行的,则函数 ( y) 为单向函数。 为单向函数。
• 构造公钥密码系统的关键是如何在求解某个单 构造公钥密码系统的关键是如何在求解某个单 关键 向函数的逆函数中设置合理的“陷门” 向函数的逆函数中设置合理的“陷门”
8
• 单向陷门函数是满足下列条件的函数 : 单向陷门函数是满足下列条件的函数f: 1.正向计算容易。即如果知道了密钥 b和消息 ,容易计 正向计算容易。即如果知道了密钥KU 和消息x,

公钥密码体制 PPT课件

公钥密码体制 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参数选取) 欧几里德算法(逆的计算) 模幂的计算

61公钥密码概述

61公钥密码概述

第一节公钥密码的思想和产生背景对称密钥(单钥)密码提供了很多加密技术中所需要的服务,它能够安全地保护你的秘密。

但是,使用对称密钥密码进行保密通信,仍然存在几个很难办的问题。

AB 会话密钥会话密钥通讯信道D E FC 秘密信道第一个问题:密钥管理问题因为通信双方不能通过非保密方式达成密钥共识,所以通信双方只能进行私人会面以交换密钥。

如果需要发送消息给许多用户,就需要建立许多新的密钥,那么,仅通过私人会面以达成密钥共识是不够的。

第二个问题:身份认证问题在A向B进行了对称密钥密码的通信后,A可能会否认向B发送过加密了的消息。

他可以说是B自己创建了这则消息,然后使用他们共享的密钥加密。

理由是用此密钥加密和解密的过程相同,并且他们都可以访问它。

综上,对称密钥密码虽然是很好的加密方式,但并不是完美的。

如果能够向对称密钥密码技术中添加一些附加的功能,那么,它将会更加完美。

公钥密码思想的提出Diffie和Hellman 于1976 年发表了《密码学的新方向》,提出了公钥密码体制的思想。

在20世纪70年代中期,斯坦福大学的研究生Whitefield Diffie和教授Martin Hellman研究了密钥分发问题。

他们提出了一个方案,由此能够通过公开信息建立一个共享的秘密(共享的对称密钥)。

这个方案称为Diffie-Hellman密钥交换协议,或者DH协议。

DH协议解决了一个秘密共享的问题——但不是加密。

Diffie和Hellman在那篇论文中概述了公钥密码体制(一个密钥用于加密,另一个密钥用于解密)的思想,但作者还没有一个这样的算法,描述了他们迄今为止所得的结果。

公钥密码体制的思想事实上,现实生活中到处都体现出公钥密码体制的思想,我们仅以一个例子来说明公钥密码体制的思想。

例:保密信盒设A、B两个人要进行保密通信,他们选择一个牢固的信盒。

他们经过下面四步:(1) A把需要发送的信件装入信盒,用自己的锁锁上信盒,钥匙自己保管好,把信盒送给B;(2) B收到信盒后,由于没有钥匙,当然不能打开信盒。

Lecture06-公钥密码体制分析

Lecture06-公钥密码体制分析

法Verk∈V,对每一个Sigk和Verk满足条件:任意一个
{ 签名:Ver(x,y)=
真 若y=sig(x) 假 若ySig(x)
RSA的数字签名方案
选取整数n=pq, M=A=Zn 定义密钥集合K={(n,e,p,q,d)|n=pq,d*e1(mod (n))} n和e为公钥;p,q,d为保密的(私钥) 对x∈M, Bob要对x签名,取k∈K: Sigk(x) xd(mod n)y(mod n)
说明:① 随机选取大约用 ln(N)/2的次数,如ln(2200)/2=70 ② 好在生成密钥对时才用到,慢一点还可忍受。 ③ 确定素数p和q以后,只需选取e, 满足
gcd(e,(n))=1, 计算d = e-1 mod (n) (扩展的欧拉算法)
算法的发明者建议
•p和q在长度上应仅差几个数位,即p和q应是1075 到 10100 •(p-1)和(q-1)都应包含一个较大的素数因子 •gcd(p-1, q-1)应比较小 •如果e<n 且 d<n1/4,则d可以很容易确定
Verk(x,y)=真
xye(mod n)
签名消息的加密传递问题
– n= 100 时C( 100,2)= 4,950 – n= 5000 时C( 5000,2)= 12,497,500
陌生人间的保密通信问题
数字签名的问题
–传统加密算法无法实现抗抵赖的需求
公钥密码体制
公钥密码又称为双钥密码、非对称密码 公钥密码体制提出的标志性文献:
– W.Diffie and M.E.Hellman, New Directions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654

应用密码学——公钥密码体制

应用密码学——公钥密码体制
512比特。
公开密钥密码系统的分析方法
强行攻击(对密钥)。 公开密钥算法本身可能被攻破。 可能报文攻击(对报文本身的强行攻击)。
公钥密码系统的应用类型
加密/解密 数字签名 会话密钥交换
§6-2 Diffie-Hellman密钥交换 算法
一个素数q和一个整数a(均公开),aa XA mod q 类似地,用户B选择一个随机数XB<q,并计算 YB a XB mod q 每一方都对X的值保密存放而使得Y的值对于另一方可以公
第6章 非对称密码体制
学习要点:
– 了解非对称密码体制的提出背景、基本思想 – 了解非对称密码体制的基本应用方向 – 了解三种典型的公钥密码体制
DH密钥交换算法 RSA ECC
§6-1 概 述
问题的提出: 密钥管理困难
–传统密钥管理两两分别用一对密钥时,则n 个用户 需要C( n, 2)= n( n- 1)/ 2 个密钥,当用户量增大时密 钥空间急剧增大。如:
计算x使y=f(x)是容易的
注:1*. 仅满足(1)、(2)两条的称为单向函数;第(3)条称为陷门性,δ 称 为陷门信息。 2*. 当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密 钥。此时加密密钥便称为公开密钥,记为Pk。 f函数的设计者将δ 保密, 用作解密密钥,此时δ 称为秘密密钥,记为Sk。由于加密函数是公开的, 任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(当然可以 通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1(y)。 3*.单向陷门函数的第(2)条性质表明窃听者由截获的密文y=f(x)推测x是 不可行的。
开得到 用户A计算密钥:K (YB ) X A mod q 用户B计算密钥:K (YA ) XB mod q 双方以K作为加、解密密钥,以对称密钥算法进行保密通信

第6章 公钥密码体制

第6章 公钥密码体制

Char 7 pp.23
公钥密码的保密与认证图
Char 7 pp.24
公钥密码保密与认证过程分析
对于单次加密只提供认证或保密的问题,可以采用两次运用 公钥密码的方式即提供加密又提供认证:Z=EKUb[EKRa(X)] X=DKUa[DKRb(Z)] 发送方首先用其私钥对消息加密,得到数字签名,然后再用 接收方的公钥加密,所得密文只有被拥有私钥的接收方解密。 这样可保证消息的保密性。 缺点:在每次通信中要执行四次复杂的公钥算法。
Information Security:Principles & Applications
第6章 公钥密码体制
本章概要
公钥密码的概念、特点和应用范围。
数论基础
RSA算法加、解密过程。
其它公钥算法简介。
教学要求:原理要清楚,数论不深究。
Char 7 pp.2
Information Security:Principles & Applications
Char 7 pp.28
公钥密码算法应满足条件
假设消息源为A,要发送的消息为M,消息接收方为B。B的公钥KUb,私 钥KRb。 B产生一对密钥(公钥KUb ,私钥KRb )在计算上是容易的。 已知公钥KUb和要加密的消息M,发送方A产生相应的密文在计算上是 容易的:C=EKUb(M) 接收方B使用其私钥对接收方的密文解密以恢复明文在计算上是容易的: M=DKRb(C)= DKRb[EKUb(M)] 已知公钥时,攻击者要确定私钥,在计算上是不可行的。 已知公钥和密文,攻击者要恢复明文M在计算上是不可行的。 加密和解密函数的顺序可以交换: M= DKUb [EKRb(M)]=EKUb [DKRb (M)] 目前只有两个满足这些条件的算法:RSA、椭圆密码体制

第6章公钥密码体制

第6章公钥密码体制
两两互素,a1, a2 ,, ar 是任意r个整数,则r
个同余方程组 x ai mod mi(其中 1 i r)模 M m1m2 mr 有 惟一解,且该解的表达式为:
r
x
ai M i yi (mod m)
i 1
其中,M i
M
mi
,y i
M
1 i
mod mi
, 1i r 。
26
如何产生足够大的随机素数
足 gcd(e, f (n)) 1 ; 4. 计算解密密钥 d e1 mod f (n) ; 5. 公布整数 n 和加密密钥 e。
21
• 证明 M ' Cd mod n (M e mod n)d mod n M 在条件 ed 1mod(n) 下成立。其中(n) 是欧拉函数,
表示不超过n且与n互素的整数个数。 证明: M ' C d mod n
若 gcd(a, m) 1, 则 b c mod m
• 加法逆元 :设 a Zn,如果存在x Zn 满足x a 0(modn), 则称x是a的模n加法逆元。
• 乘法逆元 :设 a Zn,如果存在 x Zn满足ax 1(modn), 则称x是a的模n乘法逆元,记为 a-1 (mod n)。
1.正向计算容易。即如果知道了密钥KUb和消息x,容易计
算 y fKUb (x)
2.在不知道密钥KRb的情况下,反向计算是不可行的。即
如果只知道消息y而不知道密钥KRb ,则计算
x
f
1 K
Rb
( y)
是不可行的。
3.在知道密钥KRb的情况下,反向计算是容易的。即如果
同时知道消息y和密钥KRb
,则计算
返回
11
RSA算法

公钥密码体制课件

公钥密码体制课件

THANKS
感谢观看
云计算与大数据
数据存储加密
对存储在云端的数据进行加密,确保数据的安全性和 隐确保只有授权用户 能够访问云端数据。
容灾备份
在大数据场景中,公钥密码体制用于容灾备份数据的 加密和完整性校验。
04
公钥密码体制的实现技术
RSA算法
总结词
RSA算法是一种非对称加密算法,基于数论中的一些基础性质,使用一对公钥和私钥进行加密和解密操作。
数据完整性
通过数字签名等技术,公钥密码体 制能够确保数据的完整性和真实性。
身份认证
公钥密码体制可用于身份认证,验 证发送方的身份,防止伪造和冒充。
公钥密码体制的历史与发展
历史
公钥密码体制的思想起源于20世纪 70年代,最早的公钥密码体制是RSA 算法。
发展
随着技术的不断进步,公钥密码体制 的应用越来越广泛,涉及到网络安全、 电子支付、电子政务等领域。
证书吊销与信任链管理
在公钥密码体制中,证书用于验证公 钥的合法性,但证书可能被吊销或受 到信任链上的信任问题影响。
管理证书吊销列表和信任链的有效性 是确保公钥密码体制安全的重要环节, 需要定期检查和更新证书状态,以及 在必要时撤销或更新信任链。
06
公钥密码体制的未来展望
新算法的研究与发展
算法优化
详细描述
RSA算法由Rivest、Shamir和Adleman于1977年提出,是目前应用最广泛的公钥密码算法之一。其安全性基于 大数质因数分解的困难性,通过选取适当的参数,能够保证很高的安全性。RSA算法可用于加密、数字签名等应 用场景。
ECC算法
总结词
ECC算法是一种基于椭圆曲线的公钥密码算法,具有密钥长度相对较小、加密速度快、安全性高等优 点。

基于离散对数问题的公钥密码体制

基于离散对数问题的公钥密码体制

第六节基于离散对数问题的公钥密码体制ElGamal密码体制ElGamal公钥体制的安全性依赖于计算有限域上离散对数(discrete logarithm)的困难性。

因为用该体制加密的密文依赖于明文和加密者选取的随机数, 所以这种密码算法是非确定性的。

以有限乘法(或加法)群(G ,•)为数学环境,n 阶循环群为工具。

实例:乘法群(G , •),一个n 阶元素α∈G 和元素β∈<α>问题:找到惟一的整数a , 0 ≤a ≤n −1, 满足:αa =β我们将这个整数记为log αβ。

离散对数问题在密码学中主要应用离散对数问题的如下性质:求解离散对数是困难的,而其逆运算指数运算可以应用平方-乘的方法有效的计算出来。

换句话说,在相应的群G中,指数函数是单向函数。

ElGamal公钥密码体制•第一个同时也是最著名的公钥密码体制。

•在ElGamal密码体制中,加密运算是随机的,因密文既依赖于明文x,又依赖于选择的随机数k,所以,对于同一个明文,会有许多(p−1个)可能的密文。

•ElGamal密码体制的加密算法有数据扩展。

设p 是一个素数,使得群*(,)⋅Z p上的离散对数是难处理的。

*α∈Z p 是*Z p 的一个本原元。

令***,==×Z Z Z p p p M C 。

定义{(,,,)|(mod )}αββα=≡aK p a p其中1a p <−是随机选取的。

公开密钥为,p α和β。

α和p 可由一组用户共享。

私人密钥为a 。

如果用户A要对消息m进行加密, 先将m按照模p 进行分组,使每组都小于p(以下仍将m视为其中的一组)。

然后随机选取数x使gcd(x, p −1) =1。

计算(mod )(mod )αβ⎧≡⎨≡⋅⎩12xx y p y m p 则密文(,)(==1k c E m x y ,)2y 这里,密文是*pZ 中元素对12(,)y y ,故密文的大小恰为明文的两倍。

当用户B 收到用他的公钥加密的消息12(,)y y 时, 他用自已的私人密钥'k a =计算: '(,)()(mod )−≡11221a k D y y y y p (mod )(mod )12xx y p y m p αβ⎧≡⎨≡⋅⎩因为D k′(E k(m, x)) ≡D k′(y1, y2) ≡mβx(αax)−1≡m mod p所以用户B可以有效地解密任何用户用他的公开密钥加密的消息。

第4讲 公钥密码体制

第4讲 公钥密码体制

第4讲 公钥密码体制
12
§2.1 RSA公钥密码算法描述
(2)加密
对于明文M,用公钥 (n,e) 加密可得到密文C。
C = Me mod (n) (3)解密 对于密文C,用私钥(n,d)解密可得到明文M。 M = Cd mod (n) 当定义用私钥(n,d)先进行解密后,然后用公钥(n,e)进行 加密,就是数字签名。
(6)e应选择使模(n)的阶最大
第4讲 公钥密码体制
22
§3 背包公钥密码体制
美国斯坦福大学的Merkle和Hellman于1978年提出的。 背包问题描述:已知一长度为b的背包及长度分别为 a1,a2,…an的n个物品。假定这些物品的直径与背包相同,若从
这些物品中选出若干个正好装满这个背包,究竟是哪些物品。
只有密钥拥有者才知道的密钥:私有密钥(private key)
这两种密钥合在一起称为密钥对; 公开密钥可以解决安全分配密钥问题(不需要与保密密 钥通信,所传输的只有公开密钥,它不需要保密),但对保 证其真实性和完整性却密,则必须用私有密钥解密,
如果某一信息用私有密钥加密,它必须用公开密钥解密,
= (17302)3*1520 mod 2537
∵17302 =1777 mod 2537 ∴C= (1777)3*1520 mod 2537
= (1777)2*1777*1520 mod 2537
∵17772 =1701 mod 2537 ∴C=1701*(1777*1520) mod 2537 =1701*1672 mod 2537 =95(密文)
第4讲 公钥密码体制 13
§2.1 RSA公钥密码算法描述
举例1:选取p=3, q=5,则n=p*q =15,(n)=(p-1)(q-1)=8 选取e=11(大于p和q的质数);

第4讲 公钥密码体制

第4讲 公钥密码体制

3.优点

密钥管理
加密密钥是公开的;
解密密钥需要妥善保存; 在当今具有用户量大、消息发送方与接收方具有明显的信息不对称
特点的应用环境中表现出了令人乐观的前景。
新用户的增加只需要产生一对公共/私有密钥。

数字签名和认证
只有解密密钥能解密,只有正确的接收者才拥有解密密钥。
缺点:公共密钥系统的主要弱点是加密和解密速度慢。
欧拉定理
如a 和 n 是互素的整数,则有:
a f( n ) 1 mod n
等价形式:
a
f ( n) +1
a mod n
欧拉定理推论: 有两个素数 p 和 q, 令 n = pq , 对任意整数 t 和a (0<a<n), 有下列等式成立:
a tφ(n) +1 = a mod n
其中:φ(n) = (p-1)(q-1)。

( a 1 , a 2 , , a n )

同余式 :设n是一个正整数,a , b Z 如果 a mod n b mod n, 则称a和b模n同余,记作:a b (mod
元:设a Z ,如果存在
n
x Z n 满足 x a 0 (mod n ),则称
法;
目前被认为安全的Knapsack型公钥密码算法Chor-Rivest。

Diffie-Hellman、RSA和DSA是三种最常用的公钥算法。
Diffie-Hellman仅适用于密钥交换。 RSA算法适用于数字签名和数据加密。 DSA算法仅适用于数字签名。

ECC具有发展前途,可用于密钥交换、数字签名、数据加密。
扩展的欧几里德算法举例

精品课件-现代密码学(杨晓元)第6章

精品课件-现代密码学(杨晓元)第6章

第6章 公钥密码体制
1. 多重数字签名方案及其分类 在网络通信中,有时要求多个用户对同一消息进行签名与认 证(如几位领导或当事人签署同一份文件)。能够实现这种多个协 议方对同一消息进行签名的数字签名协议就称为多重数字签名 (Digital Multisignature)。根据签名协议过程的不同,多重数 字签名又可以分为有序多重数字签名 (Sequential Multisignature)与广播多重数字签名(Broadcasting Multisignature)。 1) 有序多重数字签名 有序多重数字签名协议过程如图6-1所示。
y=gx mod p,将p、g、y公开,x保密。 加密时,假设明文被编码为整数m,加密者随机选择整数k,
满足gcd(k,p-1)=1,再计算 c1=gk mod p c2=myk mod p
则密文为c=(c1,c2)。 接收方收到密文组(c1,c2)后,进行如下的解密运算:
c2 (c1x )1 myk (gkx )1 mgkx (gkx )1 mmod p
第6章 公钥密码体制
Alice收到密文后,利用秘密密钥d,计算: d(x1,y1)=dkP=k(dP)=kQ=(x2,y2)
再计算 cx21 m ,得到明文m。
这里Q=dP是公开的,若破译者能够解决椭圆曲线上的离 散对数问题,就能从dP中恢复d,完成解密[21]。
第6章 公钥密码体制
6.2.3 基于椭圆曲线公钥密码体制的密码协议 计算机网络技术正以前所未有的速度渗入到我们工作生活的
第6章 公钥密码体制
6.2 椭圆曲线密码 6.2.1 椭圆曲线(Elliptic Curve)
椭圆曲线的图像轨迹并不是椭圆,而是一个平面上的三次曲 线,是人们在研究如何计算椭圆的弧长时发现的问题。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A
Diffie-Hellman 公开值。
4.Alice 钥 K。 5. Bob
通过计算 K ( y B )
aA
mod p
生成密
通过计算 K ( y A )
aB
mod p 生成密钥
K。
6.Alice 和 Bob 生成的密钥 K 是恒等 的,因为:
K ( yB )
(
(
aB
aA
mod p (
第四讲 公钥密码体制
北京科技大学数理学院 卫宏儒 Weihr168@
主要内容
一、公钥密码系统原理 二、RSA算法
三、Diffie-Hellman密钥交换 和EIGamal算法
四、椭圆曲线密码 五、公钥密码系统的密钥管理


对称密钥密码体制的一个缺点是它需要在 Alice 和 Bob 之间首先在传输密文之前使用一个安 全的通道交换密钥。实际上,这可能是很难达到的。 例如:假定 Alice 和 Bob 居住相距遥远,他们决定 用 Email 通信,在这种情况下,Alice 和 Bob 可能 无法获得一个相当安全的通道。
RSA 密码体制是基于群 Z 中大整数因子分解的困难 性。RSA 体制可以描述如下:
n
1.生成两个大素数 p 和 q 。 2.计算这两个素数的乘积 n pq 。 3.计算小于 n 并且与 n 互素的整数的个数,即欧拉 函数 ( n ) ( p 1)( q 1) 。 4. 选取一个随机数 b 满足 1 b ( n ) , 并且 b 和 (n ) 互 素,即 gcd( b , ( n )) 1 。这一必要条件保证了 n 具有乘法 逆元。 5.计算 a b mod ( n ) 。 6.保密 a , p 和 q ,而公开 n 和 b ,任何想给你 传送加密信息的人都可以得到 n 和 b 。
log 2 10
倍, 所以一个 1024 比特的整数
2
的十进制位数是 1024 / log
n
10 308
。然而从长期安全性来
的长度至少应为 2048 比特(或者是 616
位的十进制数) 。
三、Diffie-Hellman密钥交换 和EIGamal算法
公钥密码学的思想是由 Diffie 和 Hellman 在 1976 年的公开文献中引入的。RSA 密码体制是由 Rivest, Shamir 和 Adleman 发现的。对于公钥密码 学的一个一般的综述,我们推荐 Diffie 的文章[W.
p
p*
p*
p*
例子:考虑域 Z 13* {1, 2,3, 4,5,6,7 ,8,9,10 ,11,12 } 。这个域的生 成元是 2,因为其中的每个元素都可以由 2 的某一 a 次方幂生成,其中 0 a 11 ;即
2
2
0
mod 13 = 1, mod 13 = 3, mod 13 = 5, mod 13 = 7, mod 13 = 9, mod 13 = 11,
1. Alice 和 Bob 确定一个适当的素数 p 和整数

,使得

是 p 的本原根;

aA
和 p 可以公开。 , y 计算
A
2. Alice 秘密选取一个整数 并把
yA

aA
mod p
发送给 Bob。
aB
3. 秘密选取一个整数 Bob 并把
yB
, 计算 y
B
B

aB
mod p
发 送 给 Alice 。 y 和 y 就 是 所 说 的
aABiblioteka aBmod p )
aBa A
aA
mod p
)
)
mod p
mod p (
mod p
aB
aA
aB
aA
mod p )
mod p
(yA)
aB
mod p
安全性 Diffie-Hellman 密钥交换的安全性是基 于这样的假设:从
aA
yA
或者
yB
以及 计算

aB
在计算上是不可行的;因为这等价于
Diffie-Hellman第一个提出了公钥密码算法。 这个算法本身基于计算离散对数的难度,其目 的是实现两个用户之间安全地交换密钥以便于 后续的数据加密。直到现在, Diffie-Hellman 密钥交换算法仍然在许多商用产品中使用。 如果Alice和Bob希望使用Diffie-Hellman密钥 交换协议在一个不安全的信道上交换密钥,他 们可以这样做:
A A B B B
B
B
(二)EIGamal算法 (基于离散对数的又一种可用于加密 和认证的公钥密码算法)
背景知识 ElGamal 密码系统是 ElGamal 设计的, 1984 于 年发表。 这一体制基于有限域上离散对数问题的困 难性。域实际上是一个群,并具有附加性质:域中 每一个非零元素都有乘法逆元。 p 是素数,Z 设 就是有限域的一个例子。这个域由元素集合 {0 ,1, 2 , , p 1} ,模 p 的加法运算和模 p 的乘法运 算组成。另一个有限域的例子是 Z ,其中的所有 元素都与 p 互素。 Z 还具有另外一个特性:它 是一个循环域。换言之,任意元素 Z 都可以 由一个生成元 g 的 a 次幂生成, 其中 0 a p 2 。
的一个特别概览,参看 Boneh[D. Boneh. Twenty years of
attacks on the RSA cryptosystem. Notices of the American Mathematical Society, 46(1999), 203—213.]。
(一)Diffie-Hellman密钥交换
二、RSA算法
1、Whitefield Diffie和Martin Hellman [DH76] 于1976年提出了公钥密码系统的思想,然而他们 并没有给出一个实用的公钥密码系统。DiffieHellman的文章发表两年后,MIT的Ronald Rivist、Adi Shamir和Len Adlemar[RSA78]开发 出了第一个公钥密码体制---RSA密码体制。 2、RSA是一种分组密码算法,基于大整数n分解为 两个素数之积的难解性,其输入明文和输出密文 都是0到(n-1)之间的整数。
一、公钥密码系统原理
1、公钥密码应用模型 (1)、公钥加密私钥解密; (2)、私钥加密公钥解密; (3)、上述两种方法相结合即为数字签名 2、公钥密码算法的要求(六条)
1 、 k
2 、 C
p
, k c的 生 成 ;
E k pb M
kc b

kc b k pb
3 、 M D C D E M 4 、 通 过 公 钥 推 导 私 钥 在 计 算 上 是 不 可 能 的 。 5 、 通 过 公 钥 和 密 文 获 得 明 文 在 计 算 上 是 不 可 能 的 。
d
共享密钥的通信。Bob 将是唯一能够利用解密规则 (称为私钥)对密文进行解密的人。
公 钥 密 码 体 制 的 思 想 是 在 1976 年 由 Diffie和Hellman提出的。然后在1977年由 Rivest, Shamir和Adleman发明了著名的RSA 密码体制,将在本讲中研究。此后,几个公 钥密码体制被提出,其安全性依赖于不同的 计算问题。其中,最著名的是RSA密码体制 (及其变种),其安全性基于分解大整数的 困难性;ElGamal密码体制(及其变种,例 如:椭圆曲线密码体制),其安全性基于离 散对数问题。我们在本讲中讨论RSA密码体 制和它的变种、ElGamal密码体制。
6 、 M
D kc
E
kp
M
Dk p
E M
kc
公钥密码系统原理(续)
3、上述要求的实现,实质上是要构造一个单向函数。 4、公钥密码系统受到的攻击和防范: 强行攻击 增加密钥长度,控制算法复杂性; 通过公钥推导对应的私钥; 对于公钥加密的短消息,存在的另一种攻击是可能字攻击。
在Diffie和Hellman之前,公钥密码学的思 想已经由James Ellis在1970年1月的一篇题为 “非隐秘加密的可能性”的文章中(短语“非 秘密加密 ” 即是 公 钥密 码 学 ) 提 出。 James Ellis是电子通讯安全小组(CESG)的成员, 这个小组是英国政府通讯司令部(GCHQ)的一 个特别部门。这篇文章没有在公共文献中发表, 而是在1997年12月由GCHQ正式解密的五篇文章 中的一篇。在这五篇文章中,还有一篇由 Clifford Cocks在1973年发表的题为“关于非 秘密加密的注记” 的文章,其中描述的公钥 密码体制跟RSA密码体制基本一致。
Diffie, The first ten years of public—key cryptography. In Contemporary Cryptology, The Science of Information Intefrity, pages 135—175. IEEE Press, 1992.]关于 RSA
A B A A A A
认证Diffie-Hellman密钥交换(续)
Bob 可以用 Alice 的公开验证算法来确定 sig ( y ) 是否真是 Alice 对 y 的签名。同样,Bob 对 y 签名并把 y 和 sig ( y ) 同时送给 Alice,她 能够利用 Bob 的公开验证算法来判断 sig ( y ) 是否 Bob 对 y 的签名。 这样双方都能够确定他们从对 方那里所收到的消息有没有被窜改过。因此, Alice(或 Bob)就不会受到欺骗:收到了 Eve 的 消息用来生成密钥,却误以为这些消息来自 Bob (或 Alice) 。
在公钥密码体制中的一个想法就是:可以找到一个 密码体制使得由给定的 果这样的话,加密规则
相关文档
最新文档