CN105743644A - 一种多变量二次方程的掩码加密装置 - Google Patents

一种多变量二次方程的掩码加密装置 Download PDF

Info

Publication number
CN105743644A
CN105743644A CN201610053691.0A CN201610053691A CN105743644A CN 105743644 A CN105743644 A CN 105743644A CN 201610053691 A CN201610053691 A CN 201610053691A CN 105743644 A CN105743644 A CN 105743644A
Authority
CN
China
Prior art keywords
mask
monomial
alpha
circleplus
depositor
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.)
Granted
Application number
CN201610053691.0A
Other languages
English (en)
Other versions
CN105743644B (zh
Inventor
李伟键
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Polytechnic Normal University
Original Assignee
Guangdong Polytechnic Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Polytechnic Normal University filed Critical Guangdong Polytechnic Normal University
Priority to CN201610053691.0A priority Critical patent/CN105743644B/zh
Publication of CN105743644A publication Critical patent/CN105743644A/zh
Application granted granted Critical
Publication of CN105743644B publication Critical patent/CN105743644B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种多变量二次方程的掩码加密装置,包括:第一掩码生成器,用于随机生成n个掩码;n≥1;第一异或计算器,用于将所述n个掩码与n个密钥一一对应进行异或加密;第一掩码型乘法器,用于根据加密后的n个密钥、所述n个掩码和明文,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,第一累加器,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。采用本发明实施例,能够有效提高密钥的安全性,抵御侧行道攻击。

Description

一种多变量二次方程的掩码加密装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多变量二次方程的掩码加密装置。
背景技术
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;
第一异或计算器,用于将所述n个掩码与n个密钥一一对应进行异或加密;
第一掩码型乘法器,用于根据加密后的n个密钥、所述n个掩码和明文,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第一累加器,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
进一步地,所述掩码为mi;所述密钥为xi;1≤i≤n;
所述第一异或计算器具体用于将所述n个掩码与n个密钥一一对应进行异或加密,获得每个密钥的掩码型密钥
进一步地,所述明文为αij;1≤i≤j≤n;
所述第一掩码型乘法器具体包括:
第一乘法器,用于分别计算和mi×mj
第二乘法器,用于将αij分别乘以和mi×mj,获得和αij×mi×mj
第二异或计算器,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第三异或计算器,用于将(αij×mi×mj)⊕mj进行异或操作,获得 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ;
第四异或计算器,用于将 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) 进行异或操作,获得 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ;
第五异或计算器,用于将 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) 进行异或操作,获得每个单项式的加密值(αij×xi×xj)⊕mj ( α i j × x i × m j ) ⊕ m j = ( α i j × x i m × m j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x i m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
进一步地,所述第一累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值(αij×xi×xj)⊕mj累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
相应地,本发明实施例还提供一种多变量二次方程的掩码加密装置,包括:
第二掩码生成器,用于随机生成n个掩码;n≥1;
第六异或计算器,用于将所述n个掩码与n个明文一一对应进行异或加密;
第二掩码型乘法器,用于根据加密后的n个明文、所述n个掩码和密钥,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第二累加器,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
进一步地,所述掩码为mi;所述明文为xi;其中,1≤i≤n;
所述第四异或计算器具体用于将所述n个掩码与n个明文一一对应进行异或加密,获得每个明文的掩码型明文
进一步地,所述密钥为αij;1≤i≤j≤n;
所述第二掩码型乘法器具体包括:
第三乘法器,用于分别计算和mi×mj
第四乘法器,用于将αij分别乘以和mi×mj,获得和αij×mi×mj
第七异或计算器,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第八异或计算器,用于将(αij×mi×mj)⊕mj进行异或操作,获得 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ;
第九异或计算器,用于将 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) 进行异或操作,获得 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ; 以及,
第十异或计算器,用于将 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) 进行异或操作,获得每个单项式的加密值(αij×xi×xj)⊕mj ( α i j × x i × m j ) ⊕ m j = ( α i j × x i m × x j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x i m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
进一步地,所述第二累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值(αij×xi×xj)⊕mj累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的多变量二次方程的掩码加密装置,能够在计算多变量二次方程时,对多变量二次方程中的变量,即密钥或明文采用随机化的掩码进行异或加密,进而对多变量二次方程的中间结果,即每个单项式均被加密,避免在每个单项式写入寄存器时的侧信道泄露,从而抵御侧行道攻击,有效提高密钥的安全性。
附图说明
图1是本发明提供的多变量二次方程的掩码加密装置的第一个实施例的结构示意图;
图2是本发明提供的多变量二次方程的掩码加密装置中第一掩码型乘法器的第一个实施例的结构示意图;
图3是本发明提供的多变量二次方程的掩码加密装置中第一掩码型乘法器的第二个实施例的结构示意图;
图4是本发明提供的多变量二次方程的掩码加密装置的第二个实施例的结构示意图;
图5是本发明提供的多变量二次方程的掩码加密装置的第三个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的多变量二次方程的掩码加密装置的第一个实施例的结构示意图,包括:
第一掩码生成器11,用于随机生成n个掩码;n≥1;
第一异或计算器12,用于将所述n个掩码与n个密钥一一对应进行异或加密;
第一掩码型乘法器13,用于根据加密后的n个密钥、所述n个掩码和明文,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第一累加器14,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
需要说明的是,在有限域上计算具有r个方程的多变量二次方程组 Q 1 ( x ) = Σ 1 ≤ i ≤ j ≤ n α i j 1 x i x j + γ 1 ... ... Q r ( x ) = Σ 1 ≤ i ≤ j ≤ n α i j r x i x j + γ r 来实现对密钥、明文的加密。其中,αij为明文,xi、xj为密钥。在本发明实施例中,在分别计算每个多变量二次方程时,第一掩码生成器11随机产生n个掩码,第一异或计算器12采用第一掩码生成器11产生的n个掩码对n个密钥一一对应地进行异或加密,输出n个掩码性密钥,即加密后的密钥。第一掩码型乘法器13接收第一掩码生成器11产生的n个掩码、第一异或计算器12输出的n个掩码性密钥和明文,采用掩码算法,逐一输出多变量二次方程中的每个单项式的加密值,即掩码后的单项式。最后,第一累加器14将第一掩码型乘法器13中逐一输出的单项式的加密值依次累加到寄存器中,并对寄存器中的值进行处理,即可获得多变量二次方程所需的正确运算结果,即密文。其中,第一累加器14在将每个单项式的加密值依次累加到寄存器时,写入寄存器中的值均为被掩码的值,而掩码为一个随机化的值,使得攻击者无法通过寄存器的功耗分析来获取密钥信息,从而难以实现对侧信道的攻击。
需要说明的是,本发明实施例提供的多变量二次方程的掩码加密装置一般应用在智能卡中,密钥通过多变量二次方程的算法进行加密后存储到智能卡的存储器中。其中,每个多变量二次方程中各个单项式均采用掩码加密,累加到存储器中的值也为掩码后的加密值,从而防止攻击者通过对存储器进行功耗分析而获取密钥信息。
进一步地,所述掩码为mi;所述密钥为xi;1≤i≤n;
所述第一异或计算器具体用于将所述n个掩码与n个密钥一一对应进行异或加密,获得每个密钥的掩码型密钥
其中,n个掩码为M={m1,...,mi,...,mj,...,mn},n个密钥为X={x1,...,xi,...,xj,...,xn},1≤i≤j≤n。n个掩码一一对应地对n个密钥进行异或加密,获得掩码型密钥Xm=X⊕M,则并将掩码型密钥Xm和掩码M分别存于n位的寄存器中。
进一步地,所述明文为αij;1≤i≤j≤n。
在一个优选地实施方式中,如图2所示,所述第一掩码型乘法器13具体包括:
第一乘法器21,用于分别计算和mi×mj
第二乘法器22,用于将αij分别乘以和mi×mj,获得和αij×mi×mj
第二异或计算器23,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第三异或计算器24,用于将(αij×mi×mj)⊕mj进行异或操作,获得 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ;
第四异或计算器25,用于将 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) 进行异或操作,获得 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ;
第五异或计算器26,用于将 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) 进行异或操作,获得每个单项式的加密值(αij×xi×xj)⊕mj ( α i j × x i × x j ) ⊕ m j = ( α i j × x i m × x j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x i m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
在另一个优选地实施方式,如图3所示,所述第一掩码型乘法器13具体包括4个第一普通乘法器(301、302、303、304),4个第二普通乘法器(305、306、307、308)和4个逻辑计算器(309、310、311、312)。4个第一普通乘法器(301、302、303、304)分别计算和mi×mj,4个第二普通乘法器(305、306、307、308)一一对应地对4个第一普通乘法器(301、302、303、304)计算出的值乘上αij,并输出。逻辑计算器309将第二普通乘法器308输出的值与mj进行异或操作,并输出。逻辑计算器310将逻辑计算器309输出的值与第二普通乘法器307进行异或操作,并输出。逻辑计算器311将逻辑计算器310输出的值与第二普通乘法器306进行异或操作,并输出。逻辑计算器312将逻辑计算器311输出的值与第二普通乘法器305进行异或操作,并输出,逻辑计算器312输出的值即为单项式的加密值(αij×xi×xj)⊕mj
需要说明的是,在计算每个单项式的加密值时,掩码算法按照上述计算顺序进行计算,使得在整个计算过程中没有xi,xj和xi×xj单独出现,从而防止侧信道泄露。
进一步地,所述第一累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值(αij×xi×xj)⊕mj累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
需要说明的是,在将每个单项式掩码后的加密值累加到寄存器中时,由于寄存器中存储的也为掩码后的加密值,因此,需先对寄存器中存储的值进行异或操作,去掉其掩码。例如,在累加第j个单项式的加密值时,先读取寄存器中的值Qj-1,将Qj-1与第上个累加的单项式,即第j-1个单项式所采用的掩码mj-1进行异或操作,从而去掉寄存器中的掩码。再将第j个单项式的加密值与去掉掩码后的寄存器值Qj-1⊕mj-1相加后写入到寄存器中。在累加完最后一个单项式加密值后,读取寄存器中的值Qn,去掉Qn中的掩码mn,即可获得多变量二次方程所需的正确结果,即密文。其中,写入到寄存器中的值均为被掩码后的值,从而防止侧信道泄露。
参见图4,是本发明提供的多变量二次方程的掩码加密装置的第二个实施例的结构示意图,包括
第二掩码生成器41,用于随机生成n个掩码;n≥1;
第六异或计算器42,用于将所述n个掩码与n个明文一一对应进行异或加密;
第二掩码型乘法器43,用于根据加密后的n个明文、所述n个掩码和密钥,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第二累加器44,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
需要说明的是,本发明实施例还可对明文进行掩码,从而实现对多变量二次方程中每个单项式的加密。其中,对明文进行掩码的方法与对密钥进行掩码的方法相同,在这不再一一详细描述。
进一步地,所述掩码为mi;所述明文为xi;其中,1≤i≤n;
所述第四异或计算器具体用于将所述n个掩码与n个明文一一对应进行异或加密,获得每个明文的掩码型明文
进一步地,所述密钥为αij;1≤i≤j≤n;
所述第二掩码型乘法器具体包括:
第三乘法器,用于分别计算和mi×mj
第四乘法器,用于将αij分别乘以和mi×mj,获得和αij×mi×mj
第七异或计算器,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第八异或计算器,用于将(αij×mi×mj)⊕mj进行异或操作,获得 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ;
第九异或计算器,用于将 ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) 进行异或操作,获得 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ; 以及,
第十异或计算器,用于将 ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) 进行异或操作,获得每个单项式的加密值(αij×xi×xj)⊕mj ( α i j × x i × x j ) ⊕ m j = ( α i j × x i m × x j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
进一步地,所述第二累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值(αij×xi×xj)⊕mj累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
参见图5,是本发明提供的多变量二次方程的掩码加密装置的第三个实施例的结构示意图,包括掩码寄存器61、掩码型变量寄存器62、掩码型乘法器63、加法器64、异或器65、判断器66和寄存器67。本发明实施例提供的多变量二次方程的加密装置用于实现多变量二次方程组的加密,其中,多变量二次方程组具有r个多变量二次方程。在计算每个多变量二次方程时,掩码型变量寄存器62获取多变量二次方程中的变量X,并将获取的变量X与掩码M异或,从而获得掩码型变量Xm。掩码型乘法器63接收掩码型变量寄存器62输出的掩码型变量掩码寄存器61输出的掩码mi和mj,以及系数αij,并在计算后输出单项式的加密值,并将单项式的加密值累加到寄存器67中。判断器66在寄存器67中累加了第j-1个单项式的加密值后判断所有单项式是否累加完毕,若否,则判定为0,将寄存器67中的值与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,将异或后的值与第j个单项式的加密值累加后写入到寄存器67中;若是,则判定为1,将寄存器67中的值与最后一个单项式,即第n个单项式的加密值所采用的掩码mn进行异或操作,异或操作后寄存器67中输出的值即为密文。在完成r个多变量二次方程的计算后,即实现加密。
本发明实施例提供的多变量二次方程的掩码加密装置,能够在计算多变量二次方程时,对多变量二次方程中的变量,即密钥或明文采用随机化的掩码进行异或加密,进而对多变量二次方程的中间结果,即每个单项式均被加密,避免在每个单项式写入寄存器时的侧信道泄露,从而抵御侧行道攻击,有效提高密钥的安全性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种多变量二次方程的掩码加密装置,其特征在于,包括:
第一掩码生成器,用于随机生成n个掩码;n≥1;
第一异或计算器,用于将所述n个掩码与n个密钥一一对应进行异或加密;
第一掩码型乘法器,用于根据加密后的n个密钥、所述n个掩码和明文,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第一累加器,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
2.如权利要求1所述的多变量二次方程的掩码加密装置,其特征在于,所述掩码为mi;所述密钥为xi;1≤i≤n;
所述第一异或计算器具体用于将所述n个掩码与n个密钥一一对应进行异或加密,获得每个密钥的掩码型密钥
3.如权利要求2所述的多变量二次方程的掩码加密装置,其特征在于,所述明文为αij;1≤i≤j≤n;
所述第一掩码型乘法器具体包括:
第一乘法器,用于分别计算
第二乘法器,用于将αij分别乘以获得
第二异或计算器,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第三异或计算器,用于将进行异或操作,获得
第四异或计算器,用于将进行异或操作,获得
第五异或计算器,用于将进行异或操作,获得每个单项式的加密值 ( α i j × x i × x j ) ⊕ m j = ( α i j × x i m × x j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
4.如权利要求3所述的多变量二次方程的掩码加密装置,其特征在于,所述第一累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
5.一种多变量二次方程的掩码加密装置,其特征在于,包括:
第二掩码生成器,用于随机生成n个掩码;n≥1;
第六异或计算器,用于将所述n个掩码与n个明文一一对应进行异或加密;
第二掩码型乘法器,用于根据加密后的n个明文、所述n个掩码和密钥,采用掩码算法,计算获得多变量二次方程中n个单项式的加密值;以及,
第二累加器,用于将所述n个单项式的加密值依次累加到寄存器中,获得密文。
6.如权利要求5所述的多变量二次方程的掩码加密装置,其特征在于,所述掩码为mi;所述明文为xi;其中,1≤i≤n;
所述第四异或计算器具体用于将所述n个掩码与n个明文一一对应进行异或加密,获得每个明文的掩码型明文
7.如权利要求6所述的多变量二次方程的掩码加密装置,其特征在于,所述密钥为αij;1≤i≤j≤n;
所述第二掩码型乘法器具体包括:
第三乘法器,用于分别计算
第四乘法器,用于将αij分别乘以获得
第七异或计算器,用于将mj与αij×mi×mj进行异或操作,获得(αij×mi×mj)⊕mj
第八异或计算器,用于将(αij×mi×mj)⊕mj进行异或操作,获得
第九异或计算器,用于将进行异或操作,获得以及,
第十异或计算器,用于将进行异或操作,获得每个单项式的加密值(αij×xi×xj)⊕mj ( α i j × x i × x j ) ⊕ m j = ( α i j × x i m × x j m ) ⊕ ( ( α i j × x i m × m j ) ⊕ ( ( α i j × x j m × m i ) ⊕ ( ( α i j × m i × m j ) ⊕ m j ) ) ) .
8.如权利要求7所述的多变量二次方程的掩码加密装置,其特征在于,所述第二累加器采用累加方法获取密文;所述累加方法具体包括:
在将第j个单项式的加密值(αij×xi×xj)⊕mj累加到所述寄存器时,读取所述寄存器中的值Qj-1
将Qj-1与第j-1个单项式的加密值所采用的掩码mj-1进行异或操作,获得Qj-1⊕mj-1
将(αij×xi×xj)⊕mj与Qj-1⊕mj-1进行累加,获得Qj-1⊕mj-1+(αij×xi×xj)⊕mj
将Qj-1⊕mj-1+(αij×xi×xj)⊕mj写入所述寄存器中,使所述寄存器中的值为Qj=Qj-1⊕mj-1+(αij×xi×xj)⊕mj
在将第n个单项式的加密值累加到所述寄存器后,读取所述寄存器中的值Qn
将Qn与第n个单项式的加密值所采用的掩码mn进行异或操作,获得Qn⊕mn即为所述密文。
CN201610053691.0A 2016-01-26 2016-01-26 一种多变量二次方程的掩码加密装置 Expired - Fee Related CN105743644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610053691.0A CN105743644B (zh) 2016-01-26 2016-01-26 一种多变量二次方程的掩码加密装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610053691.0A CN105743644B (zh) 2016-01-26 2016-01-26 一种多变量二次方程的掩码加密装置

Publications (2)

Publication Number Publication Date
CN105743644A true CN105743644A (zh) 2016-07-06
CN105743644B CN105743644B (zh) 2019-02-05

Family

ID=56246749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610053691.0A Expired - Fee Related CN105743644B (zh) 2016-01-26 2016-01-26 一种多变量二次方程的掩码加密装置

Country Status (1)

Country Link
CN (1) CN105743644B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108510429A (zh) * 2018-03-20 2018-09-07 华南师范大学 一种基于gpu的多变量密码算法并行化加速方法
CN110299990A (zh) * 2019-05-27 2019-10-01 广东技术师范大学 结合乱序和掩码的quad流密码生成装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405615A (zh) * 2009-01-20 2012-04-04 电信教育集团-巴黎电信学校 防御观测攻击、特别是高阶观测攻击的加密电路
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
US20140294174A1 (en) * 2011-10-28 2014-10-02 Giesecke & Devrient Gmbh Efficient Prime-Number Check
CN104601319A (zh) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 一种数据加密方法和装置
US20150222423A1 (en) * 2012-09-04 2015-08-06 Morpho Protection against side channels

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405615A (zh) * 2009-01-20 2012-04-04 电信教育集团-巴黎电信学校 防御观测攻击、特别是高阶观测攻击的加密电路
US20140294174A1 (en) * 2011-10-28 2014-10-02 Giesecke & Devrient Gmbh Efficient Prime-Number Check
US20150222423A1 (en) * 2012-09-04 2015-08-06 Morpho Protection against side channels
CN104601319A (zh) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 一种数据加密方法和装置
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙悦: "轻量级与非满射S_box的分组密码算法的分析", 《中国博士学位论文全文数据库 信息科技辑(2011)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108510429A (zh) * 2018-03-20 2018-09-07 华南师范大学 一种基于gpu的多变量密码算法并行化加速方法
CN110299990A (zh) * 2019-05-27 2019-10-01 广东技术师范大学 结合乱序和掩码的quad流密码生成装置
CN110299990B (zh) * 2019-05-27 2021-11-02 广东技术师范大学 结合乱序和掩码的quad流密码生成装置

Also Published As

Publication number Publication date
CN105743644B (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
EP3559811B1 (en) Protecting parallel multiplication operations from external monitoring attacks
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN104333447B (zh) 一种可抵御能量分析攻击的sm4方法
WO2007116262A1 (en) Protection against side channel attacks
CN103647638A (zh) 一种抵抗侧信道攻击的des掩码方法
CN103888247A (zh) 抵抗差分功耗分析攻击的数据处理系统及其数据处理方法
US20110176678A1 (en) Masking operation method and device for symmetric key encrypted system
CN107070633B (zh) 一种抗高阶功耗分析的aes掩码加密方法
CN104301095A (zh) Des轮运算方法和电路
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
CN104717060B (zh) 一种攻击椭圆曲线加密算法的方法和攻击设备
CN105681033A (zh) 一种多变量二次方程的乱序加密装置
Bonnecaze et al. AES side-channel countermeasure using random tower field constructions
EP3776305B1 (en) Using cryptographic blinding for efficient use of montgomery multiplication
Liang et al. Design of a masked S-box for SM4 based on composite field
KR101506499B1 (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
CN106936822B (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
CN105743644A (zh) 一种多变量二次方程的掩码加密装置
KR100991713B1 (ko) 마스킹을 이용한 aes 역원 연산 장치 및 방법과 이를 이용한 aes 암호 시스템
CN105721150A (zh) 一种多变量二次方程的掩码加密方法
US20120039462A1 (en) Rsa signature method and apparatus
CN106059746A (zh) 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN105610571A (zh) 一种多变量二次方程的乱序加密方法
CN105656629A (zh) 芯片中安全的非相邻表示型实现方法
CN107766725B (zh) 抗模板攻击的数据传输方法及系统

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

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

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190205

Termination date: 20210126

CF01 Termination of patent right due to non-payment of annual fee