[发明专利]一种Fruit-80超轻量级加密算法的硬件实现装置及方法有效
申请号: | 202110992148.8 | 申请日: | 2021-08-27 |
公开(公告)号: | CN113612609B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 杨刚强;石正源 | 申请(专利权)人: | 山东大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 青岛华慧泽专利代理事务所(普通合伙) 37247 | 代理人: | 刘娜 |
地址: | 250013 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fruit 80 轻量级 加密算法 硬件 实现 装置 方法 | ||
1.一种Fruit-80超轻量级加密算法的硬件实现装置,其特征在于,包括密钥轮转函数、非线性反馈移位寄存器、线性反馈移位寄存器、密钥流输出函数和状态控制单元;
所述密钥轮转函数用于为状态更新和密钥流生成提供两个密钥相关位k′和k*,所述密钥轮转函数包括三部分:7比特计数器c、时钟控制器、密钥存储单元、密钥相关位生成单元;
所述非线性反馈移位寄存器和线性反馈移位寄存器存储有Fruit-80的内部状态,分别包含一个非线性反馈函数和一个线性反馈函数,根据这两个函数,非线性反馈移位寄存器和线性反馈移位寄存器随着每时钟周期更新内部状态;所述非线性反馈移位寄存器和线性反馈移位寄存器的部分位作为所述密钥流输出函数的自变量,用于输出密钥流;
所述非线性反馈函数的自变量包含非线性反馈移位寄存器、线性反馈移位寄存器的最低位和密钥轮转函数的一个密钥相关位k′;
所述线性反馈函数的自变量仅包含线性反馈移位寄存器;
所述密钥流输出函数包括线性部分和非线性部分,每轮提取非线性反馈移位寄存器与线性反馈移位寄存器的内部状态,并引入另一个密钥相关位k*,生成密钥流用于加密;
所述状态控制单元用于指示硬件实现装置处于的密码阶段,协调非线性反馈移位寄存器和线性反馈移位寄存器的状态更新,所述状态控制单元包括一个状态机和一个7比特计数器c′,所述状态机将加密算法的五个阶段用五个独热码编码的状态表示,占用5比特;所述7比特计数器c′用于与密钥轮转函数的7比特计数器c对比,保证密钥轮转函数与状态控制单元同步;
所述加密算法的五个阶段包括:
(1)空闲状态阶段:装置复位后,状态控制单元首先进入空闲状态,清空非线性反馈移位寄存器与线性反馈移位寄存器;
(2)载入密钥阶段:随后在下一个周期进入载入密钥阶段,非线性反馈移位寄存器与线性反馈移位寄存器首尾相连,形成80位的移位寄存器,共执行80轮载入80位的密钥key;80轮后,非线性反馈移位寄存器与线性反馈移位寄存器的内部状态为:
n[0:36]=key[0:36]
l[0:42]=key[37:79]
(3)载入初始向量阶段:状态控制单元进入载入初始向量阶段,持续80位,输入端口IN逐位载入初始向量IV′,该位与密钥流输出函数进行异或运算,并在状态控制单元的控制下与非线性反馈函数和线性反馈函数异或运算后反馈至非线性反馈移位寄存器与线性反馈移位寄存器的最高位;
(4)初始化阶段:状态控制单元进入初始化阶段,更新7比特计数器c′:c′0=n0,c′1=n1,…,c′5=n5,c′6=l0;当出现密钥轮转函数的7比特计数器c与7比特计数器c′不匹配时,此时状态控制单元控制非线性反馈移位寄存器与线性反馈移位寄存器不进行状态更新,7比特计数器c′不更新;仅有密钥轮转函数的循环反馈移位寄存器循环移位,7比特计数器c更新直到c=c′;随后持续80轮更新非线性反馈移位寄存器和线性反馈移位寄存器,在此阶段二者的最高位仅分别由g(*)和f(*)驱动,密钥流输出函数h(*)不参与状态更新;
(5)密钥流生成阶段:最后,状态控制单元进入密钥流生成阶段,持续此阶段直到再次收到复位信号;状态控制单元控制密钥流输出函数和初始向量IV′不参与内部状态更新;在这一阶段中,在并行方案下,每个时钟周期更新w轮内部状态,在面积优化方案下w=1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110992148.8/1.html,转载请声明来源钻瓜专利网。