JP5336056B2 - 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 - Google Patents

高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 Download PDF

Info

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
Application number
JP2007198046A
Other languages
English (en)
Other versions
JP2008042908A (ja
Inventor
イホア・ヴァシルツォフ
俊▲ホ▼ ▲黄▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2008042908A publication Critical patent/JP2008042908A/ja
Application granted granted Critical
Publication of JP5336056B2 publication Critical patent/JP5336056B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods 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/42Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/49Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7261Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7271Fault 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

本発明は、暗号化方法に係り、特に高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限におけるポイント加算方法に関する。
情報化社会の到来による情報伝送媒体の発達と共に、情報の安全性を保証するための暗号化及び復号化方案も多角的に摸索されている。そのうち、RSA(Rivest Shamir Adleman)暗号化システム及び楕円曲線暗号化(ECC:Elliptic Curve Cryptography)システムのような公開キー形式の暗号化方式が広く使われている。整数除算に対するアルゴリズムが定義されないので、十分に大きい整数を公開キーとして使用することによって、公開キー形式の暗号化方式は、システムの安全性を保証しうる。
特に、ECCシステムは、比較的短いキーサイズでも高い安全性が確保でき、スマートカード及び電子署名に広く使われている。ECCシステムは、楕円曲線と呼ばれる数式によって定義される特殊な加算法を基盤として暗号化/復号化する暗号化方式である。
具体的に、ECC法は、任意の楕円曲線Eと楕円曲線E上の一点Pとをシステムパラメータとして使用する。暗号化通信を所望するユーザ1は、ランダムに整数kを生成し、kとPとを乗算してQ(=k×P)を生成する。ユーザ1は、Qを公開キーとして公開し、kをユーザ1の秘密キーとして安全に保存する。
逆に、ユーザ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)
このようなECCシステムを攻略するための方案として、演算されている変数値の差を利用して暗号システムの秘密キーを探し出す差分欠陥分析(Differential Fault Analysis:DFA)が広く知られている。DFAは、欠陥(fault)を暗号システムに投入し、投入された欠陥に対応する演算結果を分析し、暗号システムの秘密キーを探す方法である。
暗号システムは、所定の演算を行う時にレジスターに保存された値を参照するが、レジスターに保存されるまたは保存された値は、欠陥によって変更される。したがって、暗号システムの演算結果に、欠陥によって変更された値に対応するエラーが含まれる。
エラーを含んで出力される演算結果を解析することによって、秘密キーについての情報は露出される。したがって、DFAに対応するために、ECCシステムで使われる色々な方法が提案されている。
図1は、DFAに対応するCT&C(Calculate Twice and Check)法を示すフローチャートである。
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)。
図2は、DFAに対応するCOP(Check the Output Point)方法を示すフローチャートである。
COP法200は、まず楕円曲線のうち任意の一点Pを選択し(S210)、Pに所定の整数kを乗算して比較値Qを求める(S220)。このとき、所定の整数kは、秘密キーを意味する。
次いで、比較値Qが楕円曲線Eの一点であるか否かを判断して(S230)、比較値Qが楕円曲線Eの一点ならば、乗算演算にいかなる欠陥も流入されていないと判断して、比較値Qが出力される(S240)。一方、比較値Qが楕円曲線Eの一点でなければ、乗算演算中に欠陥が流入されたケースに該当すると判断して、比較値Qの代わりに警告信号が出力される(S250)。
しかし、図1のCT&C法100は、同じ乗算計算を2回もしなければならないという短所があり、図2のCOP法200は、図1のCT&C法100に比べて計算が簡単であるという長所があるが、その適用範囲が制限的であるだけでなく、符号の変わる欠陥を利用した攻撃に対応する場合には、システムの実行能力が非常に低下するという短所がある。したがって、モンゴメリパワーラダーアルゴリズム(MPLA:Montgomery Power Ladder Algorithm)または高速MPLA(FMPLA:Fast Montgomery Power Ladder Algorithm)を利用して、DFAに対応する方案が摸索されている。
前述したECC法を参照すれば、P及びQ値を通じてkを求めるためには、離散対数演算が行われねばならない。離散対数演算は、有限に楕円曲線の特性を適用して行われ、暗号プロトコルの秘密性の基礎となる。簡単には、離散対数演算とは、Q=k×Pで、QとPとからkを求める演算である。
したがって、ECC法でスカラー積演算は、重要な演算のうち一つであるということが分かる。MPLAとは、有限におけるスカラー積演算を行う方法のうちの一つである。以下では、MPLAについてさらに詳細に説明する。
一般的なMPLAでは、まず、2個の変数を次の数式2のように定義する。
Figure 0005336056
数式2の二変数間の関係についての他の数学的表現は、次の数式3の通りである。任意の整数kは、複数の2進ビット(k=(kt−1,...,k,k、tは整数、以下同様)で表現され、kは、反復媒介変数i(iは整数、以下同様)に対応するビットの値を表す。このとき、kt−1は、常に“1”の値を有する。数式2に表現された二変数間の関係は、次の数式3のように再整理されうる。
Figure 0005336056
数式3に表示された二変数間の関係を変数j値によって異ならせて表現すれば、次の数式4のように表現しうる。
Figure 0005336056
数式4の導出過程は、本発明の属する技術分野の当業者に広く知られた事項であるので、それについての詳細な説明は省略する。LとHとは、後述する図3及びアルゴリズム1で、ECCシステムにおける楕円曲線上の2ポイントであるP及びPにマッピングされる。
図3は、MPLAを利用してECC法におけるスカラー積演算を行う方法を示すフローチャートである。
図3を参照すれば、MPLAを利用したスカラー積演算方法300は、まず、基本ポイントPとスカラーk(kは整数、以下同様)とを受信する(S301)。次いで、スカラー積を反復演算するための変数が設定される(S303)。
kは、数式2で前述したように設定される。また、第1変数Pは、基本ポイントPに、そして、第2変数Pは、基本ポイントPの2倍、すなわち2×Pに設定される。反復媒介変数iは、t−1に初期化される。
変数が設定された後には、反復演算によってスカラー積Q=k×Pが計算される。すなわち、反復媒介変数iを0まで減少させつつ(S305、S313)、それぞれの2進ビットkによって(S307)、第1及び第2変数を再設定(S310、S311)する過程を反復し、iが0まで減少した場合(S313)の第1変数Pをスカラー積Q=k×Pとして出力する(S315)。
このとき、“P←2P”及び“P←2P”は、楕円曲線ポイントの2倍演算を、“P←P+P”及び“P←P+P”は、楕円曲線ポイントの加算演算を意味する。ところが、図3の一般的なMPLAは、それぞれの反復演算で加算演算と2倍演算とが行われるので、性能において、大きな劣化を発生させる。このような劣化を防止するために、Y座標形態の計算が除外されたループ計算を行った後、Y座標を再定義するFMPLAを利用したスカラー積演算方法が提案された。
FMPLAを通じて楕円曲線上の2ポイント(P(X,Z)、P(X,Z))の2倍演算及び加算演算を行うための、素数有限における2倍演算及び加算演算は、それぞれ次の数式5及び数式6で定義される。
Figure 0005336056
Figure 0005336056
数式5及び数式6を参照すれば、計算中にY座標が含まれないということが分かる。
ところが、数式6の加算演算は、2ポイント(P(X,Z)、P(X,Z))のZ座標の差(Z=Z−Z)が“1”であることを前提している。しかし、FMPLAを利用した欠陥検索方法は、2ポイントの差を利用して欠陥の流入如何を検出する。
したがって、数式6の加算演算を、FMPLAを利用する欠陥検出方法に使用する場合、ECCシステムは、誤った欠陥流入分析結果を導出する恐れがある。欠陥分析のエラーは、暗号化システムを無力化させて深刻な問題をもたらす。
本発明が解決しようとする技術的課題は、FMPLAを利用する欠陥検出動作で、エラーなしに欠陥を検出するための二進有限におけるポイント加算方法を提供することである。
本発明が解決しようとする他の技術的課題は、FMPLAを利用する欠陥検出動作で、エラーなしに欠陥を検出するための二進有限におけるポイント加算演算装置を提供することである。
前記課題を達成するための本発明の実施形態による二進有限におけるポイント加算演算方法は、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出するステップと、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出するステップと、を含む。
前記第1ポイント及び前記第2ポイントについての二進有限における加算演算は、前記第1ポイント及び前記第2ポイントの第1座標値と第2座標値との差を反映する。
前記FMPLAを利用する欠陥検出動作は、ECCシステムに適用される。前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値である。
前記第1ポイントをP(X,Z)、前記第2ポイントをP(X,Z)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X−X)とZ座標値の差(Z−Z)とをそれぞれX及びZとするとき、前記第1ポイント及び前記第2ポイントについての加算演算の結果であるP(X,Z)は、次の通りである。
Figure 0005336056
前記課題を達成するための本発明の他の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算方法で、前記第2ポイントの前記第2座標値は、所定数に固定される。前記第2ポイントの第2座標値は、“1”である。
前記第1ポイントをP(X,Z)、前記第2ポイントをP(X,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X−X)とZ座標値の差(1−Z)とをそれぞれX及びZとするとき、前記第1ポイント及び前記第2ポイントについての加算演算の結果であるP(X,Z)は、次の通りである。
Figure 0005336056
前記他の課題を達成するための本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置は、第1座標算出部及び第2座標算出部を備える。
第1座標算出部は、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出する。第2座標算出部は、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出する。
前記第1座標算出部及び前記第2座標算出部は、前記第1ポイント及び前記第2ポイントの第2座標値の差を反映して、前記第1座標値及び前記第2座標値を算出する。前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値である。
前記第1座標算出部は、第1ないし第5乗算器、第1及び第2加算器、並びに第1自乗器を備える。前記第2座標算出部は、第21ないし第23乗算器、第21加算器、及び第21自乗器を備える。
前記他の課題を達成するための本発明の他の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置は、前記第2ポイントの第2座標値が“1”である場合についての二進有限におけるポイト加算演算を行う。
本発明による二進有限におけるポイント加算方法及び加算演算装置によれば、FMPLAを利用する暗号化システムで正確な欠陥検出動作を行える。
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び図面に記載された内容を参照せねばならない。
以下、添付した図面を参照して本発明の望ましい実施形態を説明することによって、本発明を詳細に説明する。各図面に提示された同じ参照符号は、同じ部材を表す。
本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算方法を説明する前に、FMPLAを利用する欠陥検出方法についてさらに詳細に説明する。
FMPLAを利用する欠陥検出方法を具現するために、まず数式2及び数式3から次の数式7が導き出される。
Figure 0005336056
次いで、数式7から次の数式8が導き出される。
Figure 0005336056
=L+1は、数式2で示した。
以前の計算で欠陥がなかったということを確認するために、判断を行う間に、計算にHとL値とが含まれねばならない。Y座標を含まず、二点であるHとLとの和をX座標で計算するモンゴメリ方法は、これらの二点の差に関する情報に基づく。
このような特徴は、次のような欠陥チェック動作を導き出すために使われ、これを可能にするために、かつパワートラック分析による分別不可能性の動作平衡を満足するために、次のように、k=0とk=1との2つを考慮せねばならない。
まず、k=1である場合、欠陥チェック動作は、次の順序によって行われる。
1.次の数式9を利用して2倍演算によってL−1を計算する。
Figure 0005336056
2.1での結果から、加算演算によってL+1を計算する。
3.L+1=Hであるかをチェックする。ここで、Hは、以前に計算された値である。
次いで、K=0である場合、欠陥チェック動作は、次の順序によって行われる。
1.次の数式10を利用して、2倍演算によって2Hj+1を計算する。
Figure 0005336056
2.Lを考慮して、加算演算によってH+1を計算する。
3.H+1=2Hj+1であるかを確認する。ここで、2H+1は、以前に計算された値である。
欠陥が流入されていない場合、LとHとの差は、常に“1”である。したがって、前記のような演算過程で欠陥が流入されていないならば、L+1=H及び/またはH+1=2Hj+1である。また、二つの場合で何れもHとLとがチェック過程に含まれ、これは、計算された二ポイントで何れも欠陥が存在するか否かチェックされたということを意味する。
以下では、前述したFMPLAを利用した新たな方式の欠陥チェック方法が適用される多様な実施形態が提案される。これは、欠陥チェックの実行ステップによって分けられる。すなわち、スカラー積演算中に欠陥の流入如何が判断される定期チェック及び/またはランダムチェック、そしてスカラー積演算が完了した後に演算結果が出力される前に欠陥の流入如何が判断される最終チェック方法が提案される。
さらに具体的に説明すれば、定期チェック方法は、欠陥が流入されたか否かが、スカラー積演算が反復される度に行われる。ランダムチェック方法は、スカラー積演算が反復される度に行われず、ランダムに選択されるスカラー積演算に対して、スカラー積演算が行われた後に行われる。
図4は、定期チェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。
図4を参照すれば、定期チェック方法が適用された欠陥チェック方法400は、スカラー積が行われる毎反復区間ごとで定期的にチェック動作が行われる方法である。欠陥チェック方法400は、基本ポイントPとスカラーkとを受信して(S401)、スカラー積Q(=k×P)を出力する(S429)。
ここで、基本ポイントPは、所定の楕円曲線上のポイントであって、ハードウェア具現時にEPROMに保存される。スカラーkは、数式2で説明した通りである。欠陥チェック方法400は、基本ポイントPとスカラーkとを受信した後(S401)、暗号化のためのパラメータまたはポイントを初期化するか、または設定する(S403)。スカラーkの2進ビットkによる反復的な演算のために、本発明では、変数が使われて、変数は、所定の規則によって初期化されるか、または設定される(S403またはS407)。
まず、基本ポイントPを利用して第1ポイントPと第2ポイントPとが初期化される。具体的に、第1ポイントPは、基本ポイントPに初期化され、第2ポイントPは、基本ポイントPの2倍に初期化される。暗号化方法400に使われるパラメータまたはポイントが初期化された後には、反復的な演算を行ってスカラー積Qを計算する(S405ないしS413及びS427)。
2進ビットで表現されるスカラーkの全てのビットについての反復演算のために、本発明の実施形態では、反復演算変数iを0まで減少させつつ(S405)、2進ビット値kについての反復演算が行われる。
図4の欠陥チェック方法400では、再設定するステップが完了する度に欠陥が流入されたか否かチェックされるので、欠陥が流入されたか否が定期的にチェックされる。以下では、欠陥が流入されたか否かをチェックする動作について説明する(S415ないしS423)。
まず、2進ビットkが“1”であるか否かが決定される(S415)。2進ビットkが“1”であれば、第1変数Tの2倍を第1変数Tに再設定し、第1変数Tに応答して決定される第1ポイントPと基本ポイントPとの和を第1変数Tに再設定する(S417)。次いで、第2ポイントPと再設定された第1変数Tが同一であるか否かを検査し、同一ならば、欠陥が流入されていないと判断し、そうではなければ、欠陥が流入されたと判断する(S419)。
一方、2進ビットkが“1”でなければ、第2変数Tの2倍を第2変数Tに再設定し、第1変数Tに応答して決定される第2ポイントPと基本ポイントPとの和を第1変数Tに再設定する(S421)。次いで、再設定された第2変数Tと再設定された第1変数Tとが同一か否かを検査して、同一ならば、欠陥が流入されていないと判断し、そうではなければ、欠陥が流入されたと判断する(S423)。
欠陥チェック方法400で欠陥が流入されていないと判断する場合、反復媒介変数iが0より小さいか否かを判断して(S427)、小さくなければ、iを減少させつつ、スカラー積演算と欠陥流入如何のチェック演算とを反復的に行う。しかし、反復媒介変数iが0より小さければ、そのときのP値をスカラー積Qとして出力する(S429)。一方、欠陥チェック方法400で欠陥が流入されたと判断する場合には、警告信号を出力する。
図5は、最終チェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。
図5を参照すれば、欠陥チェック方法500は、反復されるスカラー積が何れも行われた後にチェック動作が行われる方法である。すなわち、図4の欠陥チェック方法400のように、2進ビットkに応答して第1ポイントと第2ポイントとが再設定された後(S511及びS513)、直ぐ欠陥流入如何をチェックせず、反復媒介変数iが1より小さいか否かを判断して(S515)、スカラー積演算を反復するか否かについてまず判断した後、欠陥の流入如何が検査される。
図5の他の動作は、図4と同一であるので、具体的な説明は省略する。
図6は、ランダムチェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。
図6を参照すれば、欠陥チェック方法600は、スカラー積演算が反復的に行われる時に、任意のスカラー積演算を行った後に欠陥が流入されたか否かを検査する。すなわち、2進ビットkに応答して第1ポイントPと第2ポイントPとが再設定された後(S613及びS615)、欠陥流入如何をチェックするか否かを決定する。
このとき、所定のチェック値CHECKがチェックレートRATE以下であるか否かを決定し(S617)、チェック値CHECKがチェックレートRATE以下である場合に、欠陥が流入されたか否かをチェックする。チェックレートRATEは、欠陥流入如何をチェックする頻度を決定する値であって、図6を参照すれば、チェックレートRATEは、暗号化方法で使われる媒介変数が初期化されるか、または設定されるステップで共に設定されうる(S603)。一方、チェック値CHECKは、ランダム定数である。
例えば、チェック値CHECKとチェックレートRATEとが何れも0〜100の値を有し、チェックレートRATEが70に設定されれば、ランダムに発生するチェック値CHECKが70以下であれば、欠陥流入如何をチェックし、チェック値CHECKが70より大きければ、欠陥流入如何をチェックしない。
図4ないし図6のFMPLAを使用する欠陥チェック方法は、第1ポイントP及び第2ポイントPの再設定において、楕円曲線ポイントの2倍演算及び加算演算を行う。しかし、前述したように、数式6の加算演算を図4ないし図6の加算演算に使用する場合、正確な欠陥流入如何がチェックできないという問題が発生する。
図7は、本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算方法を示すフローチャートである。
図7を参照すれば、本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するためのポイント加算演算方法700は、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出するS720と、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出するS740と、を含む。
前記FMPLAを利用する欠陥検出動作は、ECCシステムに適用されうる。以下の第1ポイント及び第2ポイントは、図4ないし図6の欠陥チェック動作の第1ポイントP及び第2ポイントPと同一であるので、同じ符号として説明される。
第1ポイントP及び第2ポイントPについての二進有限における加算演算は、第1ポイントP及び第2ポイントPの第1座標値と第2座標値との差を反映する。このとき、第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値である。
すなわち、前記第1ポイントをP(X,Z)、前記第2ポイントをP(X,Z)とし、前記第1ポイントP1及び第2ポイントP2のX座標値の差(X−X)とZ座標値の差(Z−Z)とをそれぞれX及びZとするとき、第1ポイントP及び第2ポイントPの第1座標値及び第2座標値の差が第1ポイントP及び第2ポイントPについての二進有限における加算演算の結果であるP(X,Z)に反映される。
したがって、第1ポイントP及び第2ポイントPについての二進有限における加算演算の結果であるP(X,Z)は、次の数式11の通りである。
Figure 0005336056
このとき、基本ポイントPは、アフィン座標上のポイントであるので、第2ポイントPの前記第2座標値を“1”に代替しうる。
この場合、第1ポイントP及び第2ポイントPについての二進有限における加算演算の結果であるP(X,Z)は、次の数式12のように表現されうる。
Figure 0005336056
数式11及び数式12のように、第1ポイントP及び第2ポイントPの第2座標値の差であるZ値を二ポイントの二進有限における加算演算式に反映することによって、正確なモンゴメリアルゴリズムを利用した欠陥検出動作を行える。
図8は、本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置を示す図面である。
図8を参照すれば、本発明の実施形態による二進有限におけるポイント加算演算装置800は、第1座標算出部及び第2座標算出部を備える。第1座標算出部は、楕円曲線上の基本ポイントを利用して設定された第1ポイントP及び第2ポイントPについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値Xを算出する。第2座標算出部は、第1ポイントP及び第2ポイントPの第2座標値についての二進有限における加算演算を行って、前記加算演算の結果の第2座標値Zを算出する。
このとき、前記第1座標算出部及び前記第2座標算出部は、第1ポイントP及び第2ポイントPの第2座標値の差を反映して、前記第1座標値及び前記第2座標値を算出する。
前記第1座標算出部は、第1ないし第5乗算器X1〜X5、第1及び第2加算器+1、+2、第1自乗器S1を備える。
第1乗算器Xは、前記Xと前記Zとを乗算して、第1乗算値(X×Z)として算出する。第2乗算器X2は、前記Xと前記Zとを乗算して、第2乗算値(X×Z)として算出する。第1加算器+1は、前記第1乗算値と前記第2乗算値とを加算して、第1加算値(X×Z+X×Z)として算出する。
第1自乗器S1は、前記第1加算値を自乗して、第1自乗値((X×Z+X×Z)として算出する。第1自乗器S1は、前記第1加算値同士乗算することによって、前記第1加算値を自乗する。第3乗算器Xは、前記第1自乗値と前記Xとを乗算して、第3乗算値(X×(X×Z+X×Z)として算出部する。
第4乗算器Xは、前記第1乗算値と前記第2乗算値とを乗算して、第4乗算値((X×Z)×(X×Z))として算出する。第5乗算器Xは、前記第4乗算値と前記Zとを乗算して、第5乗算値(Z×(X×Z)×(X×Z))として算出する。
第2加算器+2は、前記第3乗算値と前記第5乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のX座標値Xとして算出する。
第2座標算出部C22は、第21ないし第23乗算器X1、X2、X23、第21加算器+1及び第21乗算器S1を備える。
第21乗算器X1は、前記Xと前記Zとを乗算して、第21乗算値(X×Z)として算出する。第22乗算器X2は、前記Xと前記Zとを乗算して、第22乗算値(X×Z)として算出する。第1加算器+1は、前記第21乗算値と前記第22乗算値とを加算して、第21加算値(X×Z+X×Z)として算出する。
第21自乗器S1は、前記第21加算値を自乗して、第21自乗値((X×Z+X×Z)として算出する。第21自乗器S1は、前記第21加算値同士乗算することによって、前記第21加算値を自乗する。
第23乗算器X23は、前記第21自乗値と前記Zとを乗算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のZ座標値Zとして算出する。
前記第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は、本発明の他の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置を示す図面である。
図9を参照すれば、本発明の実施形態による二進有限におけるポイント加算演算装置900は、図8のポイント加算演算装置800と同じ動作を行う。但し、図9のポイント加算演算装置900は、第2ポイントP2の第2座標値(Z座標値)が“1”である場合についてのポイント加算結果を算出する。したがって、図9のポイント加算演算装置900は、図8のポイント加算演算装置800と類似した構成を有するが、さらに少ない数の乗算器で具現される。
図9のポイント加算演算装置900の第1座標算出部及び第2座標算出部は、図8のポイント加算演算装置800の説明から容易に分かるので、これについてのさらに詳細な説明は省略する。
図10は、図8及び図9の自乗器をさらに詳細に示す図面である。
図10を参照すれば、自乗器Sは、同じ入力I1同士乗算Xする。このとき、自乗器Sは、図8及び図9の第1自乗器S1及び第21自乗器S21を表す。このように、同じ入力I1同士乗算Xするように自乗器Sを設計することによって、ポイント加算演算装置800、900のレイアウト面積を減らせるという長所がある。
以上、図面及び明細書で最適の実施形態が開示された。ここで、特定の用語が使用されたが、これは、単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施形態が可能であるという点が分かるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されねばならない。
本発明は、暗号化方法関連の技術分野に適用可能である。
DFAに対応するCT&C法を示すフローチャートである。 DFAに対応するCOP法を示すフローチャートである。 MPLAを利用してECC法におけるスカラー積演算を行う方法を示すフローチャートである。 定期チェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。 最終チェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。 ランダムチェック方法が適用されたFMPLAを利用した新たな方式の欠陥チェック動作を示すフローチャートである。 本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算方法を示すフローチャートである。 本発明の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置を示す図面である。 本発明の他の実施形態によるFMPLAを利用する欠陥検出動作を具現するための二進有限におけるポイント加算演算装置を示す図面である。 図8及び図9の自乗器をさらに詳細に示す図面である。
符号の説明
800 ポイント加算演算装置
X1 第1乗算器
X2 第2乗算器
X3 第3乗算器
X4 第4乗算器
X5 第5乗算器
+1 第1加算器
+2 第2加算器
S1 第1自乗器
X23 第23乗算器

Claims (17)

  1. 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作をコンピュータシステム上で実行するためのポイント加算演算方法において、
    プロセッサにより、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出するステップと、
    プロセッサにより、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出するステップと、
    プロセッサにより、前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断するステップと、
    を含み、
    前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
    前記第1ポイントをP (X ,Z )、前記第2ポイントをP (X ,Z )とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X −X )とZ座標値の差(Z −Z )とをそれぞれX 及びZ とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP (X ,Z )は、
    Figure 0005336056
    であることを特徴とする二進有限におけるポイント加算方法。
  2. 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
    楕円曲線暗号化システムに適用されることを特徴とする請求項1に記載の二進有限におけるポイント加算方法。
  3. 前記第2ポイントの前記第2座標値は、
    “1”であることを特徴とする請求項に記載の二進有限におけるポイント加算方法。
  4. 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作をコンピュータシステム上で実行するためのポイント加算演算方法において、
    プロセッサにより、楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出するステップと、
    プロセッサにより、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出するステップと、
    プロセッサにより、前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断するステップと、
    を含み、
    前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
    前記第2ポイントのZ座標値は、“1”であり、
    前記第1ポイントをP (X ,Z )、前記第2ポイントをP (X ,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X −X )とZ座標値の差(1−Z )とをそれぞれX 及びZ とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP (X ,Z )は、
    Figure 0005336056
    であることを特徴とする二進有限におけるポイント加算方法。
  5. 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
    楕円曲線暗号化システムに適用されることを特徴とする請求項に記載の二進有限におけるポイント加算方法。
  6. 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するためのポイント加算演算装置において、
    楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出する第1座標算出部と、
    前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出する第2座標算出部と、
    前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断する判断部と、
    を備え、
    前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
    前記第1ポイントをP (X ,Z )、前記第2ポイントをP (X ,Z )とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X −X )とZ座標値の差(Z −Z )とをそれぞれX 及びZ とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP (X ,Z )は、
    Figure 0005336056
    であることを特徴とする二進有限におけるポイント加算演算装置。
  7. 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
    楕円曲線暗号化システムに適用されることを特徴とする請求項に記載の二進有限におけるポイント加算演算装置。
  8. 前記第1座標算出部は、
    前記Xと前記Zとを乗算して、第1乗算値(X×Z)として算出する第1乗算器と、
    前記Xと前記Zとを乗算して、第2乗算値(X×Z)として算出する第2乗算器と、
    前記第1乗算値と前記第2乗算値とを加算して、第1加算値(X×Z+X×Z)として算出する第1加算器と、
    前記第1加算値を自乗して、第1自乗値((X×Z+X×Z)として算出する第1自乗器と、
    前記第1自乗値と前記Xとを乗算して、第3乗算値(X×(X×Z+X×Z)として算出する第3乗算器と、
    前記第1乗算値と前記第2乗算値とを乗算して、第4乗算値((X×Z)×(X×Z))として算出する第4乗算器と、
    前記第4乗算値と前記Zとを乗算して、第5乗算値(Z×(X×Z)×(X×Z))として算出する第5乗算器と、
    前記第3乗算値と前記第5乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のX座標値(X)として算出する第2加算器と、を備えることを特徴とする請求項に記載の二進有限におけるポイント加算演算装置。
  9. 前記第1自乗器は、
    前記第1加算値同士乗算することを特徴とする請求項に記載の二進有限におけるポイント加算演算装置。
  10. 前記第2座標算出部は、
    前記Xと前記Zとを乗算して、第21乗算値(X×Z)として算出する第21乗算器と、
    前記Xと前記Zとを乗算して、第22乗算値(X×Z)として算出する第22乗算器と、
    前記第21乗算値と前記第22乗算値とを加算して、第21加算値(X×Z+X×Z)として算出する第21加算器と、
    前記第21加算値を自乗して、第21自乗値((X×Z+X×Z)として算出する第21自乗器と、
    前記第21自乗値と前記Zとを乗算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のZ座標値(Z)として算出する第23乗算器と、を備えることを特徴とする請求項に記載の二進有限におけるポイント加算演算装置。
  11. 前記第21自乗器は、
    前記第21加算値同士乗算することを特徴とする請求項10に記載の二進有限におけるポイント加算演算装置。
  12. 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するためのポイント加算演算装置において、
    楕円曲線上の基本ポイントを利用して設定された第1ポイント及び第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第1座標値を算出する第1座標算出部と、
    前記第1ポイント及び前記第2ポイントについての二進有限における加算演算を行って、前記加算演算の結果の第2座標値を算出する第2座標算出部と、
    前記第1座標値及び前記第2座標値で表される演算結果ポイントに基づいて、暗号化システムに欠陥が流入したか否かを判断する判断部と、
    を備え、
    前記第1座標値は、“X”座標値であり、前記第2座標値は、“Z”座標値であり、
    前記第2ポイントのZ座標値は、“1”であり、
    前記第1ポイントをP (X ,Z )、前記第2ポイントをP (X ,1)とし、前記第1ポイント及び前記第2ポイントのX座標値の差(X −X )とZ座標値の差(1−Z )とをそれぞれX 及びZ とするとき、前記第1ポイント及び前記第2ポイントについての二進有限体における加算演算の結果である演算結果ポイントP (X ,Z )は、
    Figure 0005336056
    であることを特徴とする二進有限におけるポイント加算演算装置。
  13. 前記高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作は、
    楕円曲線暗号化システムに適用されることを特徴とする請求項12に記載の二進有限におけるポイント加算演算装置。
  14. 前記第1座標算出部は、
    前記Xと前記Zとを乗算して、第1乗算値(X×Z)として算出する第1乗算器と、
    前記第1乗算値と前記Xとを加算して、第1加算値(X+X×Z)として算出する第1加算器と、
    前記第1加算値を自乗して、第1自乗値((X+X×Z)として算出する第1自乗器と、
    前記第1自乗値と前記Xとを乗算して、第2乗算値(X×(X+X×Z)として算出する第2乗算器と、
    前記第1乗算値と前記Xとを乗算して、第3乗算値(X×(X×Z))として算出する第3乗算器と、
    前記第3乗算値と前記Zとを乗算して、第4乗算値(Z×X×(X×Z))として算出する第4乗算器と、
    前記第2乗算値と前記第4乗算値とを加算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のX座標値(X)として算出する第2加算器と、を備えることを特徴とする請求項12に記載の二進有限におけるポイント加算演算装置。
  15. 前記第1自乗器は、
    前記第1加算値同士乗算することを特徴とする請求項14に記載の二進有限におけるポイント加算演算装置。
  16. 前記第2座標算出部は、
    前記Xと前記Zとを乗算して、第21乗算値(X×Z)として算出する第21乗算器と、
    前記第21乗算値と前記Xとを加算して、第21加算値(X+X×Z)として算出する第21加算器と、
    前記第21加算値を自乗して、第21自乗値((X+X×Z)として算出する第21自乗器と、
    前記第21自乗値と前記Zとを乗算して、前記第1ポイント及び前記第2ポイントについての二進有限における加算演算の結果のZ座標値(Z)として算出する第23乗算器と、を備えることを特徴とする請求項12に記載の二進有限におけるポイント加算演算装置。
  17. 前記第21自乗器は、
    前記第21加算値同士乗算することを特徴とする請求項16に記載の二進有限におけるポイント加算演算装置。
JP2007198046A 2006-08-04 2007-07-30 高速モンゴメリパワーラダーアルゴリズムを利用する欠陥検出動作を具現するための二進有限体におけるポイント加算方法及び加算演算装置 Expired - Fee Related JP5336056B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법

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