(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111402291.3
(22)申请日 2021.11.24
(71)申请人 衡阳师范学院
地址 421008 湖南省衡阳市雁峰区黄白路
165号
(72)发明人 黄现彤 李浪 黄莹 张洪
李遇缘 陈文
(74)专利代理 机构 长沙市融智专利事务所(普
通合伙) 43114
代理人 姚瑶
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/40(2022.01)
H04L 67/12(2022.01)
(54)发明名称
一种适用 于车联网终端的轻量级分组密码
IoVCipher实现方法及其系统
(57)摘要
本发明公开了一种适用于车联网终端的轻
量级分组密码IoVCipher实现方法及其系 统, 用
于在车联网终端的CAN总线下, 对ECU之间的数据
传递进行安全防护。 其根据CAN总线的数据帧格
式, 分组长度设为64位和32位。 并优选在F1函数
的expanding操作中, 通过采用CAN ID的前4位对
数据进行扩展, 使每个ECU都具有唯一的一个加
密流程, 从而增强车联网 的安全性。 随后, F1函数
再通过squeezing操作, 对数据进行压缩操作。 此
外本发明在非线性部分更优选利用元胞自动机
规则技术, 使8 ×8S盒具有低功耗以及高安全的
特性。 进而实现了一种适用于车联网并具备低 延
迟、 低功耗、 高安全特点的加解密技 术。
权利要求书3页 说明书13页 附图2页
CN 114024675 A
2022.02.08
CN 114024675 A
1.一种适用于车联网终端的轻量级分组密码IoVCipher实现方法, 其特征在于: 用于对
车联网终端中的数据进行加密, 其包括以下步骤:
S1: 获取明文数据和初始密钥;
S2: 将明文数据分成每组64位的明文数据组或32位的明文数据组, 初始密钥分成128位
的初始密钥数据组, 且每组明文数据组对应一组初始密钥数据;
S3: 通过新型广义Feistel结构的轮函数对输入 的明文数据组进行迭代加密操作得到
加密结果;
其中, 每一轮迭代加密时, 将前一轮迭代加密得到的中间数据组作为下一轮迭代加密
的明文数据 组, 且每一轮迭代加密时, 针对每组明文数据 组分别基于对应初始密钥得到32
位或16位子密钥数据组, 其中, 64、 32位明文数据组分别对应32、 16位子密钥数据组。
2.根据权利要求1所述的方法, 其特征在于: 所述轮函数包括F1函数操作, 所述F1函数操
作至少包括expandi ng操作和sque ezing操作, 所述expandi ng操作的执 行过程如下:
a1: 将输入F1函数操作的16位数据记作H, 并分为4部分H=H0||H1||H2||H3, 任一部分均
为4位, 第i个部分Hi表示为: Hi=H(i,0)||H(i,1)||H(i,2)||H(i,3), (0≤i≤3), H(i,0)||H(i,1)||
H(i,2)||H(i,3)分别表示部分Hi中的1‑4位;
a2: 利用车 联网中CAN ID的前4位分别对H的每 个部分进行扩展得到 32位中间组;
所述sque ezing操作用于将32位数据进行压缩得到16位输出 结果。
3.根据权利要求2所述的方法, 其特 征在于: 步骤a2中扩展后的中间数据组表示 为:
E=D0||H(0,0)||H(0,1)||D1||D2||H(0,2)||H(0,3)||D3||D0||H(1,0)||H(1,1)||D1||D2||H(1,2)||
H(1,3)||D3||D0||H(2,0)||H(2,1)||D1||D2||H(2,2)||H(2,3)||D3||D0||H(3,0)||H(3,1)||D1||D2||
H(3,2)||H(3,3)||D3; 其中, D0||D1||D2||D3为CAN ID的前4位。
4.根据权利要求2所述的方法, 其特征在于: 所述expanding操作和所述squeezing操作
之间还执行: S盒置换, 其中, 将expanding操作后得到的结果分为4部分, 每部分为8位, 再进
行8×8的S盒置换操作, 得到 32位的中间结果E ′;
其中, 所述S盒置换中的8 ×8的S盒是利用元 胞自动机规则技 术进行设计, 过程如下:
b1: 将输入的8位数据L分成两 部分, 记为: L =L0||L1, L0||L1分别表示数据L的两 部分;
b2: 取L0=M0||M1||M2||M3进行P置换得到中间结果L ′0=M0||M2||M3||M1, 其中, M0||M1||
M2||M3分别表示数据L0中的1‑4位;
b3: 将步骤b2得到的中间结果L ′0进行4×4的S盒置换得到中间结果L ″0, 其中, 4×4S盒
为 《Lightweight and Side‑channel Secure 4×4S‑Boxes from Cellular Automata
Rules》 论文中(1, 2, 2)类S盒中的一个;
b4: 将步骤b3操作得到的中间结果L ″0与S盒轮常数进行按位异或得到中间结果L ″ ′0, 其
中, S盒轮常数 是当前生成S盒的迭代次数;
b5: 将步骤b4操作得到的中间结果 L″ ′0与L1相互进行按位异或得到中间结果 L′1;
b6: 将当前一轮的中间结果表示 为: T=L′1||L0;
b7: 将中间结果T作为输入数据, 重复步骤b2 ‑b6以进行SRr轮迭代操作, 得到8 ×8S盒的
输出结果, SRr为S盒置换的总轮数。
5.根据权利要求1所述的方法, 其特征在于: 将每组128位的初始密钥记作K=K0||K1||
K2||K3||K4||K5||K6||K7, 其中第j组Kj为16位, 0≤j≤7, 每一轮迭代加密时, 基于初始密钥权 利 要 求 书 1/3 页
2
CN 114024675 A
2得到32位或16位子密钥数据组的过程如下:
c1: 如果中间数据组为64位, 每一轮在初始密钥数据组中取32位初始密钥, 表示为:
如果中间数据组为32位, 每一轮在初始密钥数据组中取16位初始密钥,
表示为:
其中, Nr为当前轮数,
分别表示在初始密钥中Nr‑1除以
8并取余确定的一组数据、 Nr除以8并取余确定的一组数据;
c2: 不论中间数据组为64位或者32位, 均将
的高5位与轮常数进行异或得到
其中, 轮常数为当前轮函数的迭代次数;
c3: 将步骤c2操作后得到的结果
循环右移3位得到
c4: 取步骤c 3得到的结果
中后8位进行S盒置换 得到中间结果
其中, 若如果中间数据组为64位, 再将步骤c4操作后得到的中间结果
与
相互进行按位异或得到中间结果
c5: 按照如下规则得到第Nr轮的子密钥数据组, 其中, 若中间数据组为64位, 子密钥为
若中间数据组为32位, 子密钥数据组为
6.根据权利要求1所述的方法, 其特征在于: 所述轮函数包括F1函数操作、 按位异或操
作、 轮密钥加操作、 RP置换操作;
其中, 所述RP置换操作的过程表示 为:
如果中间数据组为64位, 将经过轮密钥加后得到的结果记作G, 再从高位到低位以每8
位进行划分G=G0||G1||G2||G3||G4||G5||G6||G7, 经过RP置换后结果记作G ′: G′=G6||G3||G7
||G2||G1||G4||G0||G5;
如果中间数据组为32位, 将经过轮密钥加后得到的结果记作G, 再从高位到低位以每8
位进行划分 G=G0||G1||G2||G3, 经过RP置换后结果记作G ′: G′=G2||G3||G0||G1。
7.一种适用于车联网终端的轻量级分组密码IoVCipher实现方法, 其特征在于: 用于对
基于权利要求1 ‑6任一项所述方法生成的加密数据进行解密, 其包括以下步骤:
S1‑1: 获取密文数据组和初始密钥组, 其中密文数据组为根据权利 要求1‑6任一所述的
方法得到的加密结果;
S1‑2: 将密文数据组分成每组64位的密文数据组或32位的密文数据组, 初始密钥分成
128位的初始密钥数据组, 且参照加密过程的对应 关系, 每组密 文数据组对应一组初始密钥
数据;
S1‑3: 通过型广义Feistel结构的轮函数对输入的密文数据组进行迭代解密操作得到
解密结果;
其中, 每一轮解密时, 将前一轮迭代解密得到的中间数据组作为下一轮迭代解密的密
文数据组, 且第N轮解密时的子密钥数据组对应于第Rr ‑N+1轮加密时的子密钥数据组, Rr 为
迭代总数。
8.一种基于权利要求1 ‑6任一项所述方法或权利要求7所述方法的系统, 其特征在于:
包括:权 利 要 求 书 2/3 页
3
CN 114024675 A
3
专利 一种适用于车联网终端的轻量级分组密码IoVCipher实现方法及其系统
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 04:21:39上传分享