现代密码学06 - 公钥密码学

合集下载

公钥密码学

公钥密码学

密钥管理
对称算法需要额外安全信道 公钥
证书中心
混合密码体制
公钥算法用于签名和认证 用公钥算法传输会话密钥 用会话密钥/对称算法加密批量(bulk)数据
32
Γ
В
作业:用RSA 加密解密
p=3,q=11,e=7,M=5 p=5,q=11,e=3,M=9 如果:e=31,n=3599,d=? c=10,e=5,n=35,M能够求出吗?
Γ
В
简单例子
n=pq= φ(n)=请练习
任务:对明文 M=19 加密
选中两个素数 p=7,q=17 n=pq=119 φ(n)=(p-1)(q-1)=6×16=96
选取整数1<e< φ(n)与φ(n) 互素:e=5 求e的逆元d:ed≡1 mod φ(n) 请练习 d=77
计算 C=Me(mod n)=? 其中M=19 请练习 c=66 计算 M1=Cd(mod n)=? 请练习
对称算法一般几十兆字节/秒 1024位RSA解密约100多次/秒(加密快10倍以上)
只用来传递会话密钥
(假设A已经有B的公钥KeB) A发起和B的通信 A产生会话密钥Ks,并用KeB加密后传给B B能用自己的私钥KdB解开 他人不会知道Ks
31
Γ
В 对称算法 vs. 公钥算法
安全性 速度
典型相差1000倍
33
Γ
5
Γ
В
密码学革命
1976年 Diffie和Hellman针对上述问题提出 年 和 针对上述问题提出 了一种方法, 了一种方法,它是密码学的一次革命
6
Γ
В
公钥密码体制介绍
7
Γ
В
公钥密码体制特点
仅根据密码算法和加密密钥来确定解密密钥在 仅根据密码算法和加密密钥来确定解密密钥在 密码算法 来确定解密密钥 计算上是不可行的。 计算上是不可行的。 两个密钥中的任何一个可以用来加密,另一个 两个密钥中的任何一个可以用来加密, 用来解密。 用来解密。 有6个组成部分:明文、加密算法、公钥、 个组成部分:明文、加密算法、公钥、 个组成部分 私钥、密文、 私钥、密文、解密算法

公钥密码技术理论及应用介绍

公钥密码技术理论及应用介绍

公钥密码技术理论及应用介绍公钥密码技术是现代密码学中的重要分支,它采用了一种非对称加密的方式,使得加密和解密的操作可以使用不同的密钥进行。

这种技术的应用非常广泛,涉及到网络通信、数字签名、身份认证等领域。

本文将对公钥密码技术的理论基础以及其在实际应用中的具体场景进行介绍。

公钥密码技术的理论基础主要建立在数论和复杂性理论的基础之上。

其中最为重要的基础是大数分解问题和离散对数问题。

大数分解问题是指将一个大的合数分解为其素数因子的问题,而离散对数问题则是指在一个有限域中找到一个数的离散对数的问题。

这两个问题的困难性是公钥密码技术的基础,因为只有在这些问题难以解决的情况下,公钥密码技术才能够保证其安全性。

在公钥密码技术中,每个用户都有一对密钥,分别是公钥和私钥。

公钥可以公开给其他用户使用,而私钥则只有用户自己知道。

当用户想要向其他用户发送加密的消息时,他可以使用接收者的公钥对消息进行加密,而只有接收者拥有对应的私钥才能够解密消息。

这种非对称加密的方式使得通信双方可以在不共享密钥的情况下进行安全的通信。

除了加密和解密的功能之外,公钥密码技术还可以用于数字签名和身份认证。

数字签名是指用户可以使用自己的私钥对消息进行签名,而其他用户可以使用发送者的公钥来验证签名的有效性。

这样可以确保消息的完整性和真实性。

而在身份认证中,用户可以向其他用户证明自己的身份,只需要使用自己的私钥对一些特定的信息进行签名,而其他用户可以使用发送者的公钥来验证签名的有效性,从而确认发送者的身份。

公钥密码技术在实际应用中有着广泛的应用。

在网络通信中,公钥密码技术可以用于保护数据的机密性和完整性。

用户可以使用对方的公钥对通信内容进行加密,从而确保只有对方能够解密消息。

在电子商务中,公钥密码技术可以用于保护交易的安全性,防止信息被窃取或篡改。

在数字签名中,公钥密码技术可以用于保证文件的完整性和真实性,防止文件被篡改。

在身份认证中,公钥密码技术可以用于验证用户的身份,防止冒充他人进行非法操作。

公钥的名词解释

公钥的名词解释

公钥的名词解释1. 引言公钥是现代密码学中常用的概念,它在保障信息安全以及实现加密通信方面起着重要作用。

在本文中,我们将深入探讨公钥的定义、原理、应用以及安全性等方面,以帮助读者更好地理解并应用公钥。

2. 公钥的定义公钥是一种密码学中的密钥,由一对数学上相关联的密钥之一组成,另一个密钥被称为私钥。

公钥与私钥一起使用,形成了非对称加密算法。

在这种算法中,公钥用于加密数据,私钥用于解密数据。

3. 公钥的原理公钥加密算法基于数学难题,例如大素数分解或离散对数问题。

根据这些数学难题的复杂性,公钥加密算法提供了一种安全的方式来传输信息。

公钥加密采用了一种不同于传统对称加密算法的方法,它通过使用两个密钥来实现对数据的保护。

4. 公钥的生成公钥的生成通常涉及到一系列的算法和数学运算。

例如,RSA算法是一种常用的公钥生成算法。

在RSA算法中,首先选择两个不同的大素数p和q,然后计算它们的乘积n=p*q。

接着,选择一个与(n)互质的数e,作为公钥指数,并计算对应的私钥指数d。

最后,将n和e作为公钥,n和d作为私钥。

5. 公钥的应用公钥在现代通信中有广泛的应用。

一种常见的应用是数字签名。

数字签名使用私钥对信息进行签名,以确保消息的完整性和真实性。

只有持有对应公钥的人可以验证签名的有效性。

此外,公钥还被用于加密通信,保护敏感信息的传输过程。

6. 公钥的安全性公钥加密算法的安全性基于数学难题的复杂性。

然而,随着计算能力的提升和新的攻击技术的出现,一些传统的公钥算法变得不再安全。

因此,保持公钥的安全性需要不断地研究和发明新的算法。

7. 公钥与私钥的保护公钥和私钥都需要得到妥善保护,以防止被未授权的人获取和使用。

公钥可以自由分发给他人,而私钥必须严格保密。

存储私钥的设备应该采取物理和逻辑上的措施,防止恶意使用或泄露。

结论:公钥作为一种密码学中重要的概念,为保障信息安全和实现加密通信提供了强大的支持。

通过理解公钥的定义、原理、生成、应用以及安全性,我们可以更好地应用公钥算法保护敏感信息的传输过程,同时我们也需要不断创新和研究来提高公钥算法的安全性。

密码学中的公钥密码算法及其应用

密码学中的公钥密码算法及其应用

密码学中的公钥密码算法及其应用密码学是一门研究通信安全和信息保密的科学,而公钥密码学算法则是其中最为重要的一种算法。

公钥密码学算法是指在加密和解密过程中,使用不同的密钥来实现。

本文将介绍公钥密码学算法的基本概念和应用。

一、公钥密码学算法概述公钥密码学算法也称为非对称密码学算法,它是一种使用两个密钥来进行加密和解密的算法。

这两个密钥是一对,一个称为公钥,一个称为私钥。

其中,公钥是公开的,任何人都可以知道,私钥则是秘密的,只有拥有者才会知道。

公钥密码学算法的加密过程是这样的:发送方使用接收方的公钥对数据进行加密,接收方使用自己的私钥对加密数据进行解密。

这样,就可以保证通信内容的安全性和保密性。

二、公钥密码学算法的分类公钥密码学算法分为两种类型:基于离散对数问题的算法和基于椭圆曲线问题的算法。

1、基于离散对数问题的算法基于离散对数问题的算法包括RSA和DH两种算法。

RSA算法是由三位数学家Rivest、Shamir和Adleman于1977年发明的。

它主要是利用了大数分解的难度来保证信息的安全性,而公钥就是由两个大素数的乘积得出的。

DH算法是Diffie和Hellman在1976年提出来的,它主要是利用数论中离散对数问题的难度来保证信息的安全性,而公钥则是通过一定计算得出的。

2、基于椭圆曲线问题的算法基于椭圆曲线问题的算法包括ECIES和ECDSA两种算法。

ECIES算法是可扩展加密标准中的一种,它主要是利用椭圆曲线上的点运算来实现加密和解密,公钥就是椭圆曲线上的一个点。

ECDSA算法是可扩展数字签名算法中的一种,它主要是利用椭圆曲线上的点运算来实现数字签名的生成和验证。

三、公钥密码学算法的应用公钥密码学算法在信息安全领域有着广泛的应用,下面介绍几个常见的应用场景。

1、TLS/SSL协议TLS/SSL协议是一种用于保护互联网通信安全的协议。

在TLS/SSL协议中,使用公钥密码学算法来实现通信内容加密和身份认证的过程,从而保证通信的安全性和保密性。

公钥密码学

公钥密码学

公钥密码学公钥密码学是一种通用的加密技术,用于保护用户数据,保证私密性和安全性。

它是一种非对称加密技术,意思是,它使用一对密钥公开的公钥和保密的私钥来加密和解密信息。

它可以用来保护网络通信等。

公钥密码学的发明者是美国数学家兼集合理论专家Whitfield Diffie和加拿大数学家Martin Hellman于 1976年。

他们被称为Diffie-Hellman对,或仅称为Diffie-Hellman。

他们的原理是在数学上基于离散对数问题,这是一个求解以费马小定理为基础的问题,它由他们提出。

费马小定理说,在具有质数参数的数论环上,一个大整数的任意次幂都等于另一个大整数,只要它们不相等。

不同的加密系统使用一种称为“秘密双方协议”的技术,通过共享一些信息,双方可以安全地通信。

Diffie-Hellman协议使用公钥密码学来加密它们的会话,重点是发送方使用接收方的公开密钥来加密数据,而接收方使用自己的私钥解密数据。

与其他安全性算法相比,公钥密码学有许多优势。

首先,它更安全,因为它使用非对称密钥,而不是对称密钥,可以更好地保护用户数据。

其次,它提供了更高的安全性,因为攻击者无法从用户传输的信息中推断出加密的密钥。

第三,它拥有更多的功能,可以有效地实现签名功能,防止信息抵赖。

在当今日新兴网络技术领域,公钥密码学发挥着重要作用。

许多机密信息传输方案都使用公钥密码学来保护网络安全。

公钥密码学也用于互联网支付系统,以及基于手机的缴费系统,从而保护支付信息的安全性。

公钥密码学已经成为当今社会日新月异的发展的重要技术,它为社会的发展和安全安全提供了坚实的技术支持,同时也为网络传输提供了坚强的保护。

随着技术的发展,人们应该充分了解公钥密码学在社会发展中所起的作用,并一如既往地努力改进和发展这一技术,以满足当今社会的不断变化的安全需求。

现代密码学中的名词解释

现代密码学中的名词解释

现代密码学中的名词解释密码学是研究如何保护信息安全的学科领域。

随着信息技术的快速发展,保护数据的安全成为了当代社会的重要需求之一。

为了加强密码学的理论和应用,现代密码学涌现了许多重要的概念和名词。

本文将重点解释现代密码学中的一些常见名词,以帮助读者更好地理解和运用密码学的基本原理。

一、对称密钥密码体制(Symmetric Key Cryptography)对称密钥密码体制是最早也是最简单的密码学方法之一。

其基本原理是发送方和接收方使用相同的密钥进行加密和解密操作。

这意味着密钥需要在通信双方之间事先共享,因此也被称为共享密钥密码体制。

对称密钥密码体制具有高效、快速的特点,但存在密钥管理困难和密钥安全问题。

二、公钥密码体制(Public Key Cryptography)与对称密钥密码体制相比,公钥密码体制采用了一对密钥:公钥和私钥。

发送方使用接收方的公钥进行加密操作,而接收方则使用自己的私钥进行解密。

在公钥密码体制中,公钥可以公开,私钥必须保密。

公钥密码体制解决了对称密钥密码体制中的密钥管理和密钥安全问题,但加解密过程相对较慢。

三、数字签名(Digital Signature)数字签名是公钥密码体制的一个重要应用,用于验证电子文档的真实性和完整性。

发送方使用自己的私钥对文档进行加密,生成数字签名,并将文档和数字签名发送给接收方。

接收方使用发送方的公钥解密数字签名,再与原始文档进行比较,如果一致,则可以确定文档的来源和完整性。

四、哈希函数(Hash Function)哈希函数是一种将任意长度的输入数据转换为固定长度的输出数据的算法。

哈希函数具有以下特性:(1)输入和输出具有固定的长度;(2)对于相同的输入,输出总是相同;(3)对于不同的输入,输出应该尽量不同;(4)给定输出,很难推导出对应的输入。

五、数字证书(Digital Certificate)数字证书是用于证明公钥的有效性和所有者身份的一种数字文件。

现代密码学中的公钥与私钥算术

现代密码学中的公钥与私钥算术

现代密码学中的公钥与私钥算术一、引言现代密码学是信息安全领域中的重要分支,它主要研究如何通过密码算法来保护数据的机密性、完整性和可用性。

在现代密码学中,公钥与私钥算术是其中的核心概念和技术。

本文将介绍公钥与私钥算术的概念、原理和应用。

二、公钥与私钥算术概述公钥与私钥算术是现代密码学中的基本概念,它们用于实现加密、解密、认证和数字签名等功能。

公钥算术采用一对相关的密钥:公钥和私钥。

