面向资源受限的设备通信的轻量级认证加解密方法与装置制造方法及图纸

技术编号:36883355 阅读:15 留言:0更新日期:2023-03-15 21:20
本发明专利技术公开面向资源受限的设备通信的轻量级认证加解密方法与装置。本发明专利技术提出的面向资源受限的设备通信的认证加解密方法BAMBOO

【技术实现步骤摘要】
面向资源受限的设备通信的轻量级认证加解密方法与装置


[0001]本专利技术属于信息安全
,具体而言,涉及于工业互联网统一身份认证平台的一种轻量级认证加密方法及其装置,具体是一种面向资源受限的设备通信的轻量级认证加解密方法与装置。

技术介绍

[0002]随着信息安全技术的飞速发展,新的应用环境对算法的安全强度、算法功能提出了新的指标,也导致了传统算法在新环境下“水土不服”。认证和数据加密技术的相关技术主要面向传统IT网络,对工业互联网环境中海量用户、系统的计算资源受限,设备型号服务异构性大,实时性要求高等情况考虑不足。事实上,认证加密是一个成长中的概念,不同阶段、不同的环境对它有着不同的要求,目前人们还没有给出一个最终定论。直接设计的认证加密算法,种类多,效率高,是未来发展的趋势,但是安全性基础不够坚固,安全性分析评估有待深入研究。进一步地,当前对轻量级认证加密算法的研究更少,如何在资源极度紧张的前提下设计一个安全高效的认证加密算法,这也是国际正在关注的一个热点问题。因此,针对工业互联网环境设计安全高效认证加密算法势在必行。

技术实现思路

[0003]本专利技术的第一个目的在于针对现有技术的不足,提供一种适用于工业互联网环境下资源受限设备间通信的安全高效轻量级认证加解密装置,能够实现对任意相关数据以及任意的明文进行资源消耗较小的加解密处理,提高加解密与认证的效率与安全性。
[0004]本专利技术BAMBOO

64轻量级认证加解密方法包括数据变换(简称:Perm)流程、中间状态预处理流程、加密处理流程、解密处理流程;
[0005]所述数据变换流程,用于对数据进行数据变换,具体包含以下处理步骤:
[0006]步骤S11:数据三维化
[0007]给定一维数据串D,按公式(1)的坐标映射关系构建出一个3
×
16
×
4的三维数据矩阵S
D

[0008]S
D
[x,y,z]=D[48z+3y+x]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0009]其中,x,y,z表示三维矩阵S
D
中一个数据的三轴坐标;D[]表示原一维数据中该数据的位置。
[0010]步骤S12:三维数据矩阵变换处理
[0011]步骤S121:初始化数据变换次数r为0
[0012]步骤S122:对三维数据矩阵S
D
沿着x轴变换:
[0013]依次遍历y,z轴,每次对数据矩阵S
D
中y,z坐标相同的三个数据按公式(2)进行变换计算,遍历完成后获得x轴变换后的数据矩阵S
x

[0014][0015]其中,表示对S
D
中坐标为[x,y,z]的数据取反,mod表示取余运算,表示
异或运算。
[0016]步骤S123:对沿x轴变换后的矩阵S
x
沿着y轴变换:
[0017]依次遍历x,z轴,每次对矩阵S
x
中x,z坐标相同的16个数据按y坐标从小到大的顺序排列成数据串R,根据这组数据x坐标的值进行如下操作:
[0018]若x=0则
[0019]若x=1则
[0020]若x=2则
[0021]其中<<<表示循环左移,表示按位异或;
[0022]对R进行如上操作后,用R将S
x
中原位置的16个数据更新替换,遍历完成后得到沿x轴与y轴变换后的矩阵S
xy

[0023]步骤S124:对沿x轴与y轴变换后的矩阵S
xy
沿着z轴变换:
[0024]依次遍历x,y轴,每次对矩阵S
xy
中x,y坐标相同的4个数据按公式(3)进行平移变换计算,遍历完成后获得对一组三个数据变换完成后的数据S
xyz

