一种多变量二次方程的乱序加密方法技术

技术编号:15120612 阅读:102 留言:0更新日期:2017-04-09 19:17
本发明专利技术公开了一种多变量二次方程的乱序加密方法,包括:在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;将所述n个单项式αijxixj累加后写入到寄存器中,获得密文。采用本发明专利技术实施例,能够有效提高密钥的安全性,抵御侧行道攻击。

【技术实现步骤摘要】

本专利技术涉及信息安全
,尤其涉及一种多变量二次方程的乱序加密方法
技术介绍
MQ问题(MQproblem)是指在一个有限域上求解一组多变量二次方程的问题,一般来说该问题是NP困难的。MQ问题在密码学上是一个非常有研究前景的难题,大量的密码算法基于MQ问题被设计出来,主要包括多变量公钥密码算法(MPKC)、流密码算法QUAD和身份认证算法等。其中,多变量二次方程可以表示如下:Q(x)=∑1≤i≤j≤nαijxixj+∑1≤i≤nβijxi+γ侧信道攻击(sidechannelattack简称SCA),又称旁路攻击,是一种针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法。这种攻击方法给密码设备带来了严重的威胁。但是,现有技术均未考虑多变量二次方程的侧信道泄露问题。加密时,直接按照相同顺序对多个多变量二次方程中的每一个单项式进行计算,再把每个单项式的计算结果累加后暂存于寄存器中。攻击者通过对每个多变量二次方程相应寄存器存储操作的功耗进行分析,即可获得密钥或明文信息(aij或者xj的信息),进而攻破密码算法。
技术实现思路
本专利技术实施例提出一种多变量二次方程的乱序加密方法,能够有效提高密钥的安全性,抵御侧行道攻击。本专利技术实施例提供一种多变量二次方程的乱序加密方法,包括:在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;将所述n个单项式αijxixj累加后写入到寄存器中,获得密文。进一步地,所述在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j),具体包括:S11、在计算每个多变量二次方程时,随机生成单项式下标初始值i=is,j=js;1≤is≤js≤n;S12、判断j是否为n,若是,则执行步骤S13,若否,则执行步骤S14;S13、判断i是否为n,若是,则执行步骤S15,若否,则执行步骤S16;S14、将j赋值为j+1,并继续执行步骤S17;S15、将i和j均赋值为1,并继续执行步骤S17;S16、将i赋值为i+1,将j赋值为i+1,并继续执行步骤S17;S17、判断i是否为is,且j是否为js-1,若是,则所述多变量二次方程中单项式下标值生成完毕,若否,则继续执行步骤S12。进一步地,所述将每个单项式αijxixj累加后写入到寄存器中,获得密文,具体包括:按照单项式αijxixj的计算顺序,依次将每个单项式αijxixj累加到寄存器中,所述寄存器中累加后的值即为密文。进一步地,所述每个多变量二次方程相应的密文为Q(x)=Σjs≤j≤nαisjxisxj+Σis<i≤j≤nαijxixj+Σ1≤i≤is,i≤j≤nαijxixj+Σis≤j<jsαisjxisxj.]]>实施本专利技术实施例,具有如下有益效果:本专利技术实施例提供的多变量二次方程的乱序加密方法,能够在计算每个多变量二次方程时,采用乱序生成单项式下标值的方式来生成n(n+1)/2个单项式下标值(i,j),并按照单项式下标值(i,j)的生成顺序,依次计算n(n+1)/2个单项式αijxixj,使不同多变量二次方程中单项式的计算顺序各不相同,最后,将多变量二次方程中每个单项式累加到寄存器中,实现对密钥的加密,通过打乱各个单项式的计算顺序,使相同的明文或密钥信息在不同时刻出现,从而抵御侧行道攻击,有效提高密钥的安全性。附图说明图1是本专利技术提供的多变量二次方程的乱序加密方法的第一个实施例的流程示意图;图2是本专利技术提供的多变量二次方程的乱序加密方法中步骤S1的一个实施例的流程示意图;图3是本专利技术提供的多变量二次方程的乱序加密方法的第二个实施例的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术提供的多变量二次方程的乱序加密方法的一个实施例的流程示意图,包括:S1、在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;S2、按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;S3、将所述n个单项式αijxixj累加后写入到寄存器中,获得密文。需要说明的是,在有限域上计算具有r个方程的多变量二次方程组Q1(x)=Σ1≤i≤j≤nαij1xixj+γ1......Qr(x)=Σ1≤i≤j≤nαijrxixj+γr]]>来实现对密钥、明文的加密。其中,若αij为明文,则xi为密钥;若αij为密钥,则xi为明文。在计算多变量二次方程组中的每个多变量二次方程时,随机打乱每个多变量二次方程中的各个单项式αijxixj的计算顺序,使不同多变量二次方程中的单项式αijxixj的计算顺序各不相同。在分别计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j),即将多变量二次方程的单项式下标值重新进行排序,使每个多变量二次方程的单项式下标值的顺序各不相同。其中,n(n+1)/2个单项式下标值(i,j)涵盖多变量二次方程中的所有单项式下标值。每个多变量二次方程按照其各自的单项式下标值生成顺序,计算各个单项式αijxixj。在计算每个多变量二次方程时,每计算一个单项式,则将单项式累加到寄存器中,在累加完所有单项式后,即可获得该多变量二次方程相应的密文。多变量二次方程组中的r个方程的计算结果分别相应写入到r个寄存器中。每个多变量二次方程中具有n(n+1)/2项单项式,单项式计算顺序打乱后,攻击者若想通过对r个寄存器的功耗分析来获取密钥信息,则需要考虑A(n(n+1)/2,n(n+1)/2本文档来自技高网...

【技术保护点】
一种多变量二次方程的乱序加密方法,其特征在于,包括:在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;将所述n个单项式αijxixj累加后写入到寄存器中,获得密文。

【技术特征摘要】
1.一种多变量二次方程的乱序加密方法,其特征在于,包括:
在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤
n;
按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式α
ijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;
将所述n个单项式αijxixj累加后写入到寄存器中,获得密文。
2.如权利要求1所述的多变量二次方程的乱序加密方法,其特征在于,所述在计算每个
多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j),具体包括:
S11、在计算每个多变量二次方程时,随机生成单项式下标初始值i=is,j=js;1≤is≤
js≤n;
S12、判断j是否为n,若是,则执行步骤S13,若否,则执行步骤S14;
S13、判断i是否为n,若是,则执行步骤S15,若否,则执行步骤S16;
S14、将j赋值为j+1,并继续执行步骤S17;
S15、将i和j均赋值为1,并继...

【专利技术属性】
技术研发人员:李伟键
申请(专利权)人:广东技术师范学院
类型:发明
国别省市:广东;44

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

1