浅析几种公钥密码体制

合集下载

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

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

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

公钥加密体制

公钥加密体制

公钥加密体制私钥加密体制(对称加密体制、单钥加密体制)公钥加密体制(非对称加密体制、双钥加密体制)私钥加密体制的优缺点:1.运算速度快,密钥产生容易。

2.当用户很多、分布很广时,密钥的分配的存储就成了大问题;3.不能实现数字签名。

一、Diffie -Hellman 加密体制二、 RSA 加密体制RSA 体制是由R.L.Rivest, A.Shamir 和L.Adlemansh 在1978年提出的。

它既可用于加密、也可用于数字签名,标准化组织ISO ,ITU 及SWIFT 等均已接受RSA 体制作为标准。

RSA 密码体制的提出是密码学史上的一个里程碑,RSA 的基础是数论中的欧拉定理,安全性依赖于大数的因数分解的困难性(即哥德巴赫猜想这一难题)。

由于其算法简单,在实际应用中容易实现,因此在理论上是最为成功的密码体制,它是目前应用最为广泛的公钥密码体制之一。

基于此,第4章中我们采用该密码体制来加密传送会话密钥。

下面给出几个定理及推论,它们是RSA 体制的数学理论背景。

定理2.1(欧拉定理)若整数a 和n 互素,则n a n mod 1)(≡ϕ其中)(n ϕ是比n 小但与n 互素的整数的个数。

特别地,当n 为素数时,由欧拉定理可得下面的推论:推论2.1(费马小定理)若p 为素数,1),(=p a ,则:p a p mod 11≡-根据欧拉定理,可以证明下面的定理,它直接给出关于RSA 密码体制中的解密变换是加密变换的逆的证明。

定理2.2 设p 和q 是两个不同的素数,pq n =,对任意的整数x (n x <≤0),及任意的非负整数k ,有:)(mod 1)(n x x n k ≡+ϕ定理2.3(中国剩余定理)设k m m m ,,,21 是两两互素的正整数,k m m m M 21=, ii m M M =),,2,1(k i =,则同余式组 k i m b x i i ,,2,1),(mod =≡有唯一解)(mod 222111M y M b y M b y M b x k k k +++≡其中.,2,1),(mod 1k i m y M i i i =≡由于篇幅关系,以上定理及推论的证明略。

第7讲 公钥密码体制

第7讲 公钥密码体制

二、RSA密码体制
参数选择:
独立地选取两大素数p1和p2(各512bit的数), 计算 n=p1×p2 其欧拉函数值(n)=(p1-1)(p2-1) 随机选一整数e, 1e<(n),((n), e)=1(因而在模(n)下e有逆元) d=e-1 mod (n) 公钥为n,e; 私钥为d (p1, p2不再需要,可以销毁)
* MIPS-年指以每秒执行1,000,000条指令的计算机运行一年
二、RSA密码体制
安全性:分解模数n
技术进展使分解算法和计算能力在不断提高,计算所需的硬件费用在不断下降 RSA-129: 110位十进制数字早已能分解。 Rivest等最初悬赏$100的RSA-129,已经 由包括五大洲43个国家600多人参加,用1600台机子同时产生820条指令数据, 通过Internet网,耗时8个月,于1994年4月2日
但数学上至今还未证明分解模就是攻击RSA的最佳方法,
也未证明分解大整数就是NP问题, 可能有尚未发现的多项式时间分解算法。 人们完全可以设想有另外的途径破译RSA, 如求出解密指数d或找到(p1-1)(p2-1)等。 但这些途径都不比分解n来得容易。 甚至Alexi等[1988]曾揭示,从RSA加密的密文恢复某些比特的困难性也和 恢复整组明文一样困难。 这一视在困难性问题是个NP问题,但还没人证明它为NPC问题。
因为(e1, e2,)=1,所以由Euclidean算法有r e1+s e2=1
计算 (y1-1)-r y2s = x mod n (假设r是负数)
二、RSA密码体制
安全性:低加密指数攻击
小的e可加快加密和验证签字速度,且所需的存储密钥空间小
但若加密钥e选择得太小,则容易受到攻击 网中三用户的加密钥e均选3,分别模n1, n2, n3 (互素,否则可求出公因子,而降低安全性)

浅析几种公钥密码体制

浅析几种公钥密码体制

浅析几种公钥密码体制摘要:论述了RSA、Merkle-Hellman背包加密体制和椭圆曲线密码体制的基本原理,以及它们的优缺点,通过对比指出椭圆曲线密码体制的明显优点。

关键词:RSA;Merkle-Hellman背包加密体制;ECC;优缺点1引言公钥密码体制于1976年由W.DIffie和M.Hellman提出,同时R.Merkle在1978年也独立的提出这一体制[2]。

该密码体制就是针对私钥密码体制的缺陷被提出来的。

在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥。

加密密钥向公众公开,谁都可以使用。

解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥。

故其可称为公钥密码体制。

自从公钥密码体制被提出以来,出现了许多公钥密码方案如RSA、ELGamal 密码体制、背包算法和ECC、XTR、NTRU等。

下面就介绍一下各种密码体制的优缺点,并进行比较。

2RSA在Diffie和Hellman提出公钥系统观点以后,1977年麻省理工大学的Rivest、Shamir和Adleman提出了第一个比较完善的公钥密码算法,即RSA算法[2]。

RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。

RSA是被研究得最广泛的公钥算法,从提出到现在已经二十多年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NP问题。

RSA的缺点主要有:(1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。

(2)分组长度太大,为保证安全性,至少也要600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级,且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化[6]。

什么是公钥密码体制

什么是公钥密码体制

什么是公钥密码体制
公钥密码体制也称非对称密码体制或者双钥密码体制,是基于数学函数(如单向陷门函数)而不是基于置换和代换的工具。

公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个是公开的,称为公钥,用于加密;其中一个是为用户专用的,是保密的,称为私钥,用于解密。

公钥密码体制是为了解决对称密码体制中最难解决的2个问题而提出的:
1.密钥分配问题:在对称密码中,接受方和发送方使用相同密钥。

一般情况下该密钥
通过加密信道进行传输。

但是加密信道可能会被攻击者攻击。

2.数字签名问题:如果使用对称加密来进行数字签名,那么在对密钥进行管理和分发
时带来被攻击者攻击的问题。

在公钥密码体制中存在2个密钥:公钥,私钥。

公钥和加密算法是公开的,公钥用于加密数据;私钥是保密的,用于解密。

以上内容仅供参考,如需获取更多详细信息,建议查阅公钥密码体制相关的资料或咨询数学领域专业人士。

密钥分配方案

密钥分配方案

密钥分配方案简介密钥分配是在计算机网络和信息安全中的一个重要问题。

在安全通信中,密钥用于加密和解密信息,确保通信的机密性和完整性。

因此,密钥的分配必须是安全和高效的,以防止未经授权的人获取密钥并窃取敏感信息。

在本文档中,我们将介绍几种常见的密钥分配方案,包括对称密钥和公钥密码体制。

对称密钥分配方案对称密钥是一种加密算法,其中同一个密钥被用于加密和解密过程。

因为对称密钥算法的加密和解密速度快,所以通常被用于大量数据的传输过程中。

然而,在对称密钥分配方案中,最大的问题是如何将密钥安全地传输给通信双方并保证其机密性。

以下是几种常见的对称密钥分配方案:1. 预先共享密钥在预先共享密钥方案中,通信双方事先共享一个密钥。

这个密钥可以通过安全的渠道传输或由双方共同生成。

然后,在通信过程中,双方使用这个密钥进行加密和解密操作。

预先共享密钥方案的优点是简单且高效,但其安全性取决于密钥的传输过程。

如果密钥被未经授权的人获取,将导致通信的机密性受到威胁。

2. 密钥分配中心在密钥分配中心方案中,存在一个可信任的密钥分配中心(KDC)。

KDC负责生成、分发和管理通信双方的密钥。

双方首先与KDC进行身份验证,并获得一个临时的会话密钥。

然后,使用会话密钥进行通信。

密钥分配中心方案具有较高的安全性,因为通信双方不需要直接传输密钥。

但是,如果KDC遭到攻击或成为单点故障,将会对通信的安全性产生威胁。

3. Diffie-Hellman密钥交换Diffie-Hellman密钥交换是一种基于离散对数问题的安全协议。

通信双方通过交换公开的参数和私密的局部密钥计算出一个共享密钥。

这个共享密钥用于对称密钥加密算法。

Diffie-Hellman密钥交换方案具有较高的安全性,因为即使传输的公开参数被截获,也无法计算出私密的局部密钥。

但是,它无法提供身份验证,所以需要结合其他方案来确保通信的完整性。

公钥密码体制公钥密码体制是一种使用两个密钥的加密算法:公钥和私钥。

1.三种公钥密码体制 - my

1.三种公钥密码体制 - my

公钥的选取
背包公钥系统选的背包序列a 背包公钥系统选的背包序列a1,a2,…,an是由超递增序列进 行变换得到的。 是超递增序列, 行变换得到的。设b1,b2,…,bn是超递增序列,即 ,i=2 bi >∑bi-1 ,i=2,3,…,n 选取模数m> 和乘数w m>2 互素,w 满足ww 选取模数m>2bn和乘数w,w和m互素,w-1满足ww-1≡1(mod m) 需要注意的几个条件: 需要注意的几个条件: 模数m (1)模数m需要比序列中所有数的和还要大 乘数w (2)乘数w应与序列中的任何一个数没有公因子 作Merkle-hellman变换: Merkle-hellman变换: 变换 m),k=1 ak ≡ wbk(mod m),k=1,2,…,n 于是从超递增序列b 得到序列a 于是从超递增序列b1b2…,bn得到序列a1a2…,an。 结论:超递增背包序列就是私钥, 结论 : 超递增背包序列就是私钥, 而得到的背包序列就是公 钥。
《应用密码学》 应用密码学》
•公开密钥密码体制 公开密钥密码体制
教师:刘嘉勇 教师: 学生: 学生:XXX
公钥密码体制
一、 基本原理
1.现有密码体制的主要问题: 1.现有密码体制的主要问题: 现有密码体制的主要问题 密码分析者
X’
K’
明文m 解密变换D
信源
明文m
密文c 加密变换E 普通信道 K 安全信道 密钥源
• 公钥应公开,私钥保密;
• • • •
系统开放性好,密钥管理较容易; 可提供抗抵赖服务(数字签名) 加解密运算复杂,效率低,不宜作数据加密; 安全性依赖某数学难题,存在“可能报文攻击”威胁。
三种公钥密码体制
1 背包公钥密码体制 2 Rabin公钥密码体制 公钥密码体制 3 椭圆曲线密码体制(ECC) 椭圆曲线密码体制( )

公钥密码体制

公钥密码体制

公钥密码体制数学文化课程报告论文题目:公钥密码体制的现状与发展公钥密码体制的现状与发展摘要:文中对公钥密码体制的现状与发展进行了介绍,其中着重讨论了几个比较重要的公钥密码体制M-H背包算法、RSA、ECC、量子密码、NTRU密码体制和基于辫群上的密码体制。

关键词:公钥密码体制;离散对数问题;格基归约;量子密码1949年,Claude Shannon在《Bell System Technical Journal》上发表了题为“Communication Theory of Secrecy Systems”的论文,它是现代密码学的理论基础,这篇论文将密码学研究纳入了科学轨道,但由于受到一些因素的影响,该篇论文当时并没有引起人们的广泛重视。

直到20世纪70年代,随着人类社会步入信息时代才引起人们的普遍重视,那个时期出现了现代密码的两个标志性成果。

一个是美国国家标准局公开征集,并于1977年正式公布实施的美国数据加密标准;另一个是由Whitfield Diffie和Martin Hellman,在这篇文章中首次提出了公钥密码体制,冲破了长期以来一直沿用的私钥体制。

自从公钥密码体制被提出以来,相继出现了许多公钥密码方案,如RSA、Elgamal密码体制、背包算法、ECC、XTR和NTRU等。

公钥密码体制的发现是密码学发展史上的一次革命。

从古老的手工密码,到机电式密码,直至运用计算机的现代对称密码,这些编码系统虽然越来越复杂,但都建立在基本的替代和置换工具的基础上,而公钥密码体制的编码系统是基于数学中的单向陷门函数。

更重要的是,公钥密码体制采用了两个不同的密钥,这对在公开的网络上进行保密通信、密钥分配、数字签名和认证有着深远的影响。

文章共分为5部分:第1部分首先介绍了Merkle-Hellmen背包算法,第2,3,4,5,5部分分别讨论了RSA、ECC、量子密码、NTUR,同时对公钥密码体制进行了展望。

1、Merkle-Hellmen背包算法1978年,Ralph Merkle和Martin Hellmen提出的背包算法是公钥密码体制用于加密的第一个算法,它起初只能用于加密,但后来经过Adi Shamtr的改进使之也能用于数字签名。

目前公认可以抵抗量子攻击的公钥

目前公认可以抵抗量子攻击的公钥

目前公认可以抵抗量子攻击的公钥目前公认可以抵抗量子攻击的公钥在信息安全领域,量子计算机的发展对于传统的数据加密技术带来了极大的威胁。

传统的加密算法通常使用公钥密码体制来保护通信和数据的安全。

然而,量子计算机的出现使得当前的公钥密码体制变得不安全。

因此,寻找一种能够抵抗量子攻击的公钥密码体制是信息安全领域备受关注的热门话题。

目前,有几种公认可以抵抗量子攻击的公钥密码体制,下面逐一介绍。

1. McEliece 公钥密码体制McEliece 公钥密码体制是由美国数学家Robert McEliece于1978年提出的。

它的安全性基于码论的难题,即找到一个码的最小距离。

在量子计算机攻击下,McEliece 公钥密码体制具有高度抵抗攻击的能力,并能够抵御所有现有攻击手段。

2. NTRU 公钥密码体制NTRU 公钥密码体制是由美国密码学家Jeffrey Hoffstein等人在1996年提出的。

NTRU 公钥密码体制的设计基于矩阵论的难题,即基于格的服密(基于格的密码学)问题。

在量子计算机攻击下,NTRU 公钥密码体制能够有效地抵御攻击。

3. SIKE 公钥密码体制SIKE 公钥密码体制是由比利时税务统计研究院(INRIA)和加拿大蒙特利尔大学的研究团队于2017年联合提出的。

SIKE 公钥密码体制是基于椭圆曲线的密码学难题,也被称为基于等式的密码学。

在量子计算机攻击下,SIKE 公钥密码体制能够有效地抵御攻击,因此被视为抵御量子攻击的有效选择之一。

4. Classic McEliece 公钥密码体制Classic McEliece 公钥密码体制也是基于码论的难题,类似于 McEliece 公钥密码体制。

该密码体制用于加密较大的数据,而且保证高度安全性。

在量子攻击下,Classic McEliece 公钥密码体制同样能够有效地抵御攻击。

在总体评价上,这些公钥密码体制在保持安全性的同时,还能满足高效的加密和解密速度,因此在实际应用中具有广泛的应用前景。

[公钥密码体制总结及展望] 公钥加密体制

[公钥密码体制总结及展望] 公钥加密体制

[公钥密码体制总结及展望] 公钥加密体制摘要:计算机网络的发展突飞猛进,与此同时产生了公钥密码体制,本文重点介绍了当前公钥密码体制的几种常见的算法以及公钥密码体制的未来发展趋势。

关键词公钥密码体制RSADSAECDSASHA-1数字签名身份认证 1引言公开密钥密码体制的概念是1976年由美国密码学专家狄匪(Diffie)和赫尔曼(Hellman)[1]提出的,有两个重要的原则:第一,要求在加密算法和公钥都公开的前提下,其加密的密文必须是安全的;第二,要求所有加密的人和掌握私人秘密密钥的解密人,他们的计算或处理都应比较简单,但对其他不掌握秘密密钥的人,破译应是极困难的。

随着计算机网络的发展,信息保密性要求的日益提高,公钥密码算法体现出了对称密钥加密算法不可替代的优越性。

近年来,公钥密码加密体制和PKI、数字签名、电子商务等技术相结合,保证网上数据传输的机密性、完整性、有效性、不可否认性,在网络安全及信息安全方面发挥了巨大的作用。

本文详细介绍了公钥密码体制常用的算法及其所支持的服务。

2公钥密码算法公钥密码算法中的密钥依性质划分,可分为公钥和私钥两种。

用户或系统产生一对密钥,将其中的一个公开,称为公钥;另一个自己保留,称为私钥。

任何获悉用户公钥的人都可用用户的公钥对信息进行加密与用户实现安全信息交互。

由于公钥与私钥之间存在的依存关系,只有用户本身才能解密该信息,任何未受授权用户甚至信息的发送者都无法将此信息解密。

在近代公钥密码系统的研究中,其安全性都是基于难解的可计算问题的。

如:(1)大数分解问题;(2)计算有限域的离散对数问题;(3)平方剩余问题;(4)椭圆曲线的对数问题等。

基于这些问题,于是就有了各种公钥密码体制。

关于公钥密码有众多的研究,主要集中在以下的几个方面:(1)RSA公钥体制的研究;(2)椭圆曲线密码体制的研究;(3)各种公钥密码体制的研究;(4)数字签名研究。

公钥加密体制具有以下优点:(1)密钥分配简单;(2)密钥的保存量少;(3)可以满足互不相识的人之间进行私人谈话时的保密性要求;(4)可以完成数字签名和数字鉴别。

第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算法

公钥密码体制RSA介绍

公钥密码体制RSA介绍

3
1
公钥密码体制概述
公钥密码体制的要求 用户:产生密钥对K=(PK, SK)在计算上是可行的 发送方:已知公钥与明文,产生密文是容易的 接收方:利用私钥解密密文在计算上是可行的 攻击者:利用公钥求解私钥在计算上是不可行的 攻击者:已知公钥与密文,在不知道私钥的情况下, 恢复明文在计算上是不可行的
4
Zn上的模n运算 设n的二进制表示有 0≤m1, m2≤n-1. 上的模 运算:设 的二进制表示有k, ≤ 运算 的二进制表示有
m1+m2 (mod n): O(k) m1-m2 (mod n): O(k) m1×m2 (mod n): O(k2) (m1) -1 (mod n): O(k3) (m1)c (mod n): O(k2 ×logc) (平方-乘算法).
18
RSA的安全参数 RSA的安全参数
p和q要足够大 n=pq 为1024位, 或2048位. 和 要足够大 要足够大: 位 位 p和q应为强素数 和 应为强素数 应为强素数(strong prime). 如果素数p 满足以下条件, 则称为强素数. (1) p -1有大素数因子r; (2) p+1有大素数因子s; (3) r-1有大素数因子t. 例如: 理想的强素数为: r=2t+1; p=2r+1=4t+3; p=2s-1.
9
2
RSA密码体制 RSA密码体制
例4.1 设p=11, q=13. 令 n=11×13=143 , × φ(n)=(p-1)(q-1)=(11-1)(13-1)=120, 取公钥: PK=(n, e)=(143, e=17), 计算: d=e-1=17-1=113 (mod 120) (因为: 17×113=1921=16×120+1). 私钥: SK=(p, q , d) =(11, 13, 113). 对于明文: m=24, 密文: c=EPK(m)=2417=7 (mod 143). 对于密文: c=7, 解密: m=DSK(c)=7113=24 (mod 143 ).

第4章公钥密码体制

第4章公钥密码体制

第4章公钥密码体制(1)内容●公开密钥密码算法−公开密钥密码算法的基本思想−公开密钥密码算法的数学基础−一些经典算法(2)概述[37:188]●也称“双钥密码体制”。

是密码学史上划时代的事件,为计算机信息网中的安全提供了新的理论和基础。

●最大特点:采用两个密钥将加密和解密能力分开;一个公开作为加密密钥(公钥),一个为用户专用,作为解密密钥(私钥),通信双方无需实现交换密钥就可进行保密通信。

●从已经公开的公钥或密文分析出明文或私钥,在计算上是不可行的。

●若用公钥作为加密密钥,以私钥作为解密密钥,则可实现多个用户加密的消息只能由一个用户解读(用于保密通信);反之,以私钥作为加密密钥而以公钥作为解密密钥,则可实现由一个用户加密的消息而使多个用户解读(用于数字签名)。

(3)理论:基于数学函数,不基于替换和置换(4)安全性•和对称方案一样,强力攻击在计算上不可行的,但使用的密钥更大(>512bits)•安全性基于一些陷门单向函数,只是计算上不可行–要求使用非常大的数–因此比对称方案计算速度慢•选择明文攻击–通过对报文附加随机比特来实现(5)对公钥密码的常见误解:●从密码分析角度看,公钥密码比传统密码更安全;●公钥密码是一种通用的方法,所以传统密码已经过时;●传统密码中与密钥分配中心的握手是一件异常麻烦的事,与之相比,用公钥密码实现密钥分配则非常简单。

(6)公开密钥密码经典算法– RSA算法– Diffie-Hellman密钥交换算法–背包算法– EIGamal算法–椭圆曲线密码算法ECC4.1 公钥密码体制的基本原理(一)传统密码最困难的问题●密钥分配问题:要求通信双方共享或通过第三方分配,后一种情形容易泄密,密码系统再好也无用。

密钥必须通过某一信道协商,对这个信道的安全性的要求比正常的传送消息的信道的安全性要高。

●数字签名问题:传统加密算法无法实现抗抵赖的需求。

(二)其它问题●密钥量大,n个用户,需要()212-=nnCn个密钥,管理更困难;●每个用户要记n-1个密钥,用载体(纸张、外存等)记录极不安全。

第4章公钥密码体制

第4章公钥密码体制


利用推广的欧几里德算法简化计算:

其计算原理依赖于下面的定理:
定理 :gcd(a,b) = gcd(b,a mod b) ② 定理:a存在模p的乘法逆元的充要条件 是 gcd(a,p) = 1 如果gcd(a,b)=d,则存在m,n,使得d = ma + nb, 称呼这种关系为a、b组合整数d,m,n称为组 合系数。当d=1时,有 ma + nb = 1 ,此时可以 看出m是a模b的乘法逆元,n是b模a的乘法逆元

公钥和私钥必须相关,而且从公钥到私钥不可
推断


必须要找到一个难题,从一个方向走是容易的,从 另一个方向走是困难的 如何把这个难题跟加解密结合起来
计算可行和不可行的界与计算复杂性理论密
切相关
计算复杂性理论可以提供指导

但是需求不尽相同

计算复杂性通常针对一个孤立的问题进行研究 而公钥密码学往往需要考虑一些相关的问题 比如,密码分析还需要考虑已知明文、选择明文等相关的情形 计算复杂性考虑最坏的情形 而对于公钥密码学则是不够的
二、密钥的选取

挑选大素数p 和 q 。 选择 e 或 d ,并计算另外一个。

选取一个素数的过程如下:
①随机选一个奇数n; ②随机选一个整数a<n; ③完成素性检测,如下面的Miller-Rabin算法 ④如果n没有通过检验,舍弃n并转向步骤(1),如果n
通过了足够多次的检验,就接受它为素数,否则转 向步骤(2)
ElGamal:安全性基于有限域内计算离散对
数的困难性。
– 数字签名 – 加密
基础知识
若p是素数,则0,1……,p-1
构成一个有限域 本原元定义:若(a,m)=1,以m为模a的指数φ (m) 为使ad=1 mod m成立的最小的正整数d,则a叫 做模m的原根或本原元。 本原元α :α 满足α p-1=1 mod p且p-1是使此关 系式成立的最小正整数,p为素数

第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的质数);

