公钥密码体制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学文化课程报告论文题目:公钥密码体制的现状与发展

公钥密码体制的现状与发展

摘要:文中对公钥密码体制的现状与发展进行了介绍,其中着重讨论了几个比较重要的公钥密码体制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的改进使之也能用于数字签名。其安全性基于背包难题,它是个NP完全问题,这意味

着没有多项式时间算法来解决这个问题。虽然后来这个算法被证明是不安全的,但由于它证明了如何将NP完全问题应用于公钥密码体制,其设计思想及其攻破方法给人们认识公钥密码体制以很多启示,因而在这里我们提到此算法。

背包问题(或子集和问题)描述起来非常简单。给定一堆物品,每个重量不同,能否将这些物品中的几件放入一个背包中使之等于一个给定的重量?给一个公式化的描述:给定一系列值M1,M2,…,Mn和一个和S,计算b使之满足b的值可为0或1,0代表这个物品不在背包中,1表示在,M和S均是正整数,i=1,2,…,n。

一个正整数序列,如果它的每一项都大于它前面所有项之和,则称序列为超递增序列。如,{1,3,6,13,27,52}是一个超递增序列,而{1,3,4,9,15,25}不是超递增序列。一个背包问题称为是易解的,如果其重量序列是一个超递增序列。超递增背包问题可在时间O(n)内很容易地解决,如果有解,解一定是唯一的。

实际上存在两类不同的背包问题,一类在线性时间内可解,即易解的背包,而另一类只能在指数时间内可解。背包体制的思想是选取一个易解的背包问题,然后将它伪装成非常难解的一般的背包问题,则原来的背包集可以当作私钥,变换后的背包集作为公开密钥。Merkle-Hellmen背包算法的思想就是将消息编码为背包问题的解,明文分组长度等于堆中物品的个数,且明文位与b的值相对应,密文是计算得到的值。Merkle-Hellmen背包算法的公开密钥是有相同解的普通的背包问题的重量序列,私人密钥是一个超递增背包问题的重量序列。Merkle 和Hellmen应用了一个模变换将超递增背包变换成一个在没有辅助信息下难于求解的陷门背包。关于Merkle-Hellmen背包算法大家可参阅文献[1]。

2、RSA

RSA是当前最著名、应用最广泛的公钥系统RSA是在1978年由美国麻省理工学院的Rivest、Shamir和Adleman提出的,它是一个基于数论的非对称密码体制,是一种分组密码体制。RSA算法是第一个既能用于数据加密也能用于数字签名的算法,它容易理解和操作,非常的流行,其名称来自于三个发明者的姓名首字母。RSA的安全性基于大整数素因子分解的困难性,而大整数因子分解问题是数学的著名难题,至今没有有效的方法予以解决,因此可以确保RSA 算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已经二十多年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NP问题。RSA的缺点主要有:(1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。(2)分组长度太大,为保证安全性,至少也要600bits 以上, 使运算代价很高, 尤其是速度较慢, 较对称密码算法慢几个数量级, 且随着大数分解技术的发展, 这个长度还在增加, 不利于数据格式的标准化。

3、ECC

椭圆曲线在代数学和几何学上有一百五十多年的研究历史, 有着复杂的数学背景, 涉及到数论、群论和射影几何等学科。1985年, N.Koblitz 和ler 分

别提出了椭圆曲线密码体制(Elliptic Curve Cryptosystem,ECC),其安全性依赖于椭圆曲线群上离散对数问题(ECDLP)的难解性,即已知椭圆曲线上的p和kp 计算k的困难程度,不过在当时一直没有像RSA等密码系统一样受到重视。但从现在来看,ECC是目前已知的公钥密码体制中,对每一比特所提供加密强度最高的一种体制,它具有安全性高、计算量小、存储空间占用小、带宽要求低等特点, 这些优点使得椭圆曲线公钥密码体制将应用到越来越多的领域。如存储空间小,

这对于加密算法在IC 卡上的应用具有特别重要的意义,带宽要求低使ECC 在无线网络领域具有广泛的应用前景。1999年ANSI X9.62标准的发布成为ECC 标准化的一个重要里程碑,同年美国政府的国家标准与技术委员会(NIST)发布了新的规定FIPS186-2确定了ECC 的地位。现已颁布的有关ECC 的标准有IEEEP1363 及P1363a、ANSI X9.62、ANSI X9.63ISO/IEC14888- 3、IETF、ATM Forum 等, 这些标准的公布将提高ECC 技术在世界范围内的通用性,使ECC技术在全球的广泛应用成为可能。而SET( Secure Electronic Transaction)协议的制定者已把它作为下一代SET 协议中缺省的公钥密码算法。

目前, 求解椭圆曲线离散对数问题(ECDLP)的算法主要有小步- 大步法、Pollard ρ方法、Pohlig- Hellma算法和MOV 归约攻击等。

4、量子密码

1970 年美国科学家威斯纳首先将量子物理用于密码学的研究之中, 他提出可利用单量子态制造不可伪造的“电子钞票”。但这个设想的实现需要长时间保存单量子态,不太现实。1984 年,贝内特和布拉萨德提出了第一个量子密码方案, 称为BB84方案。1992 年,贝内特又提出一种更简单但效率减半的方案,即B92方案。目前, 在量子密码实验研究上进展最快的国家为英国、瑞士和美国。英国国

相关文档
最新文档