CN101194457B - 随机模数化多项式约简方法及其硬件 - Google Patents

随机模数化多项式约简方法及其硬件 Download PDF

Info

Publication number
CN101194457B
CN101194457B CN2006800209415A CN200680020941A CN101194457B CN 101194457 B CN101194457 B CN 101194457B CN 2006800209415 A CN2006800209415 A CN 2006800209415A CN 200680020941 A CN200680020941 A CN 200680020941A CN 101194457 B CN101194457 B CN 101194457B
Authority
CN
China
Prior art keywords
multinomial
polynomial
modulus
merchant
random
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.)
Active
Application number
CN2006800209415A
Other languages
English (en)
Other versions
CN101194457A (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.)
Rumbas
Original Assignee
Atmel Rousset SAS
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 Atmel Rousset SAS filed Critical Atmel Rousset SAS
Priority claimed from PCT/US2006/013795 external-priority patent/WO2006124160A2/en
Publication of CN101194457A publication Critical patent/CN101194457A/zh
Application granted granted Critical
Publication of CN101194457B publication Critical patent/CN101194457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Navigation (AREA)

Abstract

一种密码安全且计算机硬件实施的二进制有限域多项式模数化约简方法估计(32)和随机化(36)用于计算多项式余数的多项式商q′(x)。内射到近似多项式商q(x)中的随机化误差E(x)限于几个位,例如小于二分之一字。计算(38)出的多项式余数r′(x)仅仅与残数r(x)同余的较小随机倍数,其可通过以模数M(x)进行最终严格二进制域约简找到。除了计算单元(10)和运算定序器(16)外,计算硬件还包含用于产生随机多项式误差的随机或伪随机数字产生器(20)。因此,所述模数化约简方法抵抗住硬件密码分析攻击,例如时序和幂分析攻击。

Description

