第二讲之第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
公钥密码体制公钥密码体制

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

访问控制决策功能
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 协议具有依赖性。
第四章-公钥密码体制

(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不可能比因子分解难题更困难。
公钥密码体制 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参数选取) 欧几里德算法(逆的计算) 模幂的计算
第4章-公钥密码算法

• 设计任何一种公钥密码方案,所要做的工作就是寻找 这样的单向陷门函数,其中陷门信息就是私钥,也就 是上面所列举的关键参数k’。
7
公钥密码系统的特征
根据密码系统的组成以及公钥密码体制自身的特 点,一个公钥密码系统可以表示为:加密算法E、 解密算法D、公钥/私钥(PK/SK)对、明文M、密文C 六个元素,且各元素必须要满足以下条件:
8
公钥密码系统的特征
• ⑴ 密钥。要满足两点要求:公钥/私钥 (PK/SK)对容易产生,且私钥除了生成密钥 的用户自己知道之外,其他任何人都不可 知;已知公钥PK,无法计算出私钥SK,即 公钥密码系统所要满足的基本条件之一是 从公开密钥无法通过计算得到私有密钥。
9
公钥密码系统的特征
• ⑵ 加密算法E。要满足两点要求:已知公钥PK,对任何明文M, 由E计算出密文C非常容易,即C = EPK(M) 易计算,或者已知 私钥SK,对任何信息M,由E计算数字签名也非常容易,即 C = ESK(M) 易计算。
• 缺点:加密算法复杂,加密速度难以达到理想状态。 5
公钥密码体制依赖的基础
• 传统的对称密码体制依赖的基础是替代和置换两 种转换思想。与对称密码体制不同的是,公钥密 码体制依赖的基础是数学上的某类问题的求解困 难。
• 经典的公钥密码算法RSA、椭圆曲线密码算法ECC 等都是依赖某类数学问题的,它们共同的特点是 基于某个单向陷门函数。单向陷门函数 y=fk(x) 是指同时满足下列条件的一类可逆函数:
6
公钥密码体制依赖的基础
• ⑴ 函数是一一映射关系,也就是说,对于每个函数值y,只有 唯一的一个原象x与之对应;
• ⑵ 给定x与关键参数k,函数y=fk(x)很容易计算; • ⑶ 给定y,存在某个关键参数k’,在未知k’时,由y计算出x
7
公钥密码系统的特征
根据密码系统的组成以及公钥密码体制自身的特 点,一个公钥密码系统可以表示为:加密算法E、 解密算法D、公钥/私钥(PK/SK)对、明文M、密文C 六个元素,且各元素必须要满足以下条件:
8
公钥密码系统的特征
• ⑴ 密钥。要满足两点要求:公钥/私钥 (PK/SK)对容易产生,且私钥除了生成密钥 的用户自己知道之外,其他任何人都不可 知;已知公钥PK,无法计算出私钥SK,即 公钥密码系统所要满足的基本条件之一是 从公开密钥无法通过计算得到私有密钥。
9
公钥密码系统的特征
• ⑵ 加密算法E。要满足两点要求:已知公钥PK,对任何明文M, 由E计算出密文C非常容易,即C = EPK(M) 易计算,或者已知 私钥SK,对任何信息M,由E计算数字签名也非常容易,即 C = ESK(M) 易计算。
• 缺点:加密算法复杂,加密速度难以达到理想状态。 5
公钥密码体制依赖的基础
• 传统的对称密码体制依赖的基础是替代和置换两 种转换思想。与对称密码体制不同的是,公钥密 码体制依赖的基础是数学上的某类问题的求解困 难。
• 经典的公钥密码算法RSA、椭圆曲线密码算法ECC 等都是依赖某类数学问题的,它们共同的特点是 基于某个单向陷门函数。单向陷门函数 y=fk(x) 是指同时满足下列条件的一类可逆函数:
6
公钥密码体制依赖的基础
• ⑴ 函数是一一映射关系,也就是说,对于每个函数值y,只有 唯一的一个原象x与之对应;
• ⑵ 给定x与关键参数k,函数y=fk(x)很容易计算; • ⑶ 给定y,存在某个关键参数k’,在未知k’时,由y计算出x
信息安全概论第四章公钥密码体制

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)。
对方收到消息后,为了确定信源的真实性,用对方的解密密钥解 密签名消息──称为(签名)验证,如果解密后的消息与原消息 一致,则说明信源是真实的,可以接受,否则,拒绝接受。
4.2 Diffie-Hellman 密钥交换算法
W.Diffie和M.E.Hellman于1976年提出的,让A和B 两个陌生人之间建立共享秘密密钥的公开密钥算 法,称为Diffie-Hellman算法,它定义了公开密 钥密码体制。它的目的是使得两个用户安全地交 换一个密钥以便用于以后的报文加密,这个算法 本身限于密钥交换的用途。许多商用产品都使用 这种密钥交换技术。
用户将自己的公开(加密)密钥登记在一个公 开密钥库或实时公开,秘密密钥则被严格保密 。信源为了向信宿发送信息,去公开密钥库查
一对密钥 找对方的公开密钥,或临时向对方索取公钥, 将要发送的信息用这个公钥加密后在公开信道 上发送给对方,对方收到信息(密文)后,则 用自己的秘密(解密)密钥解密密文,读取信 息。
密钥交换过程
(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进行通信。
公开密钥密码体制的产生,是密码学革命 性的发展。一方面,为数据的保密性、完 整性、真实性提供了有效方便的技术。另 一方面,科学地解决了密码技术的瓶颈 ──密钥的分配问题。
公钥体制算法
第一个公钥体制是1977年由Rivest, Shamir,Adleman提出的,称为RSA 公钥体制,其安全性是基于整数的因子 分解的困难性。RSA公钥体制已得到了 广泛的应用。
续(2)
比较3 在安全性方面,DES算法和RSA算法
的安全性都较好,还没有在短时间内破译 它们的有效的方法。
比较4 在签名和认证方面,DES算法从原理
上不可能实现数字签名和身份认证,但 RSA算法能够容易地进行数字签名和身份 认证。
13. 基于DES和RSA的加密方案
设发送方为A(加密密钥为Kea,解密密钥为 Kda),接收方为B(加密密钥为Keb,解密密钥为 Kdb)。
可见,这里省去了从秘密信道传递密钥的过程 。这是公钥体制的一大优点。
续
(2)保护信息机密
任何人均可将明文加密成密文,此后只有拥有解密密钥 的人才能解密。
(3)实现不可否认功能
公钥体制用于数字签名时:
信源为了他人能够验证自己发送的消息确实来自本人,他将自己 的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与 别人通信时,则用自己的加密密钥对消息加密──称为签名,将 原消息与签名后的消息一起发送.
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.交换示例(续) (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”作为 会话密钥。
3)为保证安全性,n 至少也要 600 bits以上 ,且还在增加。在运算上要付出代价。
12. RSA算法和DES算法比较
比较1
在加密、解密的处理效率方面,DES算法 优于RSA算法。因为DES密钥的长度只有56 比特,可以利用软件和硬件实现高速处理; RSA算法需要进行诸如200比特整数的乘幂 和求模等多倍字长的处理,处理速度明显慢于 DES算法。
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次加密,恢复成明文。
续(1)
比较2
在密钥的管理方面,RSA算法比DES 算法更加优越。因为RSA算法可采用公开 形式分配加密密钥,对加密密钥的更新也 很容易,并且对不同的通信对象,只需对 自己的解密密钥保密即可;DES算法要求 通信前对密钥进行秘密分配,密钥的更换 困难,对不同的通信对象,DES需产生和 保管不同的密钥。
具体实现步骤: (1)发送方A生成用于DES加密的密钥K,为了
提高数据的安全性,每一个密钥K只用一次。 (2)发送方从密钥服务器中获取接收方的
RSA的公开加密密钥Keb,并用Keb加密DES的密 钥K形成密文Ck。
续(1)
(3)发送方A生成需要签名的信息,并用 自己的RSA的解密密钥Kda和Keb共同形成 数字签名。
公开密钥=(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),于是她算出加密值:
第二讲 信息安全技术
第2章 密码技术基础 第3章 对称密码体系 第4章 公钥密码体系 第5章 公钥基础设施PKI 第6章 信息隐藏技术
第四章 内容
4.1公钥密学概述 4.2 Diffie-Hellman 密钥交换算法 4.3 RSA算法
4.1 公钥密码概述
1976年,Diffie 和Hellmann提出了公开密 钥密码体制(简称公钥体制),它的加密 、解密密钥是不同的,也是不能(在有效 的时间内)相互推导。所以,它可称为双 钥密码体制。
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位数字已被因子分解,并破 解了附带的密语:
两两互不相同,构成一个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 会话秘密
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
总之,RSA对用户要求太苛刻,密钥不能常更换。
9.RSA算法的攻击方法
(1)选择密文攻击
(2)过小加密指数e (3) RSA的公共模数攻击 (4)RSA的计时攻击法
10. RSA的实用性
公开密钥密码体制有优点,但它的运算量大 ,计算复杂。
结合对称密钥密码体制使用
RSA算法在互联网的许多方面得以广泛应 用。
特减少储存时间,减 少受攻击的机会; •(2)除对全局参数的约定外,密钥交换不需要事 先存在的基础结构。
不足:
(1)没有通信双方身份的信息; (2)计算是密集性的,容易受到阻塞性攻击; (3)没办法防止重放攻击; (4)容易受到中间人攻击。
4.3 RSA算法
The magic words are squeamish ossifrage. 目前,已能分解140位十进制的大素数。因此, 模数n必须选大一些。 RSA最快的情况也比DES慢上100倍,无论是软 件还是硬件实现。速度一直是RSA的缺陷。一般只 用于少量数据加密。
8.RSA算法的脆弱性
不能证明RSA密码破译等同于大数因子分解 1) 速度问题:增大p•q将使开销指数级增长 2) 至少有9个明文,加密后不变,即me mod n=m 3) 普通用户难于选择p、q。对p、q的基本要求:
应用最广泛的公钥密码算法 只有美国专利,且已于2000年9月到期
1.RSA算法要点
算法产生一对密钥,一个人可以用密钥对中 的一个加密消息,另一个人则可以用密钥对 中的另一个解密消息。同时,任何人都无法 通过公钥确定私钥,也没有人能使用加密消 息的密钥解密。只有密钥对中的另一把可以 解密消息。
4.2 Diffie-Hellman 密钥交换算法
W.Diffie和M.E.Hellman于1976年提出的,让A和B 两个陌生人之间建立共享秘密密钥的公开密钥算 法,称为Diffie-Hellman算法,它定义了公开密 钥密码体制。它的目的是使得两个用户安全地交 换一个密钥以便用于以后的报文加密,这个算法 本身限于密钥交换的用途。许多商用产品都使用 这种密钥交换技术。
用户将自己的公开(加密)密钥登记在一个公 开密钥库或实时公开,秘密密钥则被严格保密 。信源为了向信宿发送信息,去公开密钥库查
一对密钥 找对方的公开密钥,或临时向对方索取公钥, 将要发送的信息用这个公钥加密后在公开信道 上发送给对方,对方收到信息(密文)后,则 用自己的秘密(解密)密钥解密密文,读取信 息。
密钥交换过程
(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进行通信。
公开密钥密码体制的产生,是密码学革命 性的发展。一方面,为数据的保密性、完 整性、真实性提供了有效方便的技术。另 一方面,科学地解决了密码技术的瓶颈 ──密钥的分配问题。
公钥体制算法
第一个公钥体制是1977年由Rivest, Shamir,Adleman提出的,称为RSA 公钥体制,其安全性是基于整数的因子 分解的困难性。RSA公钥体制已得到了 广泛的应用。
续(2)
比较3 在安全性方面,DES算法和RSA算法
的安全性都较好,还没有在短时间内破译 它们的有效的方法。
比较4 在签名和认证方面,DES算法从原理
上不可能实现数字签名和身份认证,但 RSA算法能够容易地进行数字签名和身份 认证。
13. 基于DES和RSA的加密方案
设发送方为A(加密密钥为Kea,解密密钥为 Kda),接收方为B(加密密钥为Keb,解密密钥为 Kdb)。
可见,这里省去了从秘密信道传递密钥的过程 。这是公钥体制的一大优点。
续
(2)保护信息机密
任何人均可将明文加密成密文,此后只有拥有解密密钥 的人才能解密。
(3)实现不可否认功能
公钥体制用于数字签名时:
信源为了他人能够验证自己发送的消息确实来自本人,他将自己 的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与 别人通信时,则用自己的加密密钥对消息加密──称为签名,将 原消息与签名后的消息一起发送.
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.交换示例(续) (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”作为 会话密钥。
3)为保证安全性,n 至少也要 600 bits以上 ,且还在增加。在运算上要付出代价。
12. RSA算法和DES算法比较
比较1
在加密、解密的处理效率方面,DES算法 优于RSA算法。因为DES密钥的长度只有56 比特,可以利用软件和硬件实现高速处理; RSA算法需要进行诸如200比特整数的乘幂 和求模等多倍字长的处理,处理速度明显慢于 DES算法。
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次加密,恢复成明文。
续(1)
比较2
在密钥的管理方面,RSA算法比DES 算法更加优越。因为RSA算法可采用公开 形式分配加密密钥,对加密密钥的更新也 很容易,并且对不同的通信对象,只需对 自己的解密密钥保密即可;DES算法要求 通信前对密钥进行秘密分配,密钥的更换 困难,对不同的通信对象,DES需产生和 保管不同的密钥。
具体实现步骤: (1)发送方A生成用于DES加密的密钥K,为了
提高数据的安全性,每一个密钥K只用一次。 (2)发送方从密钥服务器中获取接收方的
RSA的公开加密密钥Keb,并用Keb加密DES的密 钥K形成密文Ck。
续(1)
(3)发送方A生成需要签名的信息,并用 自己的RSA的解密密钥Kda和Keb共同形成 数字签名。
公开密钥=(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),于是她算出加密值:
第二讲 信息安全技术
第2章 密码技术基础 第3章 对称密码体系 第4章 公钥密码体系 第5章 公钥基础设施PKI 第6章 信息隐藏技术
第四章 内容
4.1公钥密学概述 4.2 Diffie-Hellman 密钥交换算法 4.3 RSA算法
4.1 公钥密码概述
1976年,Diffie 和Hellmann提出了公开密 钥密码体制(简称公钥体制),它的加密 、解密密钥是不同的,也是不能(在有效 的时间内)相互推导。所以,它可称为双 钥密码体制。
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位数字已被因子分解,并破 解了附带的密语:
两两互不相同,构成一个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 会话秘密
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
总之,RSA对用户要求太苛刻,密钥不能常更换。
9.RSA算法的攻击方法
(1)选择密文攻击
(2)过小加密指数e (3) RSA的公共模数攻击 (4)RSA的计时攻击法
10. RSA的实用性
公开密钥密码体制有优点,但它的运算量大 ,计算复杂。
结合对称密钥密码体制使用
RSA算法在互联网的许多方面得以广泛应 用。
特减少储存时间,减 少受攻击的机会; •(2)除对全局参数的约定外,密钥交换不需要事 先存在的基础结构。
不足:
(1)没有通信双方身份的信息; (2)计算是密集性的,容易受到阻塞性攻击; (3)没办法防止重放攻击; (4)容易受到中间人攻击。
4.3 RSA算法
The magic words are squeamish ossifrage. 目前,已能分解140位十进制的大素数。因此, 模数n必须选大一些。 RSA最快的情况也比DES慢上100倍,无论是软 件还是硬件实现。速度一直是RSA的缺陷。一般只 用于少量数据加密。
8.RSA算法的脆弱性
不能证明RSA密码破译等同于大数因子分解 1) 速度问题:增大p•q将使开销指数级增长 2) 至少有9个明文,加密后不变,即me mod n=m 3) 普通用户难于选择p、q。对p、q的基本要求:
应用最广泛的公钥密码算法 只有美国专利,且已于2000年9月到期
1.RSA算法要点
算法产生一对密钥,一个人可以用密钥对中 的一个加密消息,另一个人则可以用密钥对 中的另一个解密消息。同时,任何人都无法 通过公钥确定私钥,也没有人能使用加密消 息的密钥解密。只有密钥对中的另一把可以 解密消息。