CN101911009A - 用于以签名方案进行非对称加密的对策方法和设备 - Google Patents

用于以签名方案进行非对称加密的对策方法和设备 Download PDF

Info

Publication number
CN101911009A
CN101911009A CN2009801023050A CN200980102305A CN101911009A CN 101911009 A CN101911009 A CN 101911009A CN 2009801023050 A CN2009801023050 A CN 2009801023050A CN 200980102305 A CN200980102305 A CN 200980102305A CN 101911009 A CN101911009 A CN 101911009A
Authority
CN
China
Prior art keywords
parameter
generate
output data
sequence
value
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
CN2009801023050A
Other languages
English (en)
Other versions
CN101911009B (zh
Inventor
B·本蒂欧
B·菲克斯
S·内罗
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.)
Rambus Inc
Original Assignee
Inside Contactless SA
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 Inside Contactless SA filed Critical Inside Contactless SA
Publication of CN101911009A publication Critical patent/CN101911009A/zh
Application granted granted Critical
Publication of CN101911009B publication Critical patent/CN101911009B/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
    • 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
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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/3013Public 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 discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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
    • 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/722Modular multiplication
    • 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/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一种实现非对称私钥加密算法的电子元件中的对策方法,包括利用原函数生成第一输出数据和保护参数。该方法还包括利用保护参数变换包含私钥和获取自第一输出数据的中间参数的集合中的至少一个元素,以分别提供第一和第二操作数,并且从包含第一和第二操作数的运算中生成第二输出数据。

Description

用于以签名方案进行非对称加密的对策方法和设备
技术领域
本发明涉及一种电子元件中的对策方法,其实现非对称私钥加密算法,抵抗旨在发现该私钥的攻击。本发明还涉及一种实现该方法的微电路设备和便携式设备,特别是芯片卡。
背景技术
非对称私钥加密是基于对通常是利用单向、复杂的解析问题的函数的原函数(primitive)P的使用,所述问题例如是离散对数问题和椭圆曲线离散对数问题。换句话说,对于意味着输入数据x的非对称加密原函数P,计算y=F(x)是简单的,但是已知y和原函数F来找到x的值却是困难的。词语“困难的”在这里是指“难以从计算上解决”。在有限的域中,F是模幂,在椭圆曲线中,F是在限定的椭圆曲线点上的纯量乘法。
签名方案构成对非对称加密的传统使用。如图1所示,利用签名方案的非对称加密的算法应用10(其意味着对私钥d的使用)通常由微电路12实现以通过使用私钥的消息的签名来认证消息M的传输。私钥d例如被存储在包括存储器14的微电路12中,该存储器14包括为此而提供的安全存储空间16以及执行非对称加密算法10的微处理器18。
实现加密算法的微电路设备有时会受到攻击,该攻击旨在确定它们使用的秘密数据(例如所使用的密钥)以及可能在一些情况下的关于实际消息的信息。特别地,利用签名方案的非对称加密算法会受到旨在发现私钥的攻击。由备用信道进行的攻击构成使用加密算法的软件或硬件实现的一些属性的主要密码分析技术族。
在已知的通过备用信道进行的攻击之中,SPA(简单功耗分析)型攻击或DPA(差分功耗分析)型攻击在于在执行非对称加密算法期间测量微电路的进入的和外出的电流和电压,从而由此推断私钥。这个攻击族的可行性已经在P.Kocher,J.Jaffe和B.Jun所著的标题为“Differential Power Analysis”的文章中得到证实,该文章特别地在Advances in Cryptology-Crypto 99 Proceedings中公开,是Computer Science Vol.1666,M.Wiener,ed.,Springer-Verlag,1999中的讲稿。
时间攻击分析执行一些操作的时间。这种对非对称加密算法的攻击在P.Kocher,N.Koblitz所著的标题为“Timing attacks on implementations of Diffie-Hellman,RSA,DSS,and other systems”的文章中有所描述,该文章特别地在Advances in Cryptology-Crypto 96,16th annual international cryptology conference,Aug.18-22,1996 Proceedings中公开。
通过故障注入而进行的攻击也是已知的,在这些攻击中,旨在于加密算法执行期间自行导致故障的DFA(差分故障分析)攻击例如是通过干扰它所执行于其上的微电路来进行的。这种干扰可能包括对微电路进行一次(或多次)短暂照亮或在其触点之一上生成一个或多个电压峰值。这个干扰因而使之能够在一些条件下使用所产生的计算和行为差错来获得想要的整个私钥或一部分私钥。
为了防御这些特性不同的攻击,已经找到许多十分不同的解决方案。本发明具体地涉及与实现非对称私钥d加密算法的电子元件中的对策方法有关的那些方案,该对策方法包括:
-利用原函数生成第一输出数据,
-生成保护参数a。
这些算法通常能利用所生成的保护参数来修改原函数的执行。
保护参数a通常是利用伪随机数据生成器20来生成的,以使得由加密算法10对原函数的执行也是随机的,例如通过一种通常称为掩蔽的技术,该技术也可以被重新命名为用于变换或篡改数据的方法,因为其处理以与它们的使用相反的方式被篡改,这是由微处理器18的对策部分22利用保护参数a来实现的。因此,加密算法的中间数据以及所产生的可测量电流通过随机保护参数而被修改并且其观测并没有使之能够找到私钥的真实值。另一方面,掩蔽不干扰实际算法,这因而在利用或不利用掩蔽的情况下都提供相同的结果。
例如,在称为RSA(按照其作者Rivest,Shamir和Adleman)的非对称加密算法的执行期间,执行针对模幂的原函数。原函数的高效实现通过对私钥d的二进制表示的每个比特执行迭代来使用该二进制表示。在每次迭代中,所进行的计算和计算期间的实际能量消耗取决于有关比特的值。因此,这种原函数的执行使得私钥对于上述攻击特别地脆弱。传统的对策因而在于利用保护参数直接掩蔽私钥。
已知的签名方案因而利用这种RSA算法而受到保护,从而通过利用私钥d作为指数对消息M实施模幂来签署消息M。签名在这种情况下是模幂的直接结果。
另一方面,另一种关于将Fiat-Shamir heuristic应用于零知识证明(zero-knowledge identification)协议的已知签名方案无法受到那样的保护。这种签名方案是已知的:例如其定义在由
Figure BPA00001183593200031
Chevallier-Mames于2006年11月16日在巴黎高等师范学院公开介绍和辩论的论文中被提到,该论文的标题是“Public key encryption:constructions and security proofs”,具体是在4.1.2章和4.2.1章,27-30页。同样,Schnorr的证明协议和El Gamal和DSA(数字签名算法)签名必须以另一种方式受到保护。例如,使用该另一种签名方案的DSA算法包括:
-利用原函数生成第一输出数据,该原函数是基于离散对数问题的并且使用与私钥不同的随机变量来实施,
-从包含第一输出数据和私钥的操作中生成第二输出数据,和
-输出第一和第二输出数据作为签名。
对于这个算法的对策方法在D.Naccache等人的文章中有所描述,该文章的标题为“Experimenting with faults,lattices and the DSA”,在“Proceedings of the 8th International Workshop on Theory and Practice in Public Key Cryptography 2005(2005年1月23-26,Les Diablerets,瑞士)”中被公开,是“Computer Science,vol.3386/2005,pp 16-28,Springer Ed”中的讲稿。
在这个文献中,描述了通过故障注入而进行的攻击。这个攻击通过将随机变量的特定数目的最低有效位切换至0并且以特定的次数计算签名,来推断私钥的值。
通过掩蔽随机变量保护原函数的执行相比这种算法中的故障注入攻击而言并不高效,因为不必知道随机变量值来找到私钥。这个文章因而提供了更复杂的方法,例如同时组合不同的技术。
因此,希望提供一种能抵抗上述类型的攻击并且实现简单的非对称加密方法,其特别地针对利用将Fiat-Shamir heuristic施加于零知识证明协议的签名方案的算法。
发明内容
本发明的实施例涉及一种实现非对称私钥加密算法的电子元件中的对策方法,包括:
-利用原函数生成第一输出数据,
-生成协议参数,
还包括:
-利用保护参数变换包含获取自所述第一输出数据的私钥和中间参数的集合中的至少一个元素,以分别供给第一和第二操作数,和
-从包含所述第一和第二操作数的运算中生成第二输出数据。
因此,所述保护参数被用来保护运算的执行,该运算遵循对原函数的应用而不是对实际原函数的执行。这个运算实际上更多地用在针对这种签名方案的攻击中。
根据一个实施例,所述对策方法包括:
利用所述保护参数变换所述私钥,和
从包含所述中间参数和变换后的私钥的第一运算中生成第一中间数据,从包含所述中间参数和所述保护参数的第二运算中生成第二中间数据,以及组合所述第一和第二中间数据以供给所述第二输出数据。
根据一个实施例,所述对策方法包括:
利用所述保护参数变换获取自所述第一输出数据的中间参数,和
从包含变换后的中间参数和所述私钥的第一运算中生成第一中间数据,从包含所述保护参数和所述私钥的第二运算中生成第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据。
根据一个实施例,所述中间参数是所述第一输出数据。
根据一个实施例,所述原函数是用于执行利用DSA型签名方案的加密算法的模幂。
根据一个实施例,所述原函数是用于执行利用ECDSA型签名方案的加密算法的纯量乘法。
根据一个实施例,所述对策方法实现了利用旨在将Fiat-Shamir heuristic施加于零知识证明协议的签名方案的加密算法。
根据一个实施例,保护参数的生成包括:
-定义生成函数,这是通过对存储于存储器中的预定的至少一个秘密参数连续应用仅能从这个秘密参数以及这个函数中确定的值的序列来实现的,
-从这个序列中的至少一个值以可复制的方式生成所述保护参数。
根据一个实施例,所述对策方法包括:
-定义多个函数,每个函数是通过对存储于存储器中的预定的至少一个相应秘密参数连续应用仅能从相应秘密参数和相应函数中确定的值的相应序列而被生成的,
-组合利用预定义关系而生成的值的多个序列以生成新的值序列,
-从这个新序列中的至少一个值以可复制的方式生成保护参数。
根据一个实施例,所述对策方法包括:
-定义生成函数,这是通过对存储于存储器中的预定的至少一个秘密参数连续应用仅能从该秘密参数和该函数中确定的值的序列来实现的,
-组合利用加密算法的公共参数而生成的值的序列以生成新的值序列,
-从这个新序列中的至少一个值以可复制的方式生成保护参数。
根据一个实施例,所述对策方法包括在执行变换之后,重新生成保护参数以在生成第二输出数据的步骤期间使用它。
本发明的另一个实施例在于提供一种微电路设备,其包括用于实现非对称私钥加密算法的对策方法的微处理器,用于存储私钥的至少一个安全存储器,以及用于生成保护参数的数据生成器,其被配置成:
-利用原函数生成第一输出数据,
-利用所述保护参数变换包含获取自所述第一输出数据的所述私钥和中间参数的集合中的至少一个元素,以分别提供第一和第二操作数,和
-从包含所述第一和第二操作数的运算中生成第二输出数据。
根据一个实施例,所述微电路设备被配置成:
-利用所述保护参数变换所述私钥,和
-从包含所述中间参数和变换后的私钥的第一运算中生成第一中间数据,从包含所述中间参数和所述保护参数的第二运算中生成第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据。
根据一个实施例,所述微电路设备被配置成:
-利用所述保护参数变换获取自所述第一输出数据的所述中间参数,和
-从包含变换后的中间参数和私钥的第一运算中生成第一中间数据,从包含所述保护参数和私钥的第二运算中生成第二中间数据,以及组合所述第一和第二中间数据以提供第二输出数据。
根据一个实施例,所述中间参数是所述第一输出数据。
根据一个实施例,所述原函数是用于执行利用DSA型签名方案的加密算法的模幂。
根据一个实施例,所述原函数是用于执行利用ECDSA型签名方案的加密算法的纯量乘法。
根据一个实施例,所述微处理器实现利用旨在对将Fiat-Shamir heuristic施加于零知识证明协议的签名方案的非对称加密算法。
根据一个实施例,所述数据生成器被配置成通过以下操作生成所述保护参数:
-定义生成函数,这是通过对存储于存储器中的预定的至少一个秘密参数连续应用仅能从这个秘密参数和这个函数中确定的值的序列来实现的,和
-从这个序列的至少一个值中以可复制的方式生成所述保护参数。
根据一个实施例,所述数据生成器被配置成:
-定义多个函数,每个函数是通过对存储于存储器中的预定的至少一个相应秘密参数连续应用仅能从相应秘密参数和相应函数中确定的值的相应序列而被生成的,
-组合利用预定义关系而生成的值的多个序列以生成新的值序列,
-从这个新序列中的至少一个值以可复制的方式生成保护参数。
根据一个实施例,所述数据生成器被配置成:
-定义生成函数,这是通过对存储于存储器中的预定的至少一个秘密参数连续应用仅能从所述秘密参数和所述函数中确定的值的序列来实现的,
-组合利用所述加密算法的公共参数而生成的值的序列以生成新的值序列,
-从这个新序列中的至少一个值以可复制的方式生成所述保护参数。
根据一个实施例,所述微电路设备被配置成在执行变换之后,重新生成所述保护参数以在生成所述第二输出数据的步骤期间使用它。
本发明的另一个实施例在于提供一种便携式设备,特别是芯片卡,其包括如前文所述的微电路设备。
附图说明
下面将结合(但不限于)附图详细描述本发明的实施例,其中:
-图1,之前已描述,示意性地示出了传统型微电路设备的结构;
-图2示意性地示出了根据本发明的第一实施例的微电路设备的结构;
-图3示意性地示出了包括图2的设备的芯片卡;
-图4示出了由图2的设备实现的第一对策方法的连续步骤;
-图5示出了由图2的设备实现的第二对策方法的连续步骤;
-图6示意性地示出了根据本发明的第二实施例的微电路设备的结构;和
-图7示出了由图6的设备实现的对策方法的连续步骤。
具体实施方式
本发明的第一实施例
图2所示的微电路设备12’包括(如图1所示)非对称加密算法应用10、具有用于特别地存储旨在由应用10使用的私钥d的安全存储空间16的存储器14、微处理器18和用于提供保护参数a的伪随机数据生成器20。它还包括对策部分22’,其将改进带入现有对策,特别是之前描述过的对策部分22。
此外,设备12’例如被集成到便携式设备中,特别是以安全芯片卡30的形式,如图3所示。
应当指出,尽管算法加密应用10和对策部分22’被显示成不同的,然而它们可能实际上被适当地重叠成包含对策的非对称加密算法的同一个实现,软件或硬件。
在微电路设备12’中,非对称加密算法应用10更确切地说适于实现旨在将Fiat-Shamir heuristic施加于零知识证明协议的签名方案。它因而包括:
-用于应用原函数以生成第一输出数据s1的部分10a,和
-用于执行包含至少两个操作数的运算以生成第二输出数据s2的部分10b,其中一个操作数是从所述第一输出数据中获得的并且可能由部分22’变换,另一个操作数是可能由部分22’变换的私钥。
对于利用这个方案的签名应用,所述第一和第二输出数据构成签名(s1,s2)。
与设备12相反,在设备12’中,对策部分22’被配置成利用保护参数a变换私钥d和/或获取自所述第一输出数据的中间参数。在DSA签名的情况下,所述中间参数是实际的第一输出数据。
根据本发明的不同对策方法可以通过图2的设备来实现。下面将参考图4和5来描述它们中的一些(非穷举的)。
图4示出了对消息M实现DSA型签名的第一种方法。
在生成密钥对(公钥和私钥)的第一步骤100期间,下面各项是随机确定的:
-L比特的质数p,其中512≤L≤1024并且L可被64除尽,
-160比特的质数q,其被选择成使得p-1=qz,其中z是整数,
-k比特的数值d,以使得0<d<q。
利用这些数值,计算e=gd mod p。
公钥是(p,q,g,e)。私钥是d。
应当指出,允许密钥大小更大的DSA签名的一个版本是由NIST(国家标准与技术研究院)提供的,关于该主题的一些文献提到了L的大小是3072比特。
在关于实施原函数的第二步骤102期间,生成随机变量u,其被选择成使得0<u<q。部分10a然后利用下面的模幂计算第一输出数据s1:
s1=(gu mod p)mod q。
在步骤104中,伪随机数据生成器20生成保护参数a,该参数的二进制表示的大小等于私钥d的大小。可选地,生成器20生成参数a’,该参数的大小远小于d的大小,但是这个参数a’的二进制表示与它自己连接必需的次数以同等地提供其二进制表示的大小等于d的大小的保护参数a。可选地,生成器20生成参数a’,该参数利用函数COMB与DSA算法的其他参数组合,如之前确定的q或s1,以提供保护参数a:a=COMB(a’,q,s1...)。由生成器20生成的参数(a或a’)被保存在存储器中以供将来使用,特别是以一种可选的方式当参数a’与DSA算法的其他参数组合以构成a时作为参数a’的检验参数。
在接下来的掩蔽步骤106中,对策部分22’以这样的方式变换私钥d:d’=d+a。
在用于计算包含第一输出数据s1和变换后的私钥d’的运算的步骤108中,执行下列形式的线性同余式:
A=u-1(H(M)+d’.s1)mod q,其中H(M)是对消息M进行利用已知函数SHA-1的加密散列算法的结果。
接下来的步骤是可选的检验步骤110,如果在步骤104期间由生成器20生成的参数a’已作为检验参数被保存在存储器中则执行该步骤。在这个步骤110期间,参数a利用函数COMB和公共值和/或被保存在存储器中的由这个函数(a’,q,s1,...)使用的值而被再次计算。
如果a的值已经在步骤104与110之间更改,则这使之能够推断出在这两个步骤之间发生故障注入攻击。由加密应用10发送告警并且加密算法停止(112)或实施不同的安全反应。
如果a的值没有在步骤104与110之间更改,则执行步骤114,该步骤114期间进行下列计算:
B=(u-1.a.s1)mod q。
最后从中推断出第二输出数据s2,这是由关系式s2=(A-B)mod q给出的。
在最后一个步骤116期间,加密应用10输出值(s1,s2)作为消息M的DSA签名。
可选地,上面描述的这个第一种方法可以如下修改。
在掩蔽步骤106期间,对策部分22’以下面的方式变换第一输出数据s1:s1’=s1+a。
在步骤108期间,线性同余运算的计算包含第一变换后的输出数据s1’和私钥d:
A=u-1(H(M)+d.s1’)mod q。
在步骤114期间,执行下面的计算:
B=(u-1.d.a)mod q。
由此通过关系式s2=(A-B)mod q推断第二输出数据s2。
可选地,上面描述的该第一种方法可以如下修改。
在步骤108期间,线性同余运算的计算包含第一输出数据s1和变换后的私钥d’:
A=(H(M)+d’.s1)mod q。
在步骤114期间,执行下面的计算:
B=(A-a.s1)mod q。
由此通过关系式s2=(u-1.B)mod q来推断第二输出数据s2。
可选地,上面描述的这个第一种方法可以如下修改。
在掩蔽步骤106期间,对策部分22’以下面的方式变换第一输出数据s1:s1’=s1+a。
在步骤108期间,线性同余运算的计算包含第一变换后的输出数据s1’和私钥d:
A=(H(M)+d.s1’)mod q。
在步骤114期间,执行下面的计算:
B=(A-d.a)mod q。
由此通过关系式s2=(u-1.B)mod q推断第二输出数据s2。
可选地,上面描述的这个第一种方法可以如下修改。
在步骤104期间,伪随机数据生成器20生成保护参数a,该参数的二进制表示的大小远小于d的大小。
在掩蔽步骤106期间,对策部分22’以下面的方式变换私钥d:d’=d+a.q。
在步骤108期间,线性同余运算的计算包含第一变换后的输出数据s1和变换后的私钥d’:
A=(H(M)+d’.s1)mod q。
在步骤114期间,执行下面的直接给出第二输出数据的值的计算:
S2=(u-1.A)mod q。
之前的对策也可以通过选择a=-a而被复制。
图5示出了根据本发明的第二种方法,该方法对消息M实现ECDSA(椭圆曲线数字签名算法)型签名。
令G是p阶椭圆曲线的元素,其中p是大于2160的质数。该曲线也由两个元素a和b定义,它们是基数n的伽罗瓦(Galois)域中的元素。
在用于生成密钥对(公钥和私钥)的第一步骤200期间,k比特的数值d被随机确定,其中0<d<q。
利用这个数值,计算Q=d.G mod p,其中运算符“.”是指对G所属椭圆曲线的纯量积。
公钥是Q。私钥是d。
在关于实施原函数的第二步骤202期间,生成随机变量u,其被选择成使得0<u<q。部分10a然后利用下面的纯量积计算第一输出数据s1:R=u.G=(xR,yR)。R的横坐标xR的模值q实际上被分配给s1:s1=xR modq。如果这个值等于零,则步骤202被再一次执行并且生成另一个随机变量。
在步骤204期间,伪随机数据生成器20生成保护参数a,其二进制表示的大小等于私钥d的大小。可选地,生成器20生成其大小远小于d的大小的参数a’,但是这个参数a’的二进制表示与它自己连接必需的次数以同等地提供其二进制表示大小等于d的大小的保护参数a。可选地,生成器20生成参数a’,该参数利用函数COMB与ECDSA算法的其他参数组合以提供保护参数a:a=COMB(a’,q,s1,...),其他参数例如是之前确定的q或s1。由生成器20生成的参数(a或a’)被保存在存储器中以供将来使用,特别是以一种可选的方式当参数a’与DSA算法的其他参数组合以构成a时作为参数a’的检验参数。
接下来的步骤206至216与步骤106至116相同。因此在此不再详细描述。
同样,之前描述的第一种方法的变型也可以应用于第二种方法。
可以实现根据本发明的用于实现除上述类型(DSA和ECDSA)以外的签名的其他方法。这些方法与上述方法不同,有可能是在它们于步骤102、202中实施以获得第一输出数据的原函数中以及在获得第二输出数据的步骤108、114或208、214的运算中。
例如,根据本发明的另一种方法可以实现Schnorr型签名。在该情况下,第一输出数据的计算步骤与步骤102相同。另一方面,散列函数G被应用于第一输出数据s1以获得中间参数c=G(M,s1)。中间参数c由应用10提供给对策部分22’,而不是s1,以进行可能的变换。此外,在步骤108、114应用的线性同余式被稍微地修改。实际上,尽管DSA签名的线性同余式通常在根据本发明的适配之前是s2=u-1(H(M)+d.s1)mod q,然而Schnorr签名的线性同余式通常在根据本发明的适配之前是s2=(u+d.c)mod q。因此,在该运算中d可以被d’代替或c被c’(例如c’=c+a)代替,从而利用根据本发明的方法实现Schnorr签名。
根据本发明的其他方法也可以通过类似的传统签名适配来实现,例如由
Figure BPA00001183593200131
Chevallier-Mames于2006年11月16日在巴黎高等师范学院公开介绍和辩论的论文中所描述的那些,该论文的标题是“Public key encryption:constructions and security proofs”,具体是在章节4.4。
本发明的第二实施例
图6所示的微电路设备12”包括(如图2所示的那样)非对称加密算法应用10、含有安全存储空间16的存储器14、微处理器18和对策部分22’。该设备例如被集成到便携式设备中,特别是以安全芯片卡30的形式,如图3所示。然而,应当指出,尽管算法加密应用10和对策部分22’被显示成不同的,然而它们实际上可以被适当地重叠成包含对策的加密算法的同一个实现。
如微电路设备12’那样,设备12”的非对称加密算法应用10更确切地说适于实现旨在将Fiat-Shamir heuristic应用于零知识证明协议的签名方案。它因而包括:
-用于实施原函数以生成第一输出数据s1的部分10a,和
-用于执行包含至少两个操作数的运算以生成第二输出数据s2的部分10b,其中一个操作数获取自第一输出数据并且可能被变换,而另一个操作数是可能被变换的私钥。
此外,设备12”的对策部分22’如设备12’的那样被配置成利用保护参数a变换私钥d和/或获取自第一输出数据的中间参数。在DSA签名的情况下,该中间参数实际上是第一输出数据。
与设备12’相反,在设备12”中,传统类型的伪随机数据生成器20被包括以下部分的数据生成器20”所代替:
-用于将预定义函数F应用于至少一个预定秘密参数S以生成仅能从该秘密参数和函数F中确定的值的序列的部分20”a,和
-用于从这个序列中的至少一个值以可复制的方式提供至少一个保护参数a的部分20”b。
部分20”a实际上是函数F的软件或硬件实现。
秘密参数S被存储在安全存储器16中并且在生成器20”的部分20”a的输入中被提供,而保护参数a在部分20”b的输出中被提供给对策部分22’。
在这个第二实施例中,参数a因而不是上述现有技术文件中提到的传统意义下的随机变量。它是从对于由生成器20”执行的函数F关于秘密参数S的计算中产生的确定性结果,其中所述秘密参数可能对于其上设有微电路12’的芯片卡是适当的。所述秘密参数例如是从设备30的公共数据中导出的。
函数F至S的重复应用生成序列(An),该序列的元素是由生成器提供的保护参数的源。整体上来讲,生成器可以按照实现于卡30中的对策应用来提供所需数目的来自序列(An)的值的参数a。在已知生成函数F和该函数使用的初始确定性元素(参数S)的情况下,这个序列(An)可以只是被复制的。
每个保护参数a可以直接来自序列(An)中的元素An:换句话说,a=An。可选地,元素An可能在提供参数a之前进行处理。例如,a可以是计算a=An XOR kn的结果,其中kn是秘密变换常数。
不可否认,如果序列是(An)循环的和/或在有限的元素集合中操作,则所生成的值An的空间必须足够大来抵抗攻击。实际上,有关的空间越大,对策就越可靠。
首先,将介绍根据本发明第二实施例的、可由生成器20”提供的值序列(An)的几个非限制性例子。然后,将介绍这种值序列的几种可能的使用以特别地向之前参考图4和5描述的非对称加密中的两种对策应用提供保护参数。
用于提供保护参数的值序列的函数生成器的例子
1)基于算术几何数列的函数
如果值序列(An)是利用整数值函数F通过下面的关系式来定义的:
An+1=F(An)=q.An+r,
其中q和r构成秘密参数,利用序列的初始元素A0,之前提到的秘密参数S,可以提供来自算术几何数列的保护参数。该保护参数例如是序列(An)中的元素。
如果r=0,则它是几何序列,其用在确切的加密步骤中的项Ai可以利用秘密参数q和A0以下面的方式来找到:Ai=qi.A0
如果q=1,则它是算数序列,其项Ai可以利用秘密参数r和A0以这样的方式找到:Ai=r.i+A0
如果r不等于零并且q不等于1,则它是算数几何序列,其项Ai可以利用秘密参数q、r和A0以这样的方式找到:Ai=qi.A0+r.(qi-1)/(q-1)。
序列(An)中的元素的空间也可以通过整数m利用下面的关系式来减小:
An+1=F(An)modulo m=(q.An+r)modulo m。
应当指出,如果m是质数,则这个序列采取有限域上的逆仿射变换组的形式GF(m)={0,1,...,m-1}。
也可以将m选择成2的乘方,从而生成具有固定数目比特的元素序列。例如,如果希望生成k比特参数Ai的序列,则选择m=2k
优选地,m是秘密参数的一部分从而被保存在所述设备的安全存储器中。
2)定义循环乘法组的函数
令GC是具有m个元素的循环组,其值a作为生成器元素,并且乘法作为内部合成法则:GC={a,a2,...,am}。值序列(An)可以以下面的方式来定义:
-起始元素A0被选择成作为对其应用k次组GC的内部合成法则的生成器元素a,
-组GC的内部合成法则被应用k’次以从元素Ai到达元素Ai+1
由生成序列(An)的函数所使用的秘密参数S因而例如是生成器元素a和值k、k’和m。此外,像之前那样,所生成的保护参数例如是序列(An)的元素。
3)定义Frobenius组的函数
令GF(q)是有限域,其中阶数q是k比特的质数。这个有限域上的逆仿射变换组是Frobenius组。Frobenius组的令人感兴趣的属性是没有任何非平凡的元素固定在不止一个点上。
在这个背景下,可用的仿射变换采取这样的函数形式:y=f(x)=b.x+c,其中b≠0并且运算是在域GF(q)中完成的。因此可以定义生成应用于预定秘密参数q、b、c和A0的序列(An)的函数。通过选择例如q=216+1,并且以十六进制记数b=0x4cd3,c=0x76bb,A0=0xef34,获得了开始于项A1=0xc6cf的序列,A2=0x8baf,A3=0x620d,A4=0x0605,A5=0xe70c,A6=0x3049,A7=0xe069,A8=0x55ee,等等。
4)来自具有线性反馈的移位寄存器(LFSR型寄存器)的函数
这种函数选择例如16比特的秘密参数A0,以及例如具有相应16比特输出的LFSR移位寄存器。如果LFSR寄存器的大小是m,则序列(An)的项At=m是利用下面的线性等式通过之前的m个项来确定的:
At+m=αm.Atm-1.At+1+...+α1.At+m-1,其中αi取值为0或1。
5)定义循环冗余校验(CRC)的计算的函数
这种函数选择例如16比特的秘密参数A0,以及通常用于CRC计算中的相应的多项式CRC,例如多项式CRC-16(X16+X15+X2+1)或CRCCCITT V41(X16+X12+X5+1)。序列(An)中的项An+1是按照前一项An通过关系式An+1=F(An)来确定的,其中F基于所选多项式进行CRC计算。
6)值序列的组合
实际上,可以计算几个值序列,每个例如是按照上述方法中的一个,并且然后利用预定义函数进行组合以生成要用作保护参数的新的值序列。序列(An)因而按照另外两个序列(A’n)和(A”n)、通过针对每个索引n计算An=T(A’n,A”n)而被生成。
有关函数T可以是秘密值矩阵,A’n和A”n的值因而分别涉及该矩阵的行和列。
7)包含值序列和公共数据的组合
序列(An)可以也按照具有对策而并不保密的公共数据(例如在执行加密应用期间所使用的数据)从第一个序列(A’n)中生成。在这些数据之中,按照应用,消息M(明文或编码)、公钥e等可以被引用。用作保护参数的序列值因而利用组合所有这些数据的任何函数COMB而被计算:
An=COMB(A’n,M,e,...)。
这种组合的优点是值序列(An)可以被用来不仅将保护参数馈送给加密算法的对策应用还被用来检测故障注入攻击(特别是关于公共数据)。实际上,通过利用秘密参数重新生成序列(A’n),例如在加密算法执行结束时,但是在利用重新生成的保护参数然后使用这个重新生成的序列(A’n)和在执行结束时出现的公共数据来执行初始变换的反向操作之前,可以检查函数COMB的应用是否产生相同的值序列(An)以及公共数据是否已经在执行期间受到影响。
在根据本发明第二实施例的非对称加密对策方法中使用按照上述方法之一而生成的值序列的例子
1)第二实施例的一般原理
通常,每次使用算法对策时,推荐由对策引入的随机变量的生成,如在使用伪随机数据生成器20的第一实施例中所描述的那样。如参考图6所提到的,随机变量的生成可以由来自利用至少一个秘密参数而获得的一个或多个值序列的参数的非随机生成来替代。
图7示出了由根据图6的第二实施例的方法所执行的步骤的例子,该方法用于执行具有对策的非对称加密算法,通过执行而使用T个保护参数a1,...aT,所有保护参数都可以从由部分20’a生成的同一个值序列(An)中提取。
在第一步骤期间,由生成器20”执行INIT,计数器i复位。计数器i用于在另一个复位未被执行的情况下将从复位步骤INIT起非对称加密算法被执行的次数保存在存储器中。
在这个步骤期间,值序列必须从中生成的(一个或多个)秘密参数S被定义。它可以从前一次复位被保存,但是也可以基于复位时的新值而被生成。它例如从唯一标识数据中生成,例如设备30的公共数据。它也可以从给定时刻的与微电路有关的可能是随机的参数或物理现象中生成。在任何情况下,它以安全的方式被保存在存储器中以使得微电路能够利用由部分20”a实现的函数随时生成相同的值序列(An)。
复位步骤INIT可能在微电路生命周期中是唯一的,在制造商设计阶段被执行,或多次再现,例如有规律地或每当计数器i到达值imax时。
在具有对策的非对称加密算法的第一执行EXE1期间,生成器20”,具体地是部分20”a,被调用一次或多次以将秘密参数S应用于预定义函数F,从而一次或多次生成值序列(An)中的元素的数目T:A1,...AT。从这前T个元素中生成T个保护参数a1,...aT
例如,对于任意k,例如1≤k≤T,ak=Ak
可选地,如果在保存于安全存储器中的秘密参数S之中存在T个附加秘密值Sec1,...SecT,则可以执行下面的附加计算:
对于任意k,例如1≤k≤T,ak=Seck XOR Ak,或ak=Seck ADD Ak,或ak=Seck SUB Ak,从而变换(或篡改或掩蔽)所使用的参数。
之后,在具有对策的加密算法的第i次执行EXEi期间,生成器20”,具体地是部分20”a,被再次调用一次或多次以将秘密参数S应用于预定义函数F,从而一次或多次生成值序列(An)中的附加元素的数目T:AT(i-1)+1,...ATi。从这T个附加元素中生成T个保护参数a1,...aT,如前文描述的那样。
例如,对于任意k,例如1≤k≤T,ak=AT(i-1)+k
可选地,如果存在T个附加秘密参数Sec1,...SecT,则可以执行下面的附加计算:
对于任意k,例如1≤k≤T,ak=Seck XOR AT(i-1)+k,或ak=Seck ADDAT(i-1)+k,或ak=Seck SUB AT(i-1)+k,从而变换(或篡改或掩蔽)所使用的参数。
不管为生成作为保护参数的起源的值序列而使用哪种方法,知道该方法和该方法使用的秘密值(包括之前或在存储器EEPROM中的微电路设备的生命周期步骤期间被载入存储器中的初始参数A0),使之能够随时找到在设备寿命期间所生成且所使用的保护参数。显然,这种特殊性能够使得故障排除被简单高效地执行并且改进对故障注入攻击的抵抗。用于生成值序列和保护参数所使用的方法的选择是由预期应用来指示的。
2)第二实施例的一般原理对参考图4和5描述的两种方法的应用
由图4和5的第一和第二方法使用以在步骤104和204期间生成保护参数a或参数a’的方法可以是在第二实施例中推荐的那些方法中的一种。这个参数a’和保护参数a因而可以不必被保存在存储器中,因为它们可以随时从通过秘密参数和函数F而确定的值序列中找到。旨在重新生成这些参数的这个过程对于抵抗故障注入攻击的实现的保护而言是有用的一步。因此,参数a’可以在步骤110和210找到而无须在执行步骤104和204期间被事先保存在存储器中,保护参数a也可以被找到以检查其完整性,并且用于生成它而使用的参数的完整性被保持。它也可用于重新生成a以执行使用这个参数的步骤112和212。
显然,之前描述的对策方法使之能够实现非对称加密应用,该应用防止所使用的私钥受到来自备用信道的攻击或故障注入攻击。
此外,应当指出,本发明不限于上述实施例,并且尽管已经介绍了许多变型,也可以设想其他变型,特别是提供与已描述的有所不同的其他类型的私钥变换或与上面考虑的有所不同的其他非对称加密应用。

Claims (23)

1.一种实现非对称私钥(d)加密算法的电子元件中的对策方法,包括:
-利用原函数生成(102;202)第一输出数据(s1),
-生成(104;204)保护参数(a),
还包括:
-利用所述保护参数(a)变换(106;206)包含所述私钥(d)和获取自所述第一输出数据(s1)的中间参数的集合中的至少一个元素,以分别提供第一和第二操作数,和
-从包含所述第一和第二操作数的运算中生成(108,114;208,214)第二输出数据(s2)。
2.根据权利要求1所述的电子元件中的对策方法,包括:
-利用所述保护参数变换(106;206)所述私钥(d),和
-从包含所述中间参数和变换后的私钥的第一运算中生成(108;208)第一中间数据,从包含所述中间参数和所述保护参数(a)的第二运算中生成(114;214)第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据(s1)。
3.根据权利要求1所述的电子元件中的对策方法,包括:
-利用所述保护参数(a)变换(106;206)获取自所述第一输出数据(s1)的所述中间参数,和
-从包含变换后的中间参数和所述私钥(d)的第一运算中生成(108;208)第一中间数据,从包含所述保护参数(a)和所述私钥(d)的第二运算中生成(114;214)第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据(s2)。
4.根据权利要求1至3中任一项所述的电子元件中的对策方法,其中,所述中间参数是所述第一输出数据(s1)。
5.根据权利要求4所述的电子元件中的对策方法,其中,所述原函数是用于实现利用DSA型签名方案的加密算法的模幂。
6.根据权利要求4所述的电子元件中的对策方法,其中,所述原函数是用于实现利用ECDSA型签名方案的加密算法的纯量乘法。
7.根据权利要求1至6中任一项所述的电子元件中的对策方法,实现利用旨在将Fiat-Shamir heuristic应用于零知识证明协议的签名方案的非对称加密算法。
8.根据权利要求1至7中任一项所述的电子元件中的对策方法,其中,所述保护参数(a)的生成(104;204)包括:
-定义生成函数(20”a),这是通过对于至少一个存储于存储器(16)中的预定的秘密参数(S)连续应用仅能从该秘密参数(S)和该函数(20”a)中确定的值的序列((An))来实现的,
-从所述序列中的至少一个值中以可复制的方式生成所述保护参数(a)。
9.根据权利要求8所述的电子元件中的对策方法,包括:
-定义多个函数,每个函数都是通过对于至少一个存储于存储器(16)中的预定的相应秘密参数(S)连续应用仅能从该相应秘密参数(S)和相应函数中确定的相应值序列((A’n),(A”n))来生成的,
-组合利用预定义的关系而生成的多个值序列((A’n),(A”n))以生成新的值序列((An)),
-从这个新序列((An))中的至少一个值中以可复制的方式生成所述保护参数(a)。
10.根据权利要求8所述的电子元件中的对策方法,包括:
-定义生成函数,这是通过对于至少一个存储于存储器(16)中的预定的秘密参数(S)连续应用仅能从该秘密参数(S)和该函数中确定的值序列((A’n))来实现的,
-组合所生成的值序列((A’n))与所述加密算法的公共参数以生成新的值序列((An)),
-从这个新序列((An))中的至少一个值中以可复制的方式生成所述保护参数(a)。
11.根据权利要求8至10中任一项所述的电子元件中的对策方法,包括在执行所述变换(106;206)后重新生成所述保护参数(a)以在生成所述第二输出数据(s2)的步骤(114;214)期间使用它。
12.一种微电路设备(12’,12”),包括用于实现非对称私钥(d)加密算法对策方法的微处理器(18)、用于存储所述私钥(d)的至少一个安全存储器(16)以及用于生成保护参数(a)的数据生成器(20,20”),其特征在于,其被配置成:
-利用原函数生成(102;202)第一输出数据(s1),
-利用所述保护参数(a)变换(106;206)包含所述私钥(d)和获取自所述第一输出数据(s1)的中间参数的集合中的至少一个元素,以分别提供第一和第二操作数,和
-从包含所述第一和第二操作数的运算中生成(108,114;208,214)第二输出数据(s2)。
13.根据权利要求12所述的微电路设备(12’,12”),其被配置成:
-利用所述保护参数(a)变换(106;206)所述私钥(d),和
-从包含所述中间参数和变换后的私钥的第一运算中生成(108;208)第一中间数据,从包含所述中间参数和所述保护参数(a)的第二运算中生成(114;214)第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据(s2)。
14.根据权利要求12所述的微电路设备(12’,12”),其被配置成:
-利用所述保护参数(a)变换(106;206)获取自所述第一输出数据(s1)的所述中间参数,和
-从包含变换后的中间参数和所述私钥(d)的第一运算中生成(108;208)第一中间数据,从包含所述保护参数(a)和所述私钥(d)的第二运算中生成(114;214)第二中间数据,以及组合所述第一和第二中间数据以提供所述第二输出数据(s2)。
15.根据权利要求12至14中任一项所述的微电路设备(12’,12”),其中,所述中间参数是所述第一输出数据(s1)。
16.根据权利要求15所述的微电路设备(12’,12”),其中,所述原函数是用于实现利用DSA型签名方案的加密算法的模幂。
17.根据权利要求15所述的微电路设备(12’,12”),其中,所述原函数是用于实现利用ECDSA型签名方案的加密算法的纯量乘法。
18.根据权利要求12至17中任一项所述的微电路设备(12’,12”),其中,所述微处理器(18)实现利用旨在将Fiat-Shamir heuristic应用于零知识证明协议的签名方案的非对称加密算法。
19.根据权利要求12至18中任一项所述的微电路设备(12”),其中,所述数据生成器(20”)被配置成通过下列操作生成(104;204)所述保护参数(a):
-定义生成函数(20”a),这是通过对于至少一个存储于存储器(16)中的预定的秘密参数(S)连续应用仅能从该秘密参数(S)和该函数(20”a)中确定的值的序列((An))来实现的,
-从所述序列中的至少一个值中以可复制的方式生成所述保护参数(a)。
20.根据权利要求19所述的微电路设备(12”),其中,所述数据生成器(20”)被配置成:
-定义多个函数,每个函数都是通过对于至少一个存储于存储器(16)中的预定的相应秘密参数(S)连续应用仅能从该相应秘密参数(S)和相应函数中确定的相应值序列((A’n),(A”n))来生成的,
-组合利用预定义的关系而生成的多个值序列((A’n),(A”n))以生成新的值序列((An)),
-从这个新序列((An))中的至少一个值中以可复制的方式生成所述保护参数(a)。
21.根据权利要求19所述的微电路设备(12”),其中,所述数据生成器(20”)被配置成:
-定义生成函数,这是通过对于至少一个存储于存储器(16)中的预定的秘密参数(S)连续应用仅能从该秘密参数(S)和该函数中确定的值序列((A’n))来实现的,
-组合所生成的值序列((A’n))与所述加密算法的公共参数以生成新的值序列((An)),
-从这个新序列((An))中的至少一个值中以可复制的方式生成所述保护参数(a)。
22.根据权利要求19至21中任一项所述的微电路设备(12”),其被配置成在执行所述变换(106;206)后重新生成(110;210)所述保护参数(a)以在生成所述第二输出数据(s2)的步骤(114;214)期间使用它。
23.一种便携式设备,特别是芯片卡(30),包括根据权利要求12至22中任一项的微电路设备(12’,12”)。
CN2009801023050A 2008-01-23 2009-01-23 用于以签名方案进行非对称加密的对策方法和设备 Active CN101911009B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0800345 2008-01-23
FR0800345A FR2926652B1 (fr) 2008-01-23 2008-01-23 Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
PCT/FR2009/000072 WO2009109715A2 (fr) 2008-01-23 2009-01-23 Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature

Publications (2)

Publication Number Publication Date
CN101911009A true CN101911009A (zh) 2010-12-08
CN101911009B CN101911009B (zh) 2012-10-10

Family

ID=39720608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801023050A Active CN101911009B (zh) 2008-01-23 2009-01-23 用于以签名方案进行非对称加密的对策方法和设备

Country Status (8)

Country Link
US (1) US20110170685A1 (zh)
EP (1) EP2248008A2 (zh)
JP (1) JP2011510579A (zh)
KR (1) KR20100117589A (zh)
CN (1) CN101911009B (zh)
CA (1) CA2712180A1 (zh)
FR (1) FR2926652B1 (zh)
WO (1) WO2009109715A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105739946A (zh) * 2014-12-08 2016-07-06 展讯通信(上海)有限公司 随机数生成方法及装置
CN107317671A (zh) * 2017-08-22 2017-11-03 兆讯恒达微电子技术(北京)有限公司 防御旁路攻击的crc运算电路装置和方法
CN109768988A (zh) * 2019-02-26 2019-05-17 安捷光通科技成都有限公司 去中心化物联网安全认证系统、设备注册和身份认证方法
CN111183413A (zh) * 2017-08-03 2020-05-19 西门子股份公司 用于在计算机中执行程序的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2657925B1 (en) * 2010-12-24 2018-05-16 Mitsubishi Electric Corporation Signature generating device, method of generating signature, and recording medium
FR2980602B1 (fr) * 2011-09-28 2015-06-26 Oberthur Technologies Procede de communication avec une entite electronique portable
US8886924B1 (en) * 2011-11-15 2014-11-11 The Boeing Company System and method for transmitting an alert
FR3095709B1 (fr) * 2019-05-03 2021-09-17 Commissariat Energie Atomique Procédé et système de masquage pour la cryptographie

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6144740A (en) * 1998-05-20 2000-11-07 Network Security Technology Co. Method for designing public key cryptosystems against fault-based attacks with an implementation
JP4671571B2 (ja) * 1999-09-29 2011-04-20 株式会社日立製作所 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ
FR2829335A1 (fr) * 2001-09-06 2003-03-07 St Microelectronics Sa Procede de brouillage d'un calcul a quantite secrete
JP4086503B2 (ja) * 2002-01-15 2008-05-14 富士通株式会社 暗号演算装置及び方法並びにプログラム
AU2003304629A1 (en) * 2003-07-22 2005-02-04 Fujitsu Limited Tamper-resistant encryption using individual key
JP2008512060A (ja) * 2004-08-27 2008-04-17 株式会社エヌ・ティ・ティ・ドコモ 仮署名スキーム
KR100891323B1 (ko) * 2005-05-11 2009-03-31 삼성전자주식회사 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
US7404089B1 (en) * 2005-06-03 2008-07-22 Pitney Bowes Inc. Method and system for protecting against side channel attacks when performing cryptographic operations
WO2007045258A1 (en) * 2005-10-18 2007-04-26 Telecom Italia S.P.A. A method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
EP1840732A1 (en) * 2006-03-31 2007-10-03 Axalto SA Protection against side channel attacks
US20080104402A1 (en) * 2006-09-28 2008-05-01 Shay Gueron Countermeasure against fault-based attack on RSA signature verification
US8139763B2 (en) * 2007-10-10 2012-03-20 Spansion Llc Randomized RSA-based cryptographic exponentiation resistant to side channel and fault attacks
US8091139B2 (en) * 2007-11-01 2012-01-03 Discretix Technologies Ltd. System and method for masking arbitrary Boolean functions

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105739946A (zh) * 2014-12-08 2016-07-06 展讯通信(上海)有限公司 随机数生成方法及装置
CN111183413A (zh) * 2017-08-03 2020-05-19 西门子股份公司 用于在计算机中执行程序的方法
CN111183413B (zh) * 2017-08-03 2023-09-01 西门子股份公司 用于在计算机中执行程序的方法
CN107317671A (zh) * 2017-08-22 2017-11-03 兆讯恒达微电子技术(北京)有限公司 防御旁路攻击的crc运算电路装置和方法
CN107317671B (zh) * 2017-08-22 2019-12-24 兆讯恒达微电子技术(北京)有限公司 防御旁路攻击的crc运算电路装置和方法
CN109768988A (zh) * 2019-02-26 2019-05-17 安捷光通科技成都有限公司 去中心化物联网安全认证系统、设备注册和身份认证方法
CN109768988B (zh) * 2019-02-26 2021-11-26 安捷光通科技成都有限公司 去中心化物联网安全认证系统、设备注册和身份认证方法

