CN1723436A - 抗隐蔽信道攻击的整数除法或模数简化保密方法 - Google Patents
抗隐蔽信道攻击的整数除法或模数简化保密方法 Download PDFInfo
- Publication number
- CN1723436A CN1723436A CN200380105308.2A CN200380105308A CN1723436A CN 1723436 A CN1723436 A CN 1723436A CN 200380105308 A CN200380105308 A CN 200380105308A CN 1723436 A CN1723436 A CN 1723436A
- Authority
- CN
- China
- Prior art keywords
- division
- random number
- integer
- digital
- modulus
- 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
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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- 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
-
- 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
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种密码方法,这种方法包括:执行类型q=a div b的整数除法和/或类型r=a mod b的模数简化,q为商数,a为m位的数字,b为n位的数字,n不超过m,且bn-1非零,bn-1是数字b的最高有效位,本发明的特征在于:在执行上述整数除法和/或所述模数简化之前通过随机数ρ屏蔽所述数字a。本发明还涉及用于执行所述方法的电子组件。本发明适用于制作抗隐蔽信道攻击,尤其是差分攻击的保密智能卡。
Description
本发明涉及抗隐蔽信道攻击,具体为区分估计的整数除法或模数简化保密方法。本发明可用于执行更一般的密码方法,例如秘密或公开密钥密码方法中的除法运算。这样的密码方法例如可以在诸如芯片卡之类的电子设备中实现。
密码方法的保密性在于它们可以使机密数据或从它们处理的机密数据导出的数据保持隐蔽。
恶意用户可能发起攻击,旨在发现执行密码方法的计算设备所执行的处理操作中包含和处理的数据(尤其是机密数据)。
在已知最佳的攻击方法中,可列举简单的信道攻击或差分隐蔽信道攻击。隐蔽信道攻击指基于可从设备外测量的物理量的攻击,对所述物理量的直接分析(简单攻击)或根据统计方法的分析(差分攻击)使得可以发现设备中执行的处理操作中处理的数据。PaulKocher具体地公开了这些攻击方法(“密码学进展(Advances inCryptology)”-CRYPTO′99,vol.1666 of Lecture Notes in ComputerScience,pp.388-397,Springer-Verlag,1999)。
在可用于这些目的的物理量中,可以列举执行时间、电流消耗、用于执行所述计算的组件部分辐射的电磁场。在执行方法期间,对一比特的处理(即特定指令对它的处理)会根据该比特的值和/或根据该指令在所述物理量上留下印记。换言之,执行所述方法的组件留下的痕迹(即所述物理量随时间的变化)随正在处理等于一的比特还是正在处理等于零的比特而有所不同。隐蔽攻击正是基于密码方法的这一弱点。
将类型Y=XD(X、Y和D是整数)的模指数运算用作基本运算的密码方法在最近几年已得到非常广泛的研究。例如,可以列举RSA方法、根据Diffie-Hellman的密钥交换或DSA签名方法。在使这些方法免于隐蔽信道攻击方面已取得显著进展。
另一方面,尚未对实现将如下运算用作基本运算的保密密码方法进行任何研究:类型q=a div b的整数除法以及r=a mod b,a和b为两个操作数,q和r分别为a除以b的商数和余数。a和/或b是秘密数据,例如是所述方法的密钥的元素。例如,Barrett的方法(“基于标准数字信号处理实现RSA公钥加密算法(Implementing the RSApublic key encryption algorithm on a standard digital singalprocessing)”,vol.263 of Lecture Notes in Computer Science,pp.311-323,Springer-Verlag,1999)、Quisquater的方法(美国专利5166978,1992年11月)或根据中国剩余定理实现的RSA方法(J JQuisquater和C Couvreur所著的“用于RSA公钥密码体制的快速解密算法”(“Fast decipherment algorithm for RSA public keycryptosystem”,Electronics Letter,vol 18,99.905-907,October 1982)就是将整数除法用作基本运算的密码方法。
这种利用整数除法和/或模数简化方法的方法对隐蔽信道攻击很敏感,从如下示例中将会看出这一点。
采用整数除法和/或模数简化的已知方法是所谓的“纸/铅笔”方法。此方法在实际中重复用手完成这种运算时所采用的方法。下面对此方法予以阐述。
给定两个数据项:m位的a=(am-1,...,a0)和n位的b=(bn-1,...,b0),n小于或等于m且bn-1γ0,所谓的“纸/铅笔”除法方法(division method)计算商数q=a div b以及余数r=a div b。为此,所述方法连续地执行几次n+1位的整数A除以n位的整数b。实际中有必要让0[A/b<2,这是bn-1γ0时的情况。
由于r<b,余数r只是n位的数字。对其而言,由于bμbn- 1*2n-1以及(am-1,...,an-1)是m-n+1位的数字,而q=a div b[a div(bn-1*2n-1)=a div 2n-1=(am-1,...,an-1),因此商数q只是m-n+1位的数字。在除法方法结束时,将商数q存储在最初包含数字a的寄存器的m-n+1个最低有效位中。将余数r的最高有效位存储在1位寄存器中,以用作计算期间的进位(carry),并且将余数r的n-1个最低有效位存储在最初包含数字a的寄存器的n-1个最高有效位中。
由于此运算是以2为基数完成的,因此整数除法A div b的商位(quotient bit)仅取两个可能值:0或1。因此,执行运算A divb的简单方法包括从A中减去b,然后测试结果:如果A-b的结果为正,则A div b=1;而如果A-b的结果为负,则A div b=0。
随后可以如下方式书写完整的除法方法:
Input:a=(0,am-1,...,a0)
b=(bn-1,...,b0)
Output:q=a div b and r=a mod b
A=(0,am-1,...,am-n+1)
For j=1 to(m-n+1),do:
a<-SHLm-1(a,1);σ<-carry
A<-SUBn(A,b);σ<-σOR carry
if(﹁σ=TRUE)then A<-ADDn(A,b)
if not lsb(a)=1
End For
方法1
在此方法中,以及下文中,均采用下列标记。
虽然提法不精确,但为了清楚,除非明确指出,同样的名称可用于指一个寄存器及其内容。因此,为了论及包含数据项A的寄存器,将会提到寄存器A。
符号“<-”和标记y<-x用于指示将寄存器x的内容装入寄存器y,寄存器y的内容也称为y。
A是一个对应于最初包含数据项a的寄存器的n个最高有效位的内容的n位字。每次迭代时当然会修改A,正如最初包含a的寄存器一样。
σ指示是否错误地执行了减法(即,商位必须是等于0或还是等于1)。
﹁σ是变量σ对于1的补码(亦称为反码)。TRUE是常数,在一个示例中等于1。
Lsb(a)是数字a的最低加权位,亦称为a的最低有效位。
SHLm+1(a,1)是包含数据项a的m+1位的寄存器左移1位的运算,从该寄存器移出的位存储在变量carry中,而输入等于0的一位作为最初包含数据a的寄存器的最低有效位。
ADDn(A,b)是将数字b的n位与字A的n位相加的运算。应注意,运算SHLn(a,1)等效于运算ADDn(a,a)。自然,加法ADDn(a,b)是通过在适当的加法电路中将分别包含A和b的两个寄存器的内容相加来完成的。
SUBn(A,b)是从字A中减去数字b的运算。自然,减法SUBn(A,b)是通过在适当的减法电路中从包含字A的寄存器的内容中减去包含数据项b的寄存器的内容来完成的。
概括地说,方法1执行下列步骤:
-如果a<-SHLm+1(a,1),则生成carry(σ=carry=1),这意味着am=1(在移位前),因此必须从A中减去b。
-如果am=1(在移位前)并且如果A<-SUBn(A,b),则生成carry(carry=1),这意味着,在执行减法前A-bμ0,因此必须从A中减去b。
-如果a<-SHLm+1(a,1),则不生成carry,并且如果A<-SUBn(A,b),则也不生成carry(也就是说,如果在更新σ之后σ为假(或者﹁σ为真)),则这意味着在执行减法运算前A-b<0,因此不必从A中减去b。在此情况下,所述方法执行加法运算A<-ADDn(A,b),以便恢复A的值。
所述方法1对隐蔽信道攻击很敏感。这是因为注意到,方法1在每次迭代时,根据σ的值,也就是说根据当前迭代期间将获得的商位的值,执行加法ADDn(A,b)或将包含数据项a的寄存器的最低有效位设为1。执行这两种运算的用法和持续时间是不同的,并且它们在执行期间留下的痕迹也是不同的。每次迭代期间留下的总的痕迹因此随所述迭代期间获得的结果位(resultbit)变化。通过测量并研究例如执行完整方法时组件留下的痕迹,然后便可以逐位确定结果位的值。
方法1使得有可能获得整数除法(q=a div b)的结果和整数除法(r=a mod b)的余数,r=a mod b也是模数简化的结果。具有相同缺陷的其它已知方法要么单独执行模数除法,要么单独执行模数简化。一般而言,除法方法与模数简化方法非常相似。
本发明的目的之一是使执行模数除法和/或模数简化的方法保密。
为此,本发明提出了一种密码方法,其中执行类型q=a div b的整数除法和/或类型r=a mod b的模数简化,q为商数,a为m位的数字,b为n位的数字,n小于或等于m,且bn-1非零,bn-1是数字b的最高有效位。
根据本发明,所述方法的特征在于:在执行所述整数除法和/或所述模数简化之前通过随机数ρ屏蔽所述数字a。
由于数字a被随机数屏蔽,因此所述方法执行期间留下的痕迹(例如能量消耗)在每次执行时是不同的,从而不再可能实施差分隐蔽信道攻击。
本发明可应用于例如执行除法和模数简化二者的所述方法1。本发明可更一般地适用于执行这些运算中的一个或另一个的任何方法。
随机数ρ可以在每次执行所述方法时加以修改,或者简单地在执行所述方法预定次数后加以修改。在适用的情况下,最后选择相对小的随机数ρ,例如选择从32位到64位的随机数。
根据本发明的优选实施例,为了屏蔽数字a,将b乘以随机数ρ加到所述数字a上(a<-a+b*ρ)。为此,在具体项中,寄存器b的内容与随机数ρ相乘,随后与数字a相加,此加法结果存储在最初包含数字a的寄存器中。
然后接着执行整数除法和/或模数简化方法。
在执行整数除法的情况下,在以形式a+b*ρ屏蔽数字a的条件下执行整数除法的结果等于a div b+ρ。在此情况下,在整数除法之后,为了求得有关数字a的整数除法,即a div b的预期结果,从所述整数除法结果中去除随机数ρ的贡献量。
在执行模数简化的情况下,运算(a+b*ρ)mod b的结果等于amod b,即关于数字a的模数简化的预期结果。
本发明还涉及一种包括用于实施上述根据本发明的方法的装置的电子组件。编程计算装置特别包括用于存储所述数字a和b的几个存储器。
最后,本发明还涉及一种包括具有上述特征的组件的芯片卡。
Claims (8)
1.一种密码方法,其中执行类型q=a div b的整数除法和/或类型r=a mod b的模数简化,q为商数,a为m位的数字,b为n位的数字,n小于或等于m,以及bn-1非零,bn-1是数字b的最高有效位,所述方法的特征在于:在执行所述整数除法和/或所述模数简化之前通过随机数ρ屏蔽所述数字a。
2.如权利要求1所述的方法,其特征在于:为了屏蔽所述数字a,将b乘以随机数ρ加到所述数字a上(a<-a+b*ρ)。
3.如权利要求1或2所述的方法,其特征在于:在执行整数除法之后,从所述整数除法的结果中去除所述随机数ρ的贡献量。
4.如结合权利要求2的权利要求3所述的方法,其特征在于:为了去除所述随机数ρ的贡献量,从所述整数除法的结果中减去所述随机数ρ。
5.如权利要求1至4之一所述的方法,其特征在于:在每次执行所述方法时修改所述随机数ρ。
6.如权利要求1至4之一所述的方法,其特征在于:在执行所述方法预定次数之后修改所述随机数ρ。
7.一种包括用于实施根据前述权利要求之一的方法的电子组件,编程计算装置特别包括用于存储所述数字a和b的几个存储器。
8.一种包括根据上述权项的组件的芯片卡。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0215623A FR2848753B1 (fr) | 2002-12-11 | 2002-12-11 | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
FR02/15623 | 2002-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1723436A true CN1723436A (zh) | 2006-01-18 |
Family
ID=32338660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200380105308.2A Pending CN1723436A (zh) | 2002-12-11 | 2003-12-11 | 抗隐蔽信道攻击的整数除法或模数简化保密方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7639796B2 (zh) |
EP (1) | EP1579312A1 (zh) |
JP (1) | JP4378480B2 (zh) |
CN (1) | CN1723436A (zh) |
AU (1) | AU2003296823A1 (zh) |
FR (1) | FR2848753B1 (zh) |
WO (1) | WO2004055665A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2838210B1 (fr) * | 2002-04-03 | 2005-11-04 | Gemplus Card Int | Procede cryptographique protege contre les attaques de type a canal cache |
FR2847402B1 (fr) * | 2002-11-15 | 2005-02-18 | Gemplus Card Int | Procede de division entiere securise contre les attaques a canaux caches |
FR2895609A1 (fr) * | 2005-12-26 | 2007-06-29 | Gemplus Sa | 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 |
FR2897964B1 (fr) * | 2006-02-28 | 2017-01-13 | Atmel Corp | Procede de calcul numerique incluant la division euclidienne |
US8280041B2 (en) * | 2007-03-12 | 2012-10-02 | Inside Secure | Chinese remainder theorem-based computation method for cryptosystems |
JP4603022B2 (ja) * | 2007-08-02 | 2010-12-22 | 株式会社スクウェア・エニックス | 暗号化データ作成装置、および暗号化データ作成プログラム |
CA2688592C (en) * | 2007-10-01 | 2014-04-15 | Research In Motion Limited | Substitution table masking for cryptographic processes |
TWI517655B (zh) * | 2013-05-23 | 2016-01-11 | 晨星半導體股份有限公司 | 密碼裝置以及密鑰保護方法 |
FR3095709B1 (fr) * | 2019-05-03 | 2021-09-17 | Commissariat Energie Atomique | Procédé et système de masquage pour la cryptographie |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077793A (en) * | 1989-09-29 | 1991-12-31 | The Boeing Company | Residue number encryption and decryption system |
US5504817A (en) * | 1994-05-09 | 1996-04-02 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for memory efficient variants of public key encryption and identification schemes for smart card applications |
DE19963407A1 (de) * | 1999-12-28 | 2001-07-12 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung |
-
2002
- 2002-12-11 FR FR0215623A patent/FR2848753B1/fr not_active Expired - Fee Related
-
2003
- 2003-12-11 AU AU2003296823A patent/AU2003296823A1/en not_active Abandoned
- 2003-12-11 WO PCT/FR2003/003681 patent/WO2004055665A1/fr active Application Filing
- 2003-12-11 US US10/537,300 patent/US7639796B2/en not_active Expired - Fee Related
- 2003-12-11 CN CN200380105308.2A patent/CN1723436A/zh active Pending
- 2003-12-11 JP JP2004559820A patent/JP4378480B2/ja not_active Expired - Lifetime
- 2003-12-11 EP EP03813170A patent/EP1579312A1/fr not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20060023873A1 (en) | 2006-02-02 |
AU2003296823A1 (en) | 2004-07-09 |
FR2848753A1 (fr) | 2004-06-18 |
US7639796B2 (en) | 2009-12-29 |
WO2004055665A1 (fr) | 2004-07-01 |
JP4378480B2 (ja) | 2009-12-09 |
JP2006509261A (ja) | 2006-03-16 |
EP1579312A1 (fr) | 2005-09-28 |
FR2848753B1 (fr) | 2005-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902156B2 (en) | Asymmetrically masked multiplication | |
Nascimento et al. | Attacking embedded ECC implementations through cmov side channels | |
US8402287B2 (en) | Protection against side channel attacks | |
EP1084548A2 (en) | Secure modular exponentiation with leak minimization for smartcards and other cryptosystems | |
US7227947B2 (en) | Cryptographic method and cryptographic device | |
TWI403144B (zh) | 隨機化模數減化方法及其硬體 | |
CN101213512A (zh) | 保护数据处理设备以抵御攻击或分析的装置和方法 | |
US8233614B2 (en) | Integer division method secure against covert channel attacks | |
KR101061906B1 (ko) | 전력분석공격에 안전한 기본 연산 장치 및 방법 | |
CN1723436A (zh) | 抗隐蔽信道攻击的整数除法或模数简化保密方法 | |
WO2009091748A1 (en) | Modular reduction using a special form of the modulus | |
US20080130877A1 (en) | Method of Performing Secure and Compact Exponentiation for Cryptography | |
US7174016B2 (en) | Modular exponentiation algorithm in an electronic component using a public key encryption algorithm | |
Ambrose et al. | DARNS: A randomized multi-modulo RNS architecture for double-and-add in ECC to prevent power analysis side channel attacks | |
Joye et al. | A protected division algorithm | |
Lee et al. | A practical collision-based power analysis on RSA prime generation and its countermeasure | |
Monfared et al. | Secure and efficient exponentiation architectures using Gaussian normal basis | |
EP4297330A1 (en) | Method and system for protecting cryptographic operations against side-channel attacks | |
Alioto et al. | Power modeling of precharged address bus and application to multi-bit DPA attacks to DES algorithm | |
Walter | Pp. 59-68 of the Proceedings Breaking the Liardet-Smart Randomized Exponentiation Algorithm | |
JP2008224830A (ja) | 耐タンパーベキ乗演算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060118 |