英语原文共 17 页,剩余内容已隐藏,支付完成后下载完整资料
PRESENT:一种超轻量级分组密码
A. Bogdanov1, L.R. Knudsen 2, G. Leander1, C. Paar 1, A. Poschmann 1,
M.J.B. Robshaw3, Y. Seurin 3, and C. Vikkelsoe 2
摘要.随着AES(Advanced Encryption Standard,高级加密标准)的建立,对新的分组密码的需求有了大大减少;对于几乎所有的分组密码应用来说,AES是一个极好的首选方案。然而,尽管最近在实施方面取得了进展,AES仍然不适合于如RFID标签和传感器网络等极端首先的环境。在本文中,我们介绍了一个超轻量级分组密码,PRESENT。在密码设计过程中,安全性和硬件效率是同样重要的,在1570GE的条件下,对PRESENT的硬件要求对当今领先的紧凑的流密码具有竞争力。
1 引言
本世纪IT领域的一个明显趋势将会是微型计算机设备的广泛部署。这些设备将不仅在消费品中具有常规功能,而且还将构成一个无处不在的、无形的通信基础设施的重要组成部分。人们已经意识到这种部署带来了一系列非常特殊的安全风险。然而与此同时,我们现有的密码解决方案,尤其是密码原语,对于资源极度有限的环境是不容乐观的。
在本文中,我们提出了一个经过精心设计的、以面积限制和功率限制为首要考虑因素的新的硬件优化分组密码。然而,与此同时,我们努力的避免了在安全方面的妥协。为了实现这一目标,我们回顾了DES的开拓性工作的具体表现,并最终选中了AES中的在硬件方面有着出色表现的Serpent功能补充完善了这一点。
在这一点上,有理由去问为什么我们可能像设计一个新的分组密码。毕竟,流密码可能更为紧凑已经是一个“公认的”事实。实际上,为了理解紧凑流密码的设计,eSTREAM项目和一些有希望的建议正在进行重新努力,这些提议和项目提供了吸引人的性能优势。但是为什么我们可能要考虑一个紧凑的分组密码呢?我们注意到了几点原因:首先,分组密码是一个通用原语,而且通过以反模式运行分组密码(比如说),我们得到一个流密码。但其次,或许更重要的是,分组密码的设计艺术比流密码要更加通俗易懂一点。例如,虽然在固定线性反馈移位寄存器的使用下有着丰富的理论,但是要结合这些构件块给出一个安全的建议并不容易。我们怀疑一个精心设计的分组密码可能比一个新设计的流密码的风险要小。因此,我们任务一个需要与紧凑的流密码相似的硬件资源的分组密码可能会引起相当大的兴趣。
重要的是要认识到,在开发一种新的分组密码,特别是具有攻击性性能特征的分组密码时,我们不仅仅是在寻找创新的实现。相反,密码的设计和实现是的同时并进的,这揭示了一些基本的限制和内在的矛盾。例如,给定的安全级别在块长度和密钥长度上设置下限。只需用80位键处理64位状态,就可以对我们所需的空间量设置基本的下限。我们还观察到,硬件实现——特别是紧凑的硬件实现——有利于重复。即使是微小的变化也会对实现所需的空间产生不幸的影响。然而,与此同时,密码分析员也喜欢重复,并寻找容易在多轮中传播的数学结构。在不影响其安全性的情况下,我们可以包含多少简单、重复的结构?
在本文中,我们描述了紧凑的分组密码PRESENT,在对现有文献进行简要综述之后,论文的其他部分都是按照标准的方式组织的。第三部分介绍了PRESENT,同时,第四部分描述了设计决策。安全性分析在第五部分,具体的性能分析在第六部分。最后,用我们的结论来结束这篇论文。
2 现有工作
虽然在低成本密码学方面有着越来越多的研究工作,但是处理超轻量密码的论文数量却是惊人的有限。因为我们的重点是算法设计,所以我们不会提到关于低成本通信和认证协议的工作。关于契约实现的一些最广泛的工作目前正在eSTREAM项目中进行。作为该方案的一部分,已经提出了适合于高效硬件实现的新的流密码。虽然这项工作正在进行中,但一些有希望的候选人正在出现。虽然在这之间进行权衡很复杂,但实施文件表明,eSTREAM项目中更紧凑的密码可能会需要1300-2600个等效门(GE)。
关于分组密码,众所周知的是,DES的设计考虑了硬件效率。由于二十世纪七十年代早期半导体电路的非常极限状态,DES拥有非常具有竞争力的实施资产就一点都不令人意外了。在DES上的工作显示了大概3000GE的实现,而一个序列化的实现可以通过大概2300GE。DES的密钥长度限制了它在很多应用中的实用性,并提出了一些相当感兴趣的建议,例如DESXL (2168 GE)。
对于现代分组密码,这篇里程碑式的论文对AES的低成本实现进行了非常深入的分析。然而,这个密码所需的资源大约为3600GE,这是Rijndael(在高级加密标准(AES)中是用的基本密码算法)被设计用于8位和32位处理器上的软件效率的间接结果。小型加密算法TEA的实现要求尚不清楚,但是粗略估计TEA需要至少2100GE,而XTEA需要至少2000GE。四个专门的低成本实现方案是MCRYPYON、HIGHT、SEA和CGEN,尽管最后一个并不是主要作为分组密码是用的。MCRYPYON有一个精确的硬件评估,需要2949GE,HEIGHT需要大约3000GE,而与当前参数相当的SEA需要2280GE。
3 分组密码PRESENT
PRESENT采用SP网络结构,加密轮数为31轮,分组长度为64位,密钥长度分为80位和128位两种,鉴于我们所考虑的应用程序,我们推荐使用80位密钥的版本。这对于基于标记的部署中通常需要的低安全性应用程序开说有着完全足够的安全性,但是童谣重要的是,这与eSTREAM项目中面向硬件的流密码的设计目标相匹配,这使得我们可以进行更公正的比较。128位版本的安全声明和性能属性在附录中提供。
图1.PRESENT的顶层算法描述
31轮中的每一轮都包含一个异或操作,引入一个轮密钥Ki for 1le;ile;32,其中K32用于后白化、线性位置换和非线性替换层。非线性层使用一个4位S盒S,每轮并行应用16次。密码在图1中用伪代码描述,现在逐一详细介绍每一个阶段。设计原理在第四部分给出,在整个过程中,我们从零开始计算位,位在块或字的右边。
轮密钥加(轮密钥异或):给定轮密钥Ki= k63ihellip;k0i,1le;ile;32,当前状态为B=b63hellip;b0,轮密钥加由以下操作组成,for 0le;jle;63,
bj→bjoplus;kij
S盒代换(位置换):PRESENT使用的S盒是一个四位到四位S盒:F24→F24。下表给出了十六进制表示法的S盒代换操作。
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
S(x) |
C |
5 |
6 |
B |
9 |
0 |
A |
D |
3 |
E |
F |
8 |
4 |
7 |
1 |
2 |
设S盒的当前状态为b63hellip;b0,可表示成16个4位数w15hellip;w0,wi= b4lowast;i 3||b4lowast;i 2||b4lowast;i 1||b4lowast;i,其中ole;ile;15。输出半字节S[wi]按照表中的变换方式得到更新的状态值。
P置换(密钥编排):下表给出了目前使用的位置换,状态的比特值被移动到比特位置P(i)。
PRESENT可以使用80位或128位的密钥,但是我们关注的是80位密钥的版本。用户提供的密钥存储在密钥寄存器K中,并表示为k79k78hellip;k0。在第i轮中,64位轮密钥Ki=k63k62hellip;k0是寄存器K当前内容最左边64位的组成。因此在第一轮中,我们得到:
Ki=k63k62hellip;k0=k79k78hellip;k16
在提取轮密钥Ki后,密钥寄存器K= k79k78hellip;k0更新如下。
图2.PRESENT的SP网络结构
1.[k79k78....k1k0]=[k18k17...k20k19]
2.[k79k78k77k76]=S[k79k78k77k76] 3.[k19k18k17k16k15]= [k19k18k17k16k15] oplus;round_counter
因此,密钥寄存器向左移动61位位置,最左边的4位通过当前的S盒,而且轮计数器值i与K的位k19k18k17k16k15互斥或,而且轮计数器的最低有效位在右侧。128位密钥的密钥表在附录中给出。
4 PRESENT的设计问题
除了安全性和高效的实现外,设计PRESENT的主要目标就是简单。因此,类似的设计在其他情况下也被考虑,甚至可以作为学生的辅导教程,这并不奇怪。在这一部分,我们将证明我们在设计PRESENT时所做的决定是正确的。然而,首先我们描述了预期的应用程序需求。
4.1 目标和使用环境
在设计一个适用于极端受限环境的分组密码时,必须认识到,我们并不是在构建一个必须适合广泛使用的分组密码;我们已经有了AES来实现这一点。相反的是,我们的目标是一些非常特定的应用程序,而AES不适合这些应用程序。这些通常符合以下特征。
-密码将在硬件中实现
-应用只需要中等安全级别。因此,80位的安全性就足够了。需要注意的是,这也是提交给eSTREAM的硬件配置文件流密码的位置。
-应用程序不太可能需要对大量的数据进行加密。因此,在没有太多实际影响的情况下,可以针对性能或空间进行优化实现。
-在某些应用中,密钥可能在设备制造时产生。在这种情况下,无需为设备重新设置密钥(这将顺便排除一系列密钥操纵攻击)。
-除了安全性之外,实现所需的物理空间将是首要考虑因素。紧随其后的是峰值和平均功耗,时间要求是第三个重要指标。
-在需要最有效地利用空间的应用程序中,分组密码通常只能作为仅加密来实现。通过这种方式,它可以在质询-响应认证协议中使用,并且,通过一些仔细的状态管理,它可以通过使用计数器模式来加密和解密与设备之间的通信。
考虑到这些因素,我们决定提出一个64位分组密码和一个80位密钥。加密和解密与PRESENT有大致相同的物理需求。选择同时支持加密和解密将导致轻量级分组密码实现仍小于仅加密的AES。选择只实现目前的加密将提供一个轻量级的解决方案。加密子密钥可以动态计算。
文献中包含了一系列的攻击,这些攻击在加密大量数据时操纵了时间-内存-数据的取舍或生日悖论。然而,这种攻击完全依赖于分组密码的参数,并且不利用内部结构。我们的目标是,这些攻击对对手来说是最好的。侧通道和侵入性
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[238675],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。