无线射频识别(Radio Frequency Identification, RFID)[1]是一种利用射频通信对物体进行自动识别的技术, 目前已广泛应用于日常生产和生活中的物流管理、图书管理、门禁系统等方面。作为物联网的关键技术之一, RFID具有广阔的市场应用前景, 但其安全问题也日益突出。不同于传统的高性能计算机、服务器等设备, RFID标签的计算能力较弱, 硬件资源受限, 功耗开销较大。传统的密码算法侧重于提供高级别加密性能, 没有过多地考虑硬件资源极端受限的环境, 因而难以适用于RFID设备。由于流密码结构简单, 易于硬件实现, 且无需进行缓存, 即能够降低算法的存储空间, 因此其更加适用于RFID系统。2013年, 国际标准化组织发布轻量级密码标准ISO/IEC 29192。2017年, 美国国家标准和技术协会NIST发布了轻量级密码白皮书, 广泛征集轻量级密码算法。这些举措使得轻量级密码成为密码学领域的研究热点, 因此, 设计一种高效率、低能耗的轻量级密码算法备受关注。
为满足RFID的环境应用需求, 本文提出一种超轻量级流密码算法Willow。根据正差集性质选取函数抽头, 采用位数较小的计数器用于密钥索引与初始化, 以减少初始化轮数并降低算法的电路面积、延迟和功耗。
1 相关工作近年来, 国内外学者提出了多种轻量级流密码算法, 如Espresso[2]、Lizard[3]、Grain-128a[4]、WG-8[5]、Sprout[6]、Plantlet[7]、Fruit[8-9]等, 同时也涌现出很多针对流密码算法的攻击方法, 如时间空间存储折中攻击(TMD攻击)[10-11]、相关密钥攻击[12]、快速相关攻击[13]、弱key-Ⅳ对攻击[14]、立方攻击[15]以及猜测确定攻击[16]。
文献[6]提出一种Sprout算法, 较早打破了生日安全界(由生日攻击推导出的内部状态的安全界限)。Sprout算法引入新的设计范式Continuous-Key-Use(CKU)Stream Cipher, 密钥不仅用于初始化阶段, 还用于密钥流生成阶段, 从而提高了对TMD攻击的安全性, 使得内部状态大小降低到密钥长度。Sprout算法的发布引起了密码学界的广泛关注, 但也很快出现了各种针对Sprout的攻击。文献[17]针对Sprout内部状态更新函数的弱点, 提出选择Ⅳ相关密钥区分攻击, 暴露出Sprout算法存在弱key/Ⅳ对的缺陷。文献[18]针对Sprout中密钥非线性参与内部状态的弱点, 实施密钥恢复攻击, 指明循环密钥函数应为线性。文献[19]对Sprout实施猜测确定攻击和故障攻击。文献[20]在密钥位不参与密钥流生成的特殊状态下, 提出一种存在实际复杂度的TMD攻击。
文献[7]在Sprout的基础上, 针对各种Sprout攻击进行改进, 提出一种Plantlet算法, 并分析不同的非易失性存储技术对算法吞吐率的影响。Plantlet算法的内部状态由Sprout的80 bit提升为101 bit, 采用简单的线性循环密钥函数和双层LFSR结构。然而, 增加算法内部状态违背了安全性等于算法内部状态的准则, 而且增加了电路面积和功耗。文献[8]提出一种Fruit算法(Fruit发表在ePrint上, 设计者多次修改, 有很多版本, 其中版本20161124:115414为Fruit-v0, 版本20170304:073404为Fruit-v1, 版本20170724:053140为Fruit-v2)。Fruit算法采用复杂的循环密钥函数和新的初始化方式, 初始化轮数只有210, 与Sprout(320轮)和Plantlet(320轮)相比大幅降低。然而, 非线性的索引会增加算法的延迟。在Plantlet和Fruit被提出后不久, 文献[10]针对Sprout、Plantlet和Fruit-v1, 提出一般性的TMD区分攻击, 并利用Fruit-v1复杂密钥索引的漏洞实施密钥恢复攻击。文献[9]在Fruit-v2的基础上, 提出一种128 bit安全级别的Fruit-128算法, 其采用了动态初始化技术。上述算法都支持使用EEPROM来存储密钥, 但是这并不适用于RFID环境, 原因是RFID标签的功耗预算通常只有10 μW, 而对EEPROM进行读操作就要消耗5 μW~10 μW[3]。文献[21]对当前的轻量级对称加密进行综述, 并指明轻量级对称加密的概念过于宽泛, 应该分为2个发展方向:一个是超轻量级加密, 应用在不联网的低廉设备上, 例如RFID, 其提供的安全级别至少为80 bit; 另一个是物联网加密, 应用在连接互联网的低功耗设备上, 例如无线传感网, 其提供的安全级别至少为128 bit。
2 Willow算法 2.1 整体框架本文中的相关符号含义如表 1所示。
|
下载CSV 表 1 相关符号及含义 |
Willow算法由线性反馈移位寄存器LFSR、非线性反馈移位寄存器NFSR、计数器、循环密钥函数以及输出函数构成, 如图 1所示。LFSR和NFSR是算法的内部状态, 在初始化时用Ⅳ进行填充。LFSR的最低位参与NFSR反馈, 在每个时钟周期内, 一个密钥比特参与NFSR更新。
|
Download:
|
| 图 1 Willow算法结构 | |
Willow算法各部分具体描述如下:
1) LFSR的长度为40 bit, 其反馈函数为:
| $ {{l}_{t+40}}={{l}_{t}}\oplus {{l}_{t+4}}\oplus {{l}_{t+10}}\oplus {{l}_{t+20}}\oplus {{l}_{t+2}}7\oplus {{l}_{t+35}} $ |
2) NFSR的长度为40 bit, 其反馈函数为:
| $ \begin{align} & {{n}_{t+40}}=k_{t}^{*}\oplus {{l}_{t}}\oplus c_{t}^{4}\oplus {{n}_{t}}\oplus {{n}_{t+13}}\oplus {{n}_{t+19}}\oplus \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+35}}\oplus {{n}_{t+39}}\oplus {{n}_{t+2}}\cdot {{n}_{t+23}}\oplus \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+3}}\cdot {{n}_{t+9}}\oplus {{n}_{t+6}}\cdot {{n}_{t+8}}\oplus \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+14}}\cdot {{n}_{t+21}}\oplus {{n}_{t+15}}\cdot {{n}_{t+18}}\oplus \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+22}}\cdot {{n}_{t+25}}\oplus {{n}_{t+26}}\cdot {{n}_{t+32}}\oplus \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+10}}\cdot {{n}_{t+11}}\cdot {{n}_{t+12}}\oplus {{n}_{t+27}}\cdot \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+30}}\cdot {{n}_{t+31}}\oplus {{n}_{t+29}}\cdot {{n}_{t+33}}\cdot \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{n}_{t+36}}\cdot {{n}_{t+37}} \\ \end{align} $ |
3) 计数器是一个7 bit的寄存器Ct=(ct0, ct1, …, ct6), ct0是最低有效比特, 每个时钟周期递增, 且为0~79的循环, 其参与算法的初始化和循环密钥函数更新。
4) 循环密钥函数是简单的循环顺序选择密钥比特, 计数器Counter负责密钥比特索引, 产生的循环密钥比特作为NFSR内部状态更新函数的输入。循环密钥函数的表述式为:
| $ k_{t}^{*}={{k}_{(t\ \text{mod}~80)}}={{k}_{(\text{Counte}{{\text{r}}_{t}})}} $ |
5) h函数由如下11个抽头组成:
| $ \begin{align} & {{h}_{t}}={{l}_{t+8}}\cdot {{l}_{t+18}}\oplus {{l}_{t+1}}\cdot {{l}_{t+21}}\oplus {{l}_{t+26}}\cdot \\ & \ \ \ \ \ \ \ \ {{n}_{t+7}}\oplus {{l}_{t+12}}\cdot {{l}_{t+28}}\oplus {{l}_{t+39}}\cdot \\ & \ \ \ \ \ \ \ \ {{n}_{t+5}}\cdot {{n}_{t+28}} \\ \end{align} $ |
6) 输出函数如下:
| $ \begin{align} & {{z}_{t}}={{h}_{t}}\oplus {{l}_{t+34}}\oplus {{n}_{t+1}}\oplus {{n}_{t+4}}\oplus {{n}_{t+16}}\oplus \\ & \ \ \ \ \ \ {{n}_{t+17}}\oplus {{n}_{t+24}}\oplus {{n}_{t+34}}\oplus {{n}_{t+38}} \\ \end{align} $ |
Willow算法初始化分为4个阶段:
1) 将Ⅳ加载到寄存器中, 计数器初始化为全0:
| $ \begin{align} & \left( {{n}_{0}}, {{n}_{1}}, \ldots , {{n}_{39}} \right)=\left( {{v}_{0}}, {{v}_{1}}, \ldots , {{n}_{39}} \right) \\ & \left( {{l}_{0}}, {{l}_{1}}, \ldots , {{l}_{39}} \right)=\left( {{v}_{40}}, {{v}_{41}}, \ldots , {{v}_{69}}, 1, 1, \ldots , 1, 0 \right) \\ & \left( {{c}_{0}}, {{c}_{1}}, \ldots , {{c}_{6}} \right)=(0, 0, \ldots , 0) \\ \end{align} $ |
2) 运行80个时钟周期, 每一周期将输出比特反馈到NFSR和LFSR中。
3) 在第2阶段结束后, 将计数器的最高比特设置为0, LFSR的高6比特赋给计数器中的低6比特(c800=l114, c801=l115, …, c805=l119, c806=0), 然后将l119设置为1。
4) 在第3阶段结束后, 继续进行初始化, 直到计数器为79(1111001)时停止, 随后产生第1个密钥流比特。
在第4阶段, 输出比特不反馈到NFSR和LFSR中, 第4阶段的初始化时钟周期数是17~80间的随机数, 之后计数器在0~79间进行循环。
3 设计准则 3.1 动态初始化Willow算法无需Fruit-128的复杂密钥调度, 初始化轮数比Sprout和Plantlet小, 其只需7 bit计数器来进行初始化和密钥索引。
在Willow算法的第3阶段, 选取LFSR的高6比特赋给计数器, 而不是Fruit-128中LFSR的低6比特, 原因是Fruit-128的动态初始化有一个漏洞:在相同key下, Ⅳ的前91位相同, 则初始化轮数会一样, 这减弱了动态初始化的随机性, 因为初始化Ⅳ是随轮数逐比特地参与更新, 且第3阶段将LFSR的低6比特赋给计数器, 导致了Ⅳ比特无法及时更新到计数器中。Willow算法避免了上述情况的发生, Ⅳ第1阶段就加载进LFSR和NFSR中, 选取LFSR的高6位比特赋给计数器, 使得Ⅳ能够充分地混淆和扩散到计数器中。
赋值后的计数器(c800, c801, …, c806)是从0000000~1111110的随机数, 因此, 第4阶段的初始化轮数为17~80的随机数, 整个初始化阶段的轮数为97~160的随机数。不同于Sprout、Plantlet等算法固定的初始化轮数, Willow算法增加了从已知内部状态实施密钥恢复攻击的复杂度, 且能够抵抗可分性立方攻击。在Willow算法中, 内部状态更新函数虽然双射, 但恢复出密钥并非简单地往回计数。Willow算法的初始化轮数比Grain-v1(160轮)、Sprout(320轮)、Plantlet (320轮)以及Fruit-v2(210轮)少得多, 更少的轮数意味着更低的功耗和更快的初始化速度。
3.2 循环密钥函数Sprout算法较早提出循环密钥函数的概念, 打破了生日安全界限, 降低了内部状态的大小。但各密钥比特不同的参与率暴露了其弱点, Sprout很快遭受了多种攻击。为此, Plantlet、Fruit改进了循环密钥函数, 使所有密钥比特都有相同的参与率, 但非线性的读取操作会增加功耗和电路面积。在Fruit-v2的15 bit寄存器中, 7 bit用来索引6个不同的非线性密钥比特, 该复杂设计不但增加了功耗和电路面积, 且并未提高安全性(如文献[10]利用Fruit-v2复杂密钥调度的漏洞实施TMD攻击)。Willow算法同时使用计数器Counter来进行80 bit密钥的索引和初始化, 避免引入过多的计数器, 同时顺序循环的读取密钥比特也易于实现, 减少了延迟和功耗。
3.3 NFSR与LFSR反馈函数反馈函数的抽头选取没有固定格式, 但是有一些基本的限制和准则。首先, 所有抽头只能被选取一次, 一个单项式的最小抽头和最大抽头间距应尽可能大; 其次, 选取的抽头集合应该满足尽量小的正差集性质。正差集性质描述为:在集合τ中的不同元素之间互相做差, 若某一差值出现的次数最多(次数为λ), 则称集合τ是λ阶正差集。如果集合间的元素差值互不相同, 则λ=1, 此时称τ为完全正差集。
LFSR的长度为40 bit, 反馈多项式为本原多项式, 保证最大周期为240-1, 反馈函数的抽头集合{0, 4, 10, 20, 27, 35}是完全正差集, 而Sprout、Plantlet和Grain-v1中LFSR抽头集合的正差集性质分别是3阶、2阶和2阶。NFSR的反馈函数g函数平衡, 如果kt*⊕ct4=0, 则g函数的非线性度为267 403 264, 弹性度为4, 最佳线性逼近的集合大小为214, 该集合的每个函数有63×2-15的偏差。
3.4 密钥流输出函数Willow算法的输出函数中来自LFSR的抽头集合{1, 8, 12, 18, 21, 26, 28, 34, 39}是2阶正差集, 而Sprout、Plantlet和Fruit相应的LFSR抽头集合都是4阶正差集。Willow算法的输出函数中来自NFSR的抽头集合{1, 4, 5, 7, 16, 17, 24, 28, 34, 38}是3阶正差集, 而Sprout、Plantlet和Fruit-v2相应的NFSR抽头集合都是4阶正差集。Willow算法输出函数的非线性度为28×976=249 856, 弹性度为7, 最佳线性逼近至少要有8项, 偏差为2-5.415。
4 安全性分析 4.1 时间存储数据折中攻击文献[20]对Sprout实施具有实际复杂度的TMD密钥恢复攻击。因为循环密钥比特kt*参与NFSR内部状态更新的概率为0.5, 所以该攻击的假设是在较长的连续时钟周期内, 密钥比特并不会参与内部状态更新。文献[10]利用Fruit-v1循环密钥函数索引的漏洞(当k64=k65=…=k79=0时, k0, k1, …, k31不参与内部状态更新), 实施TMD恢复密钥攻击。而在Willow算法中, 每个密钥比特都按顺序参与内部状态更新, 所有密钥比特都以相同的速率参与密钥流生成阶段。因此, 上述对Sprout和Fruit-v1实施的攻击对Willow都将无效。
良好的采样抵抗也能提高流密码对TMD攻击的安全性, 采样抵抗指攻击者不能通过特殊模式的密钥流来轻易识别内部状态。攻击者至少需固定Willow中h函数的5个变量, 才能线性化密钥流输出函数, 然后识别特殊的内部状态。而在Grain-v1、Sprout和Plantlet中, 相应地, 攻击者至少需固定3个、4个和4个变量。因此, Willow算法的输出函数合适。
4.2 猜测确定攻击文献[14]对Sprout实施的猜测确定攻击基于LFSR全0的特殊状态, 而Willow不存在弱密钥Ⅳ对, LFSR全0状态不会发生。文献[16]对Sprout实施时间复杂度为270.87(270.87=259+11.87)的猜测确定攻击, 优于之前的所有非TMD攻击。猜测确定攻击的假设是如果密钥流函数z(x)=xa⊕xb⊕xa+i⊕xb+i⊕z′(x), a<b<a+i, 则可以将密钥流输出函数进行转换, 消除xa和xb。根据转换后简化的密钥流输出函数, 每一轮依据上一轮和已知密钥流确定未知状态, 前6轮总共猜测59 bit未知状态。在Sprout的输出函数中, 抽头n17、n23、n28和n34满足此性质, 因此向攻击者暴露了漏洞。Plantlet将LFSR由Sprout的40 bit变为61 bit, 增加内部状态从而提高了攻击复杂度, 但其同时增加了电路面积。在Willow算法中, 由于抽头选取采取了正差集性质, 一次项的集合{1, 4, 16, 17, 24, 34, 38}是一阶正差集, 且没有相同的差值, 保证了输出函数不能被简化, 因此, 不满足攻击假设, 且h函数中有11个变量, 多于Sprout和Plantlet中的9个变量。因此, 在攻击的前6轮总共需猜测73 bit未知状态, 总复杂度超过穷举攻击。
4.3 区分攻击文献[10]提出对Plantlet和Fruit-v1的TMD区分攻击, 但也指出对于轻量级流密码, 存在低于穷举攻击复杂度的区分攻击是可以接受的, 原因是区分攻击只能分辨出随机序列和密钥流序列, 并不能恢复出内部状态或者密钥, 这种攻击可以容忍。同时, 文献[10]也提出新的设计思想来抵抗区分攻击, 即密钥和Ⅳ同时持续参与到内部状态更新中。Fruit-128采用该思想, 添加了循环Ⅳ函数。在这种情况下, 区分攻击的复杂度高于穷举攻击。在eSTREAM中, 密码算法的一个淘汰准则是其存在低于穷举攻击复杂度的攻击, 如果一个攻击的复杂度低于穷举攻击, 说明该攻击在理论上成功。而超轻量级流密码算法面向资源极端受限的硬件环境, RFID标签传输的数据量通常只有几字节到几十字节。文献[10]中的区分攻击对Willow算法的数据复杂度为249.94, RFID标签的传输速率一般为100 KB/s, 假设RFID不停地发送数据, 收集如此多的数据需要342年, 远超RFID标签的使用寿命, 而这仅能区分随机序列和密钥流序列。Willow算法没有采用循环Ⅳ函数来抵抗区分攻击, 因为持续地读取key和Ⅳ会大幅增加算法的电路面积和功耗。
4.4 立方攻击Grain-128曾遭受动态立方攻击, 因为其NFSR反馈函数的代数次数太低(代数次数为2)。在Grain-128a中, NFSR反馈函数的代数次数增加为4。因为Willow算法中的NFSR长度和LFSR长度比Grain-v1小, 所以Willow的h函数有11个变量, 多于Grain-v1(5个)、Sprout(8个)和Plantlet(8个)。因此, 在Willow算法的初始化阶段, key和Ⅳ变量代数次数的增长速度比Grain-v1、Sprout、Plantlet快。文献[15]提出可分性立方攻击的概念, 其对Grain-128a攻击的轮数提升到183。但是由于Willow采用动态初始化技术, 因此可分性立方攻击无法对Willow搭建混合整数线性规划模型(MILP), 原因是MILP模型的输入参数初始化轮数未知。
4.5 快速相关攻击对于轻量级流密码, 传统的快速相关攻击很难快于穷举攻击[22], 需要改进其攻击思想。文献[13]针对轻量级流密码Fruit-v0的漏洞, 实施快速相关攻击, 其攻击的基础是如果非线性组合函数具有伪线性性质(在知道其中一个寄存器的状态时, 非线性组合函数变为线性), 则可以用分治法恢复完整的内部状态。文献[13]还提出轻量级流密码抵抗快速相关攻击的2个设计准则:
1) 输出函数应严格避免伪线性性质。
2) 选取高非线性度的函数抽头, 防止对NFSR反馈函数线性逼近。
Willow中的NFSR反馈函数沿用Grain-128a的设计范式, 非线性度为267 403 264, 输出函数的非线性度为249 856, 因此, 其能够避免遭受文献[13]中的快速相关攻击。
4.6 弱key-Ⅳ对Grain系列的流密码和Sprout都存在弱key-Ⅳ对, 使得初始化之后的LFSR变为全0状态, 然后LFSR会一直处于全0状态, NFSR的统计属性变得非随机, 密钥流完全由NFSR决定。在这种情况下, 算法很容易被攻破。Plantlet使用双层LFSR来避免LFSR全0状态的发生, 但是会因额外的逻辑门而增加算法电路面积。在Willow初始化的第2阶段, 将l119设置为1, 有效防止了LFSR全0状态的发生(在初始化第2阶段后, 密钥流输出不反馈到LFSR中, LFSR独立运行), 因此, Willow中不存在弱key-Ⅳ对。
5 实验结果与分析本文将Grain-v1、Sprout、Plantlet、Fruit-v2和Willow在ASIC上进行实现, 并分析对比算法的电路面积、功耗和延迟。计算机配置为:CPU Intel(R) Core(TM) i5-6300HQ CPU @2.3 GHz, 内存8 GB, 操作系统Windows 10, 软件为Synopsys Design Compiler vC-2009.06-SP5、Xilinx Vivado 2015.4和Modelsim SE-64 6.5g。为公平起见, 所有算法都采用相同的设计流程和实验环境, 在Vivado上采用verilog语言实现算法, 在Design Compiler上将算法综合在0.13 μm CMOS标准单元库中进行优化, 在Modelsim中生成交换活动数据并通过Design Compiler测量功耗。所有算法不考虑存储密钥的面积, 且实验数据为加上初始化阶段的结果, 以更客观地表现出算法实际的性能。实验中各项评价指标如下:
1) 频率:本文实验时钟频率为100 kHz, 因此, 一个时钟周期为10 μs, 每个时钟周期内生成1 bit密钥流。
2) 面积:为独立于工艺进行算法电路面积的比较, 通常用等效门电路(Gate Equivalence circuit, GE)来表示面积, 1 GE等于一个二输入与非门(NAND2 gate)所占用的面积, 这也是衡量密码算法性能最重要的指标之一。
3) 延迟:本文延迟指关键路径的延迟, 即从寄存器到密钥流输出所经历的时间。
4) 功率:本文功率使用典型模型(1.2 V, 25℃), 由初始化和产生1 000 bit密钥流的交换活动数据来测量。为提高实验的精确性, 对每个算法选取10组随机key/Ⅳ来测量功率, 得到平均值作为实验结果。
设计RFID加密算法时最主要的2个制约因素是电路面积和功率, 一般面积小于2 000 GE的算法称为轻量级算法, 面积小于1 000 GE的算法称为超轻量级算法[23]。因此, Willow属于超轻量级流密码算法。5种算法的硬件性能对比结果如表 2所示。因为Willow的密钥固定, 在RFID的使用周期内无需更改, 可以将密钥烧录进设备, 而非存储在EEPROM中。低成本的RFID通常采用被动供电, 即通过阅读器辐射的电磁场供电。标签所需功率越大, 最大阅读距离就越小, 因此, 其功率限制非常严重, 功率上限通常是10 μW。
|
下载CSV 表 2 80 bit安全级别轻量级流密码算法的硬件性能对比 |
从表 2可以看出, 在电路面积和功率上, 除Sprout外, Willow最小, 但Sprout已被证明安全性较低。Willow的面积相比Grain-v1、Plantlet、Fruit-v2分别降低了32.7%、13.8%、32.4%。在延迟方面, Willow算法最小, 比Grain-v1、Sprout、Plantlet、Fruit-v2分别降低了33.0%、5.4%、5.4%、3.2%。较低的延迟能够保证RFID的实时性需求。Willow的功率分别比Grain-v1、Plantlet、Fruit-v2降低了41.0%、14.5%、13.3%。加密只占RFID系统很小的一部分, 功率越低, RFID其余部件就能够得到越多的面积。如果Willow采用Fruit-128中的初始化方式, 面积为1 055 GE, 相比Fruit-128的892 GE显著增加, 原因在于Willow需要额外的多路选择器来进行Ⅳ选取。综上, 与Grain-v1、Plantlet、Fruit-v2算法相比, Willow算法在电路面积、功耗和延迟上均有不同程度的降低, 其实现了更好的硬件性能。
6 结束语本文提出一种适用于RFID的超轻量级流密码算法Willow。根据正差集性质选取函数抽头, 使得猜测确定攻击的复杂度高于穷举攻击。通过动态初始化技术抵抗可分性立方攻击, 并用较小的计数器来控制密钥索引和初始化。在Design Compiler上的实验结果表明, 与Grain-v1、Plantlet等算法相比, Willow算法具有较低的延迟、功耗以及较小的面积, 其更适用于RFID系统。下一步将研究包括Willow算法在内的轻量级流密码算法的优化实现问题, 并提高算法在FPGA、微控制器等平台上的硬件性能。
| [1] |
罗韶杰, 张立臣. 改进的基于位运算的RFID标签所有权转移协议[J]. 兵器装备工程学报, 2019, 40(8): 157-164. ( 0)
|
| [2] |
DUBROVA E, HELL M. Espresso:a stream cipher for 5G wireless communication systems[J]. Cryptography and Communications, 2017, 9(2): 273-289. DOI:10.1007/s12095-015-0173-2 ( 0)
|
| [3] |
HAMANN M, KRAUSE M, MEIER W. LIZARD-a lightweight stream cipher for power-constrained devices[J]. IACR Transac-tions on Symmetric Cryptology, 2017(1): 45-79. ( 0)
|
| [4] |
AGREN M, HELL M, JOHANSSON T, et al. Grain-128a:a new version of Grain-128 with optional authentication[J]. International Journal of Wireless and Mobile Computing, 2011, 5(1): 48-59. DOI:10.1504/IJWMC.2011.044106 ( 0)
|
| [5] |
FAN Xinxin, MANDAL K, GONG Guang.WG-8: a lightweight stream cipher for resource-constrained smart devices[C]//Proceedings of the 9th International Conference on Heterogeneous Networking for Quality, Reliability, Security and Robustness.Berlin, Germany: Springer, 2013: 617-632.
( 0)
|
| [6] |
ARMKNECHT F, MIKHALEV V.On lightweight stream ciphers with shorter internal states[C]//Proceedings of the 22nd International Workshop on Fast Software Encryption.Berlin, Germany: Springer, 2015: 451-470.
( 0)
|
| [7] |
MIKHALEV V, ARMKNECHT F, MULLER C. On ciphers that continuously access the non-volatile key[J]. IACR Transactions on Symmetric Cryptology, 2016(2): 52-79. ( 0)
|
| [8] |
AMINGHAFARI V, HU Honggang.Fruit: ultra-lightweight stream cipher with shorter internal state[EB/OL].[2018-07-29].https://eprint.iacr.org/eprint-bin/getfile.pl?entry=2016/355&version=20170724:053140&file=355.pdf.
( 0)
|
| [9] |
GHAFARI V A, HU Honggang, ALIZADEH M.Necessary conditions for designing secure stream ciphers with the minimal internal states[EB/OL].[2018-07-29].https://eprint.iacr.org/2017/765.pdf.
( 0)
|
| [10] |
HAMANN M, KRAUSE M, MEIER W, et al. Design and analysis of small-state grain-like stream ciphers[J]. Cryptography and Communications, 2017, 9(1): 1-32. ( 0)
|
| [11] |
MAITRA S, SINHA N, SIDDHANTI A, et al. A TMDTO attack against lizard[J]. IEEE Transactions on Computers, 2017, 67(5): 1-7. ( 0)
|
| [12] |
王秋艳, 金晨辉. LEX算法的相关密钥攻击[J]. 计算机工程, 2014, 40(4): 141-145. DOI:10.3969/j.issn.1000-3428.2014.04.027 ( 0)
|
| [13] |
ZHANG Bin, GONG Xinxin, MEIER W. Fast correlation attacks on grain-like small state stream ciphers[J]. IACR Transactions on Symmetric Cryptology, 2017(4): 58-81. ( 0)
|
| [14] |
BANIK S.Some results on Sprout[C]//Proceedings of the 16th International Conference on Cryptology in India.Berlin, Germany: Springer, 2015: 124-139.
( 0)
|
| [15] |
TODO Y, ISOBE T, HAO Yonglin, et al.Cube attacks on non-blackbox polynomials based on division property[C]//Proceedings of the 37th Annual International Cryptology Conference.Berlin, Germany: Springer, 2017: 250-279.
( 0)
|
| [16] |
LI Gefei, YAROM Y, RANASINGHE D C.Exploiting transformations of the Galois configuration to improve guess-and-determine attacks on NFSRs[EB/OL].[2018-07-29].https://eprint.iacr.org/2015/1045.pdf.
( 0)
|
| [17] |
HAO Yonglin.A related-key chosen-Ⅳ distinguishing attack on full Sprout stream cipher[EB/OL].[2018-07-29].https://eprint.iacr.org/2015/231.pdf.
( 0)
|
| [18] |
LALLEMAND V, NAYA-PLASENCIA M.Cryptanalysis of full Sprout[C]//Proceedings of the 35th Annual Cryptology Conference.Berlin, Germany: Springer, 2015: 663-682.
( 0)
|
| [19] |
MAITRA S, SARKAR S, BAKSI A, et al.Key recovery from state information of Sprout: application to cryptanalysis and fault attack[EB/OL].[2018-07-29].https://eprint.iacr.org/2015/236.pdf.
( 0)
|
| [20] |
ESGIN M F, KARA O.Practical cryptanalysis of full Sprout with TMD tradeoff attacks[C]//Proceedings of the 22nd International Conference on Selected Areas in Cryptography.Berlin, Germany: Springer, 2016: 67-85.
( 0)
|
| [21] |
BIRYUKOV A, PERRIN L.State of the art in lightweight symmetric cryptography[EB/OL].[2018-07-29].https://eprint.iacr.org/2017/511.pdf.
( 0)
|
| [22] |
潘森杉, 夏文涛, 王良民. 流密码快速相关攻击综述[J]. 江苏大学学报(自然科学版), 2017, 38(5): 563-570. ( 0)
|
| [23] |
MANIFAVAS C, HATZⅣASILIS G, FYSARAKIS K, et al.Lightweight cryptography for embedded systems-a comparative analysis[C]//Proceedings of the 8th International Workshop on Data Privacy Management and Autonomous Spontaneous Security.Berlin, Germany: Springer, 2014: 333-349.
( 0)
|
2019, Vol. 45

,
0)