JP2006340347A - データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム - Google Patents
データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム Download PDFInfo
- Publication number
- JP2006340347A JP2006340347A JP2006142197A JP2006142197A JP2006340347A JP 2006340347 A JP2006340347 A JP 2006340347A JP 2006142197 A JP2006142197 A JP 2006142197A JP 2006142197 A JP2006142197 A JP 2006142197A JP 2006340347 A JP2006340347 A JP 2006340347A
- Authority
- JP
- Japan
- Prior art keywords
- processing means
- authentication system
- multiplication
- steps
- random number
- 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.)
- Pending
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
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- 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
- H04L2209/043—Masking or blinding of tables, e.g. lookup, substitution or mapping
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
-
- 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/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】認証システムおよびデータに署名する方法において、ハードウェア/ソフトウェアで分割されたアプローチを使用する。処理プロセスを複数のステップに分割し、いくつかのステップの部分を並行して実行する。このことにより各処理手段によって消費される電力が隠されるように消費される。こうして、ある処理手段によって消費される電力は、他の処理手段によって消費される電力によって遮蔽される。そして、システムは、単純な電力分析を用いたハッカーによるシステム攻撃をむずかしくする。
【選択図】図1
Description
この明細書において用いられているように、以下の単語は、別途指示される使用される文脈の範囲を除いて、概して後述の意味を有することを目的とする。
「素数」:それ自体および1以外のいかなる正整数によって剰余なしでは割り切れない自然数。
(1)数値が定義された間隔または集合を通じて均等に分配される、および
(2)過去のまたは現在の数値に基づいて将来の数値を予測することが不可能である。
(1)対称鍵暗号;および(2)非対称鍵暗号。
Gは、曲線の基点である。
nは、基点Gの次数である。
tは、メッセージである。
dは、署名者の秘密鍵であり、d<nである。
II 乱数kを生成する;(0<k<n)
III 数値k.G=(x1,y1)を計算する。仮に、r=x1 mod nとする。r=0である場合、IIへ進む;
IV z1=k−1mod nを計算する;
V s‐z1(e+dr) mod nを計算する。s=0である場合、IIへ進む;および
VI 署名(r,S)を出力する。
1. アルゴリズムの固有の弱点を目標とする攻撃または純粋な攻撃;
2.アルゴリズムの実施における弱点を目標とする攻撃またはサイド・チャネル攻撃。
*周知の暗号文攻撃。ここで、攻撃者は、平文が解読されなければならない暗号化アルゴリズムから一まとまりの暗号文だけにアクセスする。
*周知の平文攻撃。ここで、攻撃者は、暗号化アルゴリズムの中で対応する平文を知っている一組の暗号文を有する。
* 選ばれた平文/暗号文攻撃。攻撃者は、暗号化アルゴリズムから選択された複数の平文/暗号文の任意の集合に対応する暗号文/平文を得ることができる。
* タイミング攻撃。ここで攻撃者は、暗号演算を実行するためにかかる時間を測定し、実行される計算の本質を終了させる。
* 設計上の副作用攻撃。ここで攻撃者は、実行される計算を推測するために特定の機械構成上の計算を実行する副作用を利用する。
*電力監視攻撃/電力分析攻撃。ここで攻撃者は、異なる計算の間、ハードウェアによって異なるパワー消費量を利用する。
*電磁波盗聴/放射線モニタリング攻撃。ここで攻撃者は、漏らされた電磁放射を平文および他の情報と直接関連づける。
*音響暗号解析攻撃。ここで攻撃者は、計算の間生じる音を実行されるステップに関連づける。
(i)単純電力分析攻撃:ここで攻撃者は、プロセッサによって実行される指示に消費される電力を直接関連づける;および、
(ii)差動装置電力分析攻撃:ここで攻撃者は、隠された情報を抽出するために統計分析を使用する。
米国特許第62791110号は、修正されたECDSAアルゴリズムを開示する。ここで、ステップIV上の逆演算は、他の乱数『t』を生成することによって置き換えられ、署名として3つ(s’,r,c)を受け入れる。ここで、『r』は、前に定義され;c=k*t mod nおよびs´=t*(e+d*r)mod nである。元々の(r,s)の対は、そのs=c‐1s’mod nを保つことによって回収される。これは、逆もまた費用のかかるとみなされるスマートカードのような制約のある装置上の署名を生成する最適化された方法である。『s』値は、スマートカードリーダーまたは認証器に連結されるターミナルによって回収される。しかしながら、数値が認証器によって回収される場合、より長い署名は伝達され、より多くのバンド幅を消費する。開示されたシステムは、より多くの通信バンド幅を消費する。
ステップA:署名されるデータ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:『k』、および、y2+xz=x3+ax2+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)を用いた小数点乗算ステップの実行。ここで、aおよびbは、中間の結果を得るために下位のいくつかのステップを任意に使用し、同じ曲線上のまとめられた位置M(x1,y1)を得るために前記中間の結果をまとめ、および座標『x1』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;
第1、第2および第3の処理手段間で分割されるように構成される前記システムは、少なくとも前記プロセスのいくつかのステップの部分を並行して実行する。
(i)乱数の生成;および
(ii)生成された乱数の第2および第3の処理手段への発信。
(i)前記第1の処理手段からの乱数の受信;
(ii)論理演算装置を作動させるためのコマンドの受信;
(iii)前記プロセスの小数点乗算ステップCの少なくとも一部の実行;
(iv)前記プロセスの小数点乗算ステップの実行の状態の掲示;および
(v)第3の処理手段への小数点乗算ステップの中間結果の発信。
(i)ハッシュ変換されたデータの受信;
(ii)前記第1の処理手段からの乱数の受信;
(iii)前記プロセスのステップD、EおよびFの実行;
(iv)前記プロセスのステップCの一部の任意の実行;
(v)前記第2の処理手段からの小数点乗算の中間結果の受信、および、ステップCの結果のまとめ;
(vi)前記プロセスのステップGおよびHの実行;
(vii)ステップHの前記署名の出力。
(i)乱数を生成するための乱数発生手段;および
(ii)生成された乱数を第2のおよび第3の処理手段に送る発信手段。
(i)乱数発生手段によって生成された乱数を受信するための受信手段;
(ii)前記プロセスの小数点乗算ステップの少なくとも一部を実行するための論理演算装置;
(iii)論理演算装置を指示し、作動させるための制御レジスタ手段;
(iv)前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段;
(v)小数点乗算ステップの中間結果を第3の処理手段に発信するための発信手段。
(i)前記第2の処理手段からハッシュ変換されたデータおよび小数点乗算の中間結果を受信するための受信手段;
(ii)前記プロセスのステップD、EおよびFを実行するための計算手段;
(iii)任意に前記プロセスのステップCの一部を実行して、ステップCの最終結果をまとめるための計算手段;
(iv)前記プロセスステップGおよびHを実行するための計算手段;
および(v)ステップHの前記署名を発送するための出力手段。
ステップA:署名されるデータ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:ステップBから生成された乱数およびy2+xz=x3+ax2+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)での小数点乗算ステップの実行。ここで、AおよびBは、中間の結果を得るために下位のいくつかのステップを任意に使用し、同じ曲線上のまとめられた位置M(x1,y1)を得るために前記中間の結果をまとめ、および座標『x1』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;
前記方法は、以下からなる:
(i)前記第1の処理手段のステップBの実行;
(ii)少なくとも前記第2の処理手段の前記プロセスのステップCの一部の実行;
および(iii)少なくとも前記第3の処理手段の前記プロセスのステップD、E、F、GおよびH、任意にステップCの一部の実行。
a) 乱数を生成するための乱数発生手段(16);および
b)第3および第2の処理手段に生成された乱数を発信するための発信手段(18)。
a) 前記第1の処理手段から、乱数を受け取るための受信手段(20);
b) 論理演算装置を指示し、作動させるための制御レジスタ手段(22);
c) 少なくとも前記プロセスのステップCの一部、添付の図面の図2に示されるステップC1を実行するための論理演算装置(24);
d) 前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段(26);
e) 小数点乗算ステップの中間結果を前記第3の処理手段に送るための発信手段(28)。
a)ハッシュ変換データ、前記第2の処理手段からの小数点乗算ステップの中間結果、および、前記第1の処理手段からの乱数を受信する受信手段(30);
b)前記プロセスのステップD、E、およびFを実行するための計算手段(32);
c)添付の図面のうちの図2に示すように前記プロセスのステップC2を任意に実行し、添付の図面の図2に示すようにステップC3におけるステップC1およびC2をまとめるための計算手段(34);
d)前記プロセスのステップGおよびHを実行するための計算手段(36);および
e)ステップHの前記署名を送るための出力手段(38)。
ここで、k1はkのu最小桁ビットによって与えられる(uビット)数であり、一方で、k2は、kのビットの残りによって表される数である。そして、ステップCにおける小数点乗算ステップは、k.P=k1.P+k2.(2u.P).として書き直されることができる。
仮に、Q=(2u.P)を2uによるPの小数点乗算の実行により形成される点とする。すると、k.P=k1.P+k2.Qになる。
ステップCは、第3の処理手段においてk2.Q、および第2の処理手段においてk1.Pを算出し、k.P.を得るため、第3の処理手段の2つの位置を最後に加算することによって並列処理される。それで、ステップCは、サブ・ステップC1、C2およびC3から構成される。ここで、
ステップC1:数値P1=k1.Pの計算。
ステップC2:数値P2=k2.Qの計算。
ステップC3:k.P=P1+P2の計算。
ステップC2が空値であってもよいことに留意する必要がある。これは、k2=0であり、小数点乗算は第2の処理手段で完全に実行されるケースに対応する。この場合、ステップC3もまた空値である。
記号A(a0,a1・・・am‐1)∈F2 mは、Aが通常のベース下の表示(a0,a1・・・am‐1)を有するフィールド要素であることを示す。各々のaiは、0または1である。
A(a0,a1・・・am‐1)およびB(b0,b1・・・bm‐1)∈F2 mとする。
すると、A*B=C(c0,c1・・・cm‐1)ここで、各々のciは、次のように計算される。
ステップ1:U(u0,u1・・・um‐1)=A(a0,a1・・・am‐1)
ステップ2:V(v0,v1・・・vm‐1)=B(b0,b1・・・bm‐1)
ステップ3:k=0〜m−1に関して、以下のサブ・ステップの実行
ステップ3.1:ck=F(U,V)
ステップ3.2:U= LCS(U)およびV=LCS(V)。ここでLCSは、『左循環シフト』演算である。
ステップ4:C=(c0,c1・・・cm‐1)に戻る。
ここで、
p‐2
F(U,V)= (+) UJ(k+1)VJ(p−k)
k=1
UJ(k+1)は、UのJ(k+1)番目のビットであり、
VJ(p‐k)は、VのJ(p‐k)番目のVのビットであり、そして(+)は、XOR演算(排他的論理和演算)である。
pは、公式p=mT+1によって計算され、ここで、Tは、F2 mのためのガウス型基底の最小のタイプであり、mはバイナリ・フィールドの次数である。m=163であると、Tは4である。それゆえに、p=653である。Jは、静的であり、前計算されることができるサイズ(p‐1)の整列である。
〔表1〕
〔表2〕
Claims (25)
- 0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いてデータに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システムであって、ここでnは大きい素数であり、このプロセスは、以下のステップ:
ステップA:署名される前記データ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:『k』、および、y2+xz=x3+ax2+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)を用いた小数点乗算ステップの実行、ここで、aおよびbは、中間結果を得るために少なくとも1つの中間サブ・ステップを使用し、同じ曲線上のまとめられた位置M(x1,y1)を得るために前記中間結果をまとめ、および座標『x1』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる前記乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;からなり、
第1、第2および第3の処理手段間で分割されるように構成される前記システムは、少なくとも前記プロセスのいくつかのステップの部分を並行して実行することを特徴とする認証システム。 - 前記プロセスのステップAは前記システムの外側で実行され、前記ハッシュ変換されたデータは前記システムに提供されることを特徴とする請求項1に記載の認証システム。
- 前記第1の処理手段は、前記プロセスの少なくともステップBを処理するように構成されることを特徴とする請求項1に記載の認証システム。
- 前記第2の処理手段は、論理演算装置を有し、少なくともステップCの一部を処理するように構成されることを特徴とする請求項1に記載の認証システム。
- 前記第3の処理手段は、前記プロセスの少なくともステップD、E、F、GおよびH、および任意にステップCの一部を処理するように構成されることを特徴とする請求項1に記載の認証システム。
- 前記第1の処理手段は、次のステップ:
(i)乱数の生成;および、
(ii)生成された前記乱数の第2および第3の処理手段への発信;
を実行するように構成され、
前記第2の処理手段は、次のステップ:
(i)前記乱数生成手段からの前記乱数の受信;
(ii)論理演算装置を作動させるためのコマンドの受信;
(iii)前記プロセスの小数点乗算ステップCの少なくとも一部の実行;
(iv)前記プロセスの小数点乗算ステップの実行の状態の掲示;および
(v)前記第3の処理手段への小数点乗算ステップの中間結果の発信;
を実行するように構成され、
前記第3の処理手段は、次のステップ:
(i)ハッシュ変換されたデータの受信;
(ii)前記第1の処理手段からの前記乱数の受信;
(iii)前記プロセスのステップD、EおよびFの実行;
(iv)前記プロセスのステップCの一部の任意の実行;
(v)前記第2の処理手段からの小数点乗算の中間結果の受信、および、ステップCの結果のまとめ;
(vi)前記プロセスのステップGおよびHの実行;
(vii)ステップHの前記署名を出力;
を実行するように構成されていることを特徴とする請求項1に記載の認証システム。 - 前記第1の処理手段は:
(i)乱数を生成するための乱数発生手段;および
(ii)生成された前記乱数を前記第2のおよび第3の処理手段に送る発信手段;
からなることを特徴とする請求項1に記載の認証システム。 - 前記第2の処理手段は:
(i)前記乱数発生手段によって生成された乱数を受信するための受信手段;
(ii)前記プロセスの小数点乗算ステップの少なくとも一部を実行するための論理演算装置;
(iii)前記論理演算装置を指示し、作動させるための制御レジスタ手段;
(iv)前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段;
(v)前記小数点乗算ステップの中間結果を第3の処理手段に発信するための発信手段;
からなることを特徴とする請求項1に記載の認証システム。 - 前記3の処理手段は:
(i)前記第2の処理手段からハッシュ変換されたデータおよび前記小数点乗算の中間結果を受信するための受信手段;
(ii)前記プロセスのステップD、EおよびFを実行するための計算手段;
(iii)任意に前記プロセスのステップCの一部を実行して、ステップCの前記最終結果をまとめるための計算手段;
(iv)前記プロセスステップGおよびHを実行するための計算手段;および
(v)ステップHの前記署名を発送するための出力手段;
からなることを特徴とする請求項1に記載の認証システム。 - 前記第1の処理手段は、少なくともマイクロプロセッサまたはカスタマイズされたハードウェア論理で構成されたグループから選択されたものであることを特徴とする請求項1に記載の認証システム。
- 前記第2の処理手段はハードウェア・アクセラレータであることを特徴とする請求項1に記載の認証システム。
- 前記第3の処理手段はマイクロプロセッサであることを特徴とする請求項1に記載の認証システム。
- 請求項1に記載の認証システムであって、前記第1および第2の処理手段は、メモリ・マップされた形式の前記第3の処理手段と通信するように構成されたことを特徴とする請求項1に記載の認証システム。
- 前記ハードウェア・アクセラレータは、プログラム可能なハードウェア・アクセラレータ、プログラム可能でないハードウェア・アクセラレータ、ハードウェア・アクセラレータカードまたはハードウェア・アクセラレータボードで構成されたハードウェア・アクセラレータのグループから選択された少なくとも1つであることを特徴とする請求項11に記載の認証システム。
- 前記第2の処理手段および前記第3の一処理手段は、並行して少なくともステップCの一部、および、ステップCの残りの部分、ステップD、E、Fをそれぞれ実行するように構成されたことを特徴とする請求項1に記載の認証システム。
- 前記第2の処理手段は、ステップCのその部分を実行する際、電力は、ステップCの一部、ステップD、E、および、Fを実行する第3の処理手段によって消費される電力によって隠されるよう、電力を消費するように構成されていることを特徴とする請求項1に記載の認証システム。
- データに署名する方法であって、0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いた楕円曲線デジタル署名暗号プロセスを使用し、ここで、nは大きい素数であり、このプロセスは、以下のステップ;
ステップA:署名されるデータ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:ステップBから生成された乱数およびy2+xz=x3+ax2+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)での小数点乗算ステップの実行、ここで、aおよびbは、中間結果を得るために少なくとも1つのサブ・ステップを使用し、同じ曲線上のまとめられた位置M(x1,y1)を得るために前記中間結果をまとめ、および座標『x1』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる前記乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;
からなり、
前記方法は:
(i)前記第1の処理手段の前記プロセスの少なくともステップBの実行;
(ii)少なくとも前記第2の処理手段の前記プロセスのステップCの一部の実行;
および(iii)少なくとも前記第3の処理手段の前記プロセスのステップD、E、F、GおよびHの実行、ステップCの一部の任意の実行;
からなることを特徴とするデータに署名する方法。 - 前記第2の処理手段で実行されるステップCの一部、第3の処理手段で実行されるステップCの残りの一部、ステップD、E、および、Fが、並列に実行されることを特徴とする請求項17に記載のデータに署名する方法。
- ステップCのその一部を実行する第2の処理手段によって消費される電力は、ステップCの残りの一部、ステップD、E、およびFの一部を実行するために第3の処理手段により消費される電力によって隠されることを特徴とする請求項17に記載のデータに署名する方法。
- 前記小数点乗算ステップは、少なくとも部分的な展開を使用しているフィールド乗算を含むことを特徴とする請求項17に記載のデータに署名する方法。
- 前記部分展開は、前記小数点乗算ステップの実施における並列処理を増加させるために使われ、それで性能向上を得ることを特徴とする請求項20に記載のデータに署名する方法。
- チップ上のシステム内で方法を一体化し、前記システムをスマートカードに埋め込むことによってスマートカードで実行されることを特徴とする請求項17に記載のデータに署名する方法。
- システムバスのスロットを占有しているアドオン・カードにより前記方法を組み込むことによってサーバにおいて実行されることを特徴とする請求項17に記載のデータに署名する方法。
- 添付の図面を参照して本願明細書において記載された請求項1に記載の認証システム。
- 添付の図面を参照して本願明細書において記載された請求項17に記載のデータに署名する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN664MU2005 | 2005-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006340347A true JP2006340347A (ja) | 2006-12-14 |
Family
ID=37103104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006142197A Pending JP2006340347A (ja) | 2005-06-03 | 2006-05-23 | データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7853012B2 (ja) |
EP (1) | EP1729442B1 (ja) |
JP (1) | JP2006340347A (ja) |
CA (1) | CA2542556C (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163741A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法 |
WO2012056608A1 (ja) * | 2010-10-29 | 2012-05-03 | 日本電気株式会社 | 署名処理装置 |
JP2013524263A (ja) * | 2010-03-31 | 2013-06-17 | イルデト カナダ コーポレーション | ホワイトボックス攻撃から暗号化資産を保護するためのシステムと方法 |
US11669426B2 (en) | 2017-06-30 | 2023-06-06 | International Business Machines Corporation | Kernel-based power consumption and isolation and defense against emerging power attacks |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7936869B2 (en) * | 2005-01-07 | 2011-05-03 | First Data Corporation | Verifying digital signature based on shared knowledge |
JP5147412B2 (ja) | 2005-01-21 | 2013-02-20 | サーティコム コーポレーション | 楕円曲線乱数生成 |
US8488792B2 (en) * | 2005-10-26 | 2013-07-16 | Hewlett-Packard Development Company, L.P. | Wireless communications validation system and method |
US9137012B2 (en) | 2006-02-03 | 2015-09-15 | Emc Corporation | Wireless authentication methods and apparatus |
US8781442B1 (en) * | 2006-09-08 | 2014-07-15 | Hti Ip, Llc | Personal assistance safety systems and methods |
US8050403B2 (en) | 2007-03-06 | 2011-11-01 | Research In Motion Limited | Method and apparatus for generating a public key in a manner that counters power analysis attacks |
US8160245B2 (en) * | 2007-03-07 | 2012-04-17 | Research In Motion Limited | Methods and apparatus for performing an elliptic curve scalar multiplication operation using splitting |
WO2008106794A1 (en) * | 2007-03-06 | 2008-09-12 | Research In Motion Limited | Elliptical scalar multiplication method for countering power-analysis attacks |
US8391479B2 (en) | 2007-03-07 | 2013-03-05 | Research In Motion Limited | Combining interleaving with fixed-sequence windowing in an elliptic curve scalar multiplication |
US8144864B2 (en) * | 2007-12-28 | 2012-03-27 | Intel Corporation | Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems |
US8332660B2 (en) * | 2008-01-02 | 2012-12-11 | Arm Limited | Providing secure services to a non-secure application |
US8189771B2 (en) * | 2009-01-12 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Hash functions with elliptic polynomial hopping |
FR2941343B1 (fr) * | 2009-01-20 | 2011-04-08 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement. |
FR2947404B1 (fr) * | 2009-06-30 | 2011-12-16 | Sagem Securite | Cryptographie par parametrisation sur une courbe elliptique |
US8332651B2 (en) * | 2010-02-18 | 2012-12-11 | King Fahd University Of Petroleum And Minerals | Method of generating a password protocol using elliptic polynomial cryptography |
US9213835B2 (en) | 2010-04-07 | 2015-12-15 | Xilinx, Inc. | Method and integrated circuit for secure encryption and decryption |
US8522052B1 (en) * | 2010-04-07 | 2013-08-27 | Xilinx, Inc. | Method and integrated circuit for secure encryption and decryption |
US8755517B2 (en) * | 2010-12-08 | 2014-06-17 | Total Technology Solutions Co. | Method for generic-point parallel elliptic curve scalar multiplication |
JP5744574B2 (ja) * | 2011-03-07 | 2015-07-08 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
US8769355B2 (en) | 2011-06-27 | 2014-07-01 | Freescale Semiconductor, Inc. | Using built-in self test for preventing side channel security attacks on multi-processor systems |
CN102412971B (zh) * | 2011-11-30 | 2015-04-29 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
US9503259B2 (en) | 2012-02-09 | 2016-11-22 | Irdeto B.V. | System and method for generating and protecting cryptographic keys |
US9448942B2 (en) | 2012-08-20 | 2016-09-20 | Freescale Semiconductor, Inc. | Random access of a cache portion using an access module |
US9092622B2 (en) | 2012-08-20 | 2015-07-28 | Freescale Semiconductor, Inc. | Random timeslot controller for enabling built-in self test module |
US8861721B2 (en) * | 2012-12-26 | 2014-10-14 | Umm Al-Qura University | System and method for securing scalar multiplication against simple power attacks |
US8804952B2 (en) * | 2012-12-26 | 2014-08-12 | Umm Al-Qura University | System and method for securing scalar multiplication against differential power attacks |
CN103427997B (zh) * | 2013-08-16 | 2016-06-22 | 西安西电捷通无线网络通信股份有限公司 | 一种生成数字签名的方法及装置 |
CN105610583B (zh) * | 2014-11-04 | 2018-10-26 | 上海华虹集成电路有限责任公司 | 用于抵御错误曲线攻击的ecdsa方法 |
US9590805B1 (en) * | 2014-12-23 | 2017-03-07 | EMC IP Holding Company LLC | Ladder-based cryptographic techniques using pre-computed points |
ES2888429T3 (es) * | 2016-05-31 | 2022-01-04 | Thales Dis France Sas | Desarrollo parcial para seguridad de software |
IT201600076089A1 (it) * | 2016-07-20 | 2018-01-20 | St Microelectronics Srl | Procedimento per la generazione di una firma digitale di un messaggio, corrispondenti unita' di generazione, apparato elettronico e prodotto informatico |
US10498532B2 (en) * | 2016-10-01 | 2019-12-03 | Intel Corporation | Parallel computation techniques for accelerated cryptographic capabilities |
JP6635323B2 (ja) * | 2016-12-15 | 2020-01-22 | 日本電気株式会社 | アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム |
US10778407B2 (en) | 2018-03-25 | 2020-09-15 | Nuvoton Technology Corporation | Multiplier protected against power analysis attacks |
CN111712816B (zh) * | 2018-03-28 | 2024-05-03 | 密码研究公司 | 使用密码蒙蔽以用于高效地使用蒙哥马利乘法 |
US10764029B1 (en) * | 2019-04-02 | 2020-09-01 | Carey Patrick Atkins | Asymmetric Encryption Algorithm |
CN110113169B (zh) * | 2019-04-15 | 2021-11-12 | 北京三未信安科技发展有限公司 | 基于rsa的协同数字签名方法、装置及电子设备 |
CN111125782B (zh) * | 2019-12-24 | 2022-12-09 | 兴唐通信科技有限公司 | 一种不可克隆芯片id的验证方法及系统 |
CN113504895B (zh) * | 2021-07-13 | 2024-02-20 | 深圳市智芯华玺信息技术有限公司 | 椭圆曲线多标量点乘计算优化方法及优化装置 |
CN113676335B (zh) * | 2021-10-21 | 2021-12-28 | 飞天诚信科技股份有限公司 | 一种在安全芯片内实现签名的方法及装置 |
WO2023141933A1 (en) | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Techniques, devices, and instruction set architecture for efficient modular division and inversion |
WO2023141934A1 (en) * | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Efficient masking of secure data in ladder-type cryptographic computations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004501385A (ja) * | 2000-04-18 | 2004-01-15 | ジェムプリュス | 楕円曲線暗号化方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271061A (en) | 1991-09-17 | 1993-12-14 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
US20010004872A1 (en) | 1995-01-05 | 2001-06-28 | Robert Sullivan | Moldable composite building material and method of doing same |
US5999626A (en) | 1996-04-16 | 1999-12-07 | Certicom Corp. | Digital signatures on a smartcard |
US6782100B1 (en) | 1997-01-29 | 2004-08-24 | Certicom Corp. | Accelerated finite field operations on an elliptic curve |
DE69840463D1 (de) | 1997-03-25 | 2009-03-05 | Certicom Corp | Beschleunigte Finite-Feld-Operationen auf einer elliptischen Kurve |
US6252959B1 (en) | 1997-05-21 | 2001-06-26 | Worcester Polytechnic Institute | Method and system for point multiplication in elliptic curve cryptosystem |
US6263081B1 (en) | 1997-07-17 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve calculation apparatus capable of calculating multiples at high speed |
US6279110B1 (en) | 1997-11-10 | 2001-08-21 | Certicom Corporation | Masked digital signatures |
US6466668B1 (en) | 1998-01-28 | 2002-10-15 | Hitachi, Ltd. | IC card equipped with elliptical curve encryption processing facility |
US6243467B1 (en) * | 1998-07-23 | 2001-06-05 | The United States Of America As Represented By The National Security Agency | Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form |
CA2252078C (en) | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
US6397241B1 (en) | 1998-12-18 | 2002-05-28 | Motorola, Inc. | Multiplier cell and method of computing |
US7599491B2 (en) | 1999-01-11 | 2009-10-06 | Certicom Corp. | Method for strengthening the implementation of ECDSA against power analysis |
US6772184B2 (en) | 2000-08-28 | 2004-08-03 | Sun Microsystems, Inc. | Method for efficient modular division over prime integer fields |
US20040001590A1 (en) | 2002-06-27 | 2004-01-01 | Eisentraeger Anne Kirsten | Efficient elliptic curve double-and-add calculator |
KR100453230B1 (ko) | 2002-11-08 | 2004-10-15 | 한국전자통신연구원 | 초타원곡선 암호화 프로세싱 장치 |
-
2006
- 2006-04-10 CA CA2542556A patent/CA2542556C/en active Active
- 2006-04-21 US US11/409,251 patent/US7853012B2/en active Active
- 2006-05-18 EP EP06252604.1A patent/EP1729442B1/en active Active
- 2006-05-23 JP JP2006142197A patent/JP2006340347A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004501385A (ja) * | 2000-04-18 | 2004-01-15 | ジェムプリュス | 楕円曲線暗号化方法 |
Non-Patent Citations (3)
Title |
---|
JPN6011062687; T. Izu and T. Takagi: 'A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks' Public Key Cryptography (PKC 2002) LNCS 2274, 2002, pp. 280-296 * |
JPN6011062687; T. Izu and T. Takagi: 'A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks' Public Key Cryptography (PKC 2002) LNCS 2274, 2002, pp. 280-296, [online] * |
JPN6012032841; W. Fischer, C. Giraud, E.W. Knudsen, and J.-P. Seifert: 'Parallel scalar multiplication on general elliptic curves over Fp hedged against Non-Differential Si' Cryptology ePrint Archive Report 2002/007, 20020109, [online] * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163741A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法 |
US8775824B2 (en) | 2008-01-02 | 2014-07-08 | Arm Limited | Protecting the security of secure data sent from a central processor for processing by a further processing device |
JP2013524263A (ja) * | 2010-03-31 | 2013-06-17 | イルデト カナダ コーポレーション | ホワイトボックス攻撃から暗号化資産を保護するためのシステムと方法 |
US9009481B2 (en) | 2010-03-31 | 2015-04-14 | Irdeto Canada Corporation | System and method for protecting cryptographic assets from a white-box attack |
WO2012056608A1 (ja) * | 2010-10-29 | 2012-05-03 | 日本電気株式会社 | 署名処理装置 |
US11669426B2 (en) | 2017-06-30 | 2023-06-06 | International Business Machines Corporation | Kernel-based power consumption and isolation and defense against emerging power attacks |
Also Published As
Publication number | Publication date |
---|---|
CA2542556C (en) | 2014-09-16 |
US7853012B2 (en) | 2010-12-14 |
EP1729442A3 (en) | 2007-05-23 |
US20060285682A1 (en) | 2006-12-21 |
EP1729442A2 (en) | 2006-12-06 |
CA2542556A1 (en) | 2006-12-03 |
EP1729442B1 (en) | 2018-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006340347A (ja) | データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム | |
Rodriguez-Henriquez et al. | A brief introduction to modern cryptography | |
Boneh | Twenty years of attacks on the RSA cryptosystem | |
US20080240443A1 (en) | Method and apparatus for securely processing secret data | |
Tanwar et al. | Efficient and secure multiple digital signature to prevent forgery based on ECC | |
Dhanda et al. | Demystifying elliptic curve cryptography: Curve selection, implementation and countermeasures to attacks | |
EP3698262B1 (en) | Protecting modular inversion operation from external monitoring attacks | |
Ullah et al. | A perspective trend of hyperelliptic curve cryptosystem for lighted weighted environments | |
Bhat et al. | Impact of computational power on cryptography | |
Avestro et al. | Hybrid Algorithm Combining Modified Diffie Hellman and RSA | |
Tahat | Convertible multi-authenticated encryption scheme with verification based on elliptic curve discrete logarithm problem | |
JP2003255831A (ja) | 楕円曲線スカラー倍計算方法及び装置 | |
Sundararajan et al. | A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices | |
Ahirwal et al. | Signcryption scheme that utilizes elliptic curve for both encryption and signature generation | |
KR101112570B1 (ko) | 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 | |
Mohapatra | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
KR100953716B1 (ko) | Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체 | |
Lone et al. | Common attacks on RSA and its variants with possible countermeasures | |
Preneel | An introduction to modern cryptology | |
Abdulnabi | Elliptic Curve Implementation and its Applications: A Review | |
Yuvarani et al. | Enhancing Data Security in Peer-to-Peer Networks Using Optimized RSA Algorithm | |
Prajwal | Digital Signature Algorithm: A Hybrid Approach | |
Tejashwini et al. | Mobile communication security using Galios Field in elliptic curve Cryptography | |
Kaur et al. | A Study on Efficient Information Security using Elliptic Curves | |
Alzeinat | A signcryption approach based on rabin digital signature schemes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120305 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120308 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120405 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120410 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120502 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121204 |