CN105681033B - 一种多变量二次方程的乱序加密装置 - Google Patents
一种多变量二次方程的乱序加密装置 Download PDFInfo
- Publication number
- CN105681033B CN105681033B CN201610053768.4A CN201610053768A CN105681033B CN 105681033 B CN105681033 B CN 105681033B CN 201610053768 A CN201610053768 A CN 201610053768A CN 105681033 B CN105681033 B CN 105681033B
- Authority
- CN
- China
- Prior art keywords
- monomial
- quadratic equation
- subscript
- order
- multivariate quadratic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种多变量二次方程的乱序加密装置,包括:单项式下标生成器,用于在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;单项式乘法器,用于按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;以及,累加器,用于将所述n个单项式αijxixj依次累加后写入到寄存器中,获得密文。采用本发明实施例,能够有效提高密钥的安全性,抵御侧行道攻击。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多变量二次方程的乱序加密装置。
背景技术
MQ问题(MQ problem)是指在一个有限域上求解一组多变量二次方程的问题,一般来说该问题是NP困难的。MQ问题在密码学上是一个非常有研究前景的难题,大量的密码算法基于MQ问题被设计出来,主要包括多变量公钥密码算法(MPKC)、流密码算法QUAD和身份认证算法等。其中,多变量二次方程可以表示如下:
Q(x)=∑1≤i≤j≤nαijxixj+∑1≤i≤nβijxi+γ
侧信道攻击(side channel attack简称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累加到寄存器中,所述寄存器中累加后的值即为密文。
进一步地,所述每个多变量二次方程相应的密文为
实施本发明实施例,具有如下有益效果:
本发明实施例提供的多变量二次方程的乱序加密装置,能够在计算每个多变量二次方程时,采用乱序生成单项式下标值的方式来生成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个方程的多变量二次方程组来实现对密钥、明文的加密。其中,若α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),则第一个多变量二次方程从单项式α23x2x3开始按顺序计算到单项式αnnxnxn,接着再从单项式α11x1x1计算到单项式α22x2x2;给第二个多变量二次方程随机生成单项式初始下标值(6,9),则第一个多变量二次方程从单项式α69x6x9开始按顺序计算到单项式αnmxnxn,接着再从单项式α11x1x1计算到单项式α68x6x8等。这种乱序生成方法使得密钥、明文的在不同多变量二次方程中的相同操作隐藏在不同的时钟周期内,无法通过存储器的功耗曲线特征而观察得到,而且简单高效,有利于软硬件高效实现。
进一步地,所述累加器3具体用于按照单项式αijxixj的计算顺序,依次将每个单项式αijxixj累加到寄存器中,所述寄存器中累加后的值即为密文。
在计算每个多变量二次方程时,按照单项式αijxixj的计算顺序,每计算一个单项式αijxixj,则将该单项式累加到寄存器中。其中,不同的多变量二次方程中的单项式存储在不同的寄存器中。
进一步地,所述每个多变量二次方程相应的密文为
其中,每个多变量二次方程随机生成不同的单项式下标初始值(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,使不同多变量二次方程中单项式的计算顺序各不相同,最后,将多变量二次方程中每个单项式累加到寄存器中,实现对密钥的加密,通过打乱各个单项式的计算顺序,使相同的密钥信息在不同时刻出现,从而抵御侧行道攻击,有效提高密钥的安全性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (4)
1.一种多变量二次方程的乱序加密装置,其特征在于,包括:
单项式下标生成器,用于在计算每个多变量二次方程时,乱序生成n(n+1)/2个单项式下标值(i,j);1≤i≤j≤n;
单项式乘法器,用于按照单项式下标值(i,j)生成的顺序,依次计算所述多变量二次方程的n(n+1)/2个单项式αijxixj;其中,αij为明文,xi为密钥,或者,αij为密钥,xi为明文;以及,
累加器,用于将所述n(n+1)/2个单项式αijxixj依次累加后写入到寄存器中,获得密文。
2.如权利要求1所述的多变量二次方程的乱序加密装置,其特征在于,所述单项式下标生成器采用乱序生成方法生成单项式下标;所述乱序生成方法具体包括:
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。
3.如权利要求1所述的多变量二次方程的乱序加密装置,其特征在于,所述累加器具体用于按照单项式αijxixj的计算顺序,依次将每个单项式αijxixj累加到寄存器中,所述寄存器中累加后的值即为密文。
4.如权利要求2所述的多变量二次方程的乱序加密装置,其特征在于,所述每个多变量二次方程相应的密文为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610053768.4A CN105681033B (zh) | 2016-01-26 | 2016-01-26 | 一种多变量二次方程的乱序加密装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610053768.4A CN105681033B (zh) | 2016-01-26 | 2016-01-26 | 一种多变量二次方程的乱序加密装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681033A CN105681033A (zh) | 2016-06-15 |
CN105681033B true CN105681033B (zh) | 2019-02-05 |
Family
ID=56304356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610053768.4A Expired - Fee Related CN105681033B (zh) | 2016-01-26 | 2016-01-26 | 一种多变量二次方程的乱序加密装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681033B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039590A (zh) * | 2017-06-09 | 2018-12-18 | 深圳九磊科技有限公司 | 存储器、电子设备及其防止侧信道攻击的加解密方法 |
CN110299986B (zh) * | 2019-05-27 | 2022-12-27 | 广东技术师范大学 | 基于rsa乱序的多变量二次方程加密方法和装置 |
CN110299991B (zh) * | 2019-05-27 | 2022-01-11 | 广东技术师范大学 | 抗侧信道攻击的quad流密码生成装置 |
CN110299990B (zh) * | 2019-05-27 | 2021-11-02 | 广东技术师范大学 | 结合乱序和掩码的quad流密码生成装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7557941B2 (en) * | 2004-05-27 | 2009-07-07 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
CN101834724A (zh) * | 2010-04-27 | 2010-09-15 | 武汉大学 | 一种公钥认证加密方法及数字签名方法 |
CN102006169A (zh) * | 2010-11-11 | 2011-04-06 | 西安理工大学 | 基于有限域上二次多变量问题对消息匿名环签名的方法 |
CN103200001A (zh) * | 2013-03-27 | 2013-07-10 | 武汉大学 | 一种多变量公钥加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9425952B2 (en) * | 2014-03-27 | 2016-08-23 | Samsung Israel Research Corporation | Algebraic manipulation detection codes from algebraic curves |
-
2016
- 2016-01-26 CN CN201610053768.4A patent/CN105681033B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7557941B2 (en) * | 2004-05-27 | 2009-07-07 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
CN101834724A (zh) * | 2010-04-27 | 2010-09-15 | 武汉大学 | 一种公钥认证加密方法及数字签名方法 |
CN102006169A (zh) * | 2010-11-11 | 2011-04-06 | 西安理工大学 | 基于有限域上二次多变量问题对消息匿名环签名的方法 |
CN103200001A (zh) * | 2013-03-27 | 2013-07-10 | 武汉大学 | 一种多变量公钥加密方法 |
Non-Patent Citations (1)
Title |
---|
扩展MQ密码体制的构造理论研究;王后珍;《中国博士学位论文全文数据库 信息科技辑(2011)》;20110715(第7期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105681033A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681033B (zh) | 一种多变量二次方程的乱序加密装置 | |
EP3396894B1 (en) | Apparatus and method for performing operation being secure against side channel attack | |
CN102207847A (zh) | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 | |
CN104917608B (zh) | 一种密钥抗功耗攻击的方法 | |
CN106227953A (zh) | 一种具有给定相关性的拉普拉斯噪声序列生成方法及生成器 | |
EP3480998B1 (en) | Operation method and security chip | |
KR101334040B1 (ko) | 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치 | |
CN102710413A (zh) | 一种抗dpa/spa攻击的系统和方法 | |
CN106357378B (zh) | 用于sm2签名的密钥检测方法及其系统 | |
JP7155173B2 (ja) | 外部監視攻撃からモジュラーインバージョン演算を保護すること | |
CN105119929B (zh) | 单一恶意云服务器下的安全模指数外包方法及系统 | |
CN105610571B (zh) | 一种多变量二次方程的乱序加密方法 | |
CN104717060B (zh) | 一种攻击椭圆曲线加密算法的方法和攻击设备 | |
CN105740730B (zh) | 芯片中安全的点乘实现方法 | |
CN110299986B (zh) | 基于rsa乱序的多变量二次方程加密方法和装置 | |
CN105743644B (zh) | 一种多变量二次方程的掩码加密装置 | |
Seo et al. | Pseudo random number generator and hash function for embedded microprocessors | |
CN102932147A (zh) | 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法 | |
CN110299992B (zh) | 基于滑动窗口的多变量二次方程的乱序加密方法及装置 | |
EP3396893B1 (en) | Apparatus and method for performing operation being secure against side channel attack | |
CN106301756A (zh) | 用于sm2签名的大数模幂求逆功耗检测方法及其系统 | |
Zhou et al. | Efficient privacy-preserving outsourced discrete wavelet transform in the encrypted domain | |
CN110299991B (zh) | 抗侧信道攻击的quad流密码生成装置 | |
CN105025037B (zh) | 抗cpa攻击的密文分组链接模式mac算法的实现方法 | |
Amin et al. | On the Vulnerability of EC DRBG |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 510000 No. 293 Shipai Zhongshan Avenue, Tianhe District, Guangzhou City, Guangdong Province Patentee after: Guangdong Normal University of Technology Address before: 510665 293 Zhongshan Avenue, Tianhe District, Guangzhou, Guangdong. Patentee before: Guangdong Technical Normal College |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190205 Termination date: 20210126 |