随机模数化多项式约简方法及其硬件
技术领域
本发明涉及尤其用于密码术应用中的算术处理和计算系统以及计算机实施的方法。明确地说,本发明涉及残数算术,其涉及有限域GF(2n)中多项式的模数化约简,尤其是从Barrett约简方法导出的计算。
背景技术
大量密码算法利用大整数乘法(或取幂)并将乘积约简为残数值,所述残数值对于与密钥有关的指定模数是全等的。一些密码算法,包含AES/Rijndael块密码程序以及基于离散对数和椭圆曲线的密码算法,对有限域(例如,二进制域GF(2n))中的多项式执行算术运算,包含对此类多项式执行乘法(或取幂)和模数化约简运算。密码系统执行的数学计算可能容易受到幂分析和时序攻击。因此,重要的是,保护计算使得无法获得关于密钥的信息。
同时,重要的是,这些计算快速而准确。乘法和约简,无论是对大整数还是对有限域中的多项式执行,通常是密码算法的计算量最大的部分。已开发出若干种独特的计算技术来进行有效的模数化约简,包含称为Quisquater方法、Barrett方法和Montgomery方法的计算技术,以及涉及预先计算和查表的修改。现有技术中描述并比较了这些众所周知的技术。例如参见:(1)A.Bosselaers等人,“Comparison of three modular reductionfunctions”,Advances in Cryptology/Crypto′93,LNCS 773,Springer-Verlag,1994,pp.175-186。(2)Jean Francois Dhem,“Design of an efficient public-key cryptographic libraryfor RISC-based smart cards”,博士论文,Universite catholique de Louvain,Louvain-la-Neuve,Belgium,1998年5月。(3)C.H.Lim等人,“Fast Modular ReductionWith Precomputation”,预印本,1999(可从CiteSeer Scientific Literature Digital Library获得,citeseer.nj.nec.com/109504.html)。(4)Hollmann等人,“Method and Device forExecuting a Decrypting Mechanism through Calculating aStandardized ModularExponentiation for Thwarting Timing Attacks”,2002年4月2日,第6,366,673 B1号美国专利(基于1998年9月15日申请的申请案)。
本发明的一目的是提供尤其应用于多项式的对Barrett模数化约简方法的改进和相应的计算设备,其较安全地抵抗密码分析攻击,同时仍提供快速而准确的结果。
本发明的另一目的是提供加速用于多项式模数化约简的商估计的上文提及的改进的方法和设备。
发明内容
通过计算机实施的二进制有限域GF(2n)中多项式的模数化约简方法来实现这些目的,其中使用多项式模数的预先计算的定标反数作为乘数来估计(至少达到正确的多项式次数)用于约简计算的多项式商。通过约简得到的多项式余数始终与相对于指定的n次不可约多项式模数的相应的中间乘积同余,但通常大于(就多项式次数来说)最小残数值并以随机方式对于每次执行不同。因为使估计误差有意随机化,所以所述方法较安全地抵抗密码分析。而且,中间结果数学上相等(与真实值同余),且可通过非随机地处理最终严格约简来获得最终结果,因此实现密码运算的可逆性所需的准确性。
用于执行本发明的方法步骤的硬件包含随机数字产生器,其将随机误差内射到商估计中。具有存储器存取权的计算单元在运算定序器的控制下操作,执行固件以实行多字多项式乘法的字范围相乘-累加步骤和模数化约简。计算单元可包含专用于有限域多项式运算的相乘-累加硬件,或可经选择以执行自然数或多项式算术。
附图说明
图1是根据本发明的计算硬件的示意平面图(包含随机数字产生器单元),所述计算硬件用于执行本发明的模数化约简方法。
图2是说明本发明模数化约简方法的一般步骤的流程图。
具体实施方式
参看图1,计算硬件包含计算单元10,其能够对从存储器(RAM)12和工作寄存器14检索到的多项式运算数执行字范围有限域相乘和相乘-累加步骤。寄存器14可以是将负责正常整数运算中的进位内射的相同硬件寄存器。运算定序器16包括逻辑电路,其用于根据固件或软件指令控制计算单元10,以使该组运算使用不可约多项式为基础实行多字有限域多项式乘法(或取幂)和模数化约简。存储在可由运算定序器16存取的寄存器18中的运算参数是,使运算定序器能够定位RAM 12内的运算数的指针,以及关于运算数的长度(字的数目)和中间结果的目的地地址的信息。
如到目前为止所描述,所述设备大体上类似于适于多字多项式算术运算的其它可用硬件。在二进制有限域GF(2n)中实行的多项式算术与自然数算术不同之处在于,忽略进位和加法与减法的等价。计算单元可包含专用于有限域多项式运算的相乘-累加硬件,或者可以是可经选择以执行自然数或多项式算术的双重用途自然数/多项式算术硬件。除了下文将描述的约简步骤的细节外,所述固件或软件指令还类似于用于执行字范围程序段中的有效的多字多项式乘法或取幂的现有技术程序。
与这种类型的现有技术硬件不同,图1中的硬件还包含随机数字产生器20,其(例如)可以是任何已知的伪随机数字产生器电路。随机数字产生器执行计算并输出随机数字,所述随机数字的位被解译为待用于本发明方法中的随机多项式的二进制系数。此处,随机数字产生器20由计算单元10在运算定序器16根据实施本发明方法的程序指令引导下存取,以便将随机化误差量内射到商估计中,如下文所描述。
参看图2,本发明方法是Barrett模数化约简技术的改进,其提供较快的商估计并抵抗密码分析攻击,且将模数化约简技术应用于二进制有限域GF(2n)中的多项式。所述方法由图1中的硬件执行。
多项式的模数化算术在某些方面类似于整数的模数化算术,但将此延伸到二进制有限域GF(2n)内的多项式需要对基本运算进行某些修改。让我们首先引入某一域内的多项式。对于域F的任意多个项(am-1,...a1,a0),我们可关联x的(m-1)次的多项式:am-1xm-1+...a1x1+a0x0。在任何二进制有限域的情况下,域的项均为{0,1},且因此多项式系数ai同样为0或1。这一概念尤其适用于本质上为二进制的计算机硬件,因为每一位可被解译为有限域元素。举例来说,我们可将每个二进制字节值[a7 a6 a5 a4 a3 a2 a1 a0]与7次(或更小)的GF(2n)内的相应多项式a7x7+a6x6+asx5+a4x4+a3x3+a2x2+a1x+a0相关联。因此,例如,字节值[01100011]被解译为二进制多项式x6+x5+x+1。较长的多字节序列可同样被解译为较高次的多项式,条件是在二进制有限域GF(2n)内多项式次数(m-1)小于n,以便使多项式属于所述域。(注意:当比较多项式的相对大小时,所述比较是按次数执行的,以x的最大次数的多项式系数开始。)域中多项式的加法和减法以单独地加上或减去每一次的系数的通常方式实行,
Σ i a i x i ± Σ i b i x i = Σ i ( a i ± b i ) x i
然而,对于任何二进制域,项均为{0,1},因此域元素的加法和减法以2为模来执行(0±0=0,0±1=1±0=1,1±1=0)。注意,在此情况下,减法与加法相同。在计算机硬件中,通过对位阵列执行逻辑XOR运算来执行以2为模的加法/减法。举例来说,(x6+x4+x2+x 1)+(x7+x+1)=(x7+x6+x4+x2);或者按照二进制记数法,[01010111]
Figure 2006800209415_0
[10000011]=[11010100]。多项式乘法通常由下式定义(对于无限域):
( Σ i a i x i ) · ( Σ j b j x j ) = Σ k c k x k , 其中系数ck通过以下卷积给出:
c k = Σ i = j a i b j . (再次,在二进制域中,以2为模执行求和。)
然而,在有限域中,这一定义必须经修改以便确保乘积也属于所述域。明确地说,通常的多项式乘法之后是以n次的模数m(x)进行模数化约简(其中,如GF(2n)中一样,n是有限域的维数)。模数m(x)优选地选择为不可约多项式(素数的多项式模拟量,即不能被因子分解为同一域内的非平凡多项式的多项式)。举例来说,在AES/Riindael对称块密码程序中,使用特定的不可约多项式m(x)=x8+x4+x3+x+1作为执行多项式乘法时的模数化约简的所选基础,对二进制有限域GF(28)中的字节(7次或更小次数的多项式)执行运算。作为二进制有限域中的多项式乘法的实例,使用为AES指定的特定m(x):(x6+x4+x2+x+1)·(x7+x+1)=(x13+x11+x9+x8+x6+x5+x4+x3+1),在约简之后给出(x7+x6+1)。
设F[x]是系数全部为域F的项的多项式组。如果模数m(x)是F[x]中d次的多项式,那么对于多项式p(x),r(x)∈F[x]的情况,我们认为当且仅当m(x)除多项式p(x)-r(x),换句话说p(x)-r(x)是m(x)的多项式倍数,即p(x)-r(x)=q(x)·m(x)(其中某多项式q(x)∈F[x])时,p(x)与r(x)模m(x)同余,写成p(x)≡r(x)(mod m(x))。
等效地,p(x)和r(x)当被m(x)除时得到相同的余数。多项式p(x)(其可为F[x]中多项式a(x)和b(x)的一般乘积,即p(x)=a(x)·b(x))的模数化约简涉及查找多项式商q(x)使得余数或残数r(x)是小于m(x)的次数的多项式,即deg(r(x))<d。多项式残数r(x)(其与p(x)同余)是我们最终想要的多项式值。在二进制有限域GF(2n)中,m(x)将是n次的不可约多项式,且所寻求的残数多项式r(x)的次数将小于n;但p(x)以及因此(同样)q(x)可以是任何次数,且至少待约简的多项式p(x)的次数通常大于m,例如当p(x)为乘积时。在任何情况下,任何模数化约简方法中的基本问题是有效地获得商,尤其对于较大次数的多项式p(x)和m(x)。在密码应用的情境下,额外的问题是以防止幂分析攻击的方式在计算硬件中执行约简运算。
最初针对整数约简运算设计的Barrett方法涉及预先计算和存储模数的倒数的定标估计值U,并通过乘法和字或位移位(被x除)来替代长除法以便估计商。通过适当地选择参数,商估计值的误差至多为2。本发明修改Barrett方法使其适合二进制有限域中多项式的模数化约简,并且还通过较快地估计商且在计算余数之前有意将随机误差内射到商中而对Barrett方法作出改进。所得的随机化余数将略大于(就多项式次数来说)但与残数值同余。
设k是多项式模数m(x)的次数大小,其中
m ( x ) = Σ i = 0 k m i · x i , 其中
mk=1,mi∈{0,1}其中k-1≥i≥0
且设p(x)是待约简的多项式(次数至多为l),其中
p ( x ) = Σ j = 0 l p j · x j , 其中
pj∈{0,1}其中l≥j≥0
deg(p(x))≤2·k+1
我们一开始预先计算和存储(图2中步骤30)常数多项式u(x),其表示模数m(x)的定标倒数
u(x)=x2k+1/m(x)
接着,随后将存储的这一值用于针对此特定模数m(x)的所有多项式约简运算中。u(x)对于并非x的简单幂的每个模数m(x)始终为k次。
为了执行p(x)的模数化约简,我们使用所存储的值u(x)来估计多项式商q(x)(步骤32):
q(x)=((p(x)/xk-1)·u(x)/xk+2
对于高次(多字)的模数m(x),可通过字移位而不是位移位来执行所述运算。对于字大小w,我们可定义u(x)=x2k+w/m(x)并估计商q(x)=((p(x)/xk-w)·u(x))/xk+2w。在此情况下,多项式p(x)可具有稍许较大的次数:deg(p(x))≤2·k+w。这简化了计算硬件中对多项式量的处理。此计算仅需要二进制有限域多项式乘法(不进行约简)和多项式次数的移位。
在此阶段(步骤36),将随机多项式误差E(x)内射到计算出的多项式商中以获得随机化商,q′(x)=q(x)+E(x)。可通过任何已知的随机或伪随机数字产生器(硬件或软件)来产生(步骤34)随机多项式误差E(x),其中所产生的二进制值以上文已描述的方式被解译为多项式。唯一的限制是,误差的多项式次数落在指定范围(例如,0≤deg(E(x))<w/2)内。
对于高次(多字)的模数m(x),误差应限于几个位,例如小于二分之一字,即deg(E(x))<w/2。除了由商估计本身引起的任何误差以外,这将随机产生器引起的潜在误差限于指定数目的位,例如二分之一字。
接下来,我们计算(步骤38)余数r′(x),其将与(模数m(x))残数值r(x)同余:
r′(x)=p(x)+q′(x)·m(x)
因为随机多项式误差E被引入到多项式商q(x)中,所以计算出的余数r′(x)的次数将略大于模数m(x)。
余数r′(x)可用于进一步的计算中,其结果视需要可再次被约简。(误差保持有界。)
或者,视特定应用的需要而定,可通过以模数m(x)应用一般GF(2n)多项式约简以获得小于m(x)的多项式值,而依据余数r′(x)计算出残数r(x)。
使模数化约简随机化防止了依赖于幂使用的一致性来确定模数的各种密码分析攻击。此处,p(x)模m(x)的二进制域多项式约简依据执行的不同而随机地不同,同时仍产生全等的中间余数r′(x)。最后用于产生最终残数值r(x)的二进制域多项式约简的序列也依据执行的不同而随机地不同,因为其对不同的余数r′(x)执行运算。将以此方式约简的多项式p(x)可通过多种不同的算术运算来获得,所述算术运算包含乘法、乘方、求幂、加法等。同样,将使用的模数m(x)可以多种方式导出,最通常在密码系统中从密钥中导出。本发明的随机化模数化约简方法可用于依赖于此类二进制域GF(2n)多项式约简的许多密码算术中,包含Rijndael/AES对称块密码程序以及基于离散对数的公开密钥密码系统。

Claims (11)

1.一种在二进制有限域GF(2n)中的密码安全且计算机硬件实施的模数化多项式约简方法,其包括:
预先计算表示多项式模数m(x)的位定标倒数的多项式常数u(x)并将其存储在存储器中;
估计将以模数m(x)约简的多项式p(x)的近似多项式商q(x),其中在计算单元中通过在GF(2n)内借助所述常数u(x)并借助位移位进行多项式乘法来对p(x)执行所述估计;
在随机数字产生器中产生随机多项式误差值E(x)并将所述多项式误差值应用于所述近似多项式商以获得随机化多项式商q′(x)=q(x)+E(x);以及
在所述计算单元中计算多项式余数r′(x)=p(x)+q′(x)·m(x),所述余数r′(x)的次数高于所述模数m(x)但与p(x)模m(x)同余,且其中p(x)的次数小于或等于2k+1,其中k代表多项式模数m(x)的次数。
2.根据权利要求1所述的方法,其中根据等式u(x)=x2k+w/m(x)来执行预先计算所述多项式常数u(x),w是所述计算单元的以位计的字大小。
3.根据权利要求2所述的方法,其中所述计算单元根据等式q(x)=((p(x)/xk-1)·u(x))/xk+2来执行估计所述商q(x)。
4.根据权利要求1所述的方法,其中所述位移位是字尺度移位,将所述多项式常数预先计算为u(x)=x2k+w/m(x),且将所述商估计为q(x)=((p(x)/xk-w)·u(x))/xk+2w,其中w是所述计算单元的以位计的字大小,且其中p(x)的次数小于或等于2k+w。
5.根据权利要求4所述的方法,其中所述随机数字产生器具有二分之一字的指定误差极限,借此0≤deg(E(x))<w/2。
6.根据权利要求1所述的方法,其中所述p(x)的模数化约简是计算机硬件实施的密码程序的一部分。
7.一种用于在二进制有限域GF(2n)内执行密码安全的多项式模数化约简方法的计算硬件,所述硬件包括:
计算单元,其适于对从存储器检索到的多项式运算数和来自一组工作寄存器的多项式系数中间结果执行字范围有限域相乘和累加步骤;
随机数字产生器,其用于产生随机多项式误差值E(x);
运算定序器,其包括逻辑电路,所述逻辑电路用于根据程序指令控制所述计算单元和随机数字产生器,以便在二进制有限域GF(2n)内相对于模数m(x)实行数p(x)的多项式模数化约简,所述多项式模数化约简至少涉及:依据表示所述模数的位定标倒数的预先存储的多项式常数u(x)估计多项式商q(x),用所述随机多项式误差值E(x)使所述近似多项式商随机化以获得随机化多项式商q′(x)=q(x)+E(x),和计算多项式余数值r′(x)=p(x)+q′(x)·m(x)。
8.根据权利要求7所述的计算硬件,其进一步包括可由所述运算定序器存取的运算参数寄存器,所述寄存器含有以下中的任一者或一者以上(a)用于定位所述存储器或工作寄存器内的多项式运算数的字大小系数的指针,(b)关于多项式运算数的字长度的信息,和(c)关于运算步骤的中间结果的目的地地址信息。
9.根据权利要求7所述的计算硬件,其中通过根据等式u(x)=x2k+w/m(x)预先计算来获得所述存储器中的所述预先存储的多项式常数u(x),其中w是所述计算单元的以位计的字大小,k代表多项式模数m(x)的次数。
10.根据权利要求9所述的计算硬件,其中由所述计算单元在所述实行程序指令的运算定序器的控制下执行的对所述近似多项式商q的所述估计是根据等式q′(x)=((p(x)·xk-w)·u(x))/xk+2w完成的。
11.根据权利要求10所述的计算硬件,其中所述随机数字产生器具有二分之一字的指定误差极限,借此0≤deg(E(x))<w/2。
CN2006800209415A 2005-05-12 2006-04-12 随机模数化多项式约简方法及其硬件 Active CN101194457B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
FR05/04779 2005-05-12
FR0504779A FR2885711B1 (fr) 2005-05-12 2005-05-12 Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US11/203,939 US7805480B2 (en) 2005-05-12 2005-08-15 Randomized modular polynomial reduction method and hardware therefor
US11/203,939 2005-08-15
PCT/US2006/013795 WO2006124160A2 (en) 2005-05-12 2006-04-12 Randomized modular polynomial reduction method and hardware therefor

Publications (2)

Publication Number Publication Date
CN101194457A CN101194457A (zh) 2008-06-04
CN101194457B true CN101194457B (zh) 2011-06-01

Family

ID=35431948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800209415A Active CN101194457B (zh) 2005-05-12 2006-04-12 随机模数化多项式约简方法及其硬件

Country Status (5)

Country Link
US (2) US7805480B2 (zh)
JP (1) JP4875700B2 (zh)
CN (1) CN101194457B (zh)
FR (1) FR2885711B1 (zh)
TW (1) TWI386818B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2862454A1 (fr) * 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US7961877B2 (en) * 2006-12-14 2011-06-14 Intel Corporation Factoring based modular exponentiation
US8144864B2 (en) * 2007-12-28 2012-03-27 Intel Corporation Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems
TWI406548B (zh) * 2010-10-27 2013-08-21 Univ Southern Taiwan 橢圓曲線加密運算電路
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
CN103699357B (zh) * 2013-12-05 2016-11-23 西安交通大学 一种用于模乘和模平方的快速模约简算法电路
US9425961B2 (en) * 2014-03-24 2016-08-23 Stmicroelectronics S.R.L. Method for performing an encryption of an AES type, and corresponding system and computer program product
IL239880B (en) * 2015-07-09 2018-08-30 Kaluzhny Uri Simplified montgomery multiplication
CN106254059B (zh) * 2016-07-26 2020-03-20 华为技术有限公司 一种运算方法和安全芯片
JP6602276B2 (ja) * 2016-08-29 2019-11-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US10833868B2 (en) * 2017-12-06 2020-11-10 Intel Corporation Direct anonymous attestation-based apparatus and method
US10218494B1 (en) * 2018-02-23 2019-02-26 ISARA Corporation Performing block form reductions modulo non-Mersenne primes in cryptographic protocols
DE102018113475A1 (de) * 2018-06-06 2019-12-12 Infineon Technologies Ag Rechenwerk zum rechnen mit maskierten daten
WO2020145503A1 (en) * 2019-01-10 2020-07-16 Crypto Lab Inc. Apparatus for processing approximately encrypted messages and methods thereof
CN112506470B (zh) * 2020-12-21 2024-07-02 深圳比特微电子科技有限公司 芯片和计算系统
KR20220105495A (ko) * 2021-01-20 2022-07-27 삼성전자주식회사 부채널 공격에 내성이 있는 모듈라 곱셈을 위한 장치 및 방법
US11502819B2 (en) * 2021-01-21 2022-11-15 Nxp B.V. Efficient masked polynomial comparison
CN113253972A (zh) * 2021-05-13 2021-08-13 南京航空航天大学 一种lac中稀疏多项式乘法加速器的fpga实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1275748A (zh) * 1999-05-26 2000-12-06 朗迅科技公司 计算模数除法的余数的方法和装置
CN1490714A (zh) * 2002-10-02 2004-04-21 国际商业机器公司 用于高效模数归约和模数乘法的电路和方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839896A (en) * 1987-02-10 1989-06-13 Data Systems Technology Corp. Fast remainder decoding for a Reed-Solomon code
KR19990024971A (ko) * 1997-09-09 1999-04-06 정선종 모듈러 승산장치
US5144574A (en) * 1989-01-30 1992-09-01 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
US5077793A (en) * 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
EP0431629A3 (en) * 1989-12-08 1993-07-21 Sony Corporation Mutual division circuit
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
ES2101124T3 (es) * 1991-11-05 1997-07-01 Thomson Multimedia Sa Metodo, aparatos emisor y receptor para explotacion por modulo.
US5373560A (en) * 1991-12-06 1994-12-13 Schlafly; Roger Partial modular reduction method
US5513133A (en) * 1992-11-30 1996-04-30 Fortress U&T Ltd. Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
FR2726668B1 (fr) * 1994-11-08 1997-01-10 Sgs Thomson Microelectronics Procede de mise en oeuvre de reduction modulaire selon la methode de montgomery
US5999627A (en) * 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
US5724279A (en) * 1995-08-25 1998-03-03 Microsoft Corporation Computer-implemented method and computer for performing modular reduction
JP3504050B2 (ja) * 1996-01-26 2004-03-08 株式会社東芝 べき乗剰余演算方法及び装置
CA2262549C (en) * 1996-08-16 2001-06-12 Bell Communications Research, Inc. Accelerating public-key cryptography by precomputing randomly generated pairs
US5793659A (en) * 1996-10-15 1998-08-11 United Microelectronics Corporation Method of modular reduction and modular reduction circuit
GB9627069D0 (en) * 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
US6088453A (en) * 1997-01-27 2000-07-11 Kabushiki Kaisha Toshiba Scheme for computing Montgomery division and Montgomery inverse realizing fast implementation
CA2228493C (en) * 1997-02-03 2005-05-03 Nippon Telegraph And Telephone Corporation Scheme for carrying out modular calculations based on redundant binary calculation
DE69837036T2 (de) * 1997-09-16 2007-10-18 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zur ausführung einer entschlüsselung mittels einer standardisierten modularen potenzierung zum vereiteln eines zeitangriffs
US6466668B1 (en) * 1998-01-28 2002-10-15 Hitachi, Ltd. IC card equipped with elliptical curve encryption processing facility
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
US20020055962A1 (en) * 1999-11-12 2002-05-09 Richard Schroeppel Automatically solving equations in finite fields
DE19963407A1 (de) * 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
US7072072B1 (en) * 2000-05-02 2006-07-04 Xerox Corporation Color rendering optimized for text and line art
WO2001089129A2 (en) * 2000-05-15 2001-11-22 M-Systems Flash Disk Pioneers Ltd. Extending the range of computational fields of integers
US6917957B2 (en) * 2000-08-28 2005-07-12 Sun Microsystems, Inc. Method and apparatus for performing modular division using counters
DE10107376A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
WO2002073395A2 (en) * 2001-03-09 2002-09-19 The Athena Group, Inc. A method and apparatus for multiplication and/or modular reduction processing
EP1249963B1 (en) * 2001-04-11 2013-01-16 Hitachi, Ltd. Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
FR2829335A1 (fr) * 2001-09-06 2003-03-07 St Microelectronics Sa Procede de brouillage d'un calcul a quantite secrete
US7461115B2 (en) * 2002-05-01 2008-12-02 Sun Microsystems, Inc. Modular multiplier
FR2853424B1 (fr) * 2003-04-04 2005-10-21 Atmel Corp Architecture de multiplicateurs polynomial et naturel combines
FR2856537B1 (fr) 2003-06-18 2005-11-04 Gemplus Card Int Procede de contre-mesure par masquage de l'accumulateur dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique
FR2862454A1 (fr) 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
WO2006124160A2 (en) 2005-05-12 2006-11-23 Atmel Corporation Randomized modular polynomial reduction method and hardware therefor
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US8024391B2 (en) * 2006-11-06 2011-09-20 Atmel Rousset S.A.S. Modular multiplication method with precomputation using one known operand

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1275748A (zh) * 1999-05-26 2000-12-06 朗迅科技公司 计算模数除法的余数的方法和装置
CN1490714A (zh) * 2002-10-02 2004-04-21 国际商业机器公司 用于高效模数归约和模数乘法的电路和方法

Also Published As

Publication number Publication date
CN101194457A (zh) 2008-06-04
TWI386818B (zh) 2013-02-21
JP2008541166A (ja) 2008-11-20
FR2885711A1 (fr) 2006-11-17
US7805480B2 (en) 2010-09-28
FR2885711B1 (fr) 2007-07-06
US20110016167A1 (en) 2011-01-20
JP4875700B2 (ja) 2012-02-15
US20100023572A1 (en) 2010-01-28
TW200703037A (en) 2007-01-16

Similar Documents

Publication Publication Date Title
CN101194457B (zh) 随机模数化多项式约简方法及其硬件
CN107040362B (zh) 模乘设备和方法
De Win et al. A fast software implementation for arithmetic operations in GF (2 n)
KR100693239B1 (ko) 정보 처리 장치, ic 카드
WO2008112273A1 (en) Cryptographic method and system
CN1883155B (zh) 随机化模数约简方法以及用于该方法的硬件
KR100442218B1 (ko) 몽고메리의 알고리즘을 이용한 멱승 잉여 연산기
JP5182364B2 (ja) サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法
US20110170685A1 (en) Countermeasure method and devices for asymmetric encryption with signature scheme
KR20100113130A (ko) 비대칭 암호화를 위한 대응조치 방법 및 디바이스
EP1889398B1 (en) Randomized modular polynomial reduction method and hardware therefore
US6763366B2 (en) Method for calculating arithmetic inverse over finite fields for use in cryptography
US7050579B1 (en) Cryptographic methods and apparatus using word-wise montgomery multiplication
KR20040067779A (ko) 정보 처리방법
US20210226789A1 (en) Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product
US6609141B1 (en) Method of performing modular inversion
JP3551853B2 (ja) αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体
Knežević et al. Speeding up bipartite modular multiplication
Gutub Fast 160-bits GF (p) elliptic curve crypto hardware of high-radix scalable multipliers
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $
Knezevic et al. Modular reduction without precomputational phase
Fürbass ECC signature generation device for RFID tags
JP3999554B2 (ja) 乗算剰余演算方法及び演算装置
KR100725675B1 (ko) 불필요한 연산을 줄이도록 하는 카라슈바 곱셈 방법
Li et al. A factoring algorithm using quadratic residue

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ATMEL ROUSSEAU CO., LTD.

Free format text: FORMER OWNER: ATMEL CO., LTD.

Effective date: 20100617

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA, USA TO: ROUSSE, FRANCE

TA01 Transfer of patent application right

Effective date of registration: 20100617

Address after: French ruse

Applicant after: Atmel Rousset S. A. S.

Address before: American California

Applicant before: Atmel Corp.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: INSIDE SECURE CORPORATION

Free format text: FORMER OWNER: ATMEL ROUSSET SAS

Effective date: 20130118

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130118

Address after: Provence

Patentee after: Inside Secure

Address before: French ruse

Patentee before: Atmel Rousset S. A. S.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Fa Guomeileyi

Patentee after: Weimei Anshi Co., Ltd

Address before: Fa Guopuluowangsi

Patentee before: Inside Secure

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200304

Address after: California, USA

Patentee after: Rumbas

Address before: Fa Guomeileyi

Patentee before: Weimei Anshi Co., Ltd