首页> 中国专利> 一种多变量二次方程的乱序加密装置

一种多变量二次方程的乱序加密装置

摘要

本发明公开了一种多变量二次方程的乱序加密装置,包括:单项式下标生成器,用于在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;单项式乘法器,用于按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;以及,累加器,用于将所述n个单项式αijxixj依次累加后写入到寄存器中,获得密文。采用本发明实施例,能够有效提高密钥的安全性,抵御侧行道攻击。

著录项

  • 公开/公告号CN105681033A

    专利类型发明专利

  • 公开/公告日2016-06-15

    原文格式PDF

  • 申请/专利权人 广东技术师范学院;

    申请/专利号CN201610053768.4

  • 发明设计人 李伟键;

    申请日2016-01-26

  • 分类号H04L9/08(20060101);H04L29/06(20060101);

  • 代理机构44202 广州三环专利代理有限公司;

  • 代理人麦小婵;郝传鑫

  • 地址 510665 广东省广州市天河区中山大道293号

  • 入库时间 2023-12-18 15:41:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-19

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L9/08 变更前: 变更后: 申请日:20160126

    专利权人的姓名或者名称、地址的变更

  • 2019-02-05

    授权

    授权

  • 2016-07-13

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20160126

    实质审查的生效

  • 2016-06-15

    公开

    公开

说明书

技术领域

本发明涉及信息安全技术领域,尤其涉及一种多变量二次方程的乱序加密装置。

背景技术

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依次累加后写入到寄存器中,获得密文。

进一步地,所述单项式下标生成器采用乱序生成方法生成单项式下标;所述乱序生成方法具体包括:

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累加到寄存器中,所述寄存器中累加后的值即为密文。

进一步地,所述每个多变量二次方程相应的密文为>Q(x)=Σjsjnαisjxisxj+Σis<ijnαijxixj+Σ1iis,ijnαijxixj+Σisj<jsαisjxisxj.>

实施本发明实施例,具有如下有益效果:

本发明实施例提供的多变量二次方程的乱序加密装置,能够在计算每个多变量二次方程时,采用乱序生成单项式下标值的方式来生成n(n+1)/2个单项式下标值(i,j),并按照单项式下标值(i,j)的生成顺序,依次计算n(n+1)/2个单项式αijxixj,使不同多变量二次方程中单项式的计算顺序各不相同,最后,将多变量二次方程中每个单项式累加到寄存器中,实现对密钥的加密,通过打乱各个单项式的计算顺序,使相同的密钥信息在不同时刻出现,从而抵御侧行道攻击,有效提高密钥的安全性。

附图说明

图1是本发明提供的多变量二次方程的乱序加密装置的第一个实施例的结构示意图;

图2是本发明提供的多变量二次方程的乱序加密装置中乱序生成方法的一个实施例的流程示意图;

图3是本发明提供的多变量二次方程的乱序加密装置的第二个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的多变量二次方程的乱序加密装置的一个实施例的结构示意图,包括:

单项式下标生成器1,用于在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;

单项式乘法器2,用于按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;以及,

累加器3,用于将所述n个单项式αijxixj依次累加后写入到寄存器中,获得密文。

需要说明的是,在有限域上计算具有r个方程的多变量二次方程组>Q1(x)=Σ1ijnαij1xixj+γ1......Qr(x)=Σ1ijnαijrxixj+γr>来实现对密钥、明文的加密。其中,若αij为明文,则xi为密钥;若αij为密钥,则xi为明文。在本实施例中,在计算多变量二次方程组中的每个多变量二次方程时,随机打乱每个多变量二次方程中的各个单项式αijxixj的计算顺序,使不同多变量二次方程中的单项式αijxixj的计算顺序各不相同。

在分别计算每个多变量二次方程时,单项式下标生成器1乱序生成n(n+1)/2个单项式下标值(i,j),即将多变量二次方程的单项式下标值重新进行排序,使每个多变量二次方程的单项式下标值的顺序各不相同。其中,n(n+1)/2个单项式下标值(i,j)涵盖多变量二次方程中的所有单项式下标值。单项式乘法器2按照每个多变量二次方程各自的单项式下标值生成顺序,计算各个单项式αijxixj。累加器3在单项式乘法器2每计算一个单项式时,将该单项式累加到寄存器中,在累加完所有单项式后,即可获得该多变量二次方程相应的密文。多变量二次方程组中的r个方程的计算结果分别相应写入到r个寄存器中。

每个多变量二次方程中具有n(n+1)/2项单项式,单项式计算顺序打乱后,攻击者若想通过对r个寄存器的功耗分析来获取密钥或明文信息,则需要考虑A(n(n+1)/2,n(n+1)/2)=(n(n+1)/2)!种可能性来进行分析,从而难以实现对侧信道的攻击。

需要说明的是,本发明实施例提供的多变量二次方程的乱序加密方法一般应用在智能卡中,密钥通过多变量二次方程的算法进行加密后存储到智能卡的存储器中。其中,每个多变量二次方程中各个单项式计算顺序均不相同,累加到存储器中的顺序也不相同,从而防止攻击者通过对存储器进行功耗分析而获取密钥信息。

进一步地,所述单项式下标生成器1采用乱序生成方法生成单项式下标。如图2所示,所述乱序生成方法具体包括:

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。

需要说明的是,将每个多变量二次方程中的各个单项式完全打乱来抗侧信道攻击的效果最佳。同时,为了减少计算时间和存储开销,避免耗费大量的资源,采用仅打乱每个多变量二次方程中的初始计算顺序,使每个多变量二次方程从不同的初始单项式开始计算,之后仍按顺序计算即可。例如,单项式下标生成器1给第一个多变量二次方程随机生成单项式初始下标值(2,3),则第一个多变量二次方程从单项式α2x32x3开始按顺序计算到单项式αnxnnxn,接着再从单项式α1x11x1计算到单项式α2x22x2;给第二个多变量二次方程随机生成单项式初始下标值(6,9),则第一个多变量二次方程从单项式α69x6x9开始按顺序计算到单项式αnxnnxn,接着再从单项式α1x11x1计算到单项式α68x6x8等。这种乱序生成方法使得密钥、明文的在不同多变量二次方程中的相同操作隐藏在不同的时钟周期内,无法通过存储器的功耗曲线特征而观察得到,而且简单高效,有利于软硬件高效实现。

进一步地,所述累加器3具体用于按照单项式αijxixj的计算顺序,依次将每个单项式αijxixj累加到寄存器中,所述寄存器中累加后的值即为密文。

在计算每个多变量二次方程时,按照单项式αijxixj的计算顺序,每计算一个单项式αijxixj,则将该单项式累加到寄存器中。其中,不同的多变量二次方程中的单项式存储在不同的寄存器中。

进一步地,所述每个多变量二次方程相应的密文为>Q(x)=Σjsjnαisjxisxj+Σis<ijnαijxixj+Σ1iis,ijnαijxixj+Σisj<jsαisjxisxj.>

其中,每个多变量二次方程随机生成不同的单项式下标初始值(is,js),然后各自按照上述公式进行计算,获得密文。

参见图3,是本发明提供的多变量二次方程的乱序加密装置的第二个实施例的结构示意图,包括乱序下标控制器31、多项式变量寄存器32、乘法器33、乘法器34、加法器35、寄存器36和判断器37。其中,多项式变量寄存器32中存储的值可以为密钥,也可以为明文。本发明实施例提供的多变量二次方程的加密装置用于实现多变量二次方程组的加密,其中,多变量二次方程组具有r个多变量二次方程。在计算每个多变量二次方程时,乱序下标控制器31随机生成单项式下标值i和j,其中,随机生成的初始的单项式下标值为is和js。多项式变量寄存器32根据乱序下标控制器31生成的单项式下标值,输出变量xi和xj。乘法器33接收变量xi和xj并将其相乘后输出,乘法器34将乘法器33输出的值与系数αij相乘后输出,获得单项式,再将单项式通过加法器35累加到寄存器36中。判断器37在寄存器36中累加了下标为(i,j)的单项式后判断该单项式的下标是否(is,js-1),若否,则判定为0,将寄存器36中的值与下一个单项式累加后写入到寄存器36中;若否,则判定为1,输出寄存器36中的值,即为密文。

本发明实施例提供的多变量二次方程的乱序加密装置,能够在计算每个多变量二次方程时,采用乱序生成单项式下标值的方式来生成n(n+1)/2个单项式下标值(i,j),并按照单项式下标值(i,j)的生成顺序,依次计算n(n+1)/2个单项式αijxixj,使不同多变量二次方程中单项式的计算顺序各不相同,最后,将多变量二次方程中每个单项式累加到寄存器中,实现对密钥的加密,通过打乱各个单项式的计算顺序,使相同的密钥信息在不同时刻出现,从而抵御侧行道攻击,有效提高密钥的安全性。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号