其中,公钥可以公开给任何人使用,而私钥只能由密钥持有者保管,并且不能泄露给他人。

三、公钥加密与解密公钥加密是指使用接收者的公钥对数据进行加密的过程。

只有使用相应的私钥才能解密该数据。

常见的公钥加密算法包括RSA、ElGamal等。

这些算法基于数学难题,例如质因数分解问题、离散对数问题等,来保证加密的安全性。

在进行公钥加密时,发送者首先获取接收者的公钥,然后使用该公钥对待发送的数据进行加密,并将加密后的数据发送给接收者。

接收者使用自己的私钥进行解密,从而获取到原始数据。

四、数字签名与验证数字签名是一种用于保证数据完整性和认证来源的技术。

发送者首先使用自己的私钥对数据进行签名生成数字签名,然后将数字签名和原始数据一起发送给接收者。

接收者使用发送者的公钥对签名和数据进行验证,从而确认数据是否经过篡改并确认发送者身份。

常见的数字签名算法包括RSA数字签名算法、DSA(Digital Signature Algorithm)数字签名算法等。

五、公钥和私钥算术实例让我们通过一个具体的例子来更好地理解公钥与私钥算术在现代密码学中的应用。

首先我们需要生成一对密钥:公钥和私钥。

假设Alice希望给Bob发送一条加密信息,并且Bob已经生成了一对密钥:公钥和私钥。

Alice需要得到Bob的公钥才能完成下一步操作。

Alice使用Bob的公钥对信息进行加密,并将加密后的消息发送给Bob。

Bob接收到消息后使用自己的私钥进行解密,从而获取到原始信息。

公钥密码学

公钥密码学

公钥密码学
公钥密码学是一种新型的数字复杂算法,用来保护在网络上传输的信息和数据的安全性,是一种加密算法体系,它将源信息转化成一种难以解读的形式,而且只有猜测解密密钥的对象才能够解读。

公钥密码是一种新型的加密算法,它可以简单快捷,安全可靠地实现信息的传输和存储。

公钥密码学以公钥和私钥为核心,是一种不对称的密码算法。

公钥密码利用公钥和私钥加密和解密,这两个密钥体系是独立的,公钥可以向任何人公开,而私钥则只能由它本身的持有者独享,这样就可以大大提高数据的安全性。

公钥密码的特点是可以同时实现加解密,也就是说不论是发送者还是接收者,都可以使用同一密钥进行信息的加解密,而不用降低安全性。

公钥密码学的传输过程是这样的:发送者先将信息进行加密,然后通过公钥将加密后的信息发送给接收者,接收者使用私钥将发送的信息解密,这样就可以实现无疑问的信息传输,而不被拦截或攻击。

在这个过程中,信息的安全性可以得到充分的保证。

由于公钥密码学支持广泛的应用,它已经成为当今智能设备上的一种重要的安全加密技术。

公钥密码技术可以应用于Web安全以及访问控制,可以用于电子商务安全,远程银行注册,电子签名,多人协同工作,电子邮件,数据加密及安全存储等多领域。

公钥密码学是一种抗拦截,安全可靠的加密技术,它具有传统密码技术无法提供的安全性,而且可以应用到智能设备上,被广泛应用
于各种互联网服务,可以有效地提高网络安全性和系统的可靠性。

现代密码学第七讲:公钥密码学1

现代密码学第七讲:公钥密码学1
密钥管理:在有多个用户的网络中,任何两 密钥管理 个用户之间都需要有共享的秘密钥,当网络 中的用户n很大时,需要管理的密钥数目是n (n-1)/2 无签名功能 当主体A收到主体B的电子文挡 (电子数据)时,无法向第三方证明此电子 文档确实来源于B。
公钥加密体制的原理
邮箱的例子 任何人可以向邮箱投举报信 用户(审计人员)才能打开邮箱,读信的内容
28
背包密码体制
加密运算
对明文分组X=(x1x2…xn)的加密为 c=f(x)=B·X≡t·A·X mod k
解密运算
首先由s≡t-1 c mod k,求出s作为超递增背包向量 A的容积,再解背包问题即得x=(x1x2…xn). 因为t-1 c mod k≡t-1tAX mod k≡AX mod k,而由 k>∑ai,知AX<k,所以t-1c mod k=AX,是惟一的.
11
公钥密码体制的发展历史
1976年 Diffie和Hellman 在《密码学的新方向》中首次公开提 出了非对称密码算法的思想,但是没有实现加密方案,只给出 没有实现加密方案, 没有实现加密方案 一个密钥协商协议; 一个密钥协商协议; 1978年 Rivest,Shamir和Adleman提出应用广泛的RSA算法; 1984年 Shamir提出基于身份的密码体制,没有实现加密体制, ,没有实现加密体制, 只给出一个基于身份的数字签名算法 2001年 Boneh,Franklin和Cocks分别独立提出基于身份的加密 算法 2003年 Al-Riyami提出的无证书的密码体制
15
公钥加密算法的特点
无噪信道 道
公钥加密体制框图
16
公钥加密算法的特点
加解密算法需满足要求: 加解密算法需满足要求:

现代密码学(第四章)公钥密码

现代密码学(第四章)公钥密码

2019/11/6
9
单向函数举例
背包问题的特例:超递增背包问题。将物品重量从小 到大排列:a1,a2,a3,…,aN。称该背包问题为超递增背 包问题,如果:
a1<a2; a1+a2<a3; a1+a2+a3<a4; … a1+a2+a3+…+aN-1<aN。
(超递增背包问题是容易解决的。)
2019/11/6
则称f为一单向(One-way)函数。 定义中的“极为困难”是对现有的计算资源和算法而言。
陷门单向函数(Trapdoor one-way function),是这样的单向函 数:
在不知陷门信息下,由f(x)求x“极为困难”, ; 当知道陷门信息后,由f(x)求x是易于实现的。
2019/11/6
量。” 则该结合称为一个格。 关于格有以下的性质和概念。 如果格中存在这样的几个向量,满足①它们(实数)线性无
关;②格中的任何其它向量都能唯一地表示为这几个向量的 整数线性组合。则这几个向量构成的向量组称为基。 基中的向量的个数称为格的维数。 格的维数总是不超过N。
2019/11/6
13
第四章:公钥密码
一、公钥密码的基本概念 二、公钥密码RSA 三、背包公钥密码 四、公钥密码Rabin 五、 ElGamal公钥密码 六、公钥密码NTRU 七、椭圆曲线公钥密码ECC 八、 McEliece公钥密码
2019/1钥密码体制(公钥密码体制) 于1976年由W. Diffie和M. Hellman[1976]提出,同时R. Merkle[1978]也独立提出了这一体制。可 用于保密通信,也可用于数字签字。
O(exp( (ln p)(lnln p)))

密码学公钥密码学技术(讲用)

密码学公钥密码学技术(讲用)

1977年RSA的三个发明人在《科学美国人》杂志的数学游戏
专栏留下了一个129位的十进制数(426bit)密钥,悬赏$100, 估计破译时间为4亿亿年后。1994年Atkins等人动用网上的 1600台计算机,耗时8个月,成功地破译了该密码。 1999年一个国际密码研究小组在RSA公司举办的RSA密钥竞 赛中荣获冠军。该小组用7个月时间,使用世界各地11个地 点292台计算机,其中160台SGI和SUN工作站及120台PII PC 机,确定了生成单个512位RSA密钥所用的两个素数。 512 bit 154位10进制数 不够安全 768 bit 231位10进制数 个人应用 1024 bit 308位10进制数 商业应用 2048 bit 616位10进制数 重要场合
RSA密码系统
④ 计算d作为解密指数。用户计算出满足下式的d ed1modφ (n) ⑤ 得出所需要的公开密钥和秘密密钥: 公开密钥(即加密密钥)PK {e, n} 秘密密钥(即解密密钥)SK {d, n} 其中,p、q、φ (n)和d就是秘密的陷门(四项 并不是相互独立的),这些信息不可以泄露。
RSA算法的安全性分析
建议选择p和q大约是100位的十进制素数,模n的长度
要求至少是512比特。 为了抵抗现有的整数分解算法,对RSA模n的素因子p和 q还有如下要求: 1. |p-q|很大,通常 p和q的长度相同; 2. p-1 和q-1分别含有大素因子; 3. gcd(p-1, q-1) 应该很小 为了提高加密速度,通常取e为特定的小整数.
非对称密钥加密算法用于加密:
非对称密钥加密算法用于鉴别: 1. 如果A想给B发送一个签名报文,他就用自己的私有(保 密)密钥加密这个报文。 2. B收到这个报文后就用A的公开密钥鉴别该报文。

现代密码学中的公钥与私钥算术

现代密码学中的公钥与私钥算术

现代密码学中的公钥与私钥算术现代密码学的基础在于如何安全地通信与数据保护,其核心概念之一便是公钥与私钥的配对。

在数字时代,信息安全面临着前所未有的挑战,而公钥密码学的出现为我们提供了一种有效的解决方案。

本文将深入探讨公钥与私钥的算术原理,以及它们在现代安全通信中的应用。

一、公钥密码学概述公钥密码学,又称非对称密码学,是一种使用两把不同但相关密钥进行加密和解密的方法。

相对应地,被称为公钥和私钥。

公钥是公开的,任何人都可以获取并使用此密钥进行加密;而私钥则是保密的,只有其拥有者才能访问,用于解密。

1.1 公钥与私钥的生成公钥与私钥的生成是基于复杂的数学理论,其常用方法包括素数分解、椭圆曲线等。

以RSA算法为例,这个法门首先随机选择两个大素数P和Q,通过乘法得到N,然后根据公式计算出公钥和私钥。

具体步骤如下:选择两个大素数P和Q。

计算N = P * Q。

计算欧拉函数φ(N) = (P - 1)(Q - 1)。

选择一个小于φ(N)且与φ(N)互质的整数e,作为公钥的一部分。

根据e和φ(N),计算d,使得d * e ≡ 1 (mod φ(N)),d即为私钥。

1.2 加密与解密过程在RSA算法中,数据加密和解密的过程如下:加密过程:发送方使用接收方的公钥对明文M进行加密,而生成的密文C通过公式C ≡ M^e (mod N)获得。

解密过程:接收方利用其私钥对密文C进行解密,通过公式M ≡ C^d (mod N)便可恢复出明文M。

这种机制确保了即使攻击者获取到了公钥,也无法直接利用其解出明文,因为缺乏私钥。

二、公钥与私钥的算术特性2.1 算术运算基础在密码学中,算术运算是至关重要的基础,包括模运算、幂运算等。

以RSA为例,模运算被广泛用于保证数据安全性和计算效率。

在进行任何与模保护相关的运算时,都必须遵守以下规律:和法则: (a + b) mod n = [(a mod n) + (b mod n)] mod n差法则: (a - b) mod n = [(a mod n) - (b mod n)] mod n积法则: (a * b) mod n = [(a mod n) * (b mod n)] mod n商法则:对于包含模运算的除法,一般要使用乘法逆元,而不是直接进行模运算。

5..公钥密码学

5..公钥密码学

2019/2/23
25
公钥密钥的应用范围
加密/解密 数字签名(身份鉴别) 密钥交换
2019/2/23
26
下图是公钥密码技术示意图:
公钥密码的加密变换E(eB,m)与解密交换D(dB,c)应满足:
D(dB,c)是E(eB,m)的逆变换,即对任何的明文m有:D(dB,c)= D(dB, E(eB,m))=m; 在已知加密密钥eB时,E(eB,m)的计算不难;在已知解密密钥dB时, D(dB,c)的计算也不难; 若不知道dB,那么即使知道eB,具体的加密与解密算法过程及密文 c,确定明文的计算是不可行的。
设计公开密钥密码体制就变成了寻找陷门单向函数。可提供 单向函数的数学难题是:整数分解问题(简称IFP); 离散对数 问题(简称DLP);椭圆曲线离散对数问题(简称ECDLP,也时 被归为离散对数问题类)。
2019/2/23
27
构造公钥密码系统的关键是如何在求解某个单向 函数的逆函数的NP完全问题中设置合理的“后 门”。 并非所有的困难问题都可以用于设计公钥密码系 统。
NP完全问题,即多项式复杂程度的非确定性问题。简单的 写法是 NP=P?,问题就在这个问号上,到底是NP等于P, 还是NP不等于P,还没有人证明:P=NP?,是世界七大数 学难题之一。
2019/2/23
16
公钥密码算法
公钥密码算法是公钥密码体制的核心。
这些算法基于不同的计算问题,但在理论上都保证了
(x)推测x是不可行的。
2019/2/23
21
基于公开密钥的加密过程
2019/2/23
22
基于公开密钥的鉴别过程
2019/2/23
23
用公钥密码实现保密
用户B拥有自己的密钥对(eB,dB)

密码学公钥密码-PPT

密码学公钥密码-PPT