3公钥密码体制

3公钥密码体制

≡ xikϕ ( n ) +1 mod n
≡ xi ⋅ xikϕ ( n ) mod n
≡ xi
讨论RSA算法的安全性: 讨论 算法的安全性: 算法的安全性
在算法中, 和 作为公开密钥 作为公开密钥, 在算法中,e和n作为公开密钥,任何人都 可以用来加密消息; 可以用来加密消息;而p、q、d和 ϕ (n) 是保密 、 、 和 用来解密密文,只有私钥拥有者知道, 的,用来解密密文,只有私钥拥有者知道,也 就是只有接收者知道。 就是只有接收者知道。 由于n为两个大素数的乘积 为两个大素数的乘积, 由于 为两个大素数的乘积,又n=pq,那么 , 可以得到Φ(n)=(p-1)(q-1)。发信者并不知道 的 可以得到 。发信者并不知道n的 两个素因子p和 ,就无法计算Φ(n)。 两个素因子 和q,就无法计算 。 又由于ed≡1 modΦ(n) (n), 又由于ed≡1 mod (n),d是通过此式计算 出来的,因此无法计算 无法计算d, 出来的,因此无法计算 ,所以就无法进行解 密。 这样, 这样,只有秘密钥拥有者才可以进行密文 的解密,其他任何人都不能。 的解密,其他任何人都不能。
RSA体制的安全性基于数论中的Euler RSA体制的安全性基于数论中的Euler 体制的安全性基于数论中的 定理和计算复杂性理论中的下述论断: 定理和计算复杂性理论中的下述论断 : 求两个大素数的乘积是很容易计算的, 求两个大素数的乘积是很容易计算的 , 但要分解两个大素数的乘积, 但要分解两个大素数的乘积 , 求出它们 的素因子则是非常困难的。 的素因子则是非常困难的。
1、p与q必须是强素数
一素数p若满足以下条件, 一素数p若满足以下条件,则此素数为强 素数。 素数。 (1)存在两个大素数 p1 和 p 2 ,使得 p1 | p − 1, p2 | p + 1

