CN101346691A - 包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡 - Google Patents
包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡 Download PDFInfo
- Publication number
- CN101346691A CN101346691A CN200680049130.8A CN200680049130A CN101346691A CN 101346691 A CN101346691 A CN 101346691A CN 200680049130 A CN200680049130 A CN 200680049130A CN 101346691 A CN101346691 A CN 101346691A
- Authority
- CN
- China
- Prior art keywords
- mod
- hidden
- calculate
- calculating
- exponentiation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000004300 potassium benzoate Substances 0.000 claims description 6
- 239000004322 Butylated hydroxytoluene Substances 0.000 claims description 4
- 239000004262 Ethyl gallate Substances 0.000 claims description 4
- 239000001679 citrus red 2 Substances 0.000 claims description 4
- 239000000555 dodecyl gallate Substances 0.000 claims description 3
- 239000004235 Orange GGN Substances 0.000 claims description 2
- 239000000787 lecithin Substances 0.000 claims description 2
- 239000000574 octyl gallate Substances 0.000 claims description 2
- 239000004299 sodium benzoate Substances 0.000 claims description 2
- 230000000873 masking effect Effects 0.000 abstract 2
- 230000002411 adverse Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- YQEZLKZALYSWHR-UHFFFAOYSA-N Ketamine Chemical compound C=1C=CC=C(Cl)C=1C1(NC)CCCCC1=O YQEZLKZALYSWHR-UHFFFAOYSA-N 0.000 description 1
- 241001274660 Modulus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004289 sodium hydrogen sulphite Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/723—Modular exponentiation
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7257—Random modification not requiring correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/728—Methods 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 using Montgomery reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及执行C=AB1 mod N类模幂的加密方法,其中A是操作数、B1是第一指数、N是模数并且C是结果,执行以下步骤:5E1:通过用随机数s隐蔽操作数A,E2:通过指数B1执行隐蔽操作的模幂,接着E3:通过从求幂结果中除去随机数s的贡献,解除隐蔽求幂的结果。根据本发明,隐蔽操作数A的步骤E1期间,将操作数A乘以Ks.B2形式的参数,其中K是常数并且B2是使B1.B2=1mod N的第二指数。该方法更适宜通过使用蒙哥马利乘法器执行。用于常数K的更适宜的选择是K=2p,p是位于0和n之间的整数,n是模数N的大小的上限,并且常规地依靠选择蒙哥马利乘法实现。
Description
本发明涉及避免隐蔽通道攻击的安全加密方法,为执行C=AB1mod N类型的模幂(modular exponentiation),其中A是操作数、B1是第一指数、N是模数、C是结果;执行以下步骤,包括:
-E1:通过数字s隐蔽操作数A,s是随机数或由生成确定性的序列数s的函数产生的数字,或固定的秘密数字,
-E2:以指数B1执行隐蔽操作数的模幂,接着
-E3:通过从结果幂中移除来自随机数s的贡献,解除隐蔽结果幂。
这样的方法特别适于不对称信号和加密应用。因此,根据所述应用,A可以是标记、检查、加密或解密的消息。B1是根据所述应用的公共或私有密钥。C是根据本发明的结果,被标记的或解密的消息。
通过数字s隐蔽数字A是使模幂操作安全的公知对策,尤其是当它们在芯片卡类型的微电路中执行时,避免所谓的侧通道或隐蔽通道攻击,允许获得关于数字B1的信息。
从文献D1(Timing Attack on Implementations of Diffie-Hellman,RSA,DSS and Other Systems,Paul Kocher,Crypto 1996,LNCS Springer)得知的第一对策由获得随机数s、计算sB2(其中B2是与B1相关的私有或公共密钥)、接着使A和sB2相乘(sB2.A)、做所述乘积结果与B1的幂运算((sB2.A)B1)、接着以N为模进行换算组成。B1和B2是公共密钥和相关的私有密钥,使,其中表示欧拉函数,使结果((sB2.A)B1)modulo N简化为(s.AB1)modulo N。最终除以s使其可能得到要求的结果,C=AB1 modulo N。该解决方法当然是有效的,但是其执行是昂贵的。事实上,为了有效测量,有必要令sB2大于A。这意味着s必须是一个大数,更确切地是大于A的大小除以B2的大小。如果B2小(例如小于17比特),s必须大(例如比用17除尽的模数的比特数大)。一方面,大随机数的产生需要使用大型生成器,其消耗相当大的能量,另一方面,需要相当多的时间,大随机数的产生并不总是与芯片卡应用相兼容。另外,执行除法需要长的时间。
主要由文献D2得知的第二对策(J.S.Coron,P.Paillier,“Countermeasure method in an electronic component which uses an RSA-type public key cryptographic element”专利号FR2799851。公开日期2001-04-20,国际公开号WO0128153)由使用两个随机数s1、s2来执行操作(A+s1.N)B1mod(s2.N)组成。接着,在计算结束时,s1和s2的贡献被除去。由于s1和s2在大小上可以是小的,因此它们更容易获得。然而,该方法要求执行操作模数s2.N。这要求使用较大的乘法器并且并不总是与芯片卡应用相兼容。
本发明的一个目的是提供一种执行AB1mod N类型模操作的解决方法,该解决方法比已知的解决方法更适用,因为其更少的执行花费。
对于预先加密的应用,B1和B2自然地与私有和公共密钥相关联。
在求幂后解除隐蔽步骤中,由随机数s提供的贡献Ks被除去。
在本发明中,一方面,随即数s被B2相乘,另一方面,其替代为指数。因此,参数Ks.B2足够大以隐蔽操作数A,甚至当s小时仍可以隐蔽操作数A。使用本发明,不必具有大随机数发生器。
本发明的另一个目的是提供快速执行的方法。
为了该原因,在本发明的优选实施例中,使用蒙哥马利乘法器执行隐蔽E1的步骤、求幂E2和解除隐蔽E3,其具有执行模乘(modularmultiplication)的优点,与传统乘法器相比,使用蒙哥马利乘法器执行特别快并且对求幂非常有用。
也优选地,常数K选择为等于2P,P是0和n之间的整数,n是模数N的大小的上界。这里应理解模数N的大小的上界是指等于或略大于n的大小的数,并且典型地依靠选择实施蒙哥马利乘法器和/或其中执行乘法的处理器的硬件容量。例如,如果N是520比特数,并且如果使用的处理器工作在576比特字,n将有利地被选择为等于576比特。
当保证该方法安全时,选择常数K=2P使得可能有利于使用蒙哥马利乘法器的特性来加速计算。选择数p=n以使K=2n最适宜,如将在以下所见的。
本发明也涉及包括特别是用于执行以上描述方法的蒙哥马利乘法器的加密处理器。
最后,本发明涉及包括如上面所描述的加密处理器的芯片卡。
通过以下提供的描述,即通过本发明的非限定的优选实施例,将更好地理解本发明,并且本发明进一步的特征和优点将更加清楚。
如以上所提及的,本发明涉及安全加密方法,其间为了执行C=AB1mod N类模幂,其中A是操作数、B1是第一指数、N是模、C是结果,执行以下步骤,包括:
-E1:通过随机数s隐蔽操作数A,
-E2:通过指数B1执行隐蔽的操作数的模幂,接着
-E3:通过从求幂结果中移除来自随机数s的贡献,解除隐蔽求幂的结果。
根据本发明,在隐蔽操作数A的步骤E1期间,操作数A与形式为Ks,B2的参数相乘,其中K是常数,B2是第二指数,以使 这样,获得隐蔽的操作数,A’=Ks,B2.A。通过B1对A’求幂(步骤E2)产生隐蔽的结果C’=Ks.AB1mod N。最终,在步骤E3期间,由随机数s提供的贡献Ks被除去以获得想要的结果C。
本发明优选地利用蒙哥马利乘法器执行。
在提供本发明方法更完整的描述前,顺便回忆一下蒙哥马利乘法器的某些公知属性,例如在文献D3中所描述的(P.L.Montgomery,ModularMultiplication without trial division,Mathematics of computation,44(170)pp519-521,April 1985)。
蒙哥马利乘法器使得执行Mgt(A,B,N)=A.B.R-1mod N类乘法成为可能。该乘法器的一个优点在于其计算速度。该乘法器的一个缺点是计算中引入了称为蒙哥马利常量的常量R。R是2的幂,互质于具有n的N∶R=2,以使GCD(R,N)=1。
蒙哥马利常量是乘法器中固有的,并且有必要在计算的初期、计算期间或结尾除去其贡献。因此,为了计算C=A.B mod N,例如可能首先计算A.R,接着Mgt(A.R,B,N)=A.B mod N。也可能执行第一乘法C0=Mgt(A.R,B.R,N)=A.B.R mod N,跟着是C=Mgt(1,C0,N)=A.B mod N类型的第二乘法。
蒙哥马利乘法器也使得执行C=MgtExp(A,B,N)=AB.R-(B-1)mod N或C=MgtExp(A.R,B,N)=AB.R mod N类型的模幂成为可能(该情况下,由计算引入的常数R-B在计算初期通过A乘以R得以补偿)。具体地,为了执行蒙哥马利求幂,执行如一般地称为“平方和乘法”的算法,在以q-1和0之间变化的i为索引的循环中,q为数B的大小,由Ui=Mgt(Ui -1,Ui-1,N)和可能的Mgt(Ui,A,N)(或Mgt(Ui,A.R,N))类型的连乘组成,根据与索引i相关的B的比特Bi的值,Ui是初始化为值Uq=R的循环变量。该求幂在文献D4中更详细地解释(Handbook of Applied Cryptographyby A.Menezes,P.Van Oorschot and S.Vanstone,CRC Press 1996,chapter 14,algorithm 14.94)。该求幂计算具有特别快的优点。
蒙哥马利操作具有以下主要特征,其将使用如下:
Mgt(A,B,N)=A.B.R-1mod N
Mgt(A.R,B.R,N)=A.B.R mod N
Mgt(1,1,N)=Mgt(N-1,N-1,N)=R-1mod N
Mgt(A,1,N)=Mgt(N-A,N-1,N)=A.R-1mod N
MgtExp(A.R,B,N)=AB.R mod N
在本发明方法的优选实施例中,蒙哥马利乘法和求幂用于加速通过随机数Ks,B2隐蔽的求幂的计算。
开始,在隐蔽操作数A的步骤E1期间,执行以下子步骤,包括:
-E11:通过将随机数s与第二指数B2相乘,执行常数K的第一蒙哥马利求幂;以该方式获得隐蔽的Ks.B2mod N,接着
-E12:通过操作数A执行第一蒙哥马利求幂(=隐蔽的Ks.B2)的结果的蒙哥马利乘法,以产生隐蔽的操作数A’(A’=Ks.B2.Amod N)。
接着,在隐蔽的操作数A’的求幂步骤期间,执行以下子步骤:
-E212:通过第一指数B1执行隐蔽的操作数A’的第二蒙哥马利求幂,以产生隐蔽的结果C’。
最后,在解除隐蔽被隐蔽结果的步骤E3期间,执行以下子步骤:
-E31:执行第三蒙哥马利求幂以计算参数K-s,
-E32:通过K-s执行被隐蔽结果C’的蒙哥马利乘法。
如前述提及的,蒙哥马利乘法和求幂引出了依靠蒙哥马利常量R的结果的贡献。该常量能够在每次乘法的结尾消除,例如在计算后通过利用R2执行蒙哥马利乘法。当这成为可能,并且特别对于求幂,更容易通过将操作数乘以常量R来在初期补偿常量R,而不是在结尾补偿R的幂(尤其是R的负数幂)。
同样地,常量K的正确选择使得进一步提高计算速度成为可能,尤其是,在计算K-s的步骤E31中。更好地,选择与蒙哥马利常量R=2n具有同样形式的常量K=2p(p限定在0和n之间),使得简化计算成为可能。以下具体公开:
Mgt(1,1,N)=Mgt(N-1,N-1,N)=R-1mod N
Mgt(A,1,N)=Mgt(N-A,N-1,N)=A.R-1mod N
Mgt(2p,1,N)=Mgt(N-1,N-1,N)=2p.2-n mod N
=(2n-p)-1mod N
Mgt(2n-p,1,N)=Mgt(N-2n-p,N-1,N)=2n-p.2-n mod N
=(2p)-1mod N,其中2n-p=R/K
因此帮助计算K的逆(inverse)并且接着计算K-s的逆。
在接着选择K=2p的各种简化后,最终获得包含所有以下步骤的方法:
E0:初始化:
E011:选择整数j并计算常量K=R/2j,(R=2n、K=2p、p=n-j)
E012:选择随机数s并将其乘以B2以获得s1,
E013:计算R2,
E1:隐蔽A为A’
E11:计算隐蔽的Ks1
E111:计算T1=Mgt(K,R2,N)=K*R mod N;该步骤使得逆流补偿下列求幂中R的贡献成为可能
E112:计算U1=MgtExp(T1,s1,N)=Ks1*R mod N
E12:隐蔽A为A’
E121:计算M1=Mgt(U1,A,N)=Ks1.A mod N
E2:计算C’=A’B1mod N
E211:计算M2=Mgt(M1,R2,N)=Ks1.A.R mod N;该步骤使得逆流补偿下列求幂中R的贡献成为可能
E212:计算U2=MgtExp(M1,B1,N)=AB1.Ks R mod N
E3:基于C’得到C
E31:计算K-s
E311:计算I1=Mgt(2j,1,N)=K-1mod N
E312:计算I2=Mgt(I1,R2,N)=K-1.R mod N
E313:计算V=MgtExp(I2,s,N)=K-s.R mod N
E32:计算C=C’.K-s
E321:计算U3=Mgt(U2,V,N)=AB1.R mod N
E322:计算U4=Mgt(U3,1,N)=AB1mod N
应当注意,当在加密处理器中执行上述方法时,相同的寄存器或存储器部分可以用来存储中间变量,具有包含同样字母的名字:变量M1,M2可以连续存储在寄存器M中,这一点同样适合变量I1、I2,即变量I1、I2可以存储在相同的寄存器I中,并且变量U1、U2、U3、U4可以存储在相同的寄存器U中。
特别选择K=2n使得进一步加速计算成为可能,因为事实上K=R允许进一步简化。
在简化后,获得以下方法:
E0:初始化:
E012:选择随机数s并计算s1=s.B2+1。
E013:计算R2,
E1:隐蔽A为A’
E11:计算隐蔽的Rs1
E112:计算U1=MgtExp(R2,s1,N)=Rs1*R mod N
E12:隐蔽A为A’
E121:计算M1=Mgt(U1,A,N)=Rs1*A mod N=Rs.B2.A.R modN
E2:计算C’=A’B1mod N
E212:计算U2=Mgt(M1,B1,N)=AB1.Rs.R mod N
E3:基于C’得到C
E31:计算R-(s+1)
E313:计算V=MgtExp(1,s+1,N)=R-(s+1).R mod N
E32:计算C=C’.K-(s+1)
E321:计算U3=Mgt(U2,V,N)=AB1mod N
比较一般的K=2p的情况,以下简化使得:
-K等于R,步骤E011变为不需要,
-步骤E111也变为不需要,因为R2已经在步骤E013中计算,
-通过在步骤E012期间计算s1=s.B2+1(代替s1=s.B2),步骤E211变为不需要,
-R-1立即计算,放弃不需要的步骤E311和E312
-通过在步骤E31中选择s=s+1可能跳过步骤E222
明显地,在上述方法中,个别步骤可移动或变换位置。例如,在初始步骤E0中,子步骤可以以不同的顺序执行。
如上可见,本发明能够有利地实现以在以下三个步骤中执行求幂C=AB1mod N:
-E1:A’=A.Ks.B2(隐蔽A)
-E2:C’=A’B1mod N(求幂)
-E3:C=C’*K-s(解除隐蔽)
本发明也能够有利地结合中国剩余定理(Chinese RemainderTheorem)以加速求幂计算。这一般称为RSA-CRT。
关于中国剩余定理(CRT),可从文献D5(Cryptography Theory andPractice,chapter 4,Douglas R.Stinson,1995,CRC Press)获知,传统求幂计算C=AB1mod N可分解如下:
-Cp=(A mod p)Bp1 mod p
-C1=(A mod 1)Bq1 mod q
-C=Cq+q*(Iq*(Cp-Cq)mod p)mod N
其中
-p和q是两个素数以使p*q=N,
-Bp1=B1mod(p-1)
-Bq1=B1mod(q-1)
-Iq=q-1mod p
应用该CRT分解,本发明导出以下方法:
-E1:通过等于数s两倍的数u隐蔽操作数A(A’=Ku.B2*A),将操作数A乘以参数Ku.B2,
-E2:利用中国剩余定理计算C’(求幂):
Cp’=(A’mod p)B1p mod p;
Cq’=(A’mod q)B1q mod q;
C’=Cq’+q*(Iq.(Cp’-Cq’)mod p)mod N
=Ku*AB1mod N
=K2s*C’mod N
-E3:C=C’*K-2s(解除隐蔽)
更适宜地,为了更容易的计算,首先计算K2,接着计算(K2)-s。
在一个变型中,也可以执行以下:
-E1:通过等于数s两倍的数u隐蔽操作数A,如下:
Ap’=Ku.B2*A mod p
Aq’=Ku.B2*A mod q
-E2:利用中国剩余定理计算C’(求幂):
Cp’=(Ap’)B1p mod p;
Cq’=(Aq’)B1q mod q;
C’=Cq’+q*(Iq.(Cp’-Cq’)mod p)mod N
=Ku*AB1 mod N
=K2s*C’mod N
-E3:C=C’*K-2s(解除隐蔽)
在本发明优选实施例中,选择常数K=2max(size(p),size(q))=2r,其中r是p的大小和q的大小之间的最大的大小。该选择允许利用蒙哥马利处理器在执行该方法时简化。
接着,应注意在步骤E3中,(K2)-s中的值K2适于以N为模的蒙哥马利操作,其中N的大小小于或等于p和q的大小之和,size(N)≤size(p)+size(q)≤2*max(size(p),size(q))。
最后,应当注意到本发明的方法能够结合之前的方法以进一步提高本方法的安全性。
例如,除通过Ks.B2隐蔽A以外,也可以使用随机数s2隐蔽N,如文献D2中所描述的以及当前文献的现有技术。如果使用中国剩余定理,也可以通过s2隐蔽p和q。
Claims (12)
1、用于执行C=AB1mod N类型的模幂的加密方法,其中A是操作数、B1是第一指数、N是模数并且C是结果,执行以下步骤,包括:
-E1:通过随机数s隐蔽操作数A,
-E2:通过指数B1执行隐蔽操作的模幂,接着
-E3:通过从求幂结果中除去随机数s的贡献来解除隐蔽求幂的结果,
该方法的特征在于,在隐蔽操作数A的步骤E1期间,将操作数A乘以Ks.B2形式的参数,其中K是常数,并且B2是使B1.B2=1mod(N)的第二指数。
2.根据权利要求1的方法,其中隐蔽操作数A的步骤E1包括以下子步骤,包括:
-E11:通过将随机数s乘以第二指数B2的结果执行常数K的第一蒙哥马利求幂,接着
-E12:通过操作数A执行第一蒙哥马利求幂的结果的蒙哥马利乘法,以产生隐蔽的操作数A’(A’=Ks.B2)。
3.根据权利要求2的方法,其中求幂步骤E2包括以下子步骤,包括:
E212:通过第一指数B1执行隐蔽的操作数A’的第二蒙哥马利求幂,以产生隐蔽的结果C’。
4.根据权利要求3的方法,其中解除隐蔽求幂的结果的步骤E3包括以下子步骤:
-E31:执行第三蒙哥马利求幂以计算参数K-s,
-E32:通过K-s执行隐蔽的结果C’的蒙哥马利乘法。
5.根据权利要求2-4中任意一个的方法,其中常数K等于2p,p是0和n之间的整数,n是模数N的大小的上限。
6.根据权利要求5的方法,其中常数K等于2n。
7.根据权利要求5或6的方法,包括所有以下的步骤和子步骤:
E0:初始化:
E011:选择整数j并且计算常数K=R/2j,
E012:选择随机数s并且将其乘以B2以得到s1,
E013:计算R2,R是等于2n的蒙哥马利常数,
E1:隐蔽A为A’
E11:计算隐蔽的Ks1
E111:计算T1=Mgt(K,R2,N)=K*R mod N
E112:计算U1=MgtExp(T1,s1,N)=Ks1*R mod N
E12:隐蔽A为A’
E121:计算M1=Mgt(U1,A,N)=Ks1.A mod N
E2:计算C’=A’B1 mod N
E211:计算M2=Mgt(M1,R2,N)=Ks1.A.R mod N
E212:计算U2=MgtExp(M1,B1,N)=AB1.Ks.R mod N
E3:基于C’得到C
E31:计算K-s
E311:计算I1=Mgt(N-2j,N-1,N)=Mgt(2j,1,N)=K-1 mod N
E312:计算I2=Mgt(I1,R2,N)=K-1.R mod N
E313:计算V=MgtExp(I2,s,N)=K-s.R mod N
E32:计算C=C’.K-s
E321:计算U3=Mgt(U2,V,N)=AB1.R mod N
E322:计算U4=Mgt(U3,1,N)=AB1 mod N
8.根据权利要求6的方法,包括所有以下步骤和子步骤:
E0:初始化
E012:选择随机数s并计算s1=s.B2+1
E013:计算R2,
E1:隐蔽A为A’
E11:计算隐蔽的Rs1
E112:计算U1=MgtExp(R2,s1,N)=Rs1.R mod N
E12:隐蔽A为A’
E121:计算M1=Mgt(U1,A,N)=Rs1*A mod N=Rs.B2.A.R mod N
E2:计算C’=A’B1 mod N
E212:计算U2=Mgt(M1,B1,N)=AB1.Rs.R mod N
E3:基于C’得到C
E31:计算R-(s+1)
E313:计算V=MgtExp(1,s+1,N)=R-(s+1).R mod N
E32:计算C=C’.K-(s+1)
E321:计算U3=Mgt(U2,V,N)=AB1 mod N
9.根据任一前述权利要求的方法,其中步骤E1到E3修改为以下:
-E1:通过等于数s两倍的数u隐蔽操作数A(A’=Ku.B2*A),用参数Ku.B2乘以操作数A。
-E2:执行通过指数B1隐蔽的操作数的模幂,根据中国剩余理论分解为以下子步骤:
-Cp=(A mod p)Bp1 mod p
-C1=(A mod 1)Bq1 mod q
-C=Cq+q*(Iq*(Cp-Cq)mod p)mod N
-E3:解除隐蔽求幂的结果(C’),将求幂的结果(C’)乘以K-2smodN,
其中p和q是两个相乘结果为N的整数(p*q=N),Bp1等于B1对p-1取模,Bq1等于B1 mod q-1,Iq等于q-1 mod p。
10.根据权利要求9的方法,其中K等于2r,其中r是p的大小和q的大小中最大的大小。
11.特别包含用于执行根据权利要求2-10中任意一个权利要求的方法的蒙哥马利乘法器的加密处理器。
12.包括根据权利要求11的加密处理器的芯片卡。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0513305 | 2005-12-26 | ||
FR0513305A FR2895609A1 (fr) | 2005-12-26 | 2005-12-26 | Procede cryptographique comprenant une exponentiation modulaire securisee contre les attaques a canaux caches, cryptoprocesseur pour la mise en oeuvre du procede et carte a puce associee |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101346691A true CN101346691A (zh) | 2009-01-14 |
Family
ID=36782564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680049130.8A Pending CN101346691A (zh) | 2005-12-26 | 2006-12-22 | 包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8265266B2 (zh) |
EP (1) | EP1969459A1 (zh) |
CN (1) | CN101346691A (zh) |
FR (1) | FR2895609A1 (zh) |
WO (1) | WO2007074149A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808089A (zh) * | 2010-03-05 | 2010-08-18 | 中国人民解放军国防科学技术大学 | 基于非对称加密算法同态性的秘密数据传输保护方法 |
CN102684876A (zh) * | 2011-02-25 | 2012-09-19 | 英赛瑟库尔公司 | 包括求幂运算的加密方法 |
CN103207770A (zh) * | 2013-04-16 | 2013-07-17 | 飞天诚信科技股份有限公司 | 一种在嵌入式系统中实现大数预计算的方法 |
CN103221917A (zh) * | 2010-09-29 | 2013-07-24 | 纳格拉影像股份有限公司 | 加密运算中模幂的保护 |
CN104796250A (zh) * | 2015-04-11 | 2015-07-22 | 成都信息工程学院 | 针对RSA密码算法M-ary实现的侧信道攻击方法 |
CN106339204A (zh) * | 2015-07-09 | 2017-01-18 | 华邦电子股份有限公司 | 加密计算方法以及装置 |
CN108599951A (zh) * | 2018-08-10 | 2018-09-28 | 北京奇虎科技有限公司 | 加密方法及装置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2015171A1 (fr) * | 2007-06-29 | 2009-01-14 | Gemplus | Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés sans la connaissance de l'exposant public, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée |
WO2012090289A1 (ja) * | 2010-12-27 | 2012-07-05 | 富士通株式会社 | 暗号処理装置および方法 |
DE102011117236A1 (de) * | 2011-10-28 | 2013-05-02 | Giesecke & Devrient Gmbh | Effiziente Primzahlprüfung |
ITMI20111992A1 (it) * | 2011-11-03 | 2013-05-04 | St Microelectronics Srl | Metodo per crittografare un messaggio mediante calcolo di funzioni matematiche comprendenti moltiplicazioni modulari |
DE102012005427A1 (de) * | 2012-03-16 | 2013-09-19 | Giesecke & Devrient Gmbh | Verfahren und System zur gesicherten Kommunikation zwischen einen RFID-Tag und einem Lesegerät |
US9959429B2 (en) * | 2013-03-15 | 2018-05-01 | Cryptography Research, Inc. | Asymmetrically masked multiplication |
US10181944B2 (en) | 2015-06-16 | 2019-01-15 | The Athena Group, Inc. | Minimizing information leakage during modular exponentiation and elliptic curve point multiplication |
US10462498B2 (en) * | 2017-02-07 | 2019-10-29 | The Directv Group, Inc. | Providing options to live stream multimedia content |
US11522669B2 (en) | 2018-03-28 | 2022-12-06 | Cryptography Research, Inc. | Using cryptographic blinding for efficient use of Montgomery multiplication |
FR3095709B1 (fr) * | 2019-05-03 | 2021-09-17 | Commissariat Energie Atomique | Procédé et système de masquage pour la cryptographie |
US11508263B2 (en) | 2020-06-24 | 2022-11-22 | Western Digital Technologies, Inc. | Low complexity conversion to Montgomery domain |
US11468797B2 (en) | 2020-06-24 | 2022-10-11 | Western Digital Technologies, Inc. | Low complexity conversion to Montgomery domain |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748410B1 (en) * | 1997-05-04 | 2004-06-08 | M-Systems Flash Disk Pioneers, Ltd. | Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication |
US6064740A (en) * | 1997-11-12 | 2000-05-16 | Curiger; Andreas | Method and apparatus for masking modulo exponentiation calculations in an integrated circuit |
CA2316227C (en) * | 1998-01-02 | 2009-08-11 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
EP1090480B1 (en) * | 1998-06-03 | 2019-01-09 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
FR2799851B1 (fr) | 1999-10-14 | 2002-01-25 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa |
JP4086503B2 (ja) * | 2002-01-15 | 2008-05-14 | 富士通株式会社 | 暗号演算装置及び方法並びにプログラム |
FR2848753B1 (fr) * | 2002-12-11 | 2005-02-18 | Gemplus Card Int | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
EP1692800B1 (en) | 2003-11-16 | 2010-06-30 | SanDisk IL Ltd | Enhanced natural montgomery exponent masking |
EP1840732A1 (en) * | 2006-03-31 | 2007-10-03 | Axalto SA | Protection against side channel attacks |
EP2154604A1 (en) * | 2008-08-06 | 2010-02-17 | Gemalto SA | Countermeasure securing exponentiation based cryptography |
US8572406B2 (en) * | 2010-03-31 | 2013-10-29 | Inside Contactless | Integrated circuit protected against horizontal side channel analysis |
KR101610917B1 (ko) * | 2010-03-08 | 2016-04-11 | 삼성전자주식회사 | 암호 알고리즘의 복호 방법 및 그것을 포함하는 암호 시스템 |
-
2005
- 2005-12-26 FR FR0513305A patent/FR2895609A1/fr active Pending
-
2006
- 2006-12-22 US US12/086,619 patent/US8265266B2/en not_active Expired - Fee Related
- 2006-12-22 WO PCT/EP2006/070206 patent/WO2007074149A1/fr active Application Filing
- 2006-12-22 EP EP06841618A patent/EP1969459A1/fr not_active Ceased
- 2006-12-22 CN CN200680049130.8A patent/CN101346691A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808089A (zh) * | 2010-03-05 | 2010-08-18 | 中国人民解放军国防科学技术大学 | 基于非对称加密算法同态性的秘密数据传输保护方法 |
CN103221917A (zh) * | 2010-09-29 | 2013-07-24 | 纳格拉影像股份有限公司 | 加密运算中模幂的保护 |
CN102684876A (zh) * | 2011-02-25 | 2012-09-19 | 英赛瑟库尔公司 | 包括求幂运算的加密方法 |
CN103207770A (zh) * | 2013-04-16 | 2013-07-17 | 飞天诚信科技股份有限公司 | 一种在嵌入式系统中实现大数预计算的方法 |
CN103207770B (zh) * | 2013-04-16 | 2016-09-28 | 飞天诚信科技股份有限公司 | 一种在嵌入式系统中实现大数预计算的方法 |
CN104796250A (zh) * | 2015-04-11 | 2015-07-22 | 成都信息工程学院 | 针对RSA密码算法M-ary实现的侧信道攻击方法 |
CN104796250B (zh) * | 2015-04-11 | 2018-05-25 | 成都信息工程学院 | 针对RSA密码算法M-ary实现的侧信道攻击方法 |
CN106339204A (zh) * | 2015-07-09 | 2017-01-18 | 华邦电子股份有限公司 | 加密计算方法以及装置 |
CN106339204B (zh) * | 2015-07-09 | 2019-01-08 | 华邦电子股份有限公司 | 加密计算方法以及装置 |
CN108599951A (zh) * | 2018-08-10 | 2018-09-28 | 北京奇虎科技有限公司 | 加密方法及装置 |
CN108599951B (zh) * | 2018-08-10 | 2021-10-01 | 北京奇虎科技有限公司 | 加密方法、加密装置、计算设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1969459A1 (fr) | 2008-09-17 |
FR2895609A1 (fr) | 2007-06-29 |
WO2007074149A1 (fr) | 2007-07-05 |
US8265266B2 (en) | 2012-09-11 |
US20100014656A1 (en) | 2010-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101346691A (zh) | 包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡 | |
CN101632255B (zh) | 密码方法 | |
US4964164A (en) | RSA computation method for efficient batch processing | |
KR100855958B1 (ko) | 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법 | |
US20100177887A1 (en) | Montgomery-based modular exponentiation secured against hidden channel attacks | |
EP1840732A1 (en) | Protection against side channel attacks | |
JP4662802B2 (ja) | 計算方法、計算装置及びコンピュータプログラム | |
WO2012041942A1 (en) | Protecting modular exponentiation in cryptographic operations | |
EP2154604A1 (en) | Countermeasure securing exponentiation based cryptography | |
US20080201398A1 (en) | Determination of a Modular Inverse | |
JP4977300B2 (ja) | 暗号法及び装置 | |
EP3698262B1 (en) | Protecting modular inversion operation from external monitoring attacks | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
Paar et al. | The RSA cryptosystem | |
Dubey et al. | Cryptanalytic attacks and countermeasures on RSA | |
CN1985458A (zh) | 增强的自然蒙哥马利指数掩蔽 | |
Kayode et al. | Efficient RSA cryptosystem decryption based on Chinese remainder theorem and strong prime | |
Ateniese et al. | A family of FDH signature schemes based on the quadratic residuosity assumption | |
Yamamura | Security Analysis of Public Key Encryptions Based on Conjugacy Search Problem | |
US20020188846A1 (en) | OSS signature scheme | |
Okeya et al. | Security analysis of CRT-based cryptosystems | |
Gideskog | Viability of Post Quantum Digital Signature Algorithms on Field Programmable Gate Arrays | |
Shukla et al. | A Comparative analysis of the attacks on public key RSA cryptosystem | |
Khyoon | Modification on the Algorithm of RSA Cryptography System | |
Agrawal et al. | Improvement Over Public Key Cryptosystem RSA by Implementing New Decryption Key Generation Algorithm |
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: GEMPLUS CARD INT Free format text: FORMER OWNER: GEMPLUS CO. Effective date: 20111202 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20111202 Address after: French Meudon Applicant after: Gemplus Card Int Address before: French based Minos Applicant before: Gemplus Co. |
|
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20090114 |