RSA算法得论证
假设截获密文C, 从中求出明文M。她知道 M≡Cd mod n,
因为n就是公开得,要从C中求出明文M,必须先求出d,而d 就是保密得。但知道,
ed≡1 mod Ø(n), E就是公开得,要从中求出d,必须先求出Ø(n),而Ø(n)就是 保密得。
RSA算法得论证
在计算上由公开密钥不能求出解密密钥 但知道,Ø(n)=(p-1)(q-1) 要从中求出Ø(n),必须先求出p与q,而p与q就是保密得。 知道 n=pq,要从n求出p与q,只有对n进行因子分解。 而当n足够大时,这就是很困难得。 只要能对n进行因子分解,便可攻破RSA密码。由此可以 得出,破译RSA密码得困难性<=对n因子分解得困难性。 目前尚不能证明两者就是否能确切相等,因为不能确知除 了 对n进行因子分解得方法外,就是否还有别得更简捷得破译 方法。 目前只有Rabin密码具有:
注:严格来说,公开钥为 e,秘密钥为 d, n 算做公开信息,p,q 为保密信息
2. 加密 先将明文比特串分组,使得每个分组对应的十进制数小于 n,
即分组长度小于 log2n,设分组大小为 k, 2k < n ≤ 2k+1。 然后对每个明文分组 m,作加密运算: c≡me mod n
3. 解密 对密文分组的解密运算为: m≡cd mod n
见:第8章 数论入门、
经典例子
RSA算法 Diffe-Hellman密钥交换算法 ElGamal密码体制 椭圆曲线密码体制ECC
RSA公开密钥算法
RSA算法描述 RSA得实现问题 RSA得安全性
RSA公开密钥算法
1977年由Ron Rivest、Adi Shamir与Len Adleman发明,1978年公布 就是一种分组加密算法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– n个用户互相通信,系统中共有n(n-1)/2个密钥。如n=100时, 共4,995个密钥。密钥爆炸。
9
对称密码体制的缺陷 无法实现“非否认”
– 因为解密者也可以加密
10
对称密码体制的缺陷
密钥分发困难
– 与 “CATCH-22 问题”有关 (如何安全地分发密钥)
– 密钥分发不仅要耗费巨大的成本, 而且也很容易成为保密通信中的薄 弱环节!
f(x)=1|x|是单向函数吗? •回答:不是. Why? •找到z,使得f(z)=1|x|很容易 •因为任意与x长度相同的比特串z都满足
f(z)=1|z|=1|x|
24
Q: 单向函数在密码学中很有用,但它们 是否存在呢?
没有人证明单向函数是否真的存在,也没有实际的证据能够构 造出真正的单向函数
• 但是,有很多函数看起来像单向函数 – 我们能有效地计算它们,且至今还不知道有什么办法能容 易地求出它们的逆
13
Martin Hellman
Hellman is best known for his invention of public key cryptography.
He is a longtime contributor to the computer privacy debate and is more recently known for promoting risk analysis studies on nuclear threats, including the website.
– 该书引入了如下逻辑陷阱: • 如果你疯了,只要你自己申请就允许你停止执 行任务。可你一旦提出申请,就证明你不是疯 子,还得接着执行任务。
如果你能证明自己疯了, 那就说明你没疯。
形容一件事 陷入死循环
约瑟夫.赫勒
4
CATCH-22问题
• 其他类似的CATCH-22问题 – 如果你去找工作,但没有工作经验。所有的招聘公司对你说,他 们不招收没有工作经验的人。你将陷入CATCH-22问题的困境。 – 假设老板要你拿出个绝妙的新主意,你奉命照办了,但老板却说 :“我们毫无先例可循?我们怎么能知道这个主意行不行?”
• 当时 Diffie 和 Hellman 还没有实现这种体制的具体算法。
15
公钥密码学下的秘密通信模型
公钥PK
公开信道
私钥SK
明文M
密文C 加密 E(·)
解密 D(·)
破译
加密
EPK(M)=C
解密
DSK(C)=M
DSK(EPK(M))=M
16
公钥密码学的特点
• 加密与解密由不同的密钥完成 – 公钥: 用于加密,任何人都可以知道(包括攻击者) – 私钥: 用于解密,必须保密
• 基本思想 ① 将 f 做为加密算法公开 ② 任何人都可将明文x加密得到密文y=f(x) ③ 合法用户(知道陷门信息)容易由y求x,实现解密 ④ 攻击者(不知道陷门信息)无法由密文y求得明文x
陷门单向函数的强度取决于所依赖问题的计算复杂性(问题的困难性)
28
注意 不是所有的困难问题都能转化成密码体制
(YAy ) mod p = K (gxy ) mod p = K
36
Diffie-Hellman密钥交换方案
• 注意 – 该方案不能用于交换任意实际的信息 – 仅允许安全地共享一个密钥,用于后续通讯中使用对称密码体制
37
Diffie-Hellman密钥交换方案 中间人攻击
随机选择 x gx
拦截
30
候选的单向函数
离散对数问题
设 p 是素数,g∈Zp* 是生成元. 给定 p, g, y=gx,求x. (称x是以g为底y的离散对数)
性质
• 给定x,求gx很容易 • 给定p,g,gx,求x却很难
31
候选的单向函数
大整数分解问题
已知 n 是两个大素数 p 和 q 的乘积, 对 n 进行分解,求出 p 和 q
• 一个困难问题可以转化为密码体制必须满足以下条件: – 能将陷门信息 成功且安全 地嵌入到该问题中,使得只有用该陷 门信息才可以有效求解
29
候选的单向函数
大整数分解问题
离散对数问题
Diffie-Hellman问题
• 它们是否真是单向函数,并未得到证明。但到目前为止,还没找到多 项式时间算法能解决这些问题。 • 因此,“它们是困难的”只是一个假设,称为 困难假设
25
单向函数的作用
作用
单向函数不能用于加密,因为用单向函数加密的明文,没人能解开
例: 有人把消息写在纸上,然后把纸烧掉,把纸灰给你, 让你恢复出消息。你会怎样? 看看他的表情,一定在得儿意地笑!
所以,除了单向以外,还需要一些其他的东西
26
陷门单向函数
特点
计算很容易,求逆很困难。但知道秘密陷门的话,求逆将非常容易
11
公钥密码体制的提出
• 1976年,Diffie与Hellman提出公钥密码 体制的设想
参见:W.Diffie, M.Hellman, New directions in cryptography, IEEE Trans. on Information Theory, IT-22(1976)6, 644654.
5
密码学中的CATCH-22问题
在保密通信中,通信双方在进行秘密通信之 前,他们首先得共享密钥,即需要进行共享密钥 的秘密通信,但“共享密钥的秘密通信”是否是 安全的不能得到证明
6
6.1 公钥密码学概述
7
对称密码体制的缺陷 密钥管理困难 无法实现“非否认” 密钥分发困难
8
对称密码体制的缺陷 密钥管理困难
• 加解密的非对称性,故而又称 非对称密码
17
公钥密码体制的基本组成部分
公钥 私钥
密文
明文
加密算法 解密算法
18
公钥密码算法应满足的条件
1
产生密钥是计算上容易的
2
用公钥加密明文是计算上容易的
3
知道私钥,解密密文是计算上容易的
4
通过密文/公钥,恢复明文/私钥是计算上不可行的
以上要求的本质在于,公钥密码算法需要一个 陷门单向函数 研究公钥密码算法就是先找出合适的陷门单向函数,在其基础上 构造算法
现代密码学
林喜军
中国海洋大学 信息安全实验室
1
6 第 章
公钥密码学
2
本章内容
6.1 公钥密码学概述 6.2 单向函数 6.3 Diffie-Hellman密钥交换协议 6.4 RSA加密方案 6.5 ElGamal加密方案 6.6 数字信封
3
CATCH-22问题
– 源自美国黑色幽默派作家约瑟夫.赫勒(Joseph Heller)的黑色幽默著作《二十二条军规》 (Catch -22)。
Shamir Rivest Adleman41
Ronald L. Rivest
Rivest is the inventor of the symmetric key encryption algorithms RC2, RC4, RC5, and co-inventor of RC6. The "RC" stands for "Rivest Cipher", or alternatively, "Ron's Code".
性质
• 给定x或y,计算gxy很容易 • 给定p,g,gx,gy,计算gxy很难 • 对任意的T,判断是否T=gxy很难
33
6.3 DH密钥交换协议
34
Q: 从未见过面的两个人如何实现秘密通信?
• 公钥密码的提出,首先是解决 从未见过面的两个人如何实现秘密通信 的问题。 – 实质是,如何在公开信道上(肯定不安全),实现对称密钥的秘密传 递。
• Diffie-Hellman密钥交换方案正是为解决这一问题而提出的 – 基于的困难问题被称为Diffie-Hellman问题
35
Diffie-Hellman密钥交换方案
• 系统建立: – 随机选择素数 p – 随机选择生成元 g∈Z*p
YA = g x
YB = gy YA YB
(YBx ) mod p = K (g xy ) mod p = K
He also authored MD2, MD4, MD5 and MD6.
MIT
42
Adi Shamir
Shamir is an Israeli cryptographer. He is a co-inventor of the FeigeFiat-Shamir identification scheme, one of the inventors of differential cryptanalysis and has made numerous contributions to the fields of cryptography and computer science.
Stanford University
14
公钥密码体制的提出
• 基本思想: • Alice 有一个 加密密钥 PK,以及一个解密密钥 SK • PK 公开,SK 保密(要求 PK 的公开不能影响 SK 的安全) • Bob 要向 Alice 发送明文 M 时,可先查 Alice 的加密密钥 PK,并用 PK 加 密得密文 C • Alice 收到 C 后,用只有她自己才掌握的解密密钥 SK 解密 C 得到 M。
性质
• 给定p和q,求n很容易 • 给定n,求p和q却很难
32
候选的单向函数
Diffie-Hellman问题
给定 (p, g, gx, gy),p 是素数,g∈Zp* 是生成元 ①计算Diffie-Hellman问题 (CDH)
相关文档
最新文档