[0025]S
xyz
[x,y,z]=S
xy
[x,3y,(z+x)mod4]ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0026]步骤S125:按公式(4)将S
xyz
中x,y坐标为0的数据与数据变换的次数r的四位二进制表示的第z位一一进行异或操作,得到更新后的数据S
xyz

[0027][0028]步骤S126:对原数据进行更新
[0029]判断是否达到数据变换的最大次数,若是则输出当前数据变换的次数下步骤S214更新后的数据S
xyz
,若否则更新S
D
为当前数据变换的次数下步骤S214更新后的数据S
xyz
,更新r=r+1,重复步骤S122

S126;
[0030]作为优选,本实施例数据变换的最大次数取12次。
[0031]步骤S13:数据S
xyz
按照原一维数据串D的数据坐标对应关系进行更新,得到经过变换后的数据Perm(D)。
[0032]Perm(D)[48z+3y+x]=S
xyz
[x,y,z][0033]所述中间状态预处理流程,用于根据通信双方设备提前制定好的初始向量、密钥、新鲜值与通信发起方设定的相关数据A相结合处理,并生成用于通信双方各自的加密处理流程与解密处理流程的第三中间状态G3,具体包含以下处理步骤:
[0034]步骤S21:双方通信设备公开约定a位的初始向量IV,b位的新鲜值N,秘密协商c位的密钥K。其中:a,b,c满足a+b+c=192,同时c大于等于64,同时消息发起方将明文附加信息(例如包头信息等)公开为通信数据A。
[0035]将初始向量IV,新鲜值N以及密钥K按IV||K||N的顺序拼接为192位初始中间状态G0,其中符号||表示对两侧的数据进行拼接。
[0036]步骤S22:双方通信设备分别使用所述数据变换流程对初始中间状态G0进行变换,得到变换后的初始中间状态Perm(G0);然后将变换后的初始中间状态Perm(G0)按公式(5)与零扩充到192位的密钥K异或,由此发信方Se与收信方Re可获得相同的第一中间状态G1:
[0037][0038]步骤S23:对通信数据A进行分块处理:
[0039]判断通信数据A是否为0,若是则认为通信数据A为空,反之则继续判断A是否为64的相关倍数,若A的长度不为64的倍数,则在A的末位附加上一个1以及数个0使得A的长度是64的倍数,否则不对A作处理。
[0040][0041]将上述处理后的通信数据A进行分割,得到m个分块A
i
(i=1,

,m)。
[0042]步骤S24:双方通信设备将第一中间状态G1按公式(7)与零填充至192位后的常数1异或,由此发信方Se与收信方Re可获得相同的第二中间状态G2;
[0043][0044]步骤S25:利用数据变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向资源受限的设备通信的轻量级认证加解密方法,其特征在于包括数据变换流程、中间状态预处理流程、加密处理流程、解密处理流程;所述数据变换流程,用于对数据进行数据变换,具体是:步骤S11:数据三维化给定一维数据串D,按公式(1)的坐标映射关系构建出一个3
×
16
×
4的三维数据矩阵S
D
:S
D
[x,y,z]=D[48z+3y+x]
ꢀꢀꢀꢀ
(1)其中,x,y,z表示三维矩阵S
D
中一个数据的三轴坐标;D[]表示原一维数据中该数据的位置;步骤S12:三维数据矩阵变换处理;步骤S13:数据S
xyz
按照原一维数据串D的数据坐标对应关系进行更新,得到经过变换后的数据Perm(D);所述中间状态预处理流程,用于根据通信双方设备提前制定好的初始向量、密钥、新鲜值与通信发起方设定的相关数据A相结合处理,并生成用于通信双方各自的加密处理流程与解密处理流程的第三中间状态G3;所述加密处理流程,是资源受限的发信方设备Se用于根据其从中间状态预处理流程得到的第三中间状态G3,对所要发送给资源受限的发信方设备Se的数据进行加密,同时获得认证标签,具体是:步骤S31:发信方设备Se按公式(9)判断需要加密发送的明文P长度是否为0,若是则认为明文P为空,反之则继续判断明文P是否为64的相关倍数,若明文P的长度不为64的倍数,则在明文P的末位附加上一个1以及数个0使得P的长度是64的倍数,若数据P的长度为64的倍数,则不对数据P作处理;最后对处理后长度为64倍数的明文P进行分块处理,得到t块明文块P1,

,P
t
:步骤S32:发信方设备Se利用初始向量IV,新鲜值N以及密钥K,以及通信数据A使用所述中间状态预处理流程处理得到第三中间状态G3,并按公式(10)将G3与零填充至192位的常数2异或,由此可得到第四中间状态S0:步骤S33:发信方设备Se对前t

1个明文分块P
i
获取中间状态S
i
和密文块C
i
;步骤S331:初始化对第四中间状态S0利用所述数据变换流程进行数据变换,得到数据变换后的第四中间状态Perm(S0);步骤S332:发信方设备Se对每一个明文分块P
i
尾部填充128个0,然后将其与上一个明文分块对应的数据变换后的第四中间状态Perm(S
i
‑1)相异或,得到当前明文分块P
i
对应的更新后第四中间状态S
i
;步骤S333:截取更新后第四中间状态S
i
的最高64位数据作为密文块C
i
(i=1,

,t

1);
其中,mbs
64
(S
i
)表示取截S
i
的最高64位;步骤S34:发信方设备Se对最后一个明文分块P
t
获取中间状态S
t
和密文块C
t
;步骤S341:为了获得发信方设备Se需要发送的数据的最后一个密文块C
t
,发信方设备Se按公式(12)得到中间状态S
t
;步骤S342:判断P
t
的长度是否为64的相关倍数,若是则截取中间状态S
t
的最高|P|mod 64位数据作为最后一个密文块C
t
,若否则截取中间状态S
t
的最高64位数据作为最后一个密文块C
t
,即公式(13);步骤S35:将中间状态S
t
按公式(14)处理后得到认证标签T;步骤S36:将由步骤S33和步骤S34得到的密文块按序拼接得到发信方设备Se需发送数据加密后的密文C,最后将密文C与认证标签T发送给收信方设备Re;所述解密模块,用于收信方Re利用中间状态初始化模块得到的第三中间状态G3,与从发信方Se收到的密文C进行解密,并根据收到的认证标签T是否正确进而判断收到的信息是否正确,具体是:步骤S41:收信方设备Re按公式(15)判断接收到的密文C长度是否为0,若是则认为密文C为空,反之则继续判断密文C的长度是否为64的相关倍数,若密文C的长度不为64的倍数,则在密文C的末位附加上一个1以及数个0使得密文C的长度是64的倍数,若密文C的长度为64的倍数,则不对密文C作处理;最后对处理后长度为64的倍数的密文C进行分块处理,得到r块明文块C1,

,C
r
:步骤S42:收信方Re利用初始向量IV,新鲜值N以及密钥K,以及通信数据A,使用中间状态初始化模块得到的第三中间状态G3,将第三中间状态G3按公式(16)与零填充至192位后的常数2按位异或处理,获得第四中间状态S0;步骤S43:按公式(17),除了最后一个密文分块,每一个密文分块都在尾部填充128个0后与经过数据变换后的第四中间状态Perm(S
i
‑1)相异或,并截取S的最高64位数据作为明文块P
i
(i=1,

,r

1);步骤S44:收信方Re对最后一个密文块C
r

【专利技术属性】
技术研发人员:崔婷婷奚铁琦郑秋华吴铤周迪刘效国翁天翎葛轩一
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1