JP5977996B2 - サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置 - Google Patents
サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置 Download PDFInfo
- Publication number
- JP5977996B2 JP5977996B2 JP2012107478A JP2012107478A JP5977996B2 JP 5977996 B2 JP5977996 B2 JP 5977996B2 JP 2012107478 A JP2012107478 A JP 2012107478A JP 2012107478 A JP2012107478 A JP 2012107478A JP 5977996 B2 JP5977996 B2 JP 5977996B2
- Authority
- JP
- Japan
- Prior art keywords
- modulus
- modular
- operands
- values
- processor
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
-
- 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
-
- 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/724—Finite field arithmetic
-
- 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/7261—Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
- Error Detection And Correction (AREA)
Description
アルゴリズム3−左から右のバイナリ法(原子的)
となる。よって、
<外7>
が得られる。(T mod2N)/2は{0,...,N−1}の中にあるので、結果は次の通りである。(証明終わり)
a=bのとき、(a+a)・・・(b+N)=(2a)・・・(a+N)及び2a≠a+Nとなる。そうでないとa=Nとなるが、これはaが
<外8>
に含まれる(すなわち、集合{0,1,...,N−1}に含まれる)ので、あり得ないからである。言い換えると、a=bのとき、モジュラー乗算(a+a)・・・(b+N) mod2Nに現れる2つのオペランドの値は異なる。
<外10>
を定義する。(−1)2=1なので、明らかにS≡a・b(modN)である。さらに、S∈{0,...,N−1}である。(証明終わり)
再び、Nが奇数とすると、a=bのとき、モジュラー乗算(N−a)・b modNに現れる2つのオペランドの値は異なる。確かに、a=bであれば、(N−a)・b=(N−a)・aと(N−a)≠aは、Nが奇数であれば常に満たされる。
((70+70)・(20+120) mod240)/2=(140・140 mod240)/2=(19600 mod240)/2=160/2=80。これの第2の実施形態の式を用いる一例は、N=121である70と51のモジュラー乗法であり:
121−((121−70)・51 mod121)=121−(51・51 mod121)=121−(2601 mod121)=61。
Claims (9)
- 反復的モジュラー乗法ステップを有し、第1の法Nと秘密指数dと基数xとを入力とする、モジュラー累乗を実行する、好適なサイドチャンネルを見ることによりモジュラー二乗とモジュラー乗法とを区別できるプロセッサで実行される方法であって、
2つの値a、bと前記第1の法Nとからc=a・b modNとなるように結果cを計算することを目的とした前記反復的モジュラー乗法ステップの少なくとも1つのステップにおいて、
前記2つの値a、bと前記第1の法Nとを入力として取るステップと、
前記2つの値a、bと前記第1の法Nとから、2つのオペランドa′、b′と第2の法N′とを求めるステップであって、前記2つのオペランドa′、b′のうち少なくとも一方は前記2つの値a、bとは異なり、aがbと等しいとき、前記2つのオペランドa′、b′は異なるようにして、a′がb′と等しいときを除いてモジュラー乗法c′=a′・b′ modN′がサイドチャンネルの観点から見て、モジュラー二乗と区別されるモジュラー乗法のように振る舞うようにし、最大でも線形の複雑性である演算を用いて、前記オペランドa′は前記値aから求め、前記オペランドb′は前記値bから求め、前記第2の法N′は前記第1の法Nから求める、ステップと、
中間結果c′=a′・b′ modN′を計算するステップと、
前記中間結果c′から前記結果cを求めるステップであって、cは最大でも線形の複雑性である演算を用いてc′から求めるステップと、
前記モジュラー累乗において前記結果cを用いるステップとを有する方法。 - a′=2a、b′=b+N、及びN′=2Nであり、c′=c/2である、請求項1に記載の方法。
- a′=N−a、b′=b、及びN′=Nであり、c′=N−cである、請求項1に記載の方法。
- 前記第1の法Nは奇数である、請求項3に記載の方法。
- 反復的モジュラー乗法ステップを有し、第1の法Nと秘密指数dと基数xとを入力とする、モジュラー累乗を実行するプロセッサであって、好適なサイドチャンネルを見ることによりモジュラー二乗とモジュラー乗法とを区別できるようにし、2つの値a、bと前記第1の法Nとからc=a・b modNとなるように結果cを計算する前記反復的モジュラー乗法ステップの少なくとも1つのステップにおいて、
前記2つの値a、bと前記第1の法Nとを入力として取る手段と、
前記2つの値a、bと前記第1の法Nとから、2つのオペランドa′、b′と第2の法N′とを求める手段であって、前記2つのオペランドa′、b′のうち少なくとも一方は前記2つの値a、bとは異なり、aがbと等しいとき、前記2つのオペランドa′、b′は異なるようにして、a′がb′と等しいときを除いてモジュラー乗法c′=a′・b′ modN′がサイドチャンネルの観点から見て、モジュラー二乗と区別されるモジュラー乗法のように振る舞うようにし、最大でも線形の複雑性である演算を用いて、前記オペランドa′は前記値aから求め、前記オペランドb′は前記値bから求め、前記第2の法N′は前記第1の法Nから求める、手段と、
中間結果c′=a′・b′ modN′を計算する手段と、
前記中間結果c′から前記結果cを求めるステップであって、cは最大でも線形の複雑性である演算を用いてc′から求める手段とを有し、
前記プロセッサは、さらに、前記モジュラー累乗において前記結果cを用いる手段を有するプロセッサ。 - a′=2a、b′=b+N、及びN′=2Nであり、c′=c/2である、請求項5に記載のプロセッサ。
- a′=N−a、b′=b、及びN′=Nであり、c′=N−cである、請求項5に記載のプロセッサ。
- 前記第1の法Nは奇数である、請求項7に記載のプロセッサ。
- プロセッサにより実行されたとき、前記プロセッサに、請求項1ないし4いずれか一項に記載の方法を実行させるコンピュータプログラム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11305568 | 2011-05-11 | ||
EP11305568.5 | 2011-05-11 | ||
EP11176404.9 | 2011-08-03 | ||
EP11176404A EP2523096A1 (en) | 2011-05-11 | 2011-08-03 | Modular exponentiation and device resistant against side-channel attacks |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012239171A JP2012239171A (ja) | 2012-12-06 |
JP2012239171A5 JP2012239171A5 (ja) | 2015-06-25 |
JP5977996B2 true JP5977996B2 (ja) | 2016-08-24 |
Family
ID=44546155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012107478A Expired - Fee Related JP5977996B2 (ja) | 2011-05-11 | 2012-05-09 | サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8984040B2 (ja) |
EP (2) | EP2523096A1 (ja) |
JP (1) | JP5977996B2 (ja) |
CN (1) | CN102779022B (ja) |
BR (1) | BR102012010971A2 (ja) |
CA (1) | CA2775325A1 (ja) |
HK (1) | HK1176423A1 (ja) |
MX (1) | MX2012005408A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645794B2 (en) * | 2014-09-23 | 2017-05-09 | Texas Instruments Incorporated | Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography |
CN104811297B (zh) * | 2015-04-23 | 2018-06-12 | 成都信息工程学院 | 针对RSA之M-ary实现模乘余数输入侧信道攻击 |
CN106571916B (zh) * | 2015-10-12 | 2020-06-30 | 瑞昱半导体股份有限公司 | 解密装置、方法及电路 |
WO2018118569A1 (en) * | 2016-12-21 | 2018-06-28 | Cryptography Research, Inc. | Protecting parallel multiplication operations from external monitoring attacks |
EP3447509B1 (en) * | 2017-08-21 | 2021-05-26 | Eshard | Method of testing the resistance of a circuit to a side channel analysis |
US11895230B2 (en) * | 2019-01-24 | 2024-02-06 | Nec Corporation | Information processing apparatus, secure computation method, and program |
CN112260818B (zh) * | 2020-10-19 | 2022-09-20 | 中国人民解放军战略支援部队信息工程大学 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2228493C (en) * | 1997-02-03 | 2005-05-03 | Nippon Telegraph And Telephone Corporation | Scheme for carrying out modular calculations based on redundant binary calculation |
WO2007104706A1 (fr) * | 2006-03-16 | 2007-09-20 | Gemplus | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique |
EP1840732A1 (en) * | 2006-03-31 | 2007-10-03 | Axalto SA | Protection against side channel attacks |
FR2949925A1 (fr) * | 2009-09-09 | 2011-03-11 | Proton World Int Nv | Protection d'une generation de nombres premiers contre des attaques par canaux caches |
-
2011
- 2011-08-03 EP EP11176404A patent/EP2523096A1/en not_active Withdrawn
-
2012
- 2012-04-24 CA CA2775325A patent/CA2775325A1/en not_active Abandoned
- 2012-05-04 EP EP12166750.5A patent/EP2523097B1/en not_active Not-in-force
- 2012-05-09 BR BRBR102012010971-9A patent/BR102012010971A2/pt not_active IP Right Cessation
- 2012-05-09 MX MX2012005408A patent/MX2012005408A/es active IP Right Grant
- 2012-05-09 JP JP2012107478A patent/JP5977996B2/ja not_active Expired - Fee Related
- 2012-05-11 US US13/469,139 patent/US8984040B2/en not_active Expired - Fee Related
- 2012-05-11 CN CN201210145594.6A patent/CN102779022B/zh not_active Expired - Fee Related
-
2013
- 2013-03-15 HK HK13103264.8A patent/HK1176423A1/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20120290634A1 (en) | 2012-11-15 |
EP2523097B1 (en) | 2016-01-20 |
EP2523097A1 (en) | 2012-11-14 |
US8984040B2 (en) | 2015-03-17 |
HK1176423A1 (zh) | 2013-07-26 |
CN102779022B (zh) | 2017-03-01 |
EP2523096A1 (en) | 2012-11-14 |
JP2012239171A (ja) | 2012-12-06 |
MX2012005408A (es) | 2012-11-21 |
BR102012010971A2 (pt) | 2013-11-12 |
CN102779022A (zh) | 2012-11-14 |
CA2775325A1 (en) | 2012-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5977996B2 (ja) | サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置 | |
CN107040362B (zh) | 模乘设备和方法 | |
Yen et al. | Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption | |
EP1946205B1 (en) | A method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems | |
EP1946204B1 (en) | A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems | |
US8738927B2 (en) | Arrangement for and method of protecting a data processing device against an attack or analysis | |
Amiel et al. | Power analysis for secret recovering and reverse engineering of public key algorithms | |
Yen et al. | Relative doubling attack against montgomery ladder | |
US20100287384A1 (en) | Arrangement for and method of protecting a data processing device against an attack or analysis | |
JP5182364B2 (ja) | サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法 | |
Karakoyunlu et al. | Efficient and side-channel-aware implementations of elliptic curve cryptosystems over prime fields | |
Abarzúa et al. | Survey on performance and security problems of countermeasures for passive side-channel attacks on ECC | |
Yin et al. | A randomized binary modular exponentiation based RSA algorithm against the comparative power analysis | |
Mishra | Pipelined computation of scalar multiplication in elliptic curve cryptosystems | |
Fournaris | Fault and power analysis attack protection techniques for standardized public key cryptosystems | |
Zhang et al. | Efficient elliptic curve scalar multiplication algorithms resistant to power analysis | |
Takemura et al. | ECC Atomic Block with NAF against Strong Side-Channel Attacks on Binary Curves | |
Schinianakis et al. | RNS-Based Public-Key Cryptography (RSA and ECC) | |
Baek | Regular 2 w-ary right-to-left exponentiation algorithm with very efficient DPA and FA countermeasures | |
Mentens et al. | FPGA-oriented secure data path design: implementation of a public key coprocessor | |
Miyaji et al. | How to enhance the security on the least significant bit | |
TWI529615B (zh) | 進行模組式取冪之方法及其處理器和電腦程式產品 | |
Kim | New fault attacks using Jacobi symbol and application to regular right-to-left algorithms | |
Kim et al. | First-order side channel attacks on Zhang’s countermeasures | |
Al-Somani | Overlapped parallel computations of scalar multiplication with resistance against Side Channel Attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150507 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160322 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160610 |
|
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: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5977996 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |