抗侧信道攻击的QUAD流密码生成装置制造方法及图纸

技术编号:22242440 阅读:30 留言:0更新日期:2019-10-09 21:52
本申请公开了一种抗侧信道攻击的QUAD流密码生成装置,包括乱序下标控制器、单项式生成器和多个寄存器。乱序下标控制器用于通过乱序生成单项式下标值的方式来生成多个单项式下标值;单项式生成器用于按照单项式下标值的生成顺序,依次计算多个单项式;每个寄存器分别用于,获取属于同一所述多变量二次方程的多个单项式并依次累加,生成QUAD流密码。本申请通过打乱各个单项式的计算顺序,并对多个单项式进行累加,生成QUAD流密码,使带有该抗侧信道攻击的QUAD流密码生成装置的电子设备产生的具有相同密钥信息的侧信道信息出现在不同时刻,从而减少了寄存器存储操作的功耗曲线与密钥信息的相关性,使QUAD流密码的安全性更高,进而有效抵御侧信道攻击。

QUAD Stream Cryptography Generator Against Side Channel Attack

【技术实现步骤摘要】
抗侧信道攻击的QUAD流密码生成装置
本申请涉及信息安全
,尤其涉及一种抗侧信道攻击的QUAD流密码生成装置。
技术介绍
QUAD是一组基于有限域上多变量二次方程组构造的可证明安全的流密码。多变量二次方程可以表示如下:Q(x)=∑1≤i≤j≤nαijxixj+∑1≤i≤nβijxi+γ侧信道攻击(sidechannelattack简称SCA),又称旁路攻击,是一种针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法。这种攻击方法给密码设备带来了严重的威胁。传统应对侧信道攻击的方法,通常在加密时直接按照相同顺序对多个多变量二次方程中的每一个单项式进行计算,再把每个单项式的计算结果累加后暂存于寄存器,生成QUAD流密码,进而抵御侧信道攻击。但若攻击者通过对每个多变量二次方程相应寄存器存储操作的功耗进行分析,即可获得密钥信息(xj的信息),进而攻破密码算法。为解决上述问题,现有技术中,采用在加密时直接按照相同顺序对多个多变量二次方程中的每一个单项式进行计算,再把每个单项式的计算结果累加后暂存于寄存器从而构建QUAD流密码的方式,来抵御侧信道攻击。但在采用现有技术进行侧信道攻击抵御时发现,在选定了开始的单项式编号之后,各个多项式之间的计算仍然是固定且顺序的,攻击者通过穷举初始下标的方式,仍有可能对齐多项式计算从而获得密钥信息,进而威胁密码算法的安全性。
技术实现思路
本申请实施例所要解决的技术问题在于,提供一种抗侧信道攻击的QUAD流密码生成装置,生成安全性更高的QUAD流密码,从而有效抵御侧信道攻击。为解决上述问题,本申请实施例提供一种抗侧信道攻击的QUAD流密码生成装置,包括:乱序下标控制器,用于提取包括n个变量r个多变量二次方程的多变量二次方程组,并根据所述n个变量,生成大小为L的滑动窗口,根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k)并输出;其中,1≤i≤j≤n,1≤k≤r,L=n或L=n+1,r为偶数;单项式生成器,用于根据每个所述单项式下标值(i,j,k)的生成顺序,依次获取所述多变量二次方程组的多个单项式其中,为明文,xi为密钥,或,为密钥,xi为明文;多个寄存器,每个所述寄存器分别用于,获取属于同一所述多变量二次方程的多个单项式并依次累加,生成QUAD流密码;其中,所述多变量二次方程与所述寄存器一一对应。进一步的,所述乱序下标控制器用于根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k),具体包括:步骤S11、根据所述n个变量,初始化所述滑动窗口大小L,基于所述滑动窗口大小,将各单项式下标分成多个窗口;其中,若n为偶数,则长度L=n,各单项式下标分成r×(n+1)/2个窗口;若n为奇数,则长度L=n+1,各单项式下标分成r×n/2个窗口;步骤S12、将窗口的窗口编号预设为w=1,窗口的内部迭代编号预设为l=1,随机生成初始值Ls后,随机生成单项式下标初始值i=is,j=js,k=ks,并将j赋值为j+Ls-1,执行步骤S13;步骤S13、判断赋值后的j是否大于n;若是,则执行步骤S14;否则,执行步骤S17;步骤S14、将i赋值为i+1,判断赋值后的i是否大于n;若是,则执行步骤S15;否则,执行步骤S16;步骤S15、将i赋值为i%n,判断k是否小于r;若是,将k赋值为k+1,执行步骤S16;否则,将k赋值为1,执行步骤S16;步骤S16、将j赋值为j-(n-i+1),执行步骤S13;步骤S17、生成一个单项式下标值,判断l是否大于L;若是,则所述多变量二次方程中单项式下标值生成完毕;否则,在w小于窗口个数时,将w赋值为w+1,将j赋值为j+L后,执行步骤S13;其中,1≤Ls≤L/2,1≤is≤js≤n,1≤ks≤r。进一步的,所述乱序下标控制器用于根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k),还包括:当所述步骤S17中的w大于等于窗口个数时,执行步骤S18;步骤S18、将w赋值为1,将l赋值为l+1,判断赋值后的l是否为奇数;若是,则执行步骤S19;否则,将j赋值为j+L+L/2后,执行步骤S13;步骤S19、判断Ls是否小于L/2;若是,则将j赋值为j+L/2+1,将Ls赋值为Ls+1后,执行步骤S13;否则,将j赋值为j+1,将Ls赋值为1后,执行步骤S13。进一步的,多个所述寄存器分别用于:根据所述单项式下标值(i,j,k)的生成顺序,实时获取属于同一所述二次方程的多个单项式并依次累加,生成QUAD流密码。进一步的,每个所述多变量二次方程相应的流密码为:实施本申请实施例,具有如下有益效果:本申请实施例提供的一种抗侧信道攻击的QUAD流密码生成装置,包括乱序下标控制器、单项式生成器和多个寄存器。乱序下标控制器用于通过乱序生成单项式下标值的方式来生成多个单项式下标值;单项式生成器用于按照单项式下标值的生成顺序,依次计算多个单项式;每个寄存器分别用于,获取属于同一所述多变量二次方程的多个单项式并依次累加,生成QUAD流密码。本申请通过打乱各个单项式的计算顺序,并对多个单项式进行累加,生成QUAD流密码,使带有该抗侧信道攻击的QUAD流密码生成装置的电子设备产生的具有相同密钥信息的侧信道信息出现在不同时刻,从而减少了寄存器存储操作的功耗曲线与密钥信息的相关性,使QUAD流密码的安全性更高,进而有效抵御侧信道攻击。附图说明图1是本申请的一个实施例提供的抗侧信道攻击的QUAD流密码生成装置的结构示意图;图2是乱序下标控制器乱序生成多个单项式下标值的一个流程示意图;图3是乱序下标控制器乱序生成多个单项式下标值的又一个流程示意图;图4是本申请的再一个实施例提供的抗侧信道攻击的QUAD流密码生成装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参见图1,是本申请的一个实施例提供的抗侧信道攻击的QUAD流密码生成装置的结构示意图。包括:乱序下标控制器1,用于提取包括n个变量r个多变量二次方程的多变量二次方程组,并根据n个变量,生成大小为L的滑动窗口,根据滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k)并输出。其中,1≤i≤j≤n,1≤k≤r,L=n或L=n+1,r为偶数。优选的,乱序生成的单项式下标值(i,j,k)的个数设定为rn(n+1)/2个。在本实施例中,乱序下标控制器1生成每个单项式下标值(i,j,k)后,根据生成的下标值输出变量xi、xi以及系数供后续组成单项式。单项式生成器2,用于根据每个单项式下标值(i,j,k)的生成顺序,依次获取多变量二次方程组的多个单项式其中,为明文,xi为密钥,或,为密钥,xi为明文。在本实施例中,单项式生成器2将乱序下标控制器1输出的变量xi、xi以及系数相乘后输出,从而获得单项式优选的,多变量二次方程组的单项式个数设定为r×n(n+1)/2个。多个寄存器3,每个寄存器3分别用于,获取属于同一多本文档来自技高网...

【技术保护点】
1.一种抗侧信道攻击的QUAD流密码生成装置,其特征在于,包括:乱序下标控制器,用于提取包括n个变量r个多变量二次方程的多变量二次方程组,并根据所述n个变量,生成大小为L的滑动窗口,根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k)并输出;其中,1≤i≤j≤n,1≤k≤r,L=n或L=n+1,r为偶数;单项式生成器,用于根据每个所述单项式下标值(i,j,k)的生成顺序,依次获取所述多变量二次方程组的多个单项式

【技术特征摘要】
1.一种抗侧信道攻击的QUAD流密码生成装置,其特征在于,包括:乱序下标控制器,用于提取包括n个变量r个多变量二次方程的多变量二次方程组,并根据所述n个变量,生成大小为L的滑动窗口,根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k)并输出;其中,1≤i≤j≤n,1≤k≤r,L=n或L=n+1,r为偶数;单项式生成器,用于根据每个所述单项式下标值(i,j,k)的生成顺序,依次获取所述多变量二次方程组的多个单项式其中,为明文,xi为密钥,或,为密钥,xi为明文;多个寄存器,每个所述寄存器分别用于,获取属于同一所述多变量二次方程的多个单项式并依次累加,生成QUAD流密码;其中,所述多变量二次方程与所述寄存器一一对应。2.根据权利要求1所述的抗侧信道攻击的QUAD流密码生成装置,其特征在于,所述乱序下标控制器用于根据所述滑动窗口的循环跳动,乱序生成多个单项式下标值(i,j,k),具体包括:步骤S11、根据所述n个变量,初始化所述滑动窗口大小L,基于所述滑动窗口大小,将各单项式下标分成多个窗口;其中,若n为偶数,则长度L=n,各单项式下标分成r×(n+1)/2个窗口;若n为奇数,则长度L=n+1,各单项式下标分成r×n/2个窗口;步骤S12、将窗口的窗口编号预设为w=1,窗口的内部迭代编号预设为l=1,随机生成初始值Ls后,随机生成单项式下标初始值i=is,j=js,k=ks,并将j赋值为j+Ls-1,执行步骤S13;步骤S13、判断赋值后的j是否大于n;若是,则执行步骤S14;否则,执行步骤S17;步骤S14、将i赋值为i+1,判...

【专利技术属性】
技术研发人员:李伟键鹿福祥黄娴刘溪李艳华
申请(专利权)人:广东技术师范大学
类型:发明
国别省市:广东,44

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

1