1、密码学拓展报告密码学课外拓展报告课题:密码学算法最新进展老师: 学号: 姓名: 班级: 2017.12.10序言 信息安全服务依靠安全机制来完成,而安全机制主要依赖于密码技术,因此,密码技术是信息安全的核心。而密码算法(Cryptography Algorithm ,用于加密和解密的数学函数) 又是密码的核心,所以,密码算法是保障信息安全的核心之核心,其重要性不言而喻。为此,世界各国对密码算法的研制都高度重视,1977 年美国NIST 提出数据加密标准(DES) ,出于政治原因和技术原因, 多种密码算法在世界各国相继出现, 这些算法有:RIJ INDAEL 、MARS、RC6 、Twofish
2、、Serpent 、IDEA、CS2Cipher 、MMB、CA21. 1 、SKIPJACK、Karn 等对称密码算法以及背包公钥密码算法、RSA、ElGamal 、椭圆曲线密码算法( ECC) 、NTRU等非对称密码算法。此次拓展主要对RSA算法和DES、AES算法发展现状进行。RSA算法RSA算法简述:RSA算法是由三位数学家Rivest、Shamir和Adleman在1978年根据Whitfield和Martin Hellman的理论框架设计出的一种非对称加密算法。RSA是被研究得最广泛的公钥算法,是第一个能同时用于加密和数字签名的算法,也易于理解和操作。它的理论基础为大数分解、素数检
3、测和Euler定理。从提出到现在已三十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA算法利用了陷门单向函数的一种可逆模指数运算。RSA算法应用现状:1.用于文件加密 RSA表达方式简单、保密性强、没有密钥管理的麻烦,并且具有数字签名、 认证和鉴别等功能,特别适合于现代保密通信的需要。用RSA可以加密一些重要文件,如在一台物理内存为512MB的PC上测试实现的系统,以560bit的n逐字节加密一个1KB大小的文件需要55秒。通常记录如银行帐号密码等重要数据的文本文件大小不足百字节,加密只需要数秒钟。所以对于小型文件,进行较长密钥的RSA加密是完全可行的。 其
4、实从一个简单的角度来说,既然RSA用于数字签名可行,那就完全可以用于同样大小的普通文件。对于较大的文件,如果分成与数字签名同样大小的段(这里假设数字签名较短,不分段一次计算加密完成),分开的各段逐一进行加密运算,那所需要的时间也只是按文件大小线性的增长。通常数字签名为几十字节,加密运算并不需要很长的等待,这就说明对于几百字节或一两K字节大小的文件来说,如果进行RSA加密, 并不会是非常漫长的工作。当然,如果文件更大,加密就显得十分漫长了。比如按前面叙述的45毫秒大数运算程序推理,加密1M字节大小的文件需要约1天的时间。所以, 要在普通PC用几百位以上的长密钥RSA加密文件,文件不能过大,一般可
5、以接受的上限是几KB。如果要在较短时间内加密大文件,需要缩短密钥长度以减小运算量,但是这将带来安全性隐患。2.用于数字签名算法基于RSA算法的数字签名在2000年的第六届国际密码学会议上被推荐为公钥密码系统的加密算法中的一种,则RSA数字签名有较好的发展空间。对于未来的加密、生成和验证数字签名的工具还需完善,只有用SSL(安全套接层)建立安全连接的Web浏览器,才会频繁使用数字签名,公司要对其员工在网络上的行为进行规范,就要建立广泛协作机制来支持数字签名,支持数字签名是Web发展的目标,确保数据保密性、数据完整性和不可否认性才能保证在线商业的安全交易。 和数字签名有关的复杂认证能力就像现在操作
6、、应用环境中的口令保护一样直接做进操作系统环境、应用、远程访问产品、信息系统等中,像Microsoft支持X.509的Internet Explorer4.0客户机软件及支持对象签名检查的JAVA虚拟机等。RSA算法存在的缺点:(1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。 (2)RSA的安全性依赖于大数的因子分解,无法从理论上把握它的保密性能如何并没有从理论上证明破译RSA的难度与大数分解难度等价。(3)速度太慢,由于RSA的分组长度太大,为保证安全性,n至少也要600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这
7、个长度还在增加,不利于数据格式的标准化。目前,SET(SecureElectronicTransaction)协议中要求CA采用2048比特长的密钥,其它实体使用1024比特的密钥。为了速度问题,目前人们广泛使用私、公钥密码结合使用的方法,优缺点互补:私钥密码加密速度快,人们用它来加密较长的文件,然后用RSA来给文件密钥加密,极好地解决了私钥密码的密钥分发问题。不过个人认为如今计算机的性能水平,加密RSA消耗的时间应该是可以接受的。个人理解(RSA算法的耐用性)在查阅RSA算法相关资料的过程中,发现有2013年报道称4096位的RSA算法被侧信道攻击破解。Daniel Genkin,Adi S
8、hamir,Eran Tromer在2013年十二月份的一篇报告中详细解说了他们是如何通过计算机在执行RSA加密过程中通过噪声来破解4096位的RSA算法。然而,时至今日,RSA算法的使用并没有受到太大的影响,采用指数计算方法虽然能破解RSA算法,目前1024位的RSA已经被认为不安全了,但是以现在的计算机运算能力,还不足以破解4096位的RSA算法。素数的排布越大越稀疏,所以在以后若计算机运算能力大幅增长,增加RSA算法的位数又可保证可用性。DES 和AES 算法DES和AES算法 对称密码算法最著名的是美国数据加密标准DES、高级加密标准AES和欧洲数据加密标准IDEA。DES DES算法
9、由IBM公司开发,并被美国国家标准局(NIST)于1977年2月采纳作为“非密级”应用的一个标准,此后,DES成为全世界使用最广泛的加密标准。它曾经成为世界上最广泛使用的密码算法。 DES算法加密时把明文以64bit为单位分成块,采用美国国家安全局精心设计的8个S2盒(S:Substitution)和P2置换(P:Permutation),经过16轮迭代,最终产生64比特密文,每轮迭代使用的48比特子密钥由原始的56比特产生。DES的加密与解密的密钥和流程完全相同,区别仅仅是加密与解密使用的子密钥序列的施加顺序正好相反。 DES算法在历史上曾发挥重要作用,但也存在以下问题:(1)DES密钥空间
10、的规模256对实际安全而言太小。(2)DES的密钥存在弱密钥、半弱密钥和互补密钥。(3)DES里的所有计算,除去S盒,全是线性的。S盒的设计对密码算法的安全性至关重要。然而,美国国家安全局并没有公布S盒的设计原则,因此,有人怀疑S盒里隐藏了“陷门(trapdoors)”,如果是这样,美国国家安全局就能轻易地解密消息。由于DES的密钥空间小,针对DES算法进行穷举攻击就可以取得成功。在1998年7月,电子前沿基金会(EFF)使用一台25万美元的电脑在56小时内破译了DES密钥。1999年1月RSA数据安全会议期间,EFF通过遍布全世界的10万台计算机的协同工作,用22小时15分钟就宣告破解了一个
11、DES的密钥。此外,关于DES的攻击还有差分密码分析方法和线性密码分析方法。 为了增强DES算法的安全性,密码设计者又提出了基于DES的Triple2DES、独立子密钥方法、推广的GDES算法等。 这些改变有些作用不大,有些还削弱了DES的安全性。总之,DES需要新的有效的加密标准来代替AES NIST于1997年1月开始了遴选DES替代者高级 加密标准(AES)的工作。其目的是为了确定一个非保密的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息,并希望成为秘密和公开部门的数据加密标准。AES的确立过程简介如下: (1)1997年9月12日,NIST在联邦登记处公布了征集 AES候
12、选算法的通告。并对候选者提出以下基本要求:(a)比Triple2DES快,且至少和Triple2DES一样安全;(b)应当具有128比特分组长度和128/192/256比特密钥长度;(c)具有较 大的灵活性。 (2)1998年8月20日,NIST召开了第一次候选大会并公布了12个国家的15个候选算法。 (3)1999年3月22日,NIST召开了第二次AES候选会议,从中选出5个候选算法:MARS(IBM)、RC6(MIT)、Serpent(英、以、美)、Twofish(美)和Rijndael(比利时)。 (4)2000年10月2日,NIST宣布比利时的密码学家JoandaemenVincent
13、Rijmen设计的“Rijndael算法”最终获胜。 Rijndael之所为能当选AES,主要是因为: (1)运算速度快。在无论有无反馈模式的计算环境下的软硬件中,Rijndael都表现出非常好的性能。(2)对内存的需求非常低,使它很适合用于受限制的环境。 (3)算法可靠。使用非线性结构的S2盒,表现出有足够的安全余地。(4)Rijndael算法的设计策略是宽轨迹策略(WideTrailStrategy),这种策略能有效抵抗差分分析和线性分析攻击。 (5)Rijndael是一个分组迭代密码,被设计成128/192/256比特三种密钥长度,可用于加密长度为128/192/256比特的分组,相应的
14、轮数为10/12/14,分组长度和密钥长度设计灵活。(6)密钥安装的时间很好,也具有很高的灵活性。(7)操作简单,并可抵御时间和能量攻击,此外,它还有许多未被特别强调的防御性能。由上可见,Rijndael汇聚了安全性能、效率、可实现性和灵活性等优点,Rijndael的当选是众望所归。密码学发展预测随着破译方法、硬件技术的发展,导致AES、ECC出现。技术和方法总是不停向前推进,因此,密码算法、应用及标准化工作也应不断地发展。下面从密码算法本身、基于密码算法的应用技术和密码算法的标准化工作三个方面进行分析和预测。(1)密码算法本身量子密码、神经网络密码、混沌密码、基因密码等新型密码的研究和应用,
15、表明了密码学具有强劲的生命力和广阔的应用前景。 (2)应用角度 密码学不仅仅是编码与破译的学问,而且包括安全管理、安全协议设计、秘密共享、散列函数等内容。到目前为止,密码学中出现了大量的新技术和新概念,例如门限密码技术、零知识证明技术、盲签名、比特承诺、数字化现金等,所有这些均是基于密码算法的应用。 (3)标准化工作目前,美国已确定了21世纪高级加密算法AES,以代替过时的DES。欧盟各国投资33亿欧元,计划在3年时间内建立自己的分组密码、序列密码、公钥密码等算法标准。我国也应高度重视密码算法的标准化问题,增大密码研究经费投入的力度,以利于加快密码关键技术及其产品的研究与开发,为赢得高技术条件下的竞争提供信息安全保障。参考资料:RSA应用现状及其在文件加密中的应用 司红伟 汤彬基于RSA的数字签名的设计与实现密码算法的现状和发展研究部分资料来自知乎
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1