(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210828915.6
(22)申请日 2022.07.15
(71)申请人 山东大学
地址 266200 山东省青岛市 即墨区滨 海路
72号
(72)发明人 杨刚强 牛庆芸 万志国 周洪超
熊海良
(74)专利代理 机构 青岛华慧泽专利代理事务所
(普通合伙) 37247
专利代理师 刘娜
(51)Int.Cl.
H04L 9/06(2006.01)
H04L 9/08(2006.01)
H04L 9/18(2006.01)
H04L 9/40(2022.01)
(54)发明名称
TRIAD轻量级流密码加密算法的芯片实现装
置及方法
(57)摘要
本发明公开了一种TRIAD轻量级流密码加密
算法的芯片实现装置及方法, 实现装置包括状态
控制单元、 线性反馈移位寄存器、 反馈生成函数
单元和输 出滤波函数单元; 状态控制单元用于调
整和控制装置状态, 根据装置当前所处阶段, 控
制输入和输出使能, 控制密钥流产生; 线性反馈
移位寄存器用于记录表示加密算法的256位内部
状态; 反馈生成函数单元在状态控制单元的控制
下执行更新; 输出滤波函数单元用于提取线性反
馈移位寄存器的内部状态, 在时钟信号的控制
下, 选取部分特殊位执行异或和与运算, 输出密
文或消息认证码。 本发明所公开的装置及方法设
计紧凑、 节约资源、 提升数据吞吐率, 为不同应用
场景提供参考, 以达到 保障机密性和完整性的安
全目的。
权利要求书3页 说明书10页 附图5页
CN 115208553 A
2022.10.18
CN 115208553 A
1.一种TRIAD轻量级流密码加密算法的芯片实现装置, 其特征在于, 包括状态控制单
元、 线性反馈移位寄存器、 反馈生成函数 单元和输出 滤波函数 单元;
所述状态控制单元用于调整和控制装置状态, 根据装置当前所处阶段, 控制输入和输
出使能, 控制密钥流产生;
所述线性反馈移位寄存器包括一个80比特的线性反馈移位寄存器 a和两个88比特的线
性反馈移位寄存器b和c, 每位的状态为0或1, 用于记录表示加密算法的25 6位内部状态;
所述反馈生成函数单元设置输入端口IN, 其核心部分为状态更新函数TriadUpd, 在状
态控制单元的控制下, 状态更新函数TriadUpd执行更新, 即根据线性反馈移位寄存器的值
和数据msg产生反馈值 来更新三个线性反馈移位寄存器的内部状态值;
所述输出滤波函数单元包含Triad密钥流输出函数, 用于提取线性反馈移位寄存器的
内部状态, 在时钟信号的控制下, 选取部 分特殊位执行异或和与运算, 输出密 文或消息认证
码。
2.一种TRIAD轻量级流密码加密算法的实现方法, 采用如权利要求1所述的实现装置,
其特征在于, 包括加密过程和 消息认证码生成过程。
3.根据权利要求2所述的实现方法, 其特 征在于, 所述加密过程包括如下阶段:
(1)加载阶段: 复位后, 清空线性反馈移位寄存器, 状态控制单元进入加载阶段, 控制每
个线性反馈移位寄存器的最低位为上一个线性反馈移位寄存器的最高位, 构成一个256比
特的连续线性反馈移 位寄存器; 由输入端口IN载入密钥、 初始向量和常数, 每个时钟周期载
入1比特的值, 加载后的线性反馈移位寄存器得到 了初始值;
(2)初始化阶段: 状态控制单元控制装置进入初始化阶段, 状态更新函数TriadUpd共执
行1024轮更新, 每一轮都要一个时钟周期, 每轮的数据msg由输入端口IN载入, 每轮的数据
msg都是1比特0;
(3)处理明文阶段: 进入工作模式, 状态更新函数TriadUpd执行更新, 此时每轮吸收数
据msg为1比特0; 输出滤波函数单元提取线性反馈移位寄存器的部分位, 利用其中的Triad
密钥流输出函数生 成1比特密钥流, 然后将密钥流与输入端口IN载入的明文进 行异或运算,
生成1比特密文;
(4)重复步骤(3), 直到所有明文被载入并与密钥流进行了异或运 算, 生成密文并输出。
4.根据权利要求2所述的实现方法, 其特征在于, 所述消息认证码生成过程包括如下阶
段:
(1)加载阶段: 复位后, 清空线性反馈移位寄存器, 状态控制单元进入加载阶段, 控制每
个线性反馈移位寄存器的最低位为上一个线性反馈移位寄存器的最高位, 构成一个256比
特的连续线性反馈移 位寄存器; 由输入端口IN载入密钥、 初始向量和常数, 每个时钟周期载
入1比特的值, 加载后的线性反馈移位寄存器得到 了初始值;
(2)初始化阶段: 状态控制单元控制装置进入初始化阶段, 状态更新函数TriadUpd共执
行1024轮更新, 每一轮都要一个时钟周期, 每轮的数据msg由输入端口IN载入, 其中, 第一轮
载入的数据m sg是1比特1, 后面的1023轮载入的数据m sg是1比特0;
(3)处理关联数据阶段: 由输入端 口IN载入关联数据, 并对关联数据进行长度填充; 假
设关联数据A中有a dlen字节, 填充后的关联数据用
表示,
的字节大小变为a dlen+7, 将填
充后的关联数据一位一位载入作为数据msg, 状态更新函数Tr iadUpd执行更新, 直到所有关权 利 要 求 书 1/3 页
2
CN 115208553 A
2联数据被载入;
(4)处理明文阶段: 由输入端口IN载入明文, 将明文一位一位载入作 为数据msg, 状态更
新函数TriadUpd执 行更新, 直到所有明文被载入;
(5)最终化阶段: 状态控制单元控制装置进入最终化阶段, 共执行1024轮, 每轮需要一
个时钟周期, 每个时钟周期更新所需的数据msg由输入端口IN载入, 该过程与初始 化阶段操
作相同, 第一轮载入的数据m sg是1比特1, 后面的1023轮载入的数据m sg是1比特0;
(6)生成消息认证码阶段: 状态更新函数Tri adUpd执行64轮更新, 每轮从输入端口IN载
入的数据msg为 1比特的0; 输出滤波函数单元提取线性反馈移 位寄存器的部分位, 利用其中
的Triad密钥流输出函数生成64 位消息认证码并输出。
5.根据权利要求3或4所述的实现方法, 其特征在于, 所述加载阶段中, 输入值顺序为a
[80]…a[1],b[88] …b[1],c[88] …c[1], 其中, a[80]代表线性 反馈移位 寄存器a的第80位,
a[1]代表第一个线性反馈移位寄存器a的第1位, b[88]为线性反馈移位寄存器b的第 88位, b
[1]代表线性反馈移位寄存器b的第1位, c[88]代表线性反馈移位寄存器c的第 88位, c[1]代
表线性反馈移位寄存器c的第1位;
加载阶段完成后, 三个线性反馈移位寄存器的值分别设置为:
a[1:80]=(N[0],K[4],co n[3],K[3],co n[2],K[2],co n[1],K[1],co n[0],K[0]);
b[1:88]=(N[1 1],N[10], …,N[1]);
c[1:88]=(K[15],K[14], …,K[5]);
a[1:80]代表线性反馈移位寄存器a的第1位到第80位, b[1:88]代表线性反馈移位寄存
器b的第1位到第 88位, c[1:88]代表线性反馈移位寄存器c的第1位到第88位, N[0]代表输入
的初始向量的第0字节, K[4]代表输入的密钥的第4字节, con[3]代表输入的常数的第3字
节, 以此类 推。
6.根据权利要求3或4所述的实现方法, 其特征在于, 状态更新函数TriadUp d执行更新
的方法如下:
其中, rt、 pt、 qt分别为线性反馈移位寄存器a、 b和c的更新状态位, a[68]为线性反馈移
位寄存器a的第68位, b[64]为线性反馈移位寄存器b的第64位, c[68]为线性反馈移位寄存
器c的第68位, 以此类 推;
rt、 pt、 qt被三个线性反馈移位寄存器a、 b和c吸 收如下:
(a[1],a[2], …,a[80])←(rt,a[1],…,a[79])
(b[1],b[2], …,b[88])←(pt,b[2],…,b[87])
(c[1],c[2], …,c[88])←(qt,c[1],…,c[87])
如此, 完成了三个线性反馈移位寄存器的反馈更新。
7.根据权利要求3所述的实现方法, 其特征在于, 加密过程的处理明文阶段中, 密文C
[i]的生成方法如下:
权 利 要 求 书 2/3 页
3
CN 115208553 A
3
专利 TRIAD轻量级流密码加密算法的芯片实现装置及方法
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:03:40上传分享