公钥密码体制

公钥密码体制

2.1公钥密码体制2.1.2 RSA 公钥密码体制1978年,R.L. Rivest, A. Shamir 和L. Adleman[37]提出了基于因子分解的公钥密码体制。

此体制利用了以下三个事实和一个定理:1.模一个固定数n 求幂,例如,给定m 和e 求c ,c ≡m e (mod n ),是相对简单的计算。

2.相反,模一个固定大数n 求底数,例如,给定c 和e 求m ,c ≡m e (mod n )(即m ≡)(mod n c e ≡)。

通常被认为是难计算的。

3.如果知道n 的素因子,模n 求底数是可行的。

定理1 有两个整数a 和n 。

如果gcd (a , n )=1,那么())(mod 1n a n ≡φ)(n φ表示与n 相关又小于n 的正整数。

如果n 是素数,那么1)(-=n n φ。

如果n =pq ,p 和q 是素数,)1)(1()(--=q p n φ。

任何人在使用RSA 密码体制的时候,首先要随机选择两个不同的素数p 和q 。

从安全性考虑,p 和q 是等长的。

然后计算p 和q 的乘积作为模n 。

随机选择整数e 作为加密密钥(公钥),e 是与)1)(1(--q p 相关的素数。

换句话说,gcd (e ,)(n φ)=1。

为了生成相应的解密密钥(私钥)d ,需要使用扩展欧几里德算法[38],如 ))((mod 1n ed φ≡。

也就是,))((mod 1n e d φ-=。

除此之外,加密密钥e 和解密密钥d 也是相关素数。

最后,公开固定模n 和加密密钥e ,保密解密密钥d 。

当任何人(发送者)在不怕攻击者监听的情况下要把消息m 送给特别的用户(接收者)。

他首先要得到接受者的公钥,他用公钥加密消息m 成密文c ,c =m e (mod n )。

然后他把密文c 传给接收者,接受者用自己的私钥d 解密密文c 成消息m ,m =c d (mod n )。

因为,c d = (m e )d (mod n )=)(mod 1)(n m n k +φ=)(mod )(n m m n k φ= m (mod n )= m因此接受者通过解密等式很容易地得到消息,但是没有密钥的人是不能够得到消息内容的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
普遍认 为是 目前最优 秀的公钥方案之一 。R A的安全性依赖于 S 大数 的因子分解 , 但并 没有从理论上证 明破译 R A的难 度与大 S
4 椭 圆 曲线密 码体 制
41 椭 圆曲线密码体 制基本原理 .
椭 圆 曲线上离 散对数 问题 E D P定 义如下『: CL l: 素数 P 1 给定 和椭 圆曲线 E对 Q k , , = P在已知 pQ的情况下求 出小 于 P的正整 , 数 k 可 以证 明由 k和 P计算 Q比较容易, 。 而由 Q和 P计算 k则
技 经 济市 场
浅析几种公钥 密码体 制
周玉 凤 赵 凤 束媛 媛
( 淮北 师 范大 学数 学科 学 学院 , 徽 淮 北 250 ) 安 300
摘 要: 论述 了 R A M rl— ela S 、 e ke H lm n背包加 密体制和椭 圆曲线 密码体 制的基本原理 , 以及它们 的优缺 点, 通过对 比指 出椭 圆曲线密码体 制的明显优 点。 关键词 :S ; eke H l a RA M rl— el n背包加密体 制 ;C ; m E C 优缺 点
可称为公钥密码体制。
假设 B加密一个信息 瑚给 A, 密。 A解
() 1B如下进行加密 :
获得 A的公钥 (12 a)将信息 / 表示成长度为 n的二 aa, ; , …, 7 1 进制 串, 埘 1 …m ;计算整数 o/1 + a …册 a;将密 文 c 埘= 11 1 , 2 =]a 埘2 + 11 2 n
1 引 言
公钥 密码体制 于 17 由 W.Ii M.ela 9 6年 D fe和 H l n提出 , m 同 时 RM rl在 1 7 .eke 9 8年也独立的提出这一体制_ 2 1 。该密码体制就 是针对私钥密码体制 的缺陷被提 出来 的。 在公钥加密 系统 中, 加 密和解密是相对独立 的, 加密和解密会使 用两把不 同的密钥 。 加 密密钥 向公众公开 , 都可以使 用。 谁 解密密钥只有解密人 自己知 道, 非法使用 者根据公 开的加 密密钥无法 推算 出解 密密钥 。 故其
比较 困难 。E D P是 比 整数 因子 分 解 问题 IP和 离 散 对 数 问题 C L F
数分解难度 等价 , R A的重大缺陷是无法从理论上把 握它的 即 S 保密性能如何 , 而且密码学界多数人士倾 向于因子 分解 不是 N P
问题 。
D P难得 多 的数 学难 题 。基 于该 难 题 , el K bi 和 Vco L N a o lz t i r t Mie 在 18 年分别提 出了椭 圆曲线密码系统 E C E C 既可 lr l 85 C。C 以用于数据加密 , 也可 以用 于数字签名 。 将椭 圆曲线 中的加法运
( l 一1 。 ,) 2 3
自从公钥密码体制被提出以来 ,出现 了许 多公钥密码方案 如 R A、 L a l S E G ma 密码体制 、 背包算法和 E C、 T N R C X R、 T U等 。 下面就介绍一下各种密码体制的优缺点 , 并进行 比较 。
2 RSA
R A的缺 点主要有 :1 产生密钥很 麻烦 , S () 受到素数产 生技
术 的限制 , 因而难 以做到一次一密。 2 分组长度太 大 , () 为保证安
算与离散对数 中的模乘 运算相对应,将椭圆曲线 中的乘法运算 与离散对数中的模 幂运算相对应 ,我们就可 以建立基 于椭 圆曲
线的对应的密码体 制。 42 椭 圆曲线密码体制的优点 ,
的公 钥密码算 法, R A算法圆 即 S 。 R A系统是公钥 系统 的最具有典型意义 的方法 ,大多数使 S 用公钥密码进行加密和 数字 签名的产 品和标 准使用 的都是 R A S 算 法。 S R A算法是第一个能同时用于加密和数字签名的算法 , 也 易于理解 和操作 。 S R A是被研究得最广泛的公钥算法 , 从提 出到 现在 已经二 十多年 , 经历 了各种攻 击 的考验 , 逐渐 为人们接受 ,
发 送 给 A。
() 2 为从 C 中恢复出明文 /, / A执行 : 1
计算 d w moM; 过解超递增 的子集 和问题 , 出整数 _ c d 通 求 rr … ( l2 ,, ∈{,)使 得 d q 1 + . 信 息 比特 是 11r f 1 ) 1 = b+ …r ; b 2= 丌i 1 】
32 Meke H l n背包加密算法的不安全性 . rl— el ma
目前已有 一个攻击基本 的 M rl H l a eke e m n体制 的多项式时 —
间的算法 。给出一个公 开的背包集 , 该算法 寻找一个 整数 对(’ U ,

在 Dfe和 Hema 出公钥 系统观 点 以后 ,97年麻省 ii l n提 l 17
理工 大学 的 Rvs、hmi和 A l n提 出 了第 一个 比较 完善 i tS a r e de ma
满足 U M 接近于 UM( 中 和 M是私钥部分 Hale Waihona Puke T' / 其md o M)
且 满足整数 brUa o m( ≤ ≤n 组 成一个超递 增序 列 , 序 l 'm d 1 ) = i 该 列可 以被敌方用来代替 6, … 来解密信息闭 1 , 。
全性 , 至少 也要 6 0 i 0 bt s以上 , 使运 算代 价很 高 , 其是 速度 较 尤
慢 ,较对称密码算法慢几个数量级 ,且随着大数分解技术 的发 展, 这个 长度还在增加 , 不利于数据格式的标准化[ 6 3 。
椭圆曲线 密码体制 的安全性基于椭 圆 线点群上离散对数 问题的难 解性 。假设 离散对数 问题基 于有 限群 的阶中的最大素 因子是一 则 目前最好 的求解 方法 P lr—P方法的时间复杂度 . oad l
3 Me k — l n背包 加 密体 制 rl Hel e ma
相关文档
最新文档