JP5336056B2 - 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 - Google Patents
高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 Download PDFInfo
- Publication number
- JP5336056B2 JP5336056B2 JP2007198046A JP2007198046A JP5336056B2 JP 5336056 B2 JP5336056 B2 JP 5336056B2 JP 2007198046 A JP2007198046 A JP 2007198046A JP 2007198046 A JP2007198046 A JP 2007198046A JP 5336056 B2 JP5336056 B2 JP 5336056B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- value
- addition
- finite field
- coordinate
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/42—Adding; Subtracting
-
- 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
- G06F7/725—Finite field arithmetic over elliptic curves
-
- 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/49—Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
-
- 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
-
- 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
-
- 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/7271—Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Electromagnetism (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Traffic Control Systems (AREA)
Description
特に、ECCシステムは、比較的短いキーサイズでも高い安全性が確保でき、スマートカード及び電子署名に広く使われている。ECCシステムは、楕円曲線と呼ばれる数式によって定義される特殊な加算法を基盤として暗号化/復号化する暗号化方式である。
逆に、ユーザ1にメッセージMを秘密裏に伝送しようとするユーザ2は、まずランダムに整数dを生成し、システムパラメータのうち一つであるPと整数dとを乗算してA(=d×P)を生成する。ユーザ1が提供した公開キーQと伝送しようとするメッセージMとを使用してB(=M+d×Q)を生成する。最後に、ユーザ2は、最終結果暗号文A、Bをユーザ1に伝送する。
ユーザ2から暗号文A、Bを伝達されたユーザ1は、自身の秘密キーkを使用してk×Aを計算した後、次の数式1のような演算を行ってメッセージMを復元する。
M=B−k×A ・・・(1)
暗号システムは、所定の演算を行う時にレジスターに保存された値を参照するが、レジスターに保存されるまたは保存された値は、欠陥によって変更される。したがって、暗号システムの演算結果に、欠陥によって変更された値に対応するエラーが含まれる。
エラーを含んで出力される演算結果を解析することによって、秘密キーについての情報は露出される。したがって、DFAに対応するために、ECCシステムで使われる色々な方法が提案されている。
CT&C法100は、まず、楕円曲線のうち任意の一点Pを選択した後(S110)、Pに任意の整数kを乗算して第1比較値Q1を求め(S120)、Pに整数kを乗算して第2比較値Q2を求める(S130)。このとき、所定の整数kは、秘密キーを意味する。
次いで、第1比較値Q1と第2比較値Q2との大きさを比較し(S140)、第1比較値Q1と第2比較値Q2とが同一ならば、乗算演算にいかなる欠陥も流入されていないと判断して、第1比較値Q1及び第2比較値Q2のうち一つが演算結果Qとして出力される(S150)。一方、第1比較値Q1と第2比較値Q2とが同一でなければ、乗算演算に欠陥が流入されたと判断して、演算結果Qの代わりに警告信号が出力される(S160)。
COP法200は、まず楕円曲線のうち任意の一点Pを選択し(S210)、Pに所定の整数kを乗算して比較値Qを求める(S220)。このとき、所定の整数kは、秘密キーを意味する。
次いで、比較値Qが楕円曲線Eの一点であるか否かを判断して(S230)、比較値Qが楕円曲線Eの一点ならば、乗算演算にいかなる欠陥も流入されていないと判断して、比較値Qが出力される(S240)。一方、比較値Qが楕円曲線Eの一点でなければ、乗算演算中に欠陥が流入されたケースに該当すると判断して、比較値Qの代わりに警告信号が出力される(S250)。
したがって、ECC法でスカラー積演算は、重要な演算のうち一つであるということが分かる。MPLAとは、有限体におけるスカラー積演算を行う方法のうちの一つである。以下では、MPLAについてさらに詳細に説明する。
一般的なMPLAでは、まず、2個の変数を次の数式2のように定義する。
図3を参照すれば、MPLAを利用したスカラー積演算方法300は、まず、基本ポイントPとスカラーk(kは整数、以下同様)とを受信する(S301)。次いで、スカラー積を反復演算するための変数が設定される(S303)。
kは、数式2で前述したように設定される。また、第1変数P1は、基本ポイントPに、そして、第2変数P2は、基本ポイントPの2倍、すなわち2×Pに設定される。反復媒介変数iは、t−1に初期化される。
変数が設定された後には、反復演算によってスカラー積Q=k×Pが計算される。すなわち、反復媒介変数iを0まで減少させつつ(S305、S313)、それぞれの2進ビットkiによって(S307)、第1及び第2変数を再設定(S310、S311)する過程を反復し、iが0まで減少した場合(S313)の第1変数P1をスカラー積Q=k×Pとして出力する(S315)。
ところが、数式6の加算演算は、2ポイント(P1(X1,Z1)、P2(X2,Z2))のZ座標の差(ZD=Z2−Z1)が“1”であることを前提している。しかし、FMPLAを利用した欠陥検索方法は、2ポイントの差を利用して欠陥の流入如何を検出する。
したがって、数式6の加算演算を、FMPLAを利用する欠陥検出方法に使用する場合、ECCシステムは、誤った欠陥流入分析結果を導出する恐れがある。欠陥分析のエラーは、暗号化システムを無力化させて深刻な問題をもたらす。
本発明が解決しようとする他の技術的課題は、FMPLAを利用する欠陥検出動作で、エラーなしに欠陥を検出するための二進有限体におけるポイント加算演算装置を提供することである。
前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算は、前記第1ポイント及び前記第2ポイントの第1座標値と第2座標値との差を反映する。
前記FMPLAを利用する欠陥検出動作は、ECCシステムに適用される。前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値である。
前記第1ポイントをP1(X1,Z1)、前記第2ポイントをP2(X2,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X2−X1)とZ座標値の差(1−Z1)とをそれぞれXD及びZDとするとき、前記第1ポイント及び前記第2ポイントについての加算演算の結果であるP3(X3,Z3)は、次の通りである。
第1座標算出部は、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出する。第2座標算出部は、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出する。
前記第1座標算出部は、第1ないし第5乗算器、第1及び第2加算器、並びに第1自乗器を備える。前記第2座標算出部は、第21ないし第23乗算器、第21加算器、及び第21自乗器を備える。
前記他の課題を達成するための本発明の他の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算演算装置は、前記第2ポイントの第2座標値が“1”である場合についての二進有限体におけるポイト加算演算を行う。
以下、添付した図面を参照して本発明の望ましい実施形態を説明することによって、本発明を詳細に説明する。各図面に提示された同じ参照符号は、同じ部材を表す。
FMPLAを利用する欠陥検出方法を具現するために、まず数式2及び数式3から次の数式7が導き出される。
以前の計算で欠陥がなかったということを確認するために、判断を行う間に、計算にHjとLj値とが含まれねばならない。Y座標を含まず、二点であるHjとLjとの和をX座標で計算するモンゴメリ方法は、これらの二点の差に関する情報に基づく。
このような特徴は、次のような欠陥チェック動作を導き出すために使われ、これを可能にするために、かつパワートラック分析による分別不可能性の動作平衡を満足するために、次のように、kj=0とkj=1との2つを考慮せねばならない。
まず、kj=1である場合、欠陥チェック動作は、次の順序によって行われる。
1.次の数式9を利用して2倍演算によってLj−1を計算する。
3.Lj+1=Hjであるかをチェックする。ここで、Hjは、以前に計算された値である。
次いで、Kj=0である場合、欠陥チェック動作は、次の順序によって行われる。
1.次の数式10を利用して、2倍演算によって2Hj+1を計算する。
3.Hj+1=2Hj+1であるかを確認する。ここで、2Hj+1は、以前に計算された値である。
欠陥が流入されていない場合、LjとHjとの差は、常に“1”である。したがって、前記のような演算過程で欠陥が流入されていないならば、Lj+1=Hj及び/またはHj+1=2Hj+1である。また、二つの場合で何れもHjとLjとがチェック過程に含まれ、これは、計算された二ポイントで何れも欠陥が存在するか否かチェックされたということを意味する。
さらに具体的に説明すれば、定期チェック方法は、欠陥が流入されたか否かが、スカラー積演算が反復される度に行われる。ランダムチェック方法は、スカラー積演算が反復される度に行われず、ランダムに選択されるスカラー積演算に対して、スカラー積演算が行われた後に行われる。
図4を参照すれば、定期チェック方法が適用された欠陥チェック方法400は、スカラー積が行われる毎反復区間ごとで定期的にチェック動作が行われる方法である。欠陥チェック方法400は、基本ポイントPとスカラーkとを受信して(S401)、スカラー積Q(=k×P)を出力する(S429)。
2進ビットで表現されるスカラーkの全てのビットについての反復演算のために、本発明の実施形態では、反復演算変数iを0まで減少させつつ(S405)、2進ビット値kiについての反復演算が行われる。
まず、2進ビットkiが“1”であるか否かが決定される(S415)。2進ビットkiが“1”であれば、第1変数T1の2倍を第1変数T1に再設定し、第1変数T1に応答して決定される第1ポイントP1と基本ポイントPとの和を第1変数T1に再設定する(S417)。次いで、第2ポイントP2と再設定された第1変数T1が同一であるか否かを検査し、同一ならば、欠陥が流入されていないと判断し、そうではなければ、欠陥が流入されたと判断する(S419)。
図5を参照すれば、欠陥チェック方法500は、反復されるスカラー積が何れも行われた後にチェック動作が行われる方法である。すなわち、図4の欠陥チェック方法400のように、2進ビットkiに応答して第1ポイントと第2ポイントとが再設定された後(S511及びS513)、直ぐ欠陥流入如何をチェックせず、反復媒介変数iが1より小さいか否かを判断して(S515)、スカラー積演算を反復するか否かについてまず判断した後、欠陥の流入如何が検査される。
図5の他の動作は、図4と同一であるので、具体的な説明は省略する。
図6を参照すれば、欠陥チェック方法600は、スカラー積演算が反復的に行われる時に、任意のスカラー積演算を行った後に欠陥が流入されたか否かを検査する。すなわち、2進ビットkiに応答して第1ポイントP1と第2ポイントP2とが再設定された後(S613及びS615)、欠陥流入如何をチェックするか否かを決定する。
例えば、チェック値CHECKとチェックレートRATEとが何れも0〜100の値を有し、チェックレートRATEが70に設定されれば、ランダムに発生するチェック値CHECKが70以下であれば、欠陥流入如何をチェックし、チェック値CHECKが70より大きければ、欠陥流入如何をチェックしない。
図7を参照すれば、本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するためのポイント加算演算方法700は、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出するS720と、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出するS740と、を含む。
第1ポイントP1及び第2ポイントP2についての二進有限体における加算演算は、第1ポイントP1及び第2ポイントP2の第1座標値と第2座標値との差を反映する。このとき、第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値である。
したがって、第1ポイントP1及び第2ポイントP2についての二進有限体における加算演算の結果であるP3(X3,Z3)は、次の数式11の通りである。
この場合、第1ポイントP1及び第2ポイントP2についての二進有限体における加算演算の結果であるP3(X3,Z3)は、次の数式12のように表現されうる。
図8を参照すれば、本発明の実施形態による二進有限体におけるポイント加算演算装置800は、第1座標算出部及び第2座標算出部を備える。第1座標算出部は、楕円曲線上の基本ポイントを利用して設定された第1ポイントP1及び第2ポイントP2についての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値X3を算出する。第2座標算出部は、第1ポイントP1及び第2ポイントP2の第2座標値についての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値Z3を算出する。
前記第1座標算出部は、第1ないし第5乗算器X1〜X5、第1及び第2加算器+1、+2、第1自乗器S1を備える。
第1乗算器X1は、前記X1と前記Z2とを乗算して、第1乗算値(X1×Z2)として算出する。第2乗算器X2は、前記X2と前記Z1とを乗算して、第2乗算値(X2×Z1)として算出する。第1加算器+1は、前記第1乗算値と前記第2乗算値とを加算して、第1加算値(X1×Z2+X2×Z1)として算出する。
第4乗算器X4は、前記第1乗算値と前記第2乗算値とを乗算して、第4乗算値((X1×Z2)×(X2×Z1))として算出する。第5乗算器X5は、前記第4乗算値と前記ZDとを乗算して、第5乗算値(ZD×(X1×Z2)×(X2×Z1))として算出する。
第2加算器+2は、前記第3乗算値と前記第5乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果のX座標値X3として算出する。
第21乗算器X1は、前記X1と前記Z2とを乗算して、第21乗算値(X1×Z2)として算出する。第22乗算器X2は、前記X2と前記Z1とを乗算して、第22乗算値(X2×Z1)として算出する。第1加算器+1は、前記第21乗算値と前記第22乗算値とを加算して、第21加算値(X1×Z2+X2×Z1)として算出する。
第21自乗器S1は、前記第21加算値を自乗して、第21自乗値((X1×Z2+X2×Z1)2)として算出する。第21自乗器S1は、前記第21加算値同士乗算することによって、前記第21加算値を自乗する。
前記第2座標算出部の第21乗算器X1及び第22乗算器X2は、前記第1座標算出部の第1乗算器X1及び第2乗算器X2でありうる。また、前記第2座標算出部の第21加算器+21及び第21自乗器S1は、前記第1座標算出部の第1加算器+1及び第1自乗器S1でありうる。
図8の二進有限体におけるポイント加算演算装置によって、前述した数式11が具現される。数式12は、次の図9の二進有限体におけるポイント加算演算装置によって具現される。
図9を参照すれば、本発明の実施形態による二進有限体におけるポイント加算演算装置900は、図8のポイント加算演算装置800と同じ動作を行う。但し、図9のポイント加算演算装置900は、第2ポイントP2の第2座標値(Z座標値)が“1”である場合についてのポイント加算結果を算出する。したがって、図9のポイント加算演算装置900は、図8のポイント加算演算装置800と類似した構成を有するが、さらに少ない数の乗算器で具現される。
図9のポイント加算演算装置900の第1座標算出部及び第2座標算出部は、図8のポイント加算演算装置800の説明から容易に分かるので、これについてのさらに詳細な説明は省略する。
図10を参照すれば、自乗器Sは、同じ入力I1同士乗算Xする。このとき、自乗器Sは、図8及び図9の第1自乗器S1及び第21自乗器S21を表す。このように、同じ入力I1同士乗算Xするように自乗器Sを設計することによって、ポイント加算演算装置800、900のレイアウト面積を減らせるという長所がある。
X1 第1乗算器
X2 第2乗算器
X3 第3乗算器
X4 第4乗算器
X5 第5乗算器
+1 第1加算器
+2 第2加算器
S1 第1自乗器
X23 第23乗算器
Claims (17)
- 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作をコンピュータシステム上で実行するためのポイント加算演算方法において、
プロセッサにより、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出するステップと、
プロセッサにより、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出するステップと、
プロセッサにより、前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断するステップと、
を含み、
前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
前記第1ポイントをP 1 (X 1 ,Z 1 )、前記第2ポイントをP 2 (X 2 ,Z 2 )とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X 2 −X 1 )とZ座標値の差(Z 2 −Z 1 )とをそれぞれX D 及びZ D とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP 3 (X 3 ,Z 3 )は、
- 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
楕円曲線暗号化システムに適用されることを特徴とする請求項1に記載の二進有限体におけるポイント加算方法。 - 前記第2ポイントの前記第2座標値は、
“1”であることを特徴とする請求項1に記載の二進有限体におけるポイント加算方法。 - 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作をコンピュータシステム上で実行するためのポイント加算演算方法において、
プロセッサにより、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出するステップと、
プロセッサにより、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出するステップと、
プロセッサにより、前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断するステップと、
を含み、
前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
前記第2ポイントのZ座標値は、“1”であり、
前記第1ポイントをP 1 (X 1 ,Z 1 )、前記第2ポイントをP 2 (X 2 ,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X 2 −X 1 )とZ座標値の差(1−Z 1 )とをそれぞれX D 及びZ D とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP 3 (X 3 ,Z 3 )は、
- 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
楕円曲線暗号化システムに適用されることを特徴とする請求項4に記載の二進有限体におけるポイント加算方法。 - 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するためのポイント加算演算装置において、
楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出する第1座標算出部と、
前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出する第2座標算出部と、
前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断する判断部と、
を備え、
前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
前記第1ポイントをP 1 (X 1 ,Z 1 )、前記第2ポイントをP 2 (X 2 ,Z 2 )とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X 2 −X 1 )とZ座標値の差(Z 2 −Z 1 )とをそれぞれX D 及びZ D とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP 3 (X 3 ,Z 3 )は、
- 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
楕円曲線暗号化システムに適用されることを特徴とする請求項6に記載の二進有限体におけるポイント加算演算装置。 - 前記第1座標算出部は、
前記X1と前記Z2とを乗算して、第1乗算値(X1×Z2)として算出する第1乗算器と、
前記X2と前記Z1とを乗算して、第2乗算値(X2×Z1)として算出する第2乗算器と、
前記第1乗算値と前記第2乗算値とを加算して、第1加算値(X1×Z2+X2×Z1)として算出する第1加算器と、
前記第1加算値を自乗して、第1自乗値((X1×Z2+X2×Z1)2)として算出する第1自乗器と、
前記第1自乗値と前記XDとを乗算して、第3乗算値(XD×(X1×Z2+X2×Z1)2)として算出する第3乗算器と、
前記第1乗算値と前記第2乗算値とを乗算して、第4乗算値((X1×Z2)×(X2×Z1))として算出する第4乗算器と、
前記第4乗算値と前記ZDとを乗算して、第5乗算値(ZD×(X1×Z2)×(X2×Z1))として算出する第5乗算器と、
前記第3乗算値と前記第5乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果のX座標値(X3)として算出する第2加算器と、を備えることを特徴とする請求項6に記載の二進有限体におけるポイント加算演算装置。 - 前記第1自乗器は、
前記第1加算値同士乗算することを特徴とする請求項8に記載の二進有限体におけるポイント加算演算装置。 - 前記第2座標算出部は、
前記X1と前記Z2とを乗算して、第21乗算値(X1×Z2)として算出する第21乗算器と、
前記X2と前記Z1とを乗算して、第22乗算値(X2×Z1)として算出する第22乗算器と、
前記第21乗算値と前記第22乗算値とを加算して、第21加算値(X1×Z2+X2×Z1)として算出する第21加算器と、
前記第21加算値を自乗して、第21自乗値((X1×Z2+X2×Z1)2)として算出する第21自乗器と、
前記第21自乗値と前記ZDとを乗算して、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果のZ座標値(Z3)として算出する第23乗算器と、を備えることを特徴とする請求項6に記載の二進有限体におけるポイント加算演算装置。 - 前記第21自乗器は、
前記第21加算値同士乗算することを特徴とする請求項10に記載の二進有限体におけるポイント加算演算装置。 - 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するためのポイント加算演算装置において、
楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第1座標値を算出する第1座標算出部と、
前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算を行って、前記加算演算の結果の第2座標値を算出する第2座標算出部と、
前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断する判断部と、
を備え、
前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
前記第2ポイントのZ座標値は、“1”であり、
前記第1ポイントをP 1 (X 1 ,Z 1 )、前記第2ポイントをP 2 (X 2 ,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X 2 −X 1 )とZ座標値の差(1−Z 1 )とをそれぞれX D 及びZ D とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP 3 (X 3 ,Z 3 )は、
- 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
楕円曲線暗号化システムに適用されることを特徴とする請求項12に記載の二進有限体におけるポイント加算演算装置。 - 前記第1座標算出部は、
前記X2と前記Z1とを乗算して、第1乗算値(X2×Z1)として算出する第1乗算器と、
前記第1乗算値と前記X1とを加算して、第1加算値(X1+X2×Z1)として算出する第1加算器と、
前記第1加算値を自乗して、第1自乗値((X1+X2×Z1)2)として算出する第1自乗器と、
前記第1自乗値と前記XDとを乗算して、第2乗算値(XD×(X1+X2×Z1)2)として算出する第2乗算器と、
前記第1乗算値と前記X1とを乗算して、第3乗算値(X1×(X2×Z1))として算出する第3乗算器と、
前記第3乗算値と前記ZDとを乗算して、第4乗算値(ZD×X1×(X2×Z1))として算出する第4乗算器と、
前記第2乗算値と前記第4乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果のX座標値(X3)として算出する第2加算器と、を備えることを特徴とする請求項12に記載の二進有限体におけるポイント加算演算装置。 - 前記第1自乗器は、
前記第1加算値同士乗算することを特徴とする請求項14に記載の二進有限体におけるポイント加算演算装置。 - 前記第2座標算出部は、
前記X2と前記Z1とを乗算して、第21乗算値(X2×Z1)として算出する第21乗算器と、
前記第21乗算値と前記X1とを加算して、第21加算値(X1+X2×Z1)として算出する第21加算器と、
前記第21加算値を自乗して、第21自乗値((X1+X2×Z1)2)として算出する第21自乗器と、
前記第21自乗値と前記ZDとを乗算して、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果のZ座標値(Z3)として算出する第23乗算器と、を備えることを特徴とする請求項12に記載の二進有限体におけるポイント加算演算装置。 - 前記第21自乗器は、
前記第21加算値同士乗算することを特徴とする請求項16に記載の二進有限体におけるポイント加算演算装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060073775A KR20080012634A (ko) | 2006-08-04 | 2006-08-04 | 고속 몽고메리 전력 래더 알고리즘에서 사용되는 폴트 검출동작을 구현하기 위한 이진 유한 영역에서의 포인트 덧셈방법 및 덧셈 연산 장치 |
KR10-2006-0073775 | 2006-08-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008042908A JP2008042908A (ja) | 2008-02-21 |
JP5336056B2 true JP5336056B2 (ja) | 2013-11-06 |
Family
ID=39029198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007198046A Expired - Fee Related JP5336056B2 (ja) | 2006-08-04 | 2007-07-30 | 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8208626B2 (ja) |
JP (1) | JP5336056B2 (ja) |
KR (1) | KR20080012634A (ja) |
TW (1) | TWI379574B (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100850202B1 (ko) * | 2006-03-04 | 2008-08-04 | 삼성전자주식회사 | Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법 |
CN104149020A (zh) * | 2014-08-04 | 2014-11-19 | 宁国市南方耐磨材料有限公司 | 一种高稳定性耐磨钢球研球机 |
US9590805B1 (en) * | 2014-12-23 | 2017-03-07 | EMC IP Holding Company LLC | Ladder-based cryptographic techniques using pre-computed points |
CN104836808B (zh) * | 2015-05-12 | 2017-12-15 | 中国科学院软件研究所 | 基于改进差分错误攻击的sm2签名算法安全性验证方法 |
CN108200108B (zh) * | 2018-04-11 | 2021-02-05 | 吕航宇 | 一种非对称加密算法及其应用 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497423A (en) * | 1993-06-18 | 1996-03-05 | Matsushita Electric Industrial Co., Ltd. | Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication |
JPH1152854A (ja) | 1997-07-31 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | 有限体上の四則演算装置及び楕円曲線上の群演算装置 |
KR100257123B1 (ko) | 1997-05-16 | 2000-05-15 | 문상재 | 변형된 몽고메리 모듈라 곱셈을 적용한 고속 멱승 방법 |
JP2000137436A (ja) | 1998-10-30 | 2000-05-16 | Fujitsu Ltd | 素体上楕円曲線上の点の演算方法およびその装置 |
JP3615405B2 (ja) | 1998-12-18 | 2005-02-02 | 富士通株式会社 | 素体上楕円曲線上の点の演算方法およびその装置 |
JP3821631B2 (ja) * | 2000-05-30 | 2006-09-13 | 株式会社日立製作所 | 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体 |
JP3820909B2 (ja) | 2001-04-24 | 2006-09-13 | ソニー株式会社 | 楕円曲線暗号処理方法および楕円曲線暗号処理装置、並びにプログラム |
JP4479135B2 (ja) | 2001-07-31 | 2010-06-09 | 三菱電機株式会社 | 演算装置及び演算方法及び演算プログラム |
JP3863021B2 (ja) | 2002-01-25 | 2006-12-27 | 日本電信電話株式会社 | 楕円加減算装置及びそのプログラム |
JP2003255831A (ja) * | 2002-02-28 | 2003-09-10 | Hitachi Ltd | 楕円曲線スカラー倍計算方法及び装置 |
EP1653428B1 (en) * | 2003-08-06 | 2012-08-15 | Fujitsu Limited | Elliptic curve encrypting device, elliptic curve encrypting method, elliptic curve encrypting program and computer-readable recording medium recording that program |
KR100530372B1 (ko) | 2003-12-20 | 2005-11-22 | 삼성전자주식회사 | 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법 |
-
2006
- 2006-08-04 KR KR1020060073775A patent/KR20080012634A/ko not_active Application Discontinuation
-
2007
- 2007-07-03 TW TW096124112A patent/TWI379574B/zh not_active IP Right Cessation
- 2007-07-18 US US11/826,734 patent/US8208626B2/en not_active Expired - Fee Related
- 2007-07-30 JP JP2007198046A patent/JP5336056B2/ja not_active Expired - Fee Related
-
2012
- 2012-06-05 US US13/489,019 patent/US20120275593A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20080031443A1 (en) | 2008-02-07 |
TW200810486A (en) | 2008-02-16 |
US8208626B2 (en) | 2012-06-26 |
KR20080012634A (ko) | 2008-02-12 |
US20120275593A1 (en) | 2012-11-01 |
JP2008042908A (ja) | 2008-02-21 |
TWI379574B (en) | 2012-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100891323B1 (ko) | 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치 | |
JP5329676B2 (ja) | 鍵合意プロトコルの加速 | |
CA2792787C (en) | System and method for protecting cryptographic assets from a white-box attack | |
US8369517B2 (en) | Fast scalar multiplication for elliptic curve cryptosystems over prime fields | |
KR100850202B1 (ko) | Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법 | |
JP2009537025A (ja) | サイドチャネル攻撃からの保護 | |
JP4909403B2 (ja) | 安全にデータを求める方法 | |
JPWO2006077651A1 (ja) | 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置 | |
JP4513752B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
WO2012090284A1 (ja) | 演算装置、演算装置の楕円スカラー倍算方法、楕円スカラー倍算プログラム、演算装置の剰余演算方法、剰余演算プログラム、演算装置のゼロ判定方法およびゼロ判定プログラム | |
JP5336056B2 (ja) | 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 | |
JP2010164904A (ja) | 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法 | |
KR20100113130A (ko) | 비대칭 암호화를 위한 대응조치 방법 및 디바이스 | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
WO2009091748A1 (en) | Modular reduction using a special form of the modulus | |
JP2008042905A (ja) | 高速モンゴメリ電力ラダーアルゴリズムを利用する欠陥検出動作を具現するための素数有限領域におけるポイント加算方法及び加算演算装置 | |
JP2007189692A (ja) | Dfaに対抗する方法を含むモンゴメリ電力ラダーアルゴリズム | |
Koziel et al. | An exposure model for supersingular isogeny Diffie-Hellman key exchange | |
US7177422B2 (en) | Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program | |
JP2003216026A (ja) | 楕円曲線暗号処理方法および楕円曲線暗号処理装置、並びにコンピュータ・プログラム | |
US20220385954A1 (en) | Embedding information in elliptic curve base point | |
KR100953716B1 (ko) | Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체 | |
JP4502817B2 (ja) | 楕円曲線スカラー倍計算方法および装置 | |
Goo et al. | Reconfigurable real number field elliptic curve cryptography to improve the security | |
US7480380B2 (en) | Method for efficient generation of modulo inverse for public key cryptosystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100730 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121227 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130121 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5336056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |