一种低延迟密码算法LLBC的实现方法及系统技术方案

技术编号:38263478 阅读:25 留言:0更新日期:2023-07-27 10:22
本发明专利技术公开了一种低延迟密码算法LLBC的实现方法及系统,包括:获取明文作为待加密数据或密文作为待解密数据;若是加密运算,利用子密钥对待加密数据执行R轮加密运算得到密文,即将待加密数据均分为两部分L

【技术实现步骤摘要】
一种低延迟密码算法LLBC的实现方法及系统


[0001]本专利技术属于信息安全中分组密码
,具体涉及一种低延迟密码算法LLBC的实现方法及系统。

技术介绍

[0002]分组密码作为主流的信息加密技术,在网络与信息安全领域发挥着重要的作用。为满足资源受限环境下的安全需求,特别是实时、快速响应多场景(终端)的需求(比如实时认证、内存加密、车联网设备及新型电网智能巡检机器人等),轻量级、低延迟密码算法的专利技术设计应运而生。
[0003]过去十余年,学术界已经有许多著名的低延迟密码算法的设计实例,比如PRINCE,PRINCEv2,MANTIS,QARMA,MIDORI,SPEEDY,SCARF,LLLWBC和SAND。在CHES 2012上,学者通过对比多个轻量级分组密码的延迟属性得到结论:在延迟性需求方面,使用密码学性质较优的4比特或3比特S盒通常比大尺寸密码S盒更有优势。在ASIACRYPT 2012上,一个低延迟分组密码PRINCE被提出。该算法具有64比特数据分组长度和128比特的密钥长度;算法需要迭代12轮。PRINCE通过本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种低延迟密码算法LLBC的实现方法,其特征在于:包括以下步骤:步骤1:获取128比特明文作为待加密数据或密文作为待解密数据;步骤2:若是加密运算,利用子密钥对所述待加密数据执行R轮加密运算得到密文;若是解密运算,利用子密钥对所述待解密数据执行R轮解密运算得到明文;其中,按照从高到低的顺序先将所述待加密数据均分为两部分L
i
,R
i
,每一轮加密运算为:对数据L
i
并列执行循环位移加S1盒置换、循环位移加S2盒置换;再将S1盒置换和S2盒置换的结果作为M函数的两个输入得到输出M,再利用输出M、子密钥以及数据R
i
进行异或运算更新L
i+1
,以及利用数据L
i
、子密钥、轮常数进行异或运算更新R
i+1
;若当前轮次i并非第R轮,则进入下一轮的加密运算;S1盒和S2盒是通过搜索4比特的S盒中门深度为3且等效门数在20以内的两组S盒;所述解密运算为所述加密运算的逆序执行,且R轮解密运算的子密钥使用顺序与R轮加密运算的子运算的顺序相反。2.根据权利要求1所述的方法,其特征在于:S1盒置换和S2盒置换对应的置换表如下:式中,x为16进制中0

F中任意一个数,即对应S盒置换之前的数据,S1(x)为S1盒置换的输出,S2(x)为S2盒置换的输出;对数据L
i
执行两次循环位移后的数据L
i1
、L
i2
按照所述置换表分别执行S1盒置换、S2盒置换,具体为:将数据L
i1
、L
i2
均划分为十六个4比特;再合并为半字节;利用所述半字节查询所述置换表得到置换结果。3.根据权利要求1或2所述的方法,其特征在于:S1盒置换和S2盒置换对应S盒门深度为3,等效门数为18.5。4.根据权利要求1所述的方法,其特征在于:数据L
i+1
以及R
i+1
的更新公式如下:的更新公式如下:式中,RK

i[64]
、RK
i[64]
均为当前轮次i的子密钥RKi的64比特数据;RC
i
为当前轮次i的轮常数。5.根据权利要求1所述的方法,其特征在于:所述M函数的执行过程为:a)将S1盒置换和S2盒置换的结果作为M函数的两个输入M
L
、M
R
,再执行然后将得到的M

R
循环左移b1比特,即M

R
=M

R
<<<b1;b)先将M

R
与M
L
进行异或运算,即再将M

L
进行循环左移b2比特得到M

L
=M

L
<<<b2;c)先将M

R
与M

L
进行异或运算,即再将M
″′
R
进行循环左移b1比特得到M
″″′
R
=M
″′
R
<<<b1;d)将M

L
与M
″″
R
进行异或运算,即再将M
″′
L
进行循环左移b2比特得到M
″″
L
=M
″′
L...

【专利技术属性】
技术研发人员:李永超韦永壮冯景亚林灵
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

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

1