利索能及
我要发布
收藏
专利号: 202011216492X
申请人: 山东大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种Fountain轻量级加密算法的实现装置,其特征在于,包括状态控制单元、线性反馈移位寄存器、非线性变换盒、密钥流提取单元和反馈值生成单元;

所述状态控制单元用于调整和控制装置状态,根据装置当前所处阶段,控制输入和输出使能,控制密钥流产生;

所述线性反馈移位寄存器包括四个独立的64位移位寄存器,每位的状态为0或1,每个独立的64位移位寄存器同时包括一个或多个线性反馈函数,用于对当前线性反馈移位寄存器内64位内部状态产生线性变换;

所述非线性变换盒为4比特输入和4比特输出,共包含三种模式,在状态控制单元状态不同的情况下对4比特输入执行不同的非线性变换,对线性反馈移位寄存器的内部状态实现非线性变换;

所述密钥流提取单元包含密钥流提取函数,用于提取线性反馈移位寄存器的内部状态,在时钟信号的控制下,选取部分特殊位执行异或和与运算;

所述反馈值生成单元包括四个反馈值生成函数,在状态控制单元的控制下,根据线性反馈函数、非线性变换盒、密钥流提取单元和输入端口传入的数据产生反馈值,分别用于四个64位移位寄存器状态更新。

2.根据权利要求1所述的一种Fountain轻量级加密算法的实现装置,其特征在于,所述状态控制单元将Fountain整个加密流程分为:载入阶段、初始化阶段、处理关联数据阶段、处理明文阶段、结束阶段和验证标签输出阶段。

3.根据权利要求2所述的一种Fountain轻量级加密算法的实现装置,其特征在于,所述线性反馈移位寄存器分为两种状态:载入状态和工作状态;

在状态控制单元的控制下,线性反馈移位寄存器复位后首先进入载入状态,状态控制单元处于载入阶段,不需要考虑反馈值生成单元,而是以连续线性移位的方式将256位初始数据流载入4个独立的线性反馈移位寄存器内,第一个线性反馈移位寄存器的最低位连接第二个线性反馈移位寄存器的最高位,第二个线性反馈移位寄存器的最低位连接第三个线性反馈移位寄存器的最高位,第三个线性反馈移位寄存器的最低位连接第四个线性反馈移位寄存器的最高位;

所述线性反馈移位寄存器加载初始数据流后进入工作状态,四个线性反馈移位寄存器在线性反馈函数的基础上异或当前轮密钥流提取单元的结果作为反馈值,分别存入线性反馈移位寄存器的第63位;四个线性反馈移位寄存器在工作状态下互相独立,不会将某个线性反馈移位寄存器的最低位输出给另一个线性反馈移位寄存器的最高位。

4.根据权利要求2所述的一种Fountain轻量级加密算法的实现装置,其特征在于,所述非线性变换盒执行非线性变换时,首先将4比特的输入数据(x0,x1,x2,x3)代入S盒,输出4比特数据(m0,m1,m2,m3);

然后将S盒的输出数据执行比特重组,定义一个操作符号||为拼接两个二进制位,拼接

2 2

结果为在GF(2)上的元素,重组输出定义为在GF(2)上的列向量R,因此对于三种模式,重组函数定义为K模式、A模式和T模式,重组输出的列向量R在三种不同模式下生成如下:2

比特重组过程后,将列向量R在有限域GF(2)上乘以MDS矩阵 再将计算结果转为4比特二进制数作为非线性变换盒的输出结果SRmode(x0,x1,x2,x3),第1‑4位分别表示为

5.根据权利要求4所述的一种Fountain轻量级加密算法的实现装置,其特征在于,所述A模式仅用于处理关联数据阶段的第一个子阶段,T模式仅用于结束阶段,其他阶段均使用K模式。

6.根据权利要求4所述的一种Fountain轻量级加密算法的实现装置,其特征在于,所述反馈值生成单元反馈值li在不同阶段的反馈值生成函数不同,分别用于4个64位线性反馈移位寄存器内部状态更新,其中,i=0,1,2,3;

所述初始化阶段的反馈值生成函数如下:所述处理关联数据阶段包括两个子阶段,其中第一个子阶段反馈值生成函数如下:第二个子阶段与初始化阶段的反馈值生成函数相同;

所述处理明文阶段的反馈值生成函数如下:所述结束阶段的反馈值生成函数如下:所述验证标签输出阶段的反馈值生成函数如下:i

其中,f (x)表示第i个线性反馈移位寄存器的线性反馈函数, 表示非线性变换盒在mode比特重组模式下输出的第i位,mode表示比特重组模式,mode=K,A,T;h(x)表示密钥流提取单元输出结果,IN表示装置端口输入的1bit数据。

7.一种Fountain轻量级加密算法的实现方法,采用权利要求1‑6任一项所述的一种Fountain轻量级加密算法的实现装置,其特征在于,包括面积优化方法和并行方法;

所述面积优化方法以节约片上资源为目的,在FPGA中引入移位寄存器查找表SRL,采用

4个64位线性反馈移位寄存器,每个线性反馈移位寄存器分别包含一个线性反馈函数,单周期输出1比特数据;

所述并行方法以提高吞吐率为目标,所有线性反馈移位寄存器均以寄存器的形式实现,以降低最大路径延时,所述并行方法能够允许密码硬件结构在处理明文阶段一个周期内完成多轮状态更新,一周期输出多位密钥流,但其他阶段均保持一周期完成一轮状态更新,并行方法 含有一个参数w,表示并行宽度,需要将线性反馈移位寄存器中的线性反馈函数、密钥流提取单元和非线性变换盒复制w次,单周期输出w比特数据。

8.一种应用Fountain轻量级加密算法的方法,采用权利要求7所述的实现方法,其特征在于,该加密算法可用于Fountain流密码的生成,Fountain型密钥流生成器的生成、Fountain型MAC函数的生成,所述Fountain流密码支持关联数据加密验证,完成加密后会输出64bit或128bit的验证标签,用于带验证的加密应用;Fountain型密钥流生成器仅输出密钥流,不输出验证标签,用于无需验证的加密应用;Fountain型MAC函数不用于加密数据,而产生关联数据的消息认证码。

9.根据权利要求8所述的一种应用Fountain轻量级加密算法的方法,其特征在于,所述并行方法 不适用于Fountain型MAC函数。