CN101180606A - 模逆元的确定 - Google Patents
模逆元的确定 Download PDFInfo
- Publication number
- CN101180606A CN101180606A CNA2006800180084A CN200680018008A CN101180606A CN 101180606 A CN101180606 A CN 101180606A CN A2006800180084 A CNA2006800180084 A CN A2006800180084A CN 200680018008 A CN200680018008 A CN 200680018008A CN 101180606 A CN101180606 A CN 101180606A
- Authority
- CN
- China
- Prior art keywords
- pending
- long
- computing unit
- modular inverse
- substep
- 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/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/721—Modular inversion, reciprocal or quotient calculation
-
- 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)
Abstract
本发明涉及一种反旁道攻击的编码方法,其中,通过模块(M)将返回值(r)确定为输入值(a)的模逆元。本发明的目的在于,在以最小的复杂性执行确定模逆元素时实现以最小的限制来防止旁道攻击。为此,该目的这样地实现,即在第一子步中生成输入值(a)和随机数(c)的第一积(d),在第二子步中通过模块(M)确定第一积(d)的模逆元(e),在第三子步中通过模逆元(e)确定随机数(c)的第二积(b),在第四子步中将返回值(r)设定成与第二积(b)相同。
Description
技术领域
本发明涉及一种方法,该方法用于通过模块反旁道攻击地将返回值计算成输入值的模逆元(modular inverse)。
背景技术
旁道攻击是加密分析的方法的一个种类。在此,不同于至今为止对加密应用的攻击,攻击者并非试图建立在抽象数学算法的基础上进行破坏,而是攻击加密方法的特殊执行方式。为此,攻击者使用那些容易触及的用于具体执行的物理测量参数,如运算的运行时间、在诱发出错误时运算或者执行动作期间处理器的能量消耗和电磁辐射。单个运算的物理测量值可以被直接地分析,例如通过简单功耗分析(SPA),或者攻击者记录多个运算的测量值(例如使用存储示波器),然后统计地评估这些测量值,例如使用差分功耗分析(DPA)。当算法的执行没有针对旁道攻击来进行保护时,那么旁道攻击经常比传统的加密分析技术更加有效率并且甚至可以从破坏算法的角度考虑而被视为可靠的方法。用于防止旁道攻击的反措施对于智能卡和嵌入应用是尤为重要的。
在以下的公开出版物中涉及到旁道攻击:Kocher:Timingattacks on implementations of Diffie-Hellman,RSA,DSS,and othersystems,Crypto 1996,LNCS 1109,104-113页,Springer;Kocher,Jaffe,Jun:Differential power analysis,Crypto 1999,LNCS 1666,388-397页,Springer;Messerges,Dabbish,Sloan:Power analysis attacks ofmodular exponentiation in smatcards,CHES 1999,LNCS 1717,144-157页,Springer。
在此,在Boneh,Demillo,Lipton:On the importance of checkingcryptographic protocols for faults,Eurocrypt 1997,LNCS 1233,37-51页,Springer中已经谈及了在诱导出错误时的运算或者执行动作期间对来自于处理器的电磁辐射和能量消耗的信息的使用。
用于逆元的数学方法也在Menezes,van Oorschot,Vanstone:Handbook of applied cryptography,CRC-Press 1996中提及。
用于加密方法、尤其用于DES和AES的伪装技术也由Goubin,Patarin:DES and differential power analysis,CHES 1999,LNCS 1717,158-172页,Springer;Akkar,Giraud:An implementation of DES andAES,secure against some attacks,CHES 2001,LNCS 2162,309-318页,Springer;Messerges:Securing the AES finalists against poweranalysis attacks,FSE 2000,LNCS 1978,150-164页,Springer;Coron,Goubin:On boolean and arithmetic masking against differential poweranalysis,CHES 2000,LNCS 1965,213-237页,Springer;Trichina,deSeta,Germani:Simplified adaptive multiplicative masking for AES andits securized implementation,CHES 2002,LNCS 2523,187-197页,Springer;Golic,Tymen:Multiplicative masking and power analysis ofAES,CHES 2002,LNCS 2523,198-212页,Springer所公开。
基于数字签名标准的数字签名的产生也是FIPS 186:Digitalsignature standard,Federal Information Processing StandardsPublication 186,NIST 1997讨论的主题。
本发明的目的在于,尤其是相对于SPA和DPA来保护模逆元。许多加密方法(尤其是公钥加密方法)使用有限体(endlichenKoerpern)中的算法。在此,一个被应用的重要运算步骤是在有限体中的模逆元的运算。
用于模逆元的方法通常不是以用于计算最大公约数的算法(扩展欧几里德算法或者其变量,诸如像二进制运算Stein算法)为基础就是使用费马小定理并且因此使逆元归结到模幂。基于计算最大公约数的算法具有强烈的数据依赖性的流程:除法操作的数量例如可以被用于推断被逆元的数量。在以二进制运行的Stein算法时,如果用于计算体模(body’s module)的中间值为奇数,一被加入该中间值中。当攻击者可以观察该加和是否在算法的第i步骤中执行时,他可以通过比特发现要被逆元的数量。因此,在该算法中,攻击者可以轻松地从运行时间、能量消耗或者电磁辐射中推断出要被逆元的数量。尽管基于费马小定理的算法具有恒定的运行流程,但是这些算法很慢并且因此效率低下。
为旁道攻击防御而通常使用的技术不是试图损害要被保护的信息与所有其它可测量的信号之间的信噪比并由此使对保密信息的监视变得困难,就是应用随机选择技术,以去除保密信息与被测量的值之间的相关性。为了使监视保密信息变得困难的方法例如包括:避免依赖于数据的分支,这些分支依赖于有保护价值的信息;使用具有小的波动的电流曲线的程序步骤或者使用程序片段,该程序片段的运行时间不再依赖于运算数据;执行随机的和/或冗余的程序片段等等。然而,通常防止SPA攻击的应对措施具有缺点,即执行受到不利的限制。
用于去除要被保护的信息与被测量的值之间的随机选择技术并用于防御DPA统计分析方法。这些措施通常包括利用随机值隐藏保密信息。同时,在每次新的运算时,为掩码选择新的独立的随机数。因此,攻击者每次测量为其随机显示的运算,因为攻击者不知道掩码并且不能确定出测量的物理值和输入或者输出数据之间的任何简单的相互关系。
发明内容
针对现有技术的缺点和问题,本发明的目的在于提出一种用于计算模逆元的方法,该方法具有防止旁道攻击的能力并且同时对在执行时的限制很小,并且在保护防止旁道攻击的目的方面的额外成本也保持很少。
为此,根据本发明,提出一种根据权利要求1所述的方法。同时,提出一种根据权利要求3所述的行驶记录仪和根据权利要求4所述的数据卡,它们被分别这样地设计,即它们根据权利要求1所述的方法工作。各个相关的从属权利要求包括优选的改进方案。
根据本发明的技术允许用于计算模逆元的方法(还有基于计算最大公约数的非常有效的算法)的执行通过一种简单的转换来防御SPA和DPA。
此外,根据本发明的数学上的同态掩盖技术(arithmetischenhomomorphen Maskierungstechnik)的应用具有优点,即在开始计算时执行该掩盖,并且在结束时结果可以被去除掩盖并且同时用于模逆元的执行被保护以防止SPA和DPA的攻击。
用于加密和解密的方法,尤其用于在根据本发明的行驶记录仪或者根据本发明的移动数据载体的本发明的有利的应用例如是在根据数字签名标准DSA生成数字签名时所需的逆元:
设p为0质数,q|p-1为质数,0<g<p为用于次数q(Z/pZ)的循环亚群的生成元,0<a<q为密钥,A=g^a mod p为所属的公共密钥,并且0<=m<=p为待签名的消息。为了计算用于消息m和公共密钥A的签名(r、s),接下来根据DSA的计算步骤通过计算单元执行:
1)选择随机数0<k<q,该随机数必须保密
2)计算r=(a^k mod p)mod q
3)使用模M计算模逆元h=1/k mod q
4)计算s=h*(m+a*r)mod q
根据本发明,在步骤3中的模逆元的计算可以尤其有利地防御SPA,从而使攻击者不能了解保密的随机数k(所谓的瞬时加密)。如果攻击者了解到瞬时加密,那么他可以计算出创建出该签名的人员的密钥a。
根据本发明的、具有用于在无限体K中计算模逆元的执行的模M可以例如由属于无限体K的元素a中以旁道攻击的方式确定模逆元。为此,根据本发明的方法例如以下列步骤工作:
1)计算单元从K中选择随机元素c
2)计算单元确定d=ac
3)模M确定逆元e=M(d)
4)计算单元确定b=e*c
5)计算单元设定回馈值r:=b
在第三步骤中,攻击者仅仅观察随机的并且平均分配地选择的体元素(Koerperelement),该体元素独立于用于计算的实际输入a。因为攻击者不知道随机选择的元素c,所以攻击者不管通过SPA攻击还是通过DPA攻击都不能从通过M执行的计算步骤中获得任何信息。
根据本发明,方法的优点还在于,未受保护的执行仅需要通过步骤1)、2)、4)和5)来延续,从而防御SPA和DPA。特别是,用于计算模逆元的有效的方法能够以欧几里德算法为基础而无需更改地来使用。在此,附加的计算复杂性比基于费马小定理的用于逆元的方法要小得多。
根据本发明的方法的优选的改进方案提出,中间结果c、d和e在各自的计算步骤之后被删除。
附图说明
接下来,根据特殊的实施例参考附图来进一步说明本发明,其中,本发明不限于实施例的附图。图中示出:
图1具有根据本发明的数据卡的根据本发明的行驶记录仪的示意性透视图,
图2根据本发明的方法的流程的示意图。
具体实施方式
在图1中示出了根据本发明的行驶记录仪DTCO和根据本发明的数据卡DC。数据卡DC可以穿过两个容纳缝隙2中一个而插入到DTCO中,从而在两个部件之间的数据传输过程中使数据卡DC不可从外部触及地容纳在行驶记录仪DTCO中。在行驶记录仪DTCO的前侧3除了具有两个容纳缝隙2之外还具有显示单元1和操作部件4。在插入到容纳缝隙2中之后,数据卡DC通过数据线5与中央处理器CPU建立连接,该中央处理器对内部存储器MEM进行读取。数据卡同样具有内部存储器(未详细示出)和中央处理器。
在行驶记录仪DTCO和数据卡DC之间的数据传输通过对称密钥来实现加密,其中,在加密和解密期间行驶记录仪DTCO和数据卡DC的中央处理器CPU确定输入值A的模逆元。为此,处理器CPU使用在图2中示出的模KRY。
模KRY是加密流程的组成部分。输入值a被传输给模KRY并且继续传输给模Mod Inv进入到该模之内。模Mod Inv首先确定随机数并且将该随机数与输入值a相乘得到积d。通过模M来确定积d的模逆元,并且然后与随机数c相乘。使返回值r与该积相等并且作为结果返回给模KRY。
Claims (4)
1.一种方法,用于通过计算单元对数据进行反旁道攻击地加密和/或解密,其中,在加密和/或解密的步骤中,通过模(M)来确定作为输入值(a)的模逆元的返回值(r),其特征在于,
-在第一子步中,由所述输入值(a)和随机数(c)产生第一积(d),
-在第二子步中,所述模(M)确定所述第一积(d)的模逆元(e),
-在第三子步中,确定所述模逆元(e)与所述随机数(c)的第二积(b),
-在第四子步中,使所述返回值(r)与所述第二积(b)相等。
2.根据权利要求1或2所述的方法,其特征在于,在确定所述返回值(r)之后删除所述随机数(c)、所述第一积(d)、所述第二积(b)和所述模逆元(e)。
3.一种具有计算单元的行驶记录仪,其中,所述计算单元对数据进行加密和/或解密并且被这样地设计,即在加密和/或解密的步骤中,通过所述计算单元的模(M)来确定作为输入值(a)的模逆元的返回值(r),其特征在于,所述计算单元
-在第一子步中,由所述输入值(a)和随机数(c)产生第一积(d),
-在第二子步中,所述模(M)确定所述第一积(d)的模逆元(e),
-在第三子步中,所述计算单元确定所述模逆元(e)与所述随机数(c)的第二积(b),
-在第四子步中,所述计算单元使所述返回值(r)与所述第二积(b)相等。
4.一种移动数据载体,尤其是被设计为数据卡的数据载体,具有计算单元,其中,所述计算单元对数据进行加密和/或解密并且被这样地设计,即在加密和/或解密的步骤中,通过所述计算单元的模(M)来确定作为输入值(a)的模逆元的返回值(r),其特征在于,所述计算单元
-在第一子步中,由所述输入值(a)和随机数(c)产生第一积(d),
-在第二子步中,所述模(M)确定所述第一积(d)的模逆元(e),
-在第三子步中,所述计算单元确定所述模逆元(e)与所述随机数(c)的第二积(b),
-在第四子步中,所述计算单元使所述返回值(r)与所述第二积(b)相等。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005024609A DE102005024609A1 (de) | 2005-05-25 | 2005-05-25 | Bestimmung einer modularen Inversen |
DE102005024609.5 | 2005-05-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101180606A true CN101180606A (zh) | 2008-05-14 |
Family
ID=36658704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800180084A Pending CN101180606A (zh) | 2005-05-25 | 2006-05-19 | 模逆元的确定 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20080201398A1 (zh) |
EP (1) | EP1891512B1 (zh) |
JP (1) | JP2008542802A (zh) |
CN (1) | CN101180606A (zh) |
AT (1) | ATE449373T1 (zh) |
BR (1) | BRPI0611402A2 (zh) |
DE (2) | DE102005024609A1 (zh) |
RU (1) | RU2007148503A (zh) |
WO (1) | WO2006125754A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336680A (zh) * | 2013-06-27 | 2013-10-02 | 清华大学 | 改进的二进制左移模逆算法 |
CN104123431A (zh) * | 2013-04-24 | 2014-10-29 | 国民技术股份有限公司 | 一种元素的模逆计算方法及装置 |
CN107317671A (zh) * | 2017-08-22 | 2017-11-03 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的crc运算电路装置和方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009051350A1 (de) * | 2009-10-30 | 2011-05-05 | Continental Automotive Gmbh | Verfahren zum Betreiben eines Tachographen und Tachograph |
EP2553866B1 (en) * | 2010-03-31 | 2018-11-21 | Irdeto B.V. | System and method for protecting cryptographic assets from a white-box attack |
WO2012086076A1 (ja) * | 2010-12-24 | 2012-06-28 | 三菱電機株式会社 | 署名生成装置及び署名生成方法及び記録媒体 |
EP2608445A1 (en) * | 2011-12-20 | 2013-06-26 | Gemalto SA | Method to protect a binary GCD computation against SPA attacks |
JP5711681B2 (ja) * | 2012-03-06 | 2015-05-07 | 株式会社東芝 | 暗号処理装置 |
CN103490885B (zh) * | 2013-10-14 | 2017-01-04 | 北京华大信安科技有限公司 | 采用中国剩余定理的rsa的计算方法及计算装置 |
CN104079561B (zh) * | 2014-06-09 | 2017-03-29 | 中国电子科技集团公司第十五研究所 | 一种攻击密钥的方法和装置 |
FR3082333A1 (fr) * | 2018-06-08 | 2019-12-13 | Idemia France | Procede de determination d’inverse modulaire et dispositif de traitement cryptographique associe |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5901229A (en) * | 1995-11-06 | 1999-05-04 | Nippon Telegraph And Telephone Corp. | Electronic cash implementing method using a trustee |
US6240436B1 (en) * | 1998-03-30 | 2001-05-29 | Rainbow Technologies, Inc. | High speed montgomery value calculation |
US7716484B1 (en) * | 2000-03-10 | 2010-05-11 | Rsa Security Inc. | System and method for increasing the security of encrypted secrets and authentication |
DE10222212A1 (de) * | 2002-05-16 | 2003-12-04 | Giesecke & Devrient Gmbh | Ausspähungsgeschützte modulare Inversion |
EP1595357A4 (en) * | 2003-02-06 | 2006-03-01 | Discretix Technologies Ltd | DEVICE AND METHOD FOR HANDLING MASKED DATA |
EP1648111B1 (en) * | 2003-07-22 | 2014-01-15 | Fujitsu Limited | Tamper-resistant encryption using a private key |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
KR100652377B1 (ko) * | 2004-08-06 | 2007-02-28 | 삼성전자주식회사 | 모듈라 지수승 알고리즘, 기록매체 및 시스템 |
KR20060081847A (ko) * | 2005-01-10 | 2006-07-13 | 삼성전자주식회사 | 비밀키를 보호하는 스마트 카드 및 그것의 방법 |
-
2005
- 2005-05-25 DE DE102005024609A patent/DE102005024609A1/de not_active Ceased
-
2006
- 2006-05-19 DE DE502006005410T patent/DE502006005410D1/de active Active
- 2006-05-19 AT AT06763187T patent/ATE449373T1/de active
- 2006-05-19 EP EP06763187A patent/EP1891512B1/de active Active
- 2006-05-19 BR BRPI0611402-4A patent/BRPI0611402A2/pt not_active Application Discontinuation
- 2006-05-19 CN CNA2006800180084A patent/CN101180606A/zh active Pending
- 2006-05-19 US US11/915,081 patent/US20080201398A1/en not_active Abandoned
- 2006-05-19 JP JP2008512814A patent/JP2008542802A/ja not_active Withdrawn
- 2006-05-19 WO PCT/EP2006/062443 patent/WO2006125754A1/de active Application Filing
- 2006-05-19 RU RU2007148503/09A patent/RU2007148503A/ru not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123431A (zh) * | 2013-04-24 | 2014-10-29 | 国民技术股份有限公司 | 一种元素的模逆计算方法及装置 |
CN104123431B (zh) * | 2013-04-24 | 2018-09-14 | 国民技术股份有限公司 | 一种元素的模逆计算方法及装置 |
CN103336680A (zh) * | 2013-06-27 | 2013-10-02 | 清华大学 | 改进的二进制左移模逆算法 |
CN103336680B (zh) * | 2013-06-27 | 2016-01-13 | 清华大学 | 实现二进制左移模逆算法的电路 |
CN107317671A (zh) * | 2017-08-22 | 2017-11-03 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的crc运算电路装置和方法 |
CN107317671B (zh) * | 2017-08-22 | 2019-12-24 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的crc运算电路装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
BRPI0611402A2 (pt) | 2010-09-08 |
DE502006005410D1 (de) | 2009-12-31 |
RU2007148503A (ru) | 2009-07-10 |
EP1891512B1 (de) | 2009-11-18 |
JP2008542802A (ja) | 2008-11-27 |
DE102005024609A1 (de) | 2006-11-30 |
ATE449373T1 (de) | 2009-12-15 |
US20080201398A1 (en) | 2008-08-21 |
WO2006125754A1 (de) | 2006-11-30 |
EP1891512A1 (de) | 2008-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101180606A (zh) | 模逆元的确定 | |
Yarom et al. | Recovering OpenSSL ECDSA nonces using the FLUSH+ RELOAD cache side-channel attack | |
US6298135B1 (en) | Method of preventing power analysis attacks on microelectronic assemblies | |
Blömer et al. | Provably secure masking of AES | |
JP4632950B2 (ja) | 個人鍵を用いた耐タンパ暗号処理 | |
Clavier et al. | ROSETTA for single trace analysis: Recovery of secret exponent by triangular trace analysis | |
EP2005291B1 (en) | Decryption method | |
Hess et al. | Information leakage attacks against smart card implementations of cryptographic algorithms and countermeasures–a survey | |
AU2011310576A1 (en) | Protecting modular exponentiation in cryptographic operations | |
AU2801901A (en) | Information processing device, information processing method and smartcard | |
JP2010164904A (ja) | 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法 | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
Amiel et al. | Distinguishing multiplications from squaring operations | |
US11824986B2 (en) | Device and method for protecting execution of a cryptographic operation | |
Page et al. | Fault and side-channel attacks on pairing based cryptography | |
Blömer et al. | Wagner’s Attack on a secure CRT-RSA Algorithm Reconsidered | |
KR100731575B1 (ko) | 전력분석공격에 대응하는 암호화 방법 | |
Kim et al. | Side channel attacks and countermeasures on pairing based cryptosystems over binary fields | |
Smart et al. | Randomised representations | |
Mahanta et al. | Modular exponentiation with inner product to resist higher-order DPA attacks | |
Leadbitter et al. | Attacking DSA under a repeated bits assumption | |
KR101517947B1 (ko) | 중간키를 이용한 전력분석공격 방어방법 | |
Mahanta et al. | Comparative modular exponentiation with randomized exponent to resist power analysis attacks | |
Tunstall et al. | Coordinate blinding over large prime fields | |
Varela | How to avoid the N-1 attack without costly implementations |
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 |