JP5365624B2 - 電力解析攻撃への対策機能を備えた復号装置、プログラム、及び復装置を組み込んだ組込機器装置 - Google Patents
電力解析攻撃への対策機能を備えた復号装置、プログラム、及び復装置を組み込んだ組込機器装置 Download PDFInfo
- Publication number
- JP5365624B2 JP5365624B2 JP2010505041A JP2010505041A JP5365624B2 JP 5365624 B2 JP5365624 B2 JP 5365624B2 JP 2010505041 A JP2010505041 A JP 2010505041A JP 2010505041 A JP2010505041 A JP 2010505041A JP 5365624 B2 JP5365624 B2 JP 5365624B2
- Authority
- JP
- Japan
- Prior art keywords
- mod
- calculating
- multiplication
- waveform
- bit
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Description
RSA暗号、楕円曲線暗号などの公開鍵暗号に対してSPA、DPAを用いた推定法については、非特許文献2(Messerges99)や、非特許文献3(Coron99)などの文献にて述べられている。
RSA暗号の復号処理においては、指数剰余演算処理と呼ばれる処理が行われる。指数剰余演算は、秘密鍵d, 暗号文a, 法nに対して、v=ad (mod n)により平文vを計算する処理である。一般的に、RSA暗号における秘密鍵dのビット長は1024-bit以上が用いられているため、このd乗演算を単純な方法で実行すると、およそ21024回の乗算が必要となり、現実的な時間内に計算することが不可能となる。
図1の処理を説明する。dのビット値diを、i=u-1からi=0の順番にチェックする。このチェックの結果、di=1ならば、2乗算と乗算の両方を実行する。di=0ならば、2乗算のみを実行する。この処理をi=u-1からi=0まで繰り返すことで、v=ad(mod n)を計算する。つまり、鍵ビットdiの値と、2乗算、乗算の実行パターンが、直接的に連動していることがバイナリ法の特徴である。
<RSA暗号処理に対する電力解析攻撃(公知技術)>
図1、2で説明したRSA暗号処理に対する電力解析攻撃について説明する。
・バイナリ法
攻撃者が消費電力から判断する情報:2乗算と乗算を識別。
攻撃者が得る鍵情報:秘密鍵の全ビット値(u-bit全て)
・window法
攻撃者が消費電力から判断する情報:各window列biが、偶数か奇数であるか。
攻撃者が得る鍵情報:秘密鍵のu-bitのうちu/k-bitを解読、k-bitおきに1-bit解読。
消費電力波形を用いて、2乗算と乗算を識別する方法を説明する。この識別方法は、以下に示す攻撃法1、攻撃法2の2種類が知られている。いずれの識別方法も、乗算処理の消費電力波形は、乗算のデータ値に依存して変化する、という性質を利用している。
暗号文aの値として、a= -1 (mod n)を入力した上で、秘密鍵dによる復号処理を実行しその消費電力を測定する。a= -1(mod n)という暗号文を入力することで、復号処理で実行される乗算のデータ値のパターンが以下の3種類のみに限定される。
- 乗算:(1)×(-1)の1種類。
- 2乗算:(1)×(1), (-1)×(-1)の2種類。
攻撃法1は、a= -1 (mod n)を入力し、単一の電力波形を観察することで、2乗算と乗算の判別を行っていた。これに対し、下記で述べる攻撃法2は、a = s (mod n)を入力した時の消費電力波形と、a= -s (mod n)を入力した時の消費電力波形をそれぞれ測定し、これらの差分波形を観察することで2乗算と乗算の識別を行う。ただし、sは任意のデータ値であり、攻撃者が自由に選択することができる。
a = s (mod n)を入力した時の消費電力波形と、a= -s (mod n)を入力した時の消費電力波形の差分波形は、実行している演算が乗算か2乗算かにより、3パターンに限定される。以下ではまずその原理について説明を行う。
[パターン1]
a= sを入力した場合: vs = v×s (mod n)の乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
a= -sを入力した場合: -vs = v×-s (mod n)の乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
vの値は、a = sを入力した場合のvと同じ値である。
[パターン2]
a= sを入力した場合: v2 = v×v (mod n)の2乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
a= -sを入力した場合: v2 = -v×-v (mod n)の2乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
vの値は、a = sを入力した場合のvと同じ値である。
a= sを入力した場合: v2 = v×v (mod n)の乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
a= -sを入力した場合: v2 = v×v (mod n)の乗算を実行する。
vは計算途中の中間データであり、図1の変数vである。
vの値は、a = sを入力した場合のvと同じ値である。
<window法(図2)に対する電力解析攻撃>
消費電力波形を用いて、window列biが偶数であるか、奇数であるかを識別する方法を説明する。この識別方法は、以下に示す攻撃法3、攻撃法4の2種類が知られている。いずれの識別方法も、乗算処理の消費電力波形は、乗算のデータ値に依存して変化する、という性質を利用している。
攻撃法1と同様に、暗号文aの値として、a= -1 (mod n)を入力した上で、秘密鍵dによる復号処理を実行しその消費電力を測定する。a= -1(mod n)という暗号文を入力することで、攻撃法1と同様に、復号処理で実行される乗算のデータ値のパターンが以下の3種類のみに限定される。
- 乗算:(1)×(-1)もしくは(1)×(1)の2種類。
- 2乗算をk回:(-1)×(-1)を1回実行した後, (1)×(1)をk-1回実行もしくは、(1)×(1)をk回実行の2種類。
k=3, d=(101100)2に対して、a = -1 (mod n)を入力した場合の消費電力波形の例を図7に示す。2乗算3回、乗算1回という演算パターンを1回繰り返し、全体で8回の演算を実行している。攻撃者は、4回に1回実行される乗算の波形を観察することで、biが奇数であるか偶数であるかを判別する。この場合、dが6ビットなので、b1,b0の2つのwindowを用いた計算が行われる。ただし、b1はdの上位3-bit, b0はdの下位3-bitを表す。最初に、(1) ×(1)による2乗算が3回繰り返された後、w[b1]による乗算が行われる。この乗算波形は左から4番目の波形であり、(1)×(1)の乗算波形とは明らかに異なる。よって、b1は奇数であると識別できる。(もし、左から4番目の波形が(1)×(1)の乗算波形と同一ならば、b1は偶数であると識別できる。)
・攻撃法4
攻撃法2と同様に、a = s (mod n)を入力した時の消費電力波形と、a= -s (mod n)を入力した時の消費電力波形をそれぞれ測定し、これらの差分波形を乗算に関して観察することで、biが偶数か奇数かを判別する。ただし、sは任意のデータ値であり、攻撃者が自由に選択することができる。
以上の考察より、本発明では以下の課題を解決する。
課題2:window法を用いて、攻撃法3,4に対して安全なRSA暗号処理を実現する。
a=-1を入力した場合、以下の3種類の演算のみ発生。電力波形によりこれら3種類を識別することで、dの全てのビット値を解読。
- 乗算:(1)×(-1)の1種類。
- 2乗算:(1)×(1), (-1)×(-1)の2種類。
a=sを入力した場合とa=-sを入力した場合の波形差分が、以下の3種類の演算のみ発生。電力波形によりこれら3種類を識別することで、dの全てのビット値を解読。
- 乗算:(v) ×(s)の波形と(v)×(-s)の波形の差分(1種類)
- 2乗算:(-v)×(-v)の波形と(v)×(v)の差分、
もしくは(v)×(v)の波形と(v)×(v)の差分(2種類)
a=-1を入力した場合、以下の2種類の乗算のみ発生。電力波形によりこれら2種類を識別することで、dの全体の1/kのビット値を解読。
- 乗算:(1)×(-1)、(1)×(1)
a=sを入力した場合の波形と、a=-sを入力した場合の、乗算に関する波形差分が、以下の2種類の乗算のみ発生。電力波形によりこれら2種類を識別することで、dの全体の1/kのビット値を解読。
- 乗算:(v) ×(s)の波形と(v)×(-s)の波形の差分、もしくは
(v) ×(s)の波形と(v)×(s)の波形の差分(2種類)
Paul Kocher, Joshua Jaffe, and Benjamin Jun, "Differential Power Analysis," in proceedings of Advances in Cryptology-CRYPTO’99, Lecture Notes in Computer Science vol. 1666, Springer-Verlag, 1999, pp. 388-397(以下Kocher99) Thomas S.Messerges, Ezzy A.Dabbish and Robert H.Sloan "Power Analysis Attacks of Modular Exponentitiation in Smartcards", Cryptographic Hardware and Embedded Systems(CHES’99), Lecture Notes in Computer Science vol. 1717, Springer-Verlag, pp.144-157(以下Messerges99) Jean-Sebastein Coron "Resistance against Differential Power Analysis for Elliptic Curve Crytosystems", Cryptographic Hardware and Embedded Systems (CHES’99), Lecture Notes in Computer Science vol. 1717, Springer-Verlag, pp.292-302, 1999(以下Coron99) Alfred J.Menezesほか著"HANDBOOK OF APPLIED CRYPTOGRAPHY"(CRC press), (http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf) また、本発明の課題に関連して、下記特許文献1〜3に記載の公知例がある。
まず、a’=a2(mod n)を計算するステップが実行される。
続いて、d0=1であるときにy=y×a (mod n)を計算するステップが実行される。
本発明の第2の態様は、u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、バイナリ法を用いて指数剰余演算y=ad (mod n)を実行する暗号化方法を前提として、以下の構成を有する。
次に、a’=a2(mod n)を計算するステップが実行される。
続いて、i=u-1, u-2, ..., 2, 1の順に、v=v×v (mod n)を計算するサブステップと、di=1であるときにv=v×a’ (mod n)を計算するサブステップとを、繰返し実行するステップが実行される。
そして、vをy=ad (mod n)をとして出力するステップが実行される。
本発明の第3の態様は、u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、バイナリ法を用いて指数剰余演算y=ad (mod n)を実行する暗号化方法を前提として、以下の構成を有する。
次に、v=a’の初期化処理を実行するステップが実行される。
続いて、i=u-2, u-2, ..., 2, 1について、v=v×v (mod n)を計算するサブステップと、di=1であるときにv=v×a’ (mod n)を計算するサブステップとを、繰返し実行するステップが実行される。
そして、vをy=ad (mod n)として出力するステップが実行される。
次に、v=1の初期化処理を行うステップが実行される。
そして、vをy=ad(mod n)をとして出力するステップが実行される。
本発明の第5の態様は、u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、window法を用いて指数剰余演算y=ad (mod n)を実行する暗号化方法を前提として、以下の構成を有する。
次に、e x uをx以上の整数値の集合の最小値を表す演算として、 i=e (u-1) /ku−1 に対し、v=w[bi]の初期化処理を行うステップが実行される。
そして、vをy=ad (mod n)をとして出力するステップが実行される。
本発明の第6の態様は、u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、スカラー倍算Y=dAを実行する暗号化方法を前提として、以下の構成を有する。
次に、f=(du-1, du-2, ..., d1)2に対して、A’のf倍点Y=fA’を計算するステップが実行される。
そして、Y=dAを出力するステップが実行される。
本発明の第7の態様は、u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、バイナリ法を用いてスカラー倍算Y=dAを実行する暗号化方法を前提として、以下の構成を有する。
次に、A’=2Aを計算するステップが実行される。
更に、d0=1のときにV=V+Aを計算するステップが実行される。
本発明の第8の態様は、u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、バイナリ法を用いてスカラー倍算Y=dAを実行する暗号化方法を前提として、以下の構成を有する。
次に、V=A’の初期化処理を実行するステップが実行される。
続いて、i=u-2, u-2, ..., 2, 1について、V=2Vを計算するサブステップと、di=1のときにV=V+A’を計算するサブステップを、繰返し実行するステップが実行される。
そして、VをY=dAとして出力するステップが実行される。
本発明の第9の態様は、u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、window法を用いてスカラー倍算Y=dAを実行する暗号化方法を前提として、以下の構成を有する。
次に、Oを全ての点Aに対してA+O=O+A=Aを満たす無限遠点として、V=Oの初期化処理を行うステップが実行される。
加えて、d0=1のときにV=V+Aを計算するステップが実行される。
そして、VをY=dAとして出力するステップが実行される。
次に、e x uをx以上の整数値の集合の最小値を表す演算として、i=e (u-1) /ku−1 に対し、V=W[bi]の初期化処理を行うステップが実行される。
そして、VをY=dAとして出力するステップが実行される。
本発明の他の態様は、上記態様を実現する暗号化装置、プログラム、又は暗号化装置を組み込んだ組込機器装置として実現することができる。
本発明の各実施形態の基本原理
「背景技術」において説明した攻撃法1,2,3,4の原理に共通しているのは、攻撃者がa=-1や、a=s, -sのペアを入力することで、乗算もしくは2乗算でプラスとマイナスのデータ値の違いを意図的に発生させ、このデータ値の違いを攻撃者が電力波形を用いて識別していることである。
全体の演算手順としては、(a2)f (mod n)を計算してから、その結果に対してag(mod n)を乗算する。(a2)f (mod n)の計算が(手順-2)により実行され、その結果に対するag (mod n)の乗算が(手順-3)により実行される。なお、(手順-3)の乗算は、g=0のときは実行されないが、g=0の場合ag=a0=1なので、乗算を行う必要がないことに注意されたい。
本発明の実施形態の基本原理である図9の(手順-1)〜(手順-4)を用いて、図1のバイナリ法を改良した実施例を図14に示す。1402, 1403, 1409に記された太字部分が、図1からの変更点であり、図9の解決手段を用いた処理である。
(手順-2)に示す、(a’)f (mod n)のバイナリ法による演算プロセスは、1403〜1408のループ処理によって実行する。f=(du-1, ..., d1)2に対するバイナリ法演算を実現するために、1403のループ処理はi=u-1に始まり、u=1で終了することに注意されたい。
(手順-3)の計算は1409によって実行する。
図14は、du-1の値が0,1いずれの場合についても用いることができる汎用的な演算法であるが、du-1=1の場合に特化したバイナリ法アルゴリズムが一般的に知られている。この特化されたアルゴリズムを用いることで、わずかながら計算時間を短縮(乗算1回、2乗算1回)できる。図14をdu-1=1の場合に特化したバイナリ法アルゴリズムを図15に示す。
(手順-1)に示すa’=a2 (mod n)の計算は、1501, 1502により実行する。
(手順-2)に示す、(a’)f (mod n)のバイナリ法による演算プロセスは、1503〜1508のループ処理によって実行する。du-1=1であることはわかっているので、このループ処理においては、du-1に関する処理はスキップされることに注意されたい。f=(du-2, ..., d1)2に対するバイナリ法演算を実現するために、1503のループ処理はi=u-2に始まり、u=1で終了する。
(手順-3)の計算は,1509によって実行する。
図9の解決手段(手順-1)〜(手順-4)を用いて、図2のwindow法を改良した実施例を図16に示す。1601, 1602, 1604, 1612に記された太字部分が、図2からの変更点である。
(手順-3)に示す処理は、1612において実行する。
図2のアルゴリズムを改良し、計算を若干高速化し改良した(2乗算k回、乗算1回)window法アルゴリズムが一般的に知られている。(バイナリ法と異なり、この改良は秘密鍵dやwindow列biに関する制約をうけない。)この改良を行ったwindow法アルゴリズムを図17に示す。
(手順-1)に示すa’=a2 (mod n)の計算は、第3の実施形態と同様に1701, 1702に示すw[x]のテーブル作成処理により実行する。1703〜1705においては、図16と異なりv=1による初期化を行うのではなく、v=w[bi]による初期化を行う。
(手順-2)に示す、(a’)f(mod n)のバイナリ法による演算プロセスは、1706〜1713の ループ処理によって実行する。1703〜1705に記されたvの初期化処理により、i=e(u-1)/ku-1に関する演算処理はすでに終了しているため、iのループ処理はi=e(u-1)/ku-2に始まりi=0で終了することに注意されたい。
(手順-3)に示す処理は、1714において実行する。
以上に示した第1〜第4の実施形態は、RSA暗号のみならず、ElGamal暗号、Diffie-Hellman鍵交換、DSA署名など、指数dと入力データcから、出力データyをy=cd (mod n)で記される指数剰余演算を用いる公開鍵暗号演算全般について適用可能である。
図22において、初期2乗処理部2203は、乗算器2202を使って、図9の手順1の演算を実行する。
終了時乗算部2205は、g=1である場合に、メモリ2206に記憶されるaを使って、図9の手順3の演算を実行し、その演算結果を出力する。
その効果は、図5〜図6に示す従来法の消費電力波形と、図10〜図13に示す本発明の消費電力波形を比較すれば明確に理解することができる。
Claims (12)
- u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、バイナリ法を用いて指数剰余演算y=ad (mod n)を実行する復号装置であって、
v=1の初期化処理を実行する手段と、
a’=a2(mod n)を計算する手段と、
i=u-1, u-2, ..., 2, 1の順に、v=v×v (mod n)を計算し、di=1であるときにv=v×a’ (mod n)を計算することを、繰返し実行する手段と、
d0=1であるときにv=v×a (mod n)を計算する手段と、
vをy=ad (mod n)として出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、バイナリ法を用いて指数剰余演算y=ad (mod n)を実行する復号装置であって、
a’=a2(mod n)を計算する手段と、
v=a’の初期化処理を実行する手段と、
i=u-2, u-2, ..., 2, 1について、v=v×v (mod n)を計算し、di=1であるときにv=v×a’ (mod n)を計算することを、繰返し実行する手段と、
g=d0に対して、g=1であるときにv=v×a (mod n)を計算する手段と、
vをy=ad (mod n)として出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、window法を用いて指数剰余演算y=ad (mod n)を実行する復号装置であって、
kをwindowのビット幅として、x=0,1,...,2k-1に対して、w[x] = (a2)x(mod n)を満たすテーブルw[x]を作成する手段と、
v=1の初期化処理を行う手段と、
e×uをx以上の整数値の集合の最小値を表す演算として、i=e(u-1)/ku-1, ..., 2,1,0の順に、v=v×v (mod n)の2乗算処理をk回繰り返し、d,i,kからbi=(dik+k, ..., dik+1)2を計算し、v=v×w[bi] (mod n)を計算することを、繰返し実行する手段と、
d0=1であるときにv=v×a (mod n)を計算する手段と、
vをy=ad (mod n)として出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、window法を用いて指数剰余演算y=ad (mod n)を実行する復号装置であって、
kをwindowのビット幅として、x=0,1,...,2k-1に対して、w[x] = (a2)x(mod n)を満たすテーブルw[x]を作成する手段と、
e×uをx以上の整数値の集合の最小値を表す演算として、i=e(u-1)/ku-1に対し、v=w[bi]の初期化処理を行う手段と、
i=e(u-1)/ku-2, ..., 2,1,0の順に、v=v×v (mod n)の2乗算処理をk回繰り返し、d,i,kからbi=(dik+k, ..., dik+1)2を計算し、v=v×w[bi](mod n)を計算することを、繰返し実行する手段と、
d0=1であるときにv=v×a (mod n)を計算する手段と、
vをy=ad (mod n)として出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、スカラー倍算Y=dAを実行する復号装置であって、
A’=2Aを計算する手段と、
f=(du-1, du-2, ..., d1)2に対して、A’のf倍点Y=fA’を計算する手段と、
d0=1であるときにY=Y+Aを計算する手段と、
Y=dAを出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、バイナリ法を用いてスカラー倍算Y=dAを実行する復号装置であって、
Oを全ての点Aに対してA+O=O+A=Aを満たす無限遠点として、V=Oの初期化処理を実行する手段と、
A’=2Aを計算する手段と、
i=u-1, u-2, ..., 2, 1の順に、V=2Vを計算し、di=1のときにV=V+A’を計算すること、を繰返し実行する手段と、
d0=1のときにV=V+Aを計算する手段と、
VをY=dAとして出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、バイナリ法を用いてスカラー倍算Y=dAを実行する復号装置であって、
A’=2Aを計算する手段と、
V=A’の初期化処理を実行する手段と、
i=u-2, u-2, ..., 2, 1について、V=2Vを計算し、di=1のときにV=V+A’を計算することを、繰返し実行する手段と、
g=d0に対してg=1のときにV=V+Aを計算する手段と、
VをY=dAとして出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、window法を用いてスカラー倍算Y=dAを実行する復号装置であって、
kをwindowのビット幅として、x=0,1,...,2k-1に対して、W[x] = (2x)Aを満たすテーブルW[x]を作成する手段と、
Oを全ての点Aに対してA+O=O+A=Aを満たす無限遠点として、V=Oの初期化処理を行う手段と、
e×uをx以上の整数値の集合の最小値を表す演算として、i=e(u-1)/ku-1, ..., 2, 1,0の順に、V=2Vの点の2倍算処理をk回繰り返し、d,i,kからbi=(dik+k, ..., dik+1)2を計算することを、を繰返し実行する手段と、
V=V+W[bi]を計算する手段と、
d0=1のときにV=V+Aを計算する手段と、
VをY=dAとして出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 楕円曲線上の点A,から、window法を用いてスカラー倍算Y=dAを実行する復号装置であって、
kをwindowのビット幅として、x=0,1,...,2k-1に対して、w[x] = (2x)A (mod n)を満たすテーブルW[x]を作成する手段と、
e×uをx以上の整数値の集合の最小値を表す演算として、i=e(u-1)/ku-1 に対し、V=W[bi]の初期化処理を行う手段と、
i=e(u-1)/ku-2, ..., 2, 1の順に、V=2Vの点の2倍算処理をk回繰り返し、d,i,kからbi=(dik+k, ..., dik+1)2を計算し、V=V+W[bi]を計算することを、を繰返し実行する手段と、
d0=1のときにV=V+Aを計算する手段と、
VをY=dAとして出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、指数剰余演算y=ad (mod n)を実行する復号装置であって、
最初にa’=a2(mod n)を計算する手段と、
次にf=(du-1, du-2, ..., d1)2に対して、y=(a’)f (mod n)を計算する手段と、
d0=1であるときにy=y×a (mod n)を計算する手段と、
y=ad (mod n)を出力する手段と、
を含むことを特徴とする電力解析攻撃への対策機能を備えた復号装置。 - u-bit指数d=(du-1, ..., d0)2, 入力データa, 法nから、指数剰余演算y=ad(mod n)を実行して復号化を行うコンピュータの中央演算処理装置に、
最初にa’=a2(mod n)を計算する機能と、
次にf=(du-1, du-2, ..., d1)2に対して、y=(a’)f (mod n)を計算する機能と、
d0=1であるときにメモリに記憶される前記aを使ってy=y×a (mod n)を計算する機能と、
y=ad(mod n)を出力する機能と、
を実行させるためのプログラム。 - 請求項10に記載の復号装置を組み込んだ組込機器装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/000833 WO2009122461A1 (ja) | 2008-03-31 | 2008-03-31 | 電力解析攻撃への対策機能を備えた暗号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009122461A1 JPWO2009122461A1 (ja) | 2011-07-28 |
JP5365624B2 true JP5365624B2 (ja) | 2013-12-11 |
Family
ID=41134883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010505041A Expired - Fee Related JP5365624B2 (ja) | 2008-03-31 | 2008-03-31 | 電力解析攻撃への対策機能を備えた復号装置、プログラム、及び復装置を組み込んだ組込機器装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8817973B2 (ja) |
EP (1) | EP2264939B1 (ja) |
JP (1) | JP5365624B2 (ja) |
WO (1) | WO2009122461A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010008883A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 暗号用演算装置、暗号用演算方法及びプログラム |
JP5327380B2 (ja) * | 2010-03-31 | 2013-10-30 | 富士通株式会社 | 暗号処理装置および暗号処理方法 |
JP5573964B2 (ja) | 2010-12-27 | 2014-08-20 | 富士通株式会社 | 暗号処理装置および方法 |
JP5488718B2 (ja) | 2010-12-27 | 2014-05-14 | 富士通株式会社 | 暗号処理装置、暗号処理方法、およびプログラム |
JP6888377B2 (ja) * | 2017-04-05 | 2021-06-16 | 富士電機株式会社 | 情報処理装置、情報処理システム及びプログラム |
KR101989950B1 (ko) * | 2017-04-28 | 2019-06-17 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 연산 장치 및 방법 |
KR101914028B1 (ko) * | 2017-04-28 | 2018-11-01 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 연산 장치 및 방법 |
KR101989943B1 (ko) * | 2017-04-28 | 2019-06-17 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 연산 장치 및 방법 |
US10741997B2 (en) | 2018-10-31 | 2020-08-11 | Jennifer Lynn Dworak | Powering an electronic system with an optical source to defeat power analysis attacks |
CN115022025B (zh) * | 2022-05-27 | 2024-04-02 | 中电长城网际系统应用有限公司 | 差分攻击风险量化评估方法、装置、计算机设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233307A (ja) * | 2001-12-04 | 2003-08-22 | Fujitsu Ltd | 秘密鍵を用いた耐タンパ暗号処理 |
WO2004055756A1 (ja) * | 2002-12-18 | 2004-07-01 | Fujitsu Limited | 秘密鍵を用いた耐タンパ楕円曲線暗号処理 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000111B1 (en) * | 2000-11-07 | 2006-02-14 | Ericsson Inc. | Method for masking secret multiplicands |
JP4199937B2 (ja) | 2001-03-06 | 2008-12-24 | 株式会社日立製作所 | 耐タンパー暗号処理方法 |
JP2004226674A (ja) * | 2003-01-23 | 2004-08-12 | Renesas Technology Corp | 情報処理方法 |
FR2856538B1 (fr) * | 2003-06-18 | 2005-08-12 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique |
KR100720726B1 (ko) * | 2003-10-09 | 2007-05-22 | 삼성전자주식회사 | Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법 |
-
2008
- 2008-03-31 WO PCT/JP2008/000833 patent/WO2009122461A1/ja active Application Filing
- 2008-03-31 JP JP2010505041A patent/JP5365624B2/ja not_active Expired - Fee Related
- 2008-03-31 EP EP08720699.1A patent/EP2264939B1/en not_active Not-in-force
-
2010
- 2010-09-24 US US12/890,212 patent/US8817973B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233307A (ja) * | 2001-12-04 | 2003-08-22 | Fujitsu Ltd | 秘密鍵を用いた耐タンパ暗号処理 |
WO2004055756A1 (ja) * | 2002-12-18 | 2004-07-01 | Fujitsu Limited | 秘密鍵を用いた耐タンパ楕円曲線暗号処理 |
Non-Patent Citations (1)
Title |
---|
JPN6012054715; Kouichi Itoh, Jun Yajima, Masahiko Takenaka, and Naoya Torii: '"DPA Countermeasures by Improving the Window Method"' LNCS, Cryptographic Hardware and Embedded Systems - CHES 2002 Vol.2523, 200208, p.303-317 * |
Also Published As
Publication number | Publication date |
---|---|
US8817973B2 (en) | 2014-08-26 |
JPWO2009122461A1 (ja) | 2011-07-28 |
EP2264939B1 (en) | 2015-03-04 |
EP2264939A4 (en) | 2014-04-02 |
EP2264939A1 (en) | 2010-12-22 |
US20110013770A1 (en) | 2011-01-20 |
WO2009122461A1 (ja) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5365624B2 (ja) | 電力解析攻撃への対策機能を備えた復号装置、プログラム、及び復装置を組み込んだ組込機器装置 | |
Yen et al. | Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption | |
EP1548687B1 (en) | Tamper-resistant elliptical curve encryption using secret key | |
Coron | Resistance against differential power analysis for elliptic curve cryptosystems | |
Fouque et al. | Fault attack on elliptic curve Montgomery ladder implementation | |
US8913739B2 (en) | Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems | |
US7961874B2 (en) | XZ-elliptic curve cryptography with secret key embedding | |
JP4668931B2 (ja) | 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置 | |
JP4662802B2 (ja) | 計算方法、計算装置及びコンピュータプログラム | |
CN102779022B (zh) | 抗边信道攻击的模幂方法和设备 | |
JP5573964B2 (ja) | 暗号処理装置および方法 | |
EP0952697B1 (en) | Elliptic curve encryption method and system | |
JP5261088B2 (ja) | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 | |
JP2011510579A (ja) | 署名ダイアグラムを用いた非対称暗号方式のための対策方法およびデバイス | |
Fouque et al. | Defeating countermeasures based on randomized BSD representations | |
Le et al. | On double exponentiation for securing RSA against fault analysis | |
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 | |
Yen et al. | Improvement on Ha-Moon randomized exponentiation algorithm | |
US20070121935A1 (en) | Method for countermeasuring in an electronic component | |
Okeya et al. | SCA-resistant and fast elliptic scalar multiplication based on wNAF | |
Han et al. | On security of XTR public key cryptosystems against Side Channel Attacks | |
Liu et al. | A novel elliptic curve scalar multiplication algorithm against power analysis | |
Varela | How to avoid the N-1 attack without costly implementations | |
Yen et al. | Extended Fault Based Attack against Discrete Logarithm Based Public Key Cryptosystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130409 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130709 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130717 |
|
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: 20130813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130826 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |