WO2003014916A1 - Procede securise de realisation d'une operation d'exponentiation modulaire - Google Patents
Procede securise de realisation d'une operation d'exponentiation modulaire Download PDFInfo
- Publication number
- WO2003014916A1 WO2003014916A1 PCT/FR2002/002771 FR0202771W WO03014916A1 WO 2003014916 A1 WO2003014916 A1 WO 2003014916A1 FR 0202771 W FR0202771 W FR 0202771W WO 03014916 A1 WO03014916 A1 WO 03014916A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mod
- masking parameter
- modulo
- secure
- algorithm
- Prior art date
Links
Classifications
-
- 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
- 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/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/7242—Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P
-
- 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
Definitions
- the present invention relates to a secure method for carrying out an exponentiation operation, with application in particular in the field of cryptography.
- the invention applies in particular to cryptographic algorithms implemented in electronic devices such as smart cards.
- U, V and X are integers most often of large size, and W a predetermined number.
- the numbers U, V can correspond for example to an encrypted text or to be encrypted, a data signed or to be signed, a data verified or to be verified, etc.
- the numbers W and X can correspond to elements of keys, private or public used for the encryption or the decryption of the numbers U, V.
- RSA Rivest, Sha ir and Adleman
- d and N are 1024 bits
- p and q are 512 bits.
- the CRT function (s p , s q ) is commonly called the recombination formula according to the Chinese remainder theorem.
- the CRT function is calculated, for example, as follows:
- the numbers e and N form the public key associated with the private key (d, p, q); the numbers e and N verify the relations:
- a malicious user can possibly initiate hidden channel attacks, aimed in particular at discovering confidential information (such as for example the numbers d or p) contained and manipulated in processing operations carried out by the computing device executing an exponentiation operation.
- the most well-known hidden channel attacks are said to be simple or differential.
- a simple or differential hidden channel attack is understood to mean an attack based on a measurable physical quantity from outside the device, the direct analysis of which (simple attack) or the analysis according to a statistical method (differential attack) allows discover information contained and manipulated in processing carried out in the device. These attacks can thus allow the discovery of confidential information.
- These attacks were notably exposed by Paul Kocher (Advances in Cryptology - CRYPTO'99, vol. 1666 of Lecture Notes in Computer Science, pp.388-397. Springer-Verlag, 1999).
- the CRT attack can be considered for any algorithm implemented through the Chinese remains theorem.
- the CRT attack makes it possible to obtain the number p of the private key.
- Y i p x (s q - s p ) mod (q) If p, q are of a bits (for example 512 bits), then, i p , s p , s q are of a bits, as well as Y The product pxY and the number s are therefore 2a bits. Since s p is of a bits, we deduce that the a most significant bits of s are equal to the a most significant bits of the product pxY.
- the Hamming weight H (Y) of the number Y can be obtained by a simple hidden channel attack during the calculation of Y. It is recalled that the Hamming weight of the number Y is the number of bits at "1" of the number Y.
- an object of the invention is to propose a secure method of carrying out an exponentiation operation, protected against all attacks, including CRT attacks such as as described above.
- Another object of the invention is to propose a secure method for carrying out an exponentiation operation, at least as efficient as the method disclosed in document WO 99/35782, in particular in terms of circuit size and time. Calculation.
- Another object of the invention finally is to provide a secure method for calculating an exponentiation operation, which can be incorporated into any calculation method during which a calculation of the type
- the masking parameter is a fractional number.
- the numbers W, X are in practice numbers which must be kept hidden, like elements of a private key, and / or numbers derived from such a key.
- the number W can be the variables d p , d q used in the usual way.
- the size of the numbers W, X is indifferent, it is for example 1024 bits.
- the masking parameter is of the form R / K.
- R is a random integer modified at each execution of the method.
- the size of number R determines the security 'of the algorithm with respect to said differential attacks, R may be chosen, for example size of 32 bits.
- K is an integer divisor of the number ⁇ (X), ⁇ being the indicative function of Euler. K can be chosen constant or can be modified each time the process is executed.
- the size of K is indifferent, it is for example close to the size of the number R.
- W is the default part of the result of the division of W by K, and R is equal to the product of the masking parameter (R / K) by the number ⁇ (X).
- the method of the invention as described above can be advantageously used in a global cryptographic method.
- the cryptographic method is of the RSA type, and it is implemented according to the Chinese remains theorem.
- the invention is used in particular. to mask a possibly derived key (for example the keys derived d p , d q -) by a masking parameter chosen randomly at each execution of the method, the masking parameter being a fractional number.
- the invention also relates to an electronic component comprising a calculation circuit for implementing a method according to the invention, for example, but not necessarily, within the framework of a cryptographic algorithm.
- the invention also relates to a smart card comprising said electronic component.
- the single figure shows in the form of a block diagram an electronic device 1 capable of carrying out exponentiation calculations.
- this device is a smart card intended to execute a program Cryptographic.
- the device 1 brings together in a chip programmed calculation means, composed of a central unit. 2 functionally connected to a set of memories of which: a memory 4 accessible in read only, in the example of the mask ROM type, also known by the English name "mask read-only .memory (mask ROM)", a memory 6 electrically re-programmable, in the example of the EEPROM type (from the English “electrically erasable programmable ROM”), and
- a working memory 8 accessible in read and write, in the example of the RAM type (from the English "random access memory").
- This memory notably includes the registers used by the device 1.
- the executable code corresponding to the exponentiation algorithm is contained in program memory. This code can in practice be contained in memory 4, accessible in read only, and / or in memory 6, rewritable.
- the central unit 2 is connected to a communication interface 10 which ensures the exchange of signals vis-à-vis the outside and the supply of the chip.
- This interface can include studs on the card for a so-called “contact” connection with a reader, and / or an antenna in the case of a so-called “contactless” card.
- One of the functions of the device 1 is to encrypt or decrypt a confidential message m respectively transmitted to, or received from, the outside.
- This message can relate for example ' personal codes, information. medical, accounting on 'banking or business transactions, access permissions to certain restricted services, etc.
- Another function is to calculate or verify a digital signature.
- the central unit 2 executes a cryptographic algorithm, using an exponentiation calculation, on programming data which is stored in the mask ROM 4 and / or EEPROM 6 parts.
- the exponentiation algorithm is of the RSA type, implemented by the use of the Chinese remainder theorem.
- the algorithm is used to sign a message m using a private key comprising three integers d, p and q.
- d is 1024 bits
- p and q are 512 bits.
- the numbers d, p, q are stored in a portion of the rewritable memory 6, of the EEPROM type in the example.
- the central unit When the exponentiation calculation device 1 is requested for the exponentiation calculation, the central unit stores. first of all the number m, transmitted by the communication interface 10, in working memory 8, in a calculation register. The central unit will then read the keys d, p, q contained in rewritable memory 6, in order to memorize them temporarily, for the time of the exponentiation calculation, in a calculation register of the working memory 8. The central unit then launches the exponentiation algorithm.
- the keys derived d p , d q from the key d are masked by a random fractional number in the following manner.
- the central unit first chooses a number k p divisor of p-1, and a number k q divisor of q-1, p, q being elements of the key; k p , k q are stored in another working memory calculation register 8.
- k p can be modified each time the algorithm is implemented or else can be kept constant.
- the size of k p is indifferent, but necessarily smaller than the size of -p-1.
- the central unit also chooses two random numbers r p , r q and stores them in two other calculation registers of the working memory.
- r p , r q are preferably modified each time the algorithm is implemented.
- the size of the numbers r p , r q is generally a compromise between on the one hand the size of the memory 8 in which they are stored and the calculation times (which increase with the size of the numbers r p , r q ) and d on the other hand the security of the algorithm (which also increases with the size of the numbers r p , r q ).
- the central unit stores the variables d p *, a p , d q *, a q in registers of the working memory. Thereafter, the intermediate variables obtained throughout the calculation will also be stored in a portion of the working memory 8.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02772476A EP1419434A1 (fr) | 2001-08-10 | 2002-07-31 | Procede securise de realisation d'une operation d'exponentiation modulaire |
US10/486,340 US20040184604A1 (en) | 2001-08-10 | 2002-07-31 | Secure method for performing a modular exponentiation operation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0110671A FR2828608B1 (fr) | 2001-08-10 | 2001-08-10 | Procede securise de realisation d'une operation d'exponentiation modulaire |
FR01/10671 | 2001-08-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003014916A1 true WO2003014916A1 (fr) | 2003-02-20 |
Family
ID=8866432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2002/002771 WO2003014916A1 (fr) | 2001-08-10 | 2002-07-31 | Procede securise de realisation d'une operation d'exponentiation modulaire |
Country Status (5)
Country | Link |
---|---|
US (1) | US20040184604A1 (fr) |
EP (1) | EP1419434A1 (fr) |
CN (1) | CN1568457A (fr) |
FR (1) | FR2828608B1 (fr) |
WO (1) | WO2003014916A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005048008A2 (fr) | 2003-11-16 | 2005-05-26 | M-Systems Flash Disk Pioneers Ltd. | Masquage naturel d'exposant amélioré effectué avec l'arithmétique de montgomery |
US8682951B2 (en) | 2005-03-30 | 2014-03-25 | Oberthur Technologies | Method for processing data involving modular exponentiation and related device |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2847402B1 (fr) * | 2002-11-15 | 2005-02-18 | Gemplus Card Int | Procede de division entiere securise contre les attaques a canaux caches |
TW586086B (en) * | 2002-12-27 | 2004-05-01 | Ind Tech Res Inst | Method and apparatus for protecting public key schemes from timing, power and fault attacks |
DE10341096A1 (de) * | 2003-09-05 | 2005-03-31 | Giesecke & Devrient Gmbh | Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen |
KR100652377B1 (ko) * | 2004-08-06 | 2007-02-28 | 삼성전자주식회사 | 모듈라 지수승 알고리즘, 기록매체 및 시스템 |
DE102004061312B4 (de) * | 2004-12-20 | 2007-10-25 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung |
US8265265B2 (en) * | 2005-08-19 | 2012-09-11 | Nxp B.V. | Circuit arrangement and method for RSA key generation |
JP2009505148A (ja) * | 2005-08-19 | 2009-02-05 | エヌエックスピー ビー ヴィ | 暗号化演算における反転操作を行うための回路配置及び方法 |
US8280041B2 (en) * | 2007-03-12 | 2012-10-02 | Inside Secure | Chinese remainder theorem-based computation method for cryptosystems |
KR101383690B1 (ko) * | 2008-12-10 | 2014-04-09 | 한국전자통신연구원 | 안전한 멀티캐스트 통신을 위한 그룹키 관리방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998052319A1 (fr) * | 1997-05-12 | 1998-11-19 | Yeda Research And Development Co. Ltd. | Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes |
WO2001048974A1 (fr) * | 1999-12-28 | 2001-07-05 | Giesecke & Devrient Gmbh | Support de donnees portatif a acces protege par repartition des codes |
-
2001
- 2001-08-10 FR FR0110671A patent/FR2828608B1/fr not_active Expired - Fee Related
-
2002
- 2002-07-31 EP EP02772476A patent/EP1419434A1/fr not_active Withdrawn
- 2002-07-31 WO PCT/FR2002/002771 patent/WO2003014916A1/fr not_active Application Discontinuation
- 2002-07-31 CN CN02820000.4A patent/CN1568457A/zh active Pending
- 2002-07-31 US US10/486,340 patent/US20040184604A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998052319A1 (fr) * | 1997-05-12 | 1998-11-19 | Yeda Research And Development Co. Ltd. | Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes |
WO2001048974A1 (fr) * | 1999-12-28 | 2001-07-05 | Giesecke & Devrient Gmbh | Support de donnees portatif a acces protege par repartition des codes |
Non-Patent Citations (1)
Title |
---|
MESSERGES T S ET AL: "Power analysis attacks of modular exponentiation in smartcards", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONAL WORKSHOP, XX, XX, August 1999 (1999-08-01), pages 144 - 157, XP000952221 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005048008A2 (fr) | 2003-11-16 | 2005-05-26 | M-Systems Flash Disk Pioneers Ltd. | Masquage naturel d'exposant amélioré effectué avec l'arithmétique de montgomery |
US8682951B2 (en) | 2005-03-30 | 2014-03-25 | Oberthur Technologies | Method for processing data involving modular exponentiation and related device |
Also Published As
Publication number | Publication date |
---|---|
CN1568457A (zh) | 2005-01-19 |
EP1419434A1 (fr) | 2004-05-19 |
FR2828608A1 (fr) | 2003-02-14 |
FR2828608B1 (fr) | 2004-03-05 |
US20040184604A1 (en) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2031792B1 (fr) | Exponentiation modulaire sécurisée avec minimisation de fuite pour cartes à puce et autres systèmes cryptographiques | |
EP1358732B1 (fr) | Procede de cryptage securise et composant utilisant un tel procede de cryptage | |
US7065788B2 (en) | Encryption operating apparatus and method having side-channel attack resistance | |
EP1166494A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique | |
EP2296086B1 (fr) | Protection d'une génération de nombres premiers contre des attaques par canaux cachés | |
EP1419434A1 (fr) | Procede securise de realisation d'une operation d'exponentiation modulaire | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
JP2004512570A (ja) | 非安全な暗号加速器を用いる方法と装置 | |
EP1421473B1 (fr) | Procédé de calcul universel appliqué à des points d'une courbe elliptique | |
US8233615B2 (en) | Modular reduction using a special form of the modulus | |
US20090122980A1 (en) | Cryptographic Method for Securely Implementing an Exponentiation, and an Associated Component | |
US7123717B1 (en) | Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm | |
WO2007104706A1 (fr) | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique | |
WO2006067057A1 (fr) | Procede d'exponentiation securisee et compacte pour la cryptographie | |
WO2003055134A9 (fr) | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede | |
WO1998051038A1 (fr) | Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas | |
FR2842052A1 (fr) | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions | |
WO2004017193A2 (fr) | Procede de calcul universel applique a des points d'une courbe elliptique | |
FR2818846A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie | |
EP2738974A1 (fr) | Procédé de dérivation de clés cryptographiques multiples à partir d'une clé maitresse dans un microprocesseur de sécurité | |
WO2002099624A1 (fr) | Procede de securisation d'un calcul d'exponentiation dans un dispositif electronique | |
WO2002082257A1 (fr) | Dispositif destine a realiser des calculs d'exponentiation securisee et utilisation d'un tel dispositif | |
FR2829646A1 (fr) | Procede securise de mise en oeuvre d'un algorithme de cryptographie et composant correspondant | |
FR2864649A1 (fr) | Circuit de calcul d'inverse, procede de calcul d'inverse et support d'enregistrement contenant un code de programme lisible par ordinateur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VN YU ZA ZM |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002772476 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028200004 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10486340 Country of ref document: US |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWP | Wipo information: published in national office |
Ref document number: 2002772476 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2002772476 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |