第04章 公钥密码系统
合集下载
信息安全原理与技术ch04公钥密码技术
•发送方A
•攻击者消 息来自•M加法密 算
•C
•PUB
•接收方B
解
消
法密 算
•M
息
•PRB
•密钥源
•图4.1 公钥加密模型
PPT文档演模板
2020/11/4
信息安全原理与技术ch04公钥密码技 术
• •
• •
•发送方A
•攻击者
消 息
•M
加
法密 算
•C
•PRA
•密钥源
•接收方B
解
消
法密 算
•M
息
•PUA
• 椭圆曲线密码体制中使用的变元和系数均 为有限域中元素的椭圆曲线
• 密码应用中所使用的两类椭圆曲线是定义 在 GF素(2域m)Z上p上构的造素的曲二线元(曲pr线ime curve)和在
• 对 程于,素其中域的Zp变上量的和素系曲数线在,集我合们{使0,用1,2三,…次,方p-1} 上取值,运算为模p运算
• 椭圆曲线系统第一次应用于密码学上是于1985年 由Koblitz与Miller分别提出
• 两个较著名的椭圆曲线密码系统;一是利用 ElGamal的加密法,二是Menezes-Vanstone的加 密法
PPT文档演模板
2020/11/4
信息安全原理与技术ch04公钥密码技 术
椭圆曲线的定义
• 在实数系中,椭圆曲线可定义成所有满足方程E: y2 = x3 + ax + b的点(x, y)所构成的集合
• 公钥密码算法是基于数学函数(如单向陷门函数) 而不是基于代换和置换
• 公钥密码是非对称的,它使用两个独立的密钥, 即公钥和私钥,任何一个都可以用来加密,另一 个用来解密
密钥密码体系和公钥密码体系
密钥密码体系和公钥密码体系
密钥密码体系和公钥密码体系是两种常见的加密算法体系,它们在密钥管理和加密解密过程中的原理和方式有所不同。
密钥密码体系:
密钥密码体系是使用相同的密钥对明文进行加密和解密的算法体系。
在密钥密码体系中,发送方和接收方必须互相知道并共享相同的密钥,才能进行加密解密通信。
常见的对称加密算法,如DES、AES等,属于密钥密码体系。
密钥密码体系的优点
是加密解密速度快,但缺点是密钥管理比较困难,需要事先安全地共享密钥,并确保密钥的安全性。
公钥密码体系:
公钥密码体系是使用不同的密钥对明文进行加密和解密的算法体系。
在公钥密码体系中,发送方和接收方使用不同的密钥,一个是公钥,一个是私钥。
公钥可以公开给任何人,用于加密明文,而私钥只有接收方知道,用于解密密文。
常见的公钥加密算法,如RSA、ElGamal等,属于公钥密码体系。
公钥密码体系的优点是密钥管理相对容易,只需要保证私钥的安全性,但缺点是加密解密速度相对较慢。
综上所述,密钥密码体系和公钥密码体系是两种不同的加密算法体系,各有优缺点,可以根据具体的安全需求和场景选择使用。
公钥密码系统
7
Company Logo
公钥密码概述
公开密钥算法的特点:
(1)发送者用加密密钥PK对明文X加密后,在接收者
用解密密钥SK解密,即可恢复出明文,或写为: DSK(EPK(X)) X 解密密钥是接收者专用的秘密密钥,对其他人 都保密。 此外,加密和解密的运算可以对调,即 EPK(DSK(X)) X (2)加密密钥是公开的,但不能用它来解密,即 DPK(EPK(X)) X
Diffie-Hellman密钥交换 数字签名 数字签名的算法
Company Logo
5
10
RSA密码系统
公开密钥算法RSA (根据其发明者命名,即R. Rivest, A. Shamir和L. Adleman)。 RSA密码系统的安全性基于大数分解的困难性。 求一对大素数的乘积很容易,但要对这个乘积进 行因式分解则非常困难,因此,可以把一对大素 数的乘积公开作为公钥,而把素数作为私钥,从 而由一个公开密钥和密文中恢复出明文的难度等 价于分解两个大素数之积。 公钥密码系统一般都涉及数论的知识,如素数、 欧拉函数、中国剩余定理等等。
15
Company Logo
RSA密码系统 RSA 加密消息 m 时 ( 这里假设 m 是以十进 制表示的),首先将消息分成大小合适的数 据分组,然后对分组分别进行加密。每个 分组的大小应该比n小。 设 ci 为明文分组 mi 加密后的密文,则加密 公式为 ci=mie (mod n) 解密时,对每一个密文分组进行如下运算: mi=cid (mod n)
Company Logo
Contents
1
2 3 4
公钥密码概述
RSA密码系统 Diffie-Hellman密钥交换 数字签名 数字签名的算法
公钥密码系统
公钥密码系统
RSA密码系统
❖RSA加密消息m时(这里假设m是以十进 制表示的),首先将消息分成大小合适的数 据分组,然后对分组分别进行加密。每个 分组的大小应该比n小。
❖设ci为明文分组mi加密后的密文,则加密 公式为 ci=mie (mod n)
❖解密时,对每一个密文分组进行如下运算: mi=cid (mod n)
公钥密码系统
Diffie-Hellman密钥交换
❖ 下面用一个例子来说明上述过程。Alice和Bob需进行密钥 交换,如图4-3所示,则:
二者协商后决定采用素数p=353及其本原根a=3。 Alice选择随机数x=97,
计算X=397 mod 353=40,并发送给Bob。 Bob选择随机数y=233,
解密算法 明文输出
公钥密码概述
(3) 密钥交换:通信双方交换会话密钥,以 加密通信双方后续连接所传输的信息。 每次逻辑连接使用一把新的会话密钥, 用完就丢弃。
公钥密码系统
公钥密码概述
❖ 公开密钥算法的特点:
(1)发送者用加密密钥PK对明文X加密后,在接收者 用解密密钥SK解密,即可恢复出明文,或写为: DSK(EPK(X)) X 解密密钥是接收者专用的秘密密钥,对其他人 都保密。 此外,加密和解密的运算可以对调,即 EPK(DSK(X)) X
公钥密码ห้องสมุดไป่ตู้统
Diffie-Hellman密钥交换
❖ Diffie-Hellman 算 法 的 安 全 性 在 于 在 有 限 域 上 计 算离散对数非常困难。
❖定义素数p的本原根(Primitive Root)为一种能生 成1~p−1所有数的一个数,即如果a为p的本原根, 则 a mod p,a2 mod p,…,ap−1 mod p
RSA密码系统
❖RSA加密消息m时(这里假设m是以十进 制表示的),首先将消息分成大小合适的数 据分组,然后对分组分别进行加密。每个 分组的大小应该比n小。
❖设ci为明文分组mi加密后的密文,则加密 公式为 ci=mie (mod n)
❖解密时,对每一个密文分组进行如下运算: mi=cid (mod n)
公钥密码系统
Diffie-Hellman密钥交换
❖ 下面用一个例子来说明上述过程。Alice和Bob需进行密钥 交换,如图4-3所示,则:
二者协商后决定采用素数p=353及其本原根a=3。 Alice选择随机数x=97,
计算X=397 mod 353=40,并发送给Bob。 Bob选择随机数y=233,
解密算法 明文输出
公钥密码概述
(3) 密钥交换:通信双方交换会话密钥,以 加密通信双方后续连接所传输的信息。 每次逻辑连接使用一把新的会话密钥, 用完就丢弃。
公钥密码系统
公钥密码概述
❖ 公开密钥算法的特点:
(1)发送者用加密密钥PK对明文X加密后,在接收者 用解密密钥SK解密,即可恢复出明文,或写为: DSK(EPK(X)) X 解密密钥是接收者专用的秘密密钥,对其他人 都保密。 此外,加密和解密的运算可以对调,即 EPK(DSK(X)) X
公钥密码ห้องสมุดไป่ตู้统
Diffie-Hellman密钥交换
❖ Diffie-Hellman 算 法 的 安 全 性 在 于 在 有 限 域 上 计 算离散对数非常困难。
❖定义素数p的本原根(Primitive Root)为一种能生 成1~p−1所有数的一个数,即如果a为p的本原根, 则 a mod p,a2 mod p,…,ap−1 mod p
公钥密码系统
导读
❖本章我们将讨论解密密钥与加密密钥不同 的情况。非对称密码系统的解密密钥与加 密密钥是不同的,一个称为公开密钥,另 一个称为私人密钥(或秘密密钥),因此 这种密码体系也称为公钥密码体系。公钥 密码除可用于加密外,还可用于数字签名。 《 中 华 人 民 共 和 国 电 子 签 名 法 》 已 于 2005 年4月1日实行。
k1
k2
28
Company Logo
中间人攻击
❖ Alice用密钥k1给Bob发送消息;Carol截获消 息后用k1解密就可读取消息;然后将获得的明文 消息用k2加密(加密前可能会对消息作某些修改) 后发送给Bob。
❖ 对Bob发送给Alice的消息,Carol同样可以读 取和修改。造成中间人攻击的原因是DiffieHellman密钥交换不认证对方。利用数字签名 可以挫败中间人攻击。
(2) Bob发送公开值给Alice,Carol截获它然后把 自己的公开值(a’和p’)发送给Alice。
(3) Alice和Carol计算出二人之间的共享密钥k1。 (4) Bob和Carol计算出另外一对共享密钥k2。
27
Company Logo
中间人攻击
a,p
a',p'
Alice
Carol
Bob
Bob
X
产生随机数y
计算X=ax mod p
计算Y=ay mod p
计算k=Yx mod p
Y
计算k'=Xy mod p
26
Company Logo
中间人攻击
❖ Diffie-Hellman密钥交换容易遭受中间人攻击:
(1) Alice发送公开值(a和p)给Bob,攻击者Carol 截获这些值并把自己产生的公开值发送给Bob。
❖本章我们将讨论解密密钥与加密密钥不同 的情况。非对称密码系统的解密密钥与加 密密钥是不同的,一个称为公开密钥,另 一个称为私人密钥(或秘密密钥),因此 这种密码体系也称为公钥密码体系。公钥 密码除可用于加密外,还可用于数字签名。 《 中 华 人 民 共 和 国 电 子 签 名 法 》 已 于 2005 年4月1日实行。
k1
k2
28
Company Logo
中间人攻击
❖ Alice用密钥k1给Bob发送消息;Carol截获消 息后用k1解密就可读取消息;然后将获得的明文 消息用k2加密(加密前可能会对消息作某些修改) 后发送给Bob。
❖ 对Bob发送给Alice的消息,Carol同样可以读 取和修改。造成中间人攻击的原因是DiffieHellman密钥交换不认证对方。利用数字签名 可以挫败中间人攻击。
(2) Bob发送公开值给Alice,Carol截获它然后把 自己的公开值(a’和p’)发送给Alice。
(3) Alice和Carol计算出二人之间的共享密钥k1。 (4) Bob和Carol计算出另外一对共享密钥k2。
27
Company Logo
中间人攻击
a,p
a',p'
Alice
Carol
Bob
Bob
X
产生随机数y
计算X=ax mod p
计算Y=ay mod p
计算k=Yx mod p
Y
计算k'=Xy mod p
26
Company Logo
中间人攻击
❖ Diffie-Hellman密钥交换容易遭受中间人攻击:
(1) Alice发送公开值(a和p)给Bob,攻击者Carol 截获这些值并把自己产生的公开值发送给Bob。
《公钥密码体系》课件
03
保障国家安全
公钥密码体系在国家安全领域 中也有广泛应用,如军事通信
、政府机密保护等。
公钥密码体系的历史与发展
03
起源
公钥密码体系起源于20世纪70年代,最 早的公钥密码体系是RSA算法。
发展历程
未来展望
随着计算机科学和数学的发展,公钥密码 体系不断得到改进和完善,出现了多种新 的算法和应用。
随着互联网和物联网的普及,公钥密码体 系将面临更多的挑战和机遇,需要不断探 索和创新。
性能问题
1 2 3
加密和解密速度
公钥密码体系的加密和解密速度通常较慢,需要 优化算法和提高计算能力,以提高加密和解密的 速度。
资源消耗
公钥密码体系通常需要较大的计算资源和存储空 间,需要优化算法和资源利用方式,以降低资源 消耗。
适应性
公钥密码体系需要适应不同的应用场景和需求, 需要开发适用于不同场景的公钥密码算法和解决 方案。
人工智能与机器学习
人工智能和机器学习技术在公钥密码体系中也有着广阔的应用前景。这些技术可以帮助自动识别和防御 网络攻击,提高公钥密码体系的安全性和可靠性。
应用领域拓展
物联网安全
随着物联网技术的普及,公钥密 码体系在物联网安全领域的应用 将越来越广泛。物联网设备需要 使用公钥密码算法进行身份认证 和数据加密,以确保设备之间的 通信安全。
非对称加密算法可以支持多种加密模式,如对称加密算法中的块加 密和流加密模式。
数字签名
验证数据完整性和身份
数字签名使用私钥对数据进行加密,生成一个数字签名。 接收者使用公钥解密数字签名,验证数据的完整性和发送 者的身份。
防止数据被篡改
数字签名可以防止数据在传输过程中被篡改,因为任何对 数据的修改都会导致数字签名无效。
第04章 公钥密码系统
(2) Bob发送公开值Y给Alice,Carol截获它然后把自
己的公开值发送给Alice。
(3) Alice和Carol计算出二人之间的共享密钥k1。
(4) Bob和Carol计算出另外一对共享密钥k2。
第4 章
公钥密码体系
X Y' X' Y Carol k1 k2 Bob
Alice
图4-4 中间人攻击
第4 章
公钥密码体系
第4章 公钥密码体系
4.1 4.2 4.3 4.4 4.5 4.6 公钥密码概述 RSA密码系统 Diffie-Hellman密钥交换 数字签名 数字签名的算法 PGP
第4 章
公钥密码体系
导读
• 将讨论解密密钥与加密密钥不同的情况。 • 非对称密码系统的解密密钥与加密密钥是不同的,一 个称为公开密钥,另一个称为私人密钥(或秘密密 钥),因此这种密码体系也称为公钥密码体系。 • 公钥密码除可用于加密外,还可用于数字签名。
解密算法
明文输出
图10.2 数字签名
第4 章
公钥密码体系
(3) 密钥交换:通信双方交换会话密钥,以加密 通信双方后续连接所传输的信息。
• Diffie -Hellman密钥交换协议 –-只能用来交换密
钥
• 实际应用中,考虑效率和安全性两个因素,通常 用非对称密钥密码传递密钥,用对称密钥密码系 统实现保密通信。
Diffie-Hellman 算法的安全性在于在有限域上计算
离散对数非常困难。 定义素数 p 的本原根 (Primitive Root) 为一种能生成 1~p−1所有数的一个数,即如果a为p的本原根,则 a mod p,a2 mod p,…,ap−1 mod p
信息安全公钥密码
电子工业出版社,《信息安全原理与应用》,2010.1 ©版权所有,引用请注明出处
公钥密码体制的概念
3、应用三:同时实现保密性和身份 鉴别
如果两次使用公钥密码算法,则可以既实现 保密通 信,又实现身份鉴别。其主要步骤如下: (1)发送方A先用自己的私钥KRa对消息进行签 名,然后再用接收方B的公钥KUb加密, A->B: Z=EKUb(EKRa(X)) (2)接收方B收到密文,先用自己的私钥KRb解 密,再用A的公钥 KUa验证签名的正确性, DKUa(DKRb(Z))=X
2
电子工业出版社,《信息安全原理与应用》,2010.1 ©版权所有,引用请注明出处
概述
• 公钥密码学的发展是整个密码学发展史上 最伟大的一次革命。公钥密码学与之前的 密码学完全不同。首先,公钥算法是基于 数学函数而不是基于代替和置换,更重要 的是,与只使用一个密钥的对称密钥密码 不同,公钥密码是非对称的,它使用两个 独立的密钥。使用两个密钥在消息的保密 性、密钥分配和认证领域有着重要的意义
电子工业出版社,《信息安全原理与应用》,2010.1 ©版权所有,引用请注明出处
公钥密码体制的概念
• 公钥密码算法的特点
(1)加密与解密由不同的密钥完成。其中,KU是公开 的,称为“公钥”(public key);KR是保密的, 称为“私钥”(private key)。 加密:X->Y: Y = EKU(X) 解密:Y->X: X = DKR(Y) = DKR(EKU(X)) (2)知道加密算法,从加密密钥得到解密密钥在计算 上是不可行的。 (3)两个密钥中任何一个都可以用作加密而另一个则 用作解密。 (4)加密和解密的顺序可以调换。 X=DKR(EKU(X))=EKU(DKR(X))
公钥密码体制的概念
3、应用三:同时实现保密性和身份 鉴别
如果两次使用公钥密码算法,则可以既实现 保密通 信,又实现身份鉴别。其主要步骤如下: (1)发送方A先用自己的私钥KRa对消息进行签 名,然后再用接收方B的公钥KUb加密, A->B: Z=EKUb(EKRa(X)) (2)接收方B收到密文,先用自己的私钥KRb解 密,再用A的公钥 KUa验证签名的正确性, DKUa(DKRb(Z))=X
2
电子工业出版社,《信息安全原理与应用》,2010.1 ©版权所有,引用请注明出处
概述
• 公钥密码学的发展是整个密码学发展史上 最伟大的一次革命。公钥密码学与之前的 密码学完全不同。首先,公钥算法是基于 数学函数而不是基于代替和置换,更重要 的是,与只使用一个密钥的对称密钥密码 不同,公钥密码是非对称的,它使用两个 独立的密钥。使用两个密钥在消息的保密 性、密钥分配和认证领域有着重要的意义
电子工业出版社,《信息安全原理与应用》,2010.1 ©版权所有,引用请注明出处
公钥密码体制的概念
• 公钥密码算法的特点
(1)加密与解密由不同的密钥完成。其中,KU是公开 的,称为“公钥”(public key);KR是保密的, 称为“私钥”(private key)。 加密:X->Y: Y = EKU(X) 解密:Y->X: X = DKR(Y) = DKR(EKU(X)) (2)知道加密算法,从加密密钥得到解密密钥在计算 上是不可行的。 (3)两个密钥中任何一个都可以用作加密而另一个则 用作解密。 (4)加密和解密的顺序可以调换。 X=DKR(EKU(X))=EKU(DKR(X))
公钥密码系统
例:求gcd(18,12) =gcd(12,18mod12)=gcd(12,6)=gcd(6,12mod6)=gcd(6
,0)=6
22
22
第4章 公钥密码体系
用途: (2)两个正整数互素,可以求一个数关于 另一个数的乘法逆元
性质2:若gcd(n,a)=1, 则a在模n下有乘法逆元 (设a<n)即存在x<n, ax=1 mod n
16
Network and Information Security
第4章 公钥密码体系
RSA的数学基础
➢ 除数(因子): 设z为由全体整数而构成的集合,若 b≠0且 a,b,m∈z , 使得a=mb,此时称b整除a.记为b∣a,还称b为a的除数(因子).
➢ 素数:对一个自然数P,如果P只能被1和自身除尽时,则称P 为素数(或质数),否则为合数。
⑧ Goto ②
24
第4章 公钥密码体系
例如:k=7, 求解7-1(7关于模26的乘法逆元)
循环次数 Q X1 X2 X3 Y1 Y2 Y3
初值
无1
0
26
0
1
7
1
301
7
1 -3 5
2
1 1 -3 5 -1 4 2
3
2 -1 4
2
3 -11 1
-11即为求得的结果,是11关于模26的加法逆元,即15。
第4章 公钥密码体系
➢ 整数同余:设n是一个正整数,a,b ∈Z, 如果 a mod n= b mod n,则称a 和b模n同余, 记作 a ≡ b(mod n) ,称整数n为同余模 。
模m求余运算称为模运算, 下面是模运算的一些性质。 (1) (a+b) mod m = ((a mod m) + (b mod m)) mod m (2) (a-b) mod m = ((a mod m) - (b mod m)) mod m (3) (a×b) mod m = ((a mod m) × (b mod m)) mod m (4) (a×(b+c) ) mod m = (((a×b) mod m) + ((a×c) mod m)) mod m (5)a8 mod m=(a×a×a×a×a×a×a×a) mod m 化简为:((a2 mod m)2 mod m)2 mod m
,0)=6
22
22
第4章 公钥密码体系
用途: (2)两个正整数互素,可以求一个数关于 另一个数的乘法逆元
性质2:若gcd(n,a)=1, 则a在模n下有乘法逆元 (设a<n)即存在x<n, ax=1 mod n
16
Network and Information Security
第4章 公钥密码体系
RSA的数学基础
➢ 除数(因子): 设z为由全体整数而构成的集合,若 b≠0且 a,b,m∈z , 使得a=mb,此时称b整除a.记为b∣a,还称b为a的除数(因子).
➢ 素数:对一个自然数P,如果P只能被1和自身除尽时,则称P 为素数(或质数),否则为合数。
⑧ Goto ②
24
第4章 公钥密码体系
例如:k=7, 求解7-1(7关于模26的乘法逆元)
循环次数 Q X1 X2 X3 Y1 Y2 Y3
初值
无1
0
26
0
1
7
1
301
7
1 -3 5
2
1 1 -3 5 -1 4 2
3
2 -1 4
2
3 -11 1
-11即为求得的结果,是11关于模26的加法逆元,即15。
第4章 公钥密码体系
➢ 整数同余:设n是一个正整数,a,b ∈Z, 如果 a mod n= b mod n,则称a 和b模n同余, 记作 a ≡ b(mod n) ,称整数n为同余模 。
模m求余运算称为模运算, 下面是模运算的一些性质。 (1) (a+b) mod m = ((a mod m) + (b mod m)) mod m (2) (a-b) mod m = ((a mod m) - (b mod m)) mod m (3) (a×b) mod m = ((a mod m) × (b mod m)) mod m (4) (a×(b+c) ) mod m = (((a×b) mod m) + ((a×c) mod m)) mod m (5)a8 mod m=(a×a×a×a×a×a×a×a) mod m 化简为:((a2 mod m)2 mod m)2 mod m
公钥密码体制课件
THANKS
感谢观看
云计算与大数据
数据存储加密
对存储在云端的数据进行加密,确保数据的安全性和 隐确保只有授权用户 能够访问云端数据。
容灾备份
在大数据场景中,公钥密码体制用于容灾备份数据的 加密和完整性校验。
04
公钥密码体制的实现技术
RSA算法
总结词
RSA算法是一种非对称加密算法,基于数论中的一些基础性质,使用一对公钥和私钥进行加密和解密操作。
数据完整性
通过数字签名等技术,公钥密码体 制能够确保数据的完整性和真实性。
身份认证
公钥密码体制可用于身份认证,验 证发送方的身份,防止伪造和冒充。
公钥密码体制的历史与发展
历史
公钥密码体制的思想起源于20世纪 70年代,最早的公钥密码体制是RSA 算法。
发展
随着技术的不断进步,公钥密码体制 的应用越来越广泛,涉及到网络安全、 电子支付、电子政务等领域。
证书吊销与信任链管理
在公钥密码体制中,证书用于验证公 钥的合法性,但证书可能被吊销或受 到信任链上的信任问题影响。
管理证书吊销列表和信任链的有效性 是确保公钥密码体制安全的重要环节, 需要定期检查和更新证书状态,以及 在必要时撤销或更新信任链。
06
公钥密码体制的未来展望
新算法的研究与发展
算法优化
详细描述
RSA算法由Rivest、Shamir和Adleman于1977年提出,是目前应用最广泛的公钥密码算法之一。其安全性基于 大数质因数分解的困难性,通过选取适当的参数,能够保证很高的安全性。RSA算法可用于加密、数字签名等应 用场景。
ECC算法
总结词
ECC算法是一种基于椭圆曲线的公钥密码算法,具有密钥长度相对较小、加密速度快、安全性高等优 点。
公钥密码系统
22
Company Logo
Diffie-Hellman密钥交换
如果Alice 和Bob想在不安全的信道上交换密钥,他们可以采 用如下步骤:
(1)Alice和Bob协商一个大素数p及p的本原根a,a和p 可以公开; (2)Alice秘密产生一个随机数x,计算X=ax mod p, 然后把X发送给Bob; (3)Bob秘密产生一个随机数y,计算Y= ay mod p,然 后把Y发送给Alice; (4)Alice计算k=Yx mod p; (5)Bob计算k'=Xy mod p。
13
Company Logo
RSA密码系统
(2)密钥的产生
现在讨论RSA公开密钥密码体制中每个参数是如何 选择和计算的。 ① 计算n。用户秘密地选择两个大素数p和q,计 算出n pq。n称为RSA算法的模数。 ② 计算φ (n)。用户再计算出n的欧拉函数 φ (n)(p 1)(q 1) 。 ③ 选择e。用户从[1, φ (n) 1]中选择一个与 φ (n)互素的数e作为公开的加密指数。
25
Company Logo
Diffie-Hellman密钥交换
Alice Bob
产生随机数x
X
产生随机数y
计算X=ax mod p
计算Y=ay mod p
计算k=Yx mod p
Y
计算k'=Xy mod p
26
Company Logo
中间人攻击
Diffie-Hellman密钥交换容易遭受中间人攻击: (1) Alice 发送公开值 (a 和 p) 给 Bob ,攻击者 Carol 截获这些值并把自己产生的公开值发送给Bob。 (2) Bob 发送公开值给 Alice , Carol 截获它然后把 自己的公开值(a’和p’)发送给Alice。 (3) Alice 和 Carol 计算出二人之间的共享密钥 k1 。 (4) Bob和Carol计算出另外一对共享密钥k2。
Company Logo
Diffie-Hellman密钥交换
如果Alice 和Bob想在不安全的信道上交换密钥,他们可以采 用如下步骤:
(1)Alice和Bob协商一个大素数p及p的本原根a,a和p 可以公开; (2)Alice秘密产生一个随机数x,计算X=ax mod p, 然后把X发送给Bob; (3)Bob秘密产生一个随机数y,计算Y= ay mod p,然 后把Y发送给Alice; (4)Alice计算k=Yx mod p; (5)Bob计算k'=Xy mod p。
13
Company Logo
RSA密码系统
(2)密钥的产生
现在讨论RSA公开密钥密码体制中每个参数是如何 选择和计算的。 ① 计算n。用户秘密地选择两个大素数p和q,计 算出n pq。n称为RSA算法的模数。 ② 计算φ (n)。用户再计算出n的欧拉函数 φ (n)(p 1)(q 1) 。 ③ 选择e。用户从[1, φ (n) 1]中选择一个与 φ (n)互素的数e作为公开的加密指数。
25
Company Logo
Diffie-Hellman密钥交换
Alice Bob
产生随机数x
X
产生随机数y
计算X=ax mod p
计算Y=ay mod p
计算k=Yx mod p
Y
计算k'=Xy mod p
26
Company Logo
中间人攻击
Diffie-Hellman密钥交换容易遭受中间人攻击: (1) Alice 发送公开值 (a 和 p) 给 Bob ,攻击者 Carol 截获这些值并把自己产生的公开值发送给Bob。 (2) Bob 发送公开值给 Alice , Carol 截获它然后把 自己的公开值(a’和p’)发送给Alice。 (3) Alice 和 Carol 计算出二人之间的共享密钥 k1 。 (4) Bob和Carol计算出另外一对共享密钥k2。
第04章 公钥密码系统
因此,可以把一对大素数的乘积公开作为公钥, 而把素数作为私钥,从而由一个公开密钥和密 文中恢复出明文的难度等价于分解两个大素数 之积
信息安全技术
16
4.2.1 RSA算法
公钥密码系统一般都涉及数论的知 识,如素数、欧拉函数、中国剩余 定理等等。 今有物不知其数,三三数之
剩二,五五数之剩三,七七 数之剩二,问物几何?
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来说,这 种概率是非常小的。
信息安全技术
6
USBKey的密码学原理
故事未完,且听下回分解……
信息安全技术
7
导读
非对称密码系统的解密密钥与加密密钥是不 同的,一个称为公开密钥,另一个称为私人 密钥(或秘密密钥),因此这种密码体系也 称为公钥密码体系 公钥密码除可用于加密外,还可用于数字签 名 2005年4月1日实行《中华人民共和国电子签 名法》
信息安全技术
25
4.2.2 对RSA算法的挑战
在1977年Rivest、Shamir及Adleman提出公开钥密码系统时,他们 认为每秒钟百万次运算的计算机可以在4小时之内因子分解一个50位 的数,但是分解一个100位的数要花几乎一个世纪,而200位的数大约 要花40亿年。甚至考虑到计算速度可以再提高百万倍(甚至尚未出 现),基于200位数的密码看来是十分安全的
网络安全 公钥密码系统
Alice 产生随机数 x 计算 X=a x mod p
Bob
X
计算 k=Y x mod p
Y
产生随机数 y 计算 Y=a y mod p 计算 k ′=X y mod p
Diffie-Hellman密钥交换,第一个公 钥算法,但只能用于密钥交换
第4章 公钥密码系统
4.1 RSA密码系统 密码系统
– 多用户网络中的密钥数目膨胀问题,共需协商和保存n(n-1)/2个密钥 – 密钥分发问题,如何通过不安全线路传输初始化密钥
公钥密码系统基于陷门单向函数:在不知道陷门信息(某些保密信 息)情况下求逆困难,而在知道陷门信息时易于求逆的函数。
第4章 公钥密码系统 基于对称密码学的DES的ECB(Electronic Codebook)模式 • 将明文M分成64位的分组pi • 对各分组用给定的密钥K进行加密,得密文分组:ci=DESK(pi) • 将各密文分组按顺序连接起来即得到明文的密文 • 为拥有共享密钥的双方在通信中加/解密数据
第4章 公钥密码系统
4.2 Diffie-Hellman密钥交换 密钥交换
4.2.1 Diffie-Hellman算法 Diffie-Hellman算法: 1976年,第一个公开密钥算法,用于 密钥分配,其安全性基于计算离散对数的困难性。 离散对数: 素数p的本原根(Primitive Root):能生成1~p−1所有数的一个 数,如果a为p的本原根,则a mod p,a2 mod p,…,ap−1 mod p两 两互不相同,构成1~p−1的全体数的一个排列。 对于任意数b及素数p的本原根a,可以找到一个惟一的指数i, 满足: b = ai mod p, 0≤i≤p−1 称指数i为以a为底模p的b的离散对数,i = logab( mod p) 。 由a、i、p计算b,简单;由a、 b 、p计算i,极其困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因此,可以把一对大素数的乘积公开作为公钥, 而把素数作为私钥,从而由一个公开密钥和密 文中恢复出明文的难度等价于分解两个大素数 之积
信息安全技术
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 是“计算上不可行的”