JP4378480B2 - 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 - Google Patents
隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 Download PDFInfo
- Publication number
- JP4378480B2 JP4378480B2 JP2004559820A JP2004559820A JP4378480B2 JP 4378480 B2 JP4378480 B2 JP 4378480B2 JP 2004559820 A JP2004559820 A JP 2004559820A JP 2004559820 A JP2004559820 A JP 2004559820A JP 4378480 B2 JP4378480 B2 JP 4378480B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- integer division
- division
- modular
- bits
- 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.)
- Expired - Lifetime
Links
- 238000006243 chemical reaction Methods 0.000 title claims description 15
- 238000000034 method Methods 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 6
- RNAMYOYQYRYFQY-UHFFFAOYSA-N 2-(4,4-difluoropiperidin-1-yl)-6-methoxy-n-(1-propan-2-ylpiperidin-4-yl)-7-(3-pyrrolidin-1-ylpropoxy)quinazolin-4-amine Chemical compound N1=C(N2CCC(F)(F)CC2)N=C2C=C(OCCCN3CCCC3)C(OC)=CC2=C1NC1CCN(C(C)C)CC1 RNAMYOYQYRYFQY-UHFFFAOYSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7257—Random modification not requiring correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
悪意のあるユーザは、おそらく暗号化方法を実行している計算デバイスが実行した処理動作の際に含まれ、また操作した特定の機密データを発見しようとして攻撃を行うこともあり得る。
整数除算およびモジュラ換算の両方を使用する周知の方法は、いわゆる「紙/鉛筆」方法である。この方法は、実際に、手でこのような演算を行う場合に使用する方法を反復する。この方法については以下に説明する。
入力:a=(0,am−1,...,a0)
b=(bn−1,...,b0)
出力:q=a div b およびr=a mod b
A=(0,am−1,...,am−n+1)
For j=1 to (m−n+1),do:
a<−SHLm−1(a,1);σ<−carry
A<−SUBn(A,b);σ<−σ OR carry
if (¬σ=TRUE) then A<−ADDn(A,b)
if not lsb(a)=1
End For
この方法の場合、および下記の説明全体を通して下記の表記方法を使用する。
正確な言い方ではないが、特に分かりやすくするために、明示していない限り、レジスタおよびその内容を示すために同じ名前を使用する。それ故、レジスタAは、データ項目Aを含むレジスタを表すために使用する。
記号「<−」および表記y<−xは、レジスタxの内容をレジスタyにロードするのを示すために使用する。レジスタyの内容もyと呼ばれる。
Aは、最初にデータ項目aを含んでいるレジスタのn個の最上位ビットの内容に対応するn個のビットの語である。Aは、もちろん、最初にaを含んでいるレジスタのように、反復の度に修正される。
σは、減算がうまくいったのかいかなかったのか(すなわち、商ビットは0または1に等しいかどうか)を示す。
¬σは変数σの1に対する補数(否定とも呼ばれる)である。真は、ある例の場合には1に等しい定数である。
lsb(a)は、数aの最下位加重ビットであり、aの最下位ビットとも呼ばれる。
ADDn(A,b)は、語Aのn個のビットへの数bのn個のビットの加算である。演算SHLn(a,1)は、演算ADDn(a,a)に等しいことが分かるだろう。もちろん、加算ADDn(a,b)は、適当な加算回路で、Aおよびbをそれぞれ含んでいる2つのレジスタの内容を加算することにより行われる。
SUBn(A,b)は、語Aからの数bの減算である。もちろん、減算SUBn(A,b)は、適当な回路で、語Aを含んでいるレジスタの内容から、データ項目bを含んでいるレジスタの内容を引くことにより行われる。
・a<−SHLm+1(a,1)によりけた上げ(σ=carry=1)が生じた場合には、am=1(シフト前)およびそれ故そのbをAから引かなければならないことを意味する。
・am=0(シフト前)であり、A<−SUBn(A,b)によりけた上げ(carry=1)が生じた場合には、減算の前はA−b μ 0であり、それ故、bをAから引かなければならないことを意味する。
・a<−SHLm+1(a,1)がけた上げを生じないで、またA<−SUBn(A,b)もけた上げを生じない場合(すなわち、σを更新した後で、σが偽である場合)、または¬σが真である場合には、減算を行う前、A−b<0であり、それ故、bをAから引く必要がないことを意味する。この場合には、この方法は、Aの値を復元するために加算演算A<−ADDn(A,b)を実行する。
乱数によりマスクされている数a、この方法の実行中に残った痕跡(例えば、消費エネルギー)は実行毎に異なる。そのため、差分カバート・チャネル攻撃をもはや行うことはできない。
乱数ρは、この方法の実行毎に修正することができ、または単にこの方法の所定の回数の実行の後で修正することができる。適用できる場合には、上記の予め定義した数は、好適には、例えば、32乃至64ビットの間のある数のような比較的小さな数にすることが好ましい。
その後で、次に必要な整数除算および/またはモジュラ換算が行われる。
モジュラ換算を行う場合には、この演算(a+b*ρ)mod bの結果はa mod b、数aに対するモジュラ換算の予想した結果に等しい。
最後に、本発明は、上記特性を有する構成要素を備えたチップ・カードに関する。
Claims (6)
- 複数のビット・レジスタを有する電子構成要素において、第一および第二のビット・レジスタにそれぞれ記憶された数aおよび数bに基づいて、内部の計算手段により、q=a div bというタイプの整数除算および/またはr=a mod bというタイプのモジュラ換算を実行する暗号化方法であって、qは商、aはmビットの数、bはnビットの数、nはmより小さいかまたは等しい数、前記数bの最上位ビットであるbn−1は非ゼロであって、
前記暗号化方法は、
数aと、数bと乱数ρとの積とを加算するステップと、
前記ステップでの計算結果を数aが記憶されていた前記第一のビット・レジスタに記憶させるステップと、を有し、
前記第一および第二のビット・レジスタを用いた前記整数除算および/または前記モジュラ換算を行う前に、前記二つのステップが前記計算手段によって実行されることを特徴とする暗号化方法。 - 整数除算を実行した後で、前記乱数ρが前記整数除算の結果から差し引かれることを特徴とする請求項1に記載の方法。
- 前記乱数ρが前記方法の実施の度に修正されることを特徴とする請求項1または2に記載の方法。
- 前記乱数ρが、前記方法の所定の実施回数の後で修正されることを特徴とする請求項1乃至3のいずれかに記載の方法。
- 請求項1乃至4のいずれかに記載の方法を実施するための手段を備える電子構成要素。
- 請求項5に記載の構成要素を備えるチップ・カード。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0215623A FR2848753B1 (fr) | 2002-12-11 | 2002-12-11 | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
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 (2)
Publication Number | Publication Date |
---|---|
JP2006509261A JP2006509261A (ja) | 2006-03-16 |
JP4378480B2 true JP4378480B2 (ja) | 2009-12-09 |
Family
ID=32338660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004559820A Expired - Lifetime JP4378480B2 (ja) | 2002-12-11 | 2003-12-11 | 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 |
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
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 |
JP2006509261A (ja) | 2006-03-16 |
EP1579312A1 (fr) | 2005-09-28 |
FR2848753B1 (fr) | 2005-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10423807B2 (en) | Asymmetrically masked multiplication | |
EP3559811B1 (en) | Protecting parallel multiplication operations from external monitoring attacks | |
JP5412274B2 (ja) | サイドチャネル攻撃からの保護 | |
US8422685B2 (en) | Method for elliptic curve scalar multiplication | |
JP4378479B2 (ja) | カバート・チャネル攻撃に対して安全な整数除算法 | |
TWI403144B (zh) | 隨機化模數減化方法及其硬體 | |
US7227947B2 (en) | Cryptographic method and cryptographic device | |
JP4378480B2 (ja) | 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 | |
CN101213512A (zh) | 保护数据处理设备以抵御攻击或分析的装置和方法 | |
Fouque et al. | The carry leakage on the randomized exponent countermeasure | |
US11502836B2 (en) | Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product | |
Vadnala et al. | Faster mask conversion with lookup tables | |
Schmidt et al. | Combined implementation attack resistant exponentiation | |
JP2008525834A (ja) | 暗号用の安全かつコンパクトな累乗方法 | |
Schamberger et al. | Practical evaluation of masking for ntruencrypt on arm cortex-m4 | |
Fournaris | Fault and power analysis attack protection techniques for standardized public key cryptosystems | |
JP3878853B2 (ja) | 公開鍵暗号アルゴリズムを用いる電子構成品におけるモジュラべき乗演算アルゴリズム | |
CN109299621A (zh) | 对迭代计算的防范水平攻击的保护 | |
Kabin et al. | Unified field multiplier for ECC: Inherent resistance against horizontal SCA attacks | |
Dąbrowski et al. | Generation and Implementation of Cryptographically Strong Elliptic Curves | |
Monfared et al. | Secure and efficient exponentiation architectures using Gaussian normal basis | |
Das et al. | Improved atomicity to prevent HCCA on NIST curves | |
Gandolfi-Villegas et al. | Dynamic Runtime Methods to Enhance Private Key Blinding | |
Negre | Address-bit Differential Power Analysis on Boolean Split Exponent Counter-measure. | |
JP2008224830A (ja) | 耐タンパーベキ乗演算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080321 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081201 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090721 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20090817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090820 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |