- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
salsa20和ZUC算法详细介绍及对比
1 流密码算法概述1.1 Salsa20算法1.1.1 算法设计背景2004年ECRYPT启动了eSTREAM流密码计划的研究项目,Salsa20是最终胜出的7个算法之一。Salsa20是由Daniel J.Bernstein提出的基于hash函数设计的流密码算法,其核心部分是一个基于32比特加、比特异或以及旋转操作的512比特输入512比特输出的hash函数。现有的对Salsa20攻击方法包括线性分析、差分分析、非随机性分析、相关密钥分析和滑动分析等,其中以滑动攻击尤其是偶数轮的滑动攻击方式最为有效。在软件仿真方面,算法可以在目前的x86处理器上实现4至14cycles/byte的加密效率;且具备尚可的硬件性能。Salsa20没有申请专利,属于公开的应用算法,为了在多个公共领域的共同架构,Bernstein对算法的实现优化做了进一步研究和改动。1.1.2 算法介绍(1)运算符定义word:word是一个32比特的二进制数,即集合中的元素之一。(2)异或和移位计算两个word,的异或用公式表示为:设非零整数,,对一个word的比特左移位表示为,用公式表示为:(3)quarterround函数设,输出,则两者关系如图所示:图1 Salsa20的quarterround函数(4)rowround函数设,输出,则:若将输入看作是一个方阵则rowround函数将方阵的每一行重新排列后作为quarterround函数的输入,从而并行地修改了所有行。(5)columnround函数设,输出,则:若将输入看作是一个方阵则columnround函数将方阵的每一列置换后作为quarterround函数的输入,从而并行地修改了所有列。(6)doubleround函数doubleround变换由一个列变换(columnround)与一个行变换(rowround)组成。(7)littleendian函数设,则littleendian函数是将8比特序列转变为32比特的可逆函数。(8)Salsa20的加密函数Salsa20算法的核心是一个hash函数,输入和输出均为512比特,算法的初始状态是由16个word组成的矩阵,其中包括8个密钥,4个常数、、、,2个初始IV(nonce)、,2个时间标号(block counter)、,假设用X表示初始状态,则X为:密钥有两种类型,分别为128比特与256比特。若长度为128比特,则后四个密钥依次重发前四个密钥的值。从安全性角度考虑,使用256比特密钥更加安全。下面针对256比特的密钥长度版本对算法进行说明。Salsa20首先对8-word的密钥进行扩展,即将上述初始状态X经过10轮doubleround变换后的输出与X进行模232加。可以用公式简单的表示为:是Salsa20算法的密钥流,它异或一个16-word的明文分组就得出对该明文分组加密后的密文。设P是一个明文,C是相应的密文,加密函数为,解密函数为。具体加密过程如下图所示。图2 Salsa20的加密原理图11.1.3 安全性分析随着Salsa20成为eSTREAM工程的最终胜选算法之一,关于它的各项密码学性质以及如何对Salsa20进行攻击逐渐成为广大学者研究的热点。目前对Salsa20的分析已经取得了一些结果,Paul Crowley给出了对简化至5轮的Salsa20的一种截断差分攻击。Simon Fischer等分析了Salsa20的密钥和初始IV的在载入时存在的问题。他们论证了对6轮Salsa20的攻击可以进行密钥恢复,同时他们观察7轮后仍然存在非随机性。随后Yukiyasu Tsunoo公开表示在4轮Salsa20后的输出差分概率有一个重要的偏差。利用这个偏差,他们进一步展示攻击密钥长度为256比特的版本Salsa20简化至8轮的可能性,该攻击的计算复杂度较穷举攻击略低。此外,作为针对Salsa20最有效的攻击方法之一,滑动攻击能大幅降低算法破译的时间复杂度。David Wagner 和 Alex Biryukov于1999年提出了滑动攻击,滑动攻击使密码体制的轮数变得无关紧要,通过分析密钥编排(key schedule,指从种子密钥得到轮密钥的过程)并挖掘其弱点来攻破密码。它适用于具有如下性质的密码算法:迭代过程具有一定的自相似性,且在很多情况下与迭代轮函数的具体性质和执行轮数无关。简单地说,就是任何可以被分解为若干次轮函数(假设该轮函数为)的算法都可以尝试此攻击(这个可能包含多于原算法的一个轮函数)。由于密钥是直接包含在内部状态中的,通过滑动攻击攻击者将能够恢复算法运行的所有内部状态,也同时能对Salsa20施行相关密钥恢复攻击。首先引入一些符号。假设算法输入为比特,密钥为。滑动攻击首先将加密程序划分为完全相同的轮函数,可能由原算法中一
您可能关注的文档
最近下载
- 北师大版八年级数学上册 1.1 探索勾股定理 同步测试(附答案解析).docx VIP
- 冀少版七年级上册生物全册新质教学课件(配2024年秋改版教材).pptx
- 卫生间改造施工组织设计.pdf VIP
- 《结构吊装施工》.pdf VIP
- 2025年中考数学押题:几何图形选填压轴题(含答案).pdf VIP
- 小学英语群文阅读:No Pain, No Gain 教学设计 PPT课件.pptx VIP
- 氢气管线吹扫试压方案.docx VIP
- 正余弦函数的图像和性质导学案.doc VIP
- 2021新教材必修第一册完美题型精讲(同步学习培优120个题型完美讲解).pdf VIP
- 美术五年级上册人美版 第2课 画人像(课件)(14ppt).pptx VIP
文档评论(0)