Also Published As

Publication number Publication date
CA2712180A1 (fr) 2009-09-11
JP2011510579A (ja) 2011-03-31
EP2248008A2 (fr) 2010-11-10
US20110170685A1 (en) 2011-07-14
WO2009109715A3 (fr) 2010-01-14
WO2009109715A2 (fr) 2009-09-11
FR2926652B1 (fr) 2010-06-18
KR20100117589A (ko) 2010-11-03
FR2926652A1 (fr) 2009-07-24
CN101911009B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN101911009B (zh) 用于以签名方案进行非对称加密的对策方法和设备
US9401805B2 (en) Encrypting device, encrypting method, and recording medium
CN101925875A (zh) 用于非对称加密的对策方法和设备
CN107040362A (zh) 模乘设备和方法
Ambedkar et al. A new factorization method to factorize rsa public key encryption
US20190089523A1 (en) Countermeasure to safe-error fault injection attacks on cryptographic exponentiation algorithms
JP2011530093A (ja) 累乗法による暗号化を保護する解決策
US6480606B1 (en) Elliptic curve encryption method and system
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
Abdullah et al. Security improvement in elliptic curve cryptography
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
US8014520B2 (en) Exponentiation ladder for cryptography
Benhamouda et al. Easing coppersmith methods using analytic combinatorics: Applications to public-key cryptography with weak pseudorandomness
Biyashev et al. Modification of the cryptographic algorithms, developed on the basis of nonpositional polynomial notations
JP2007187908A (ja) サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法
Katzenbeisser Recent advances in RSA cryptography
Ariffin et al. AA β public key cryptosystem-A comparative analysis against RSA and ECC
Dubal et al. On pseudo-random number generation using elliptic curve cryptography
Krömer et al. An acceleration of quasigroup operations by residue arithmetic
Courtois et al. Evaluation of Resilience of randomized RNS implementation
Neves et al. Degenerate curve attacks
Ciobanu et al. Security analysis of DBTRU cryptosystem
Nager Xifrat-Compact Public-Key Cryptosystems based on Quasigroups
Mondal Physical attacks on CCA-Secure Lattice-based KEM SABER
Chen FPGA implementation for elliptic curve cryptography over binary extension field

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Fa Guo Meilvai

Patentee after: Inside Secure

Address before: Exx, Provence

Patentee before: INSECCANTRES COMPANY

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 Guomeilvai

Patentee before: Inside Secure

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200330

Address after: California, USA

Patentee after: Rambus Inc.

Address before: Fa Guomeileyi

Patentee before: Weimei Anshi Co., Ltd