EP1579312A1 - Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches - Google Patents
Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux cachesInfo
- Publication number
- EP1579312A1 EP1579312A1 EP03813170A EP03813170A EP1579312A1 EP 1579312 A1 EP1579312 A1 EP 1579312A1 EP 03813170 A EP03813170 A EP 03813170A EP 03813170 A EP03813170 A EP 03813170A EP 1579312 A1 EP1579312 A1 EP 1579312A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- division
- modular reduction
- random number
- bits
- during
- 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.)
- Withdrawn
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
Definitions
- the invention relates to a whole division or modular reduction method secured against hidden channel attacks, and in particular differential attacks.
- the invention can be used to perform division operations in a more general cryptographic method, 1 for example a secret or public key cryptographic method.
- a 'cryptographic process ' can for example be implemented in electronic devices such as' smart cards.
- a and / or b are secret data, for example elements of a process key.
- Such cryptographic methods using an integer division method and / or a modular reduction method are susceptible to hidden channel attacks, as will be seen in the example below.
- a known method for implementing both an integer division and a modular reduction is the so-called "pencil paper” method.
- This process takes up in practice the method used when such an operation is carried out by hand. This process is recalled below.
- the method successively performs several divisions of an integer A of n + 1 bits by the integer b of n bits.
- the remainder r is a number of at most n bits since r ⁇ b.
- the quotient q is stored in the m-n + 1 least significant bits of the register initially containing the number a.
- the most significant bit of the rest r is stored in a 1 bit register used as carry (carry) during computation and the n-1 least significant bits of. rest r are stored in the n-1 most significant bits of the register initially containing the number a.
- ⁇ - and the notation y ⁇ - x are used to indicate the loading of the content of the register x into a register y whose content is also called y.
- t A is a word of n bits corresponding to the content of the n most significant bits of the register initially containing the data a.
- Register A is of course modified at each iteration, as is register
- -n ⁇ is the complement to 1 (also called negation) 10 ( of the variable ⁇ .
- TRUE is a constant, equal to 1 in an example.
- lsb (a) is the least significant bit of the number -a, also called least significant bit of a.
- ADD n (A, b) is an operation of adding the n bits of the number b to the n bits of the word A. Note that the operation SHL n (a, 1) is equivalent to the operation
- SUB n (A, b) is an operation of subtraction of the number b from the word A.
- the subtraction SUB n (A, b) is carried out by subtracting, in an appropriate circuit, the
- method 1 performs the following steps:
- Method 1 is sensitive to hidden channel attacks. Indeed, it is noted on method 1 that, at each iteration, according to the value of ⁇ , that is to say according to the value of the bit of quotient which will be obtained during the iteration in progress, one carries out ' is an addition ADD n (A, b), ie setting the least significant bit of the register containing the data a to 1.
- ADD n A, b
- the implementation and the duration of execution of these two operations are different and the trace that they leave during their implementation is also different.
- the overall trace left during an iteration varies' therefore based on the result bit obtained during said iteration.
- Other known methods having the same drawbacks carry out either a modular division alone or a modular reduction alone. In general, a division process is quite similar to a modular reduction process. .
- An object of the invention is to secure a method 5 of implementing a division and / or a modular reduction.
- the method is characterized in that the number a is masked by a random number -p before performing the whole division and / or the modular reduction.
- the trace for example, the energy consumption
- -20 ' left during the execution of the process is different with each execution, so that it is no longer possible to put implementing a differential hidden channel attack.
- the invention can be applied for example to method 1 which ' performs both a division and a
- the invention can be more generally applied to any process which performs one or other of these operations.
- the random number p can be modified each time the process is executed, or simply after a number
- said predefined number is preferably chosen to be relatively small, for example a number from 32 to 64 bits.
- the result of the whole division carried out. with. the number masked in the form a + b * p is equal to a div b + p.
- we remove from the result of the whole division the contribution made by the random number p to find the expected result of the whole division on the number a, i.e. a div b .
- the result of the operation (a + b * p) mod b is equal to a mod b, expected result of the modular reduction- on the number a. -
- the invention also relates to an electronic component comprising means for implementing a method according to the invention, as described above.
- Means of Calculation programmed include multiple registers for storing the numbers a and b.
- the invention relates to a smart card comprising a component having the characteristics described above.
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)
Applications Claiming Priority (3)
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 |
FR0215623 | 2002-12-11 | ||
PCT/FR2003/003681 WO2004055665A1 (fr) | 2002-12-11 | 2003-12-11 | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1579312A1 true EP1579312A1 (fr) | 2005-09-28 |
Family
ID=32338660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03813170A Withdrawn EP1579312A1 (fr) | 2002-12-11 | 2003-12-11 | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
Country Status (7)
Country | Link |
---|---|
US (1) | US7639796B2 (ja) |
EP (1) | EP1579312A1 (ja) |
JP (1) | JP4378480B2 (ja) |
CN (1) | CN1723436A (ja) |
AU (1) | AU2003296823A1 (ja) |
FR (1) | FR2848753B1 (ja) |
WO (1) | WO2004055665A1 (ja) |
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
Non-Patent Citations (1)
Title |
---|
See references of WO2004055665A1 * |
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 |
CN1723436A (zh) | 2006-01-18 |
JP4378480B2 (ja) | 2009-12-09 |
JP2006509261A (ja) | 2006-03-16 |
FR2848753B1 (fr) | 2005-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423807B2 (en) | Asymmetrically masked multiplication | |
US7065788B2 (en) | Encryption operating apparatus and method having side-channel attack resistance | |
EP3230921B1 (en) | Multiplicative masking for cryptographic operations | |
EP2380306A1 (fr) | Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve | |
CN101213513A (zh) | 保护数据处理装置免受密码攻击或分析的设备和方法 | |
EP3300293B1 (fr) | Procédé de chiffrement ou de déchiffrement symétrique par bloc | |
EP1381936B1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique | |
WO2004046017A2 (fr) | Procede de division entiere securise contre les attaques a canaux caches | |
EP1579312A1 (fr) | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches | |
CN102193060B (zh) | 用于测试集成电路设备的方法和系统 | |
Campos et al. | Patient Zero & Patient Six: Zero-Value and Correlation Attacks on CSIDH and SIKE | |
WO2011061263A1 (en) | Countermeasures against power attacks for the randomization of the exponent | |
FR2838210A1 (fr) | Procede cryptographique protege contre les attaques de type a canal cache | |
Sim et al. | Key bit-dependent attack on protected PKC using a single trace | |
WO2006067057A1 (fr) | Procede d'exponentiation securisee et compacte pour la cryptographie | |
EP1639451A2 (fr) | Procédé de contre-mesure par masquage de l'accumulateur | |
Gierlichs | DPA-Resistance Without Routing Constraints? –A Cautionary Note About MDPL Security– | |
Dugardin et al. | Stochastic methods defeat regular RSA exponentiation algorithms with combined blinding methods | |
Lee et al. | A practical collision-based power analysis on RSA prime generation and its countermeasure | |
CN104426653B (zh) | 一种数据处理方法和装置 | |
EP1348275B1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete | |
Sim et al. | New power analysis on the Ha-Moon algorithm and the MIST algorithm | |
Alioto et al. | Power modeling of precharged address bus and application to multi-bit DPA attacks to DES algorithm | |
EP4407589A1 (en) | Apparatus and method for cryptography secure against side-channel attacks | |
FR2824653A1 (fr) | Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20050711 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: JOYE, MARC |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: GEMALTO SA |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20110701 |