JP2005258228A - 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム - Google Patents
暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2005258228A JP2005258228A JP2004071757A JP2004071757A JP2005258228A JP 2005258228 A JP2005258228 A JP 2005258228A JP 2004071757 A JP2004071757 A JP 2004071757A JP 2004071757 A JP2004071757 A JP 2004071757A JP 2005258228 A JP2005258228 A JP 2005258228A
- Authority
- JP
- Japan
- Prior art keywords
- factor
- genus
- processing
- base point
- weight
- 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.)
- Granted
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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】 超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成し、スカラー倍算処理を実行する。本構成により、スカラー倍算処理において実行する演算処理を、種数g=2の超楕円曲線暗号においては、Harley ADDから、演算ステップ数の少ないExHarADD2+1→2の実行ステップに変更し、また、種数g=3の超楕円曲線暗号においては、Harley ADDから演算ステップ数の少ないExHarADD3+2→3、またはExHarADD3+1→3の実行に変更することが可能となり、高速な演算処理が実現される。
【選択図】 図4
Description
y2+h(x)y=f(x)
で定義される。ここで、h(x),f(x)∈Fq[x],f(x)は、は次数2g+1のmonic多項式である。
(U、V)=(x2+u1x+u0、v1x+v0)
として表現することができる。
また、種数(genus)3の任意の被約因子Dはマンホード(Mumford)表現を用いると有限体Fq上の元を係数に持つ3次以下の多項式の組、すなわち、
(U、V)=(x3+u2x2+u1x+u0、v2x2+v1x+v0)
として表現できる。
[1]加算処理(2倍算を含む)
[2]スカラー倍算処理
[3]ベースポイント生成処理
の各処理について説明する。
なお、以下、本明細書において、因子Dは、特に断りがない限り被約因子(reduced divisor)であるものとする。すなわち、ウェイト(weight)が種数g以下である半被約因子としての被約因子(reduced divisor)であるものとする。
まず、超楕円曲線における加算アルゴリズムについて説明する。
因子のスカラー倍算は加算アルゴリズムと呼ばれる因子の加算と2倍算の組み合わせで計算することができる。以下ではこれまでに知られている加算アルゴリズムについて説明する。
(1)weight2+weight2
(2)weight2+weight1
(3)例外処理1
の場合分けが行なわれる。
(1a)HarleyADD、
すなわちハーレーアルゴリズムに従った加算処理を行う。(1a)HarleyADDの処理は例えば非特許文献7に示されているMost Frequent Caseと呼ばれる処理である。このMost Frequent Caseは、種数2の場合の因子の加算D1+D2処理において、高確率で発生するケースである。
(1b)例外処理2を行う。
(2a)ExHarADD2+1→2を実行し、
gcd(U1、U2)=1を満足しない場合には、
(2b)例外処理3を行う。
(4)weight2、
(5)weight1、
(6)weight0、
によってそれぞれ異なる処理を行う。
(1)weight3+weight3
(2)weight3+weight2
(3)weight3+weight1
(4)例外処理7
の場合分けが行なわれる。
(1a)HarleyADD
を実行する。これが種数3の加算処理における最も高確率で発生するケース、すなわち、Most Frequent Caseである。
(2a)ExHarADD3+2→3、
を実行する。
最大公約数gcd(U1、U2)=1を満足しない場合は、
(2b)例外処理9
を実行する。
(3a)ExHarADD3+1→3、
を実行する。
最大公約数gcd(U1、U2)=1を満足しない場合は、
(3b)例外処理10
を実行する。
(4)weight3、
(5)weight2、
(6)weight1、
(7)weight0、
によってそれぞれ異なる処理を行う。
HarleyADD、
HarleyDBL
だけを実装し、その他の確率的にほとんど起こらない複雑な例外処理についての演算を実行しない実装とする場合も多い。この場合、例外処理については、weightの場合分けが必要のないCantorのアルゴリズムを実行する構成とするなどの方法が適用される。種数が高くなるほど複雑な例外処理の負担は増すため、非特許文献9,10ではこの実装方法について説明している。
次に超楕円曲線暗号(HECC)アルゴリズムにおける因子のスカラー倍算について説明する。
(dl−1、・・・・・、d0)、dl−1=1、dl−2,・・・,0=1or0とする。
スカラー倍算の計算を暗号技術で用いる場合、入力に必要な因子D0は、
(1)事前に決めた因子の場合、
(2)事前に決められないランダムに発生する因子の場合、
の2つのタイプに分けることができる。
一般的なベースポイントの生成アルゴリズムを以下に示す。
(a)
定義体Fq上の元をランダムにg個選び、g個の超楕円曲線上の点Pi(i=1、…、g)を生成する。
(a1) ランダムに選んだ各元をx座標xi(i=1…g)とし、次に超楕円曲線上に乗るようにxiに対応するy座標を求める。
(b)
ベースポイントの因子をD0=(U(x)、V(x))とする。
(b1)U(x)=(x−x1)(x−x2)…(x−xg)
(b2)V(x)=vg−1xg−1+vg−2xg−2+…+v0の係数viを決定する。例えば生成した点が全て異なる場合、V(xi)=yiよりviを求めることができる。
(c) 上記アルゴリズムにより生成される因子はweight gの因子となる。
N.Koblitz. Hyperelliptic curve cryptosystems. J.Cryptology, vol.1,No.3, pp.139-150, 1989. D.G.Cantor. Computing in the Jacobian of hyperelliptic curve. Math. Comp., Vol.48, No. 177, pp.95-101, 1987 「D. Mumford, Tata lectures on theta II, Progress in Mathematics, no. 43, Birkhauser, 1984.」 K.Matsuo, J.Chao, and S.Tsujii. Fast Genus two hyperelliptic curve cryptosystems. Technical Report ISEC2001-31, IEICE Japan, 2001. M.Takahashi. Improving Harley algorithms for Jacobians of genus 2 hyperelliptic curves. SCIS2002. (Japanese). T.Lange. Inversion-free arithmetic on genus 2 hyperelliptic curves. Cryptology ePrint Archive, 2002/147, IACR, 2002. T.Sugizaki, K.Matsuo, J.Chao, and S.Tsujii. An extension of Harley addition algtorithm for hyperelliptic curves over finite fields of characteristic two. ISEC2002-9, IEICE, 2001 T.Lange, Efficient arithmetic on genus 2 hyperelliptic curves over finite fields via explicit formulae. Cryptology ePrint Archive, 2002/121, IACR, 2002. J.Kuroki, M.Gonda, K.Masuo, J.Chao and S.Tsujii. Fast genus three hyperellipitc curve cryptosystems. SCIS2002 J.Pelzl, T.Wollinger, J. Guajardo, and C. Paar. Hyperelliptic curve Cryptosystems: Closing the Performance Gap to Elliptic Curves. Cryptology ePrint Archive, 2003/026, IACR, 2003. Y.Miyamoto, H.Doi, K.Matsuo, J.Chao and S.Tsujii. A fast addition algorithm of genus two hyperelliptic curves. SCIS2002. (Japanese). N.Takahashi, H.Morimoto and A.Miyaji. Efficient exponentiation on genus two hyperelliptic curves (II). ISEC2002-145, IEICE, 2003. (Japanese) T.Lange. Weighed coordinate on genus 2 hyperellipitc curve. Cryptology ePrint Archive, 2002/153, IACR, 2002. N. Nagao. Improving group law algorithms for Jacobians of hyperelliptic curves. ANTS-IV, LNCS 1838, pp.439-448, Springer-Verlag, 2000. C. Kocher, Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems, CRYPTO'96, LNCS 1109, pp.104-113, 1996 C. Kocher, J. Jaffe, and B. Jun, Differential Power Analysis, CRYPTO '99, LNCS 1666, pp.388-397, Springer-Verlag, 1999 J.-S. Coron, Resistance against Differential Power Analysis for Elliptic Curve Cryptosystems, CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999
超楕円曲線暗号に基づく暗号処理演算を実行する暗号処理演算方法であり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成するベースポイント生成ステップと、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理ステップと、
を有することを特徴とする暗号処理演算方法にある。
U(x)=(x−x1)(x−x2)…(x−xg0)
V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定し、ベースポイントの因子:D0=(U(x)、V(x))を決定するステップと、
を含むステップであることを特徴とする。
超楕円曲線暗号に基づく暗号処理演算を実行する暗号処理装置であり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成するベースポイント生成手段と、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理手段と、
を有することを特徴とする暗号処理装置にある。
U(x)=(x−x1)(x−x2)…(x−xg0)
V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定し、ベースポイントの因子:D0=(U(x)、V(x))を決定する処理を実行する構成であることを特徴とする。
超楕円曲線暗号に基づく暗号処理演算を実行するコンピュータ・プログラムであり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)となる因子をベースポイントとして生成するベースポイント生成ステップと、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
1.本発明の概要について
2.ベースポイント生成アルゴリズムについて
3.演算処理の詳細
4.暗号処理装置の機能構成について
5.電子署名生成および検証アルゴリズムにおける本発明の適用例
6.暗号処理装置のハードウェア構成例
前述したように、楕円曲線暗号を一般化した超楕円曲線暗号(HECC:Hyper Elliptic Curve Cryptography)についての高速化演算手法についての研究が盛んに行なわれている。超楕円曲線では曲線を特徴づける値は種数(genus)gである。pを素数、nを正の整数、q=pnとする。このとき有限体Fq上で定義される種数gの超楕円曲線Cは以下の方程式、
y2+h(x)y=f(x)
で定義される。ここで、h(x),f(x)∈Fq[x],f(x)は、は次数2g+1のmonic多項式である。
(U、V)=(x2+u1x+u0、v1x+v0)
として表現することができる。
また、種数(genus)3の任意の被約因子Dはマンホード(Mumford)表現を用いると有限体Fq上の元を係数に持つ3次以下の多項式の組、すなわち、
(U、V)=(x3+u2x2+u1x+u0、v2x2+v1x+v0)
として表現できる。
(1)事前に決めた因子の場合、
(2)事前に決められないランダムに発生する因子の場合、
の2つのタイプに分けることができる。
ここで(1)事前に決めた因子を適用する場合、この入力因子がベースポイントとなる。
(a) 定義体Fq上の元をランダムにg個選び、g個の超楕円曲線上の点Pi(i=1、…、g)を生成する。
(a1) ランダムに選んだ各元をx座標xi(i=1…g)とし、次に超楕円曲線上に乗るようにxiに対応するy座標を求める。
(b) ベースポイントの因子をD0=(U(x)、V(x))とする。
(b1)U(x)=(x−x1)(x−x2)…(x−xg)
(b2)V(x)=vg−1xg−1+vg−2xg−2+…+v0の係数viを決定する。例えば生成した点が全て異なる場合、V(xi)=yiよりviを求めることができる。
(c) 上記アルゴリズムにより生成される因子はweight gの因子となる。
すなわち、種数gの超楕円曲線におけるベースポイントを、
g0<g
が成立するウェイト(weight)=g0の因子に設定する。このベースポイント設定により、超楕円曲線暗号におけるスカラー倍算を高速化させる。
以下、種数gの超楕円曲線において、ウェイト(weight)がgより小さいウェイト(weight)=g0である因子をベースポイントとして生成するアルゴリズムについて説明する。
定義体としての有限体Fq上の元をランダムにg0個選び、g0個の超楕円曲線上の点Pi(i=1、…、g0)を生成する。
(1)ランダムに選んだ各元をx座標xi(i=1…g0)とし、次に超楕円曲線上に乗るようにxiに対応するy座標を求める。
ベースポイントの因子をD0=(U(x)、V(x))とする。
(1)U(x)=(x−x1)(x−x2)…(x−xg0)
(2)V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定する。例えば生成した点が全て異なる場合、V(xi)=yi(i=1…g0)よりviを求めることができる。
図3を参照して説明したアルゴリズムを適用して、種数gの超楕円曲線において、gより小さいウェイト(weight)=g0である因子をベースポイントとして生成した場合、この因子を適用して実行するスカラー倍算では、スカラー倍算実行アルゴリズム中で用いる加算公式が、従来の種数gに等しいウェイトを持つベースポイントを適用した場合とは異なってくる。
(1a)HarleyADD、
に従った加算処理を行う。これが、Most Frequent Caseと呼ばれる処理であり、多くの場合、このアルゴリズムに従った加算処理、すなわち、(1a)HarleyADDが実行されることになる。
(2a)ExHarADD2+1→2を実行し、
gcd(U1、U2)=1を満足しない場合には、
(2b)例外処理3を行う。
(1a)HarleyADD、
すなわちハーレーアルゴリズムに従った加算処理を行う。これが、Most Frequent Caseと呼ばれる処理であり、多くの場合、ハーレーアルゴリズムに従った加算処理、すなわち、(1a)HarleyADDが実行されることになる。
(2a)ExHarADD3+2→3、または、
(3a)ExHarADD3+1→3を実行し、
gcd(U1、U2)=1を満足しない場合には、
例外処理9,10を行う。
(2a)ExHarADD2+1→2を実行し、
gcd(U1、U2)=1を満足しない場合には、
(2b)例外処理3を行う。
(2a)ExHarADD2+1→2を実行することになる。
{1/2(HarleyADDの計算量−ExHarADD2+1→2の計算量)}/(1/2HarleyADDの計算量+HarleyDBLの計算量)
で与えられる。
(HarleyADDの計算量−ExHarADD2+1→2計算量)/(HarleyADDの計算量+HarleyDBLの計算量)
で与えられる。
ExHarADD2+1→2の計算量=I+11M
HarleyADDの計算量=I+25M
HarleyDBLの計算量=I+27M
の各計算量を代入し演算削減率を求める。
(2a)ExHarADD3+2→3、または、
(3a)ExHarADD3+1→3を実行し、
gcd(U1、U2)=1を満足しない場合には、
(2b)または(3b)例外処理を行う。
(2a)ExHarADD3+2→3、または、
(3a)ExHarADD3+1→3を実行することになる。
{1/2(HarleyADDの計算量−ExHarADD3+1→3 もしくはExHarADD3+2→3の計算量)}/(1/2HarleyADDの計算量+HarleyDBLの計算量)
で与えられる。
(HarleyADDの計算量−ExHarADD3+1→3もしくはExHarADD3+2→3計算量)/(HarleyADDの計算量+HarleyDBLの計算量)
で与えられる。
ExHarADD3+1→3の計算量=I+21M
ExHarADD3+2→3の計算量=I+52M
HarleyADDの計算量=I+78M
HarleyDBLの計算量=I+81M
の各計算量を代入し演算削減率を求める。
(2a)ExHarADD3+1→3の計算
および、種数3の場合の加算アルゴリズムにおける図4(B)の
(2a)ExHarADD3+2→3の計算
(3a)ExHarADD3+1→3の計算
を適用したベースポイントの加算処理における乗算回数を削減することができるため、さらに高速化することができる。説明を簡単にするために以下g=2の場合を例に挙げて説明する。
1.D0=(U(x)、V(x))
2.U(x)=x+u0、V(x)=v0
3.(u0、v0)は超楕円曲線C上の任意に選んだ点の座標
Table3 Step3 v21u10 (1M削減)
Table3 Step6 u10u31 (1M削減)
図5に、本発明の暗号処理装置の機能構成を示すブロック図を示す。暗号処理装置100は、超楕円曲線暗号に基づく暗号処理演算を実行する暗号処理装置であり、超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成するベースポイント生成部101と、ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理部102とによって構成される。
U(x)=(x−x1)(x−x2)…(x−xg0)
V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定し、ベースポイントの因子:D0=(U(x)、V(x))を決定する処理を実行する構成である。
以下に本発明の処理を適用可能な具体的な暗号処理アルゴリズムの例として、楕円曲線暗号を適用した電子署名生成および検証アルゴリズムであるECDSA(EC−Digital Signature Algorithm)のスカラー倍算に本発明の演算手法を適用した場合について説明する。IEEE1363によるとECDSAによる署名生成、検証は以下のシーケンスによって実行される。
(1−1)楕円曲線のドメインパラメータ及びベースポイントG(位数r)
(1−2)署名者の秘密鍵s
(1−3)平文M
(2)鍵生成
(2−1)秘密鍵sに対してW=sGを公開鍵とする
(3)署名生成
(3−1)ランダムな整数0<u<rを生成
(3−2)V=uG=(xv、yv)を計算
(3−3)xvを整数に変換し、iとする
(3−4)c=i mod rを計算。c=0ならstep3−1へ
(3−5)f=h(M)、hはhash関数
(3−6)d=u−1(f+sc)mod rを計算。d=0ならstep3−1へ
(3−7)(c、d)を平文Mに対する署名にする。
(4)署名検証
(4−1)0<c<r、0<d<rをチェック。該当しない場合invalidを出力
(4−2)h=d−1mod r、h1=fh mod r、h2=ch mod rを計算。
(4−3)P=(xp、yp)=h1G+h2Wを計算。P=Oならばinvalidを出力
(4−4)xpを整数に変換し、iとする。
(4−5)c'=i mod rを計算する。
(4−6)c'=cならばvalidを出力。そうでないならばinvalidを出力。
(2−1)秘密鍵sに対してW=sGを公開鍵とする
(3−2)V=uG=(xv、yv)を計算
(4−3)P=(xp、yp)=h1G+h2Wを計算。P=Oならばinvalidを出力
最後に、上述の暗号処理を実行するデバイスとしてのICモジュール200の構成例を図6に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図6に示すICモジュール200は、これら様々な機器に構成することが可能である。
101 ベースポイント生成部
102 演算処理部
200 ICモジュール
201 CPU(Central processing Unit)
202 メモリ
203 暗号処理部
204 乱数発生器
205 送受信部
Claims (21)
- 超楕円曲線暗号に基づく暗号処理演算を実行する暗号処理演算方法であり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成するベースポイント生成ステップと、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理ステップと、
を有することを特徴とする暗号処理演算方法。 - 前記ベースポイント生成ステップは、
定義体としての有限体Fq上の元をランダムにg0個選び、g0個の超楕円曲線上の点Pi(i=1、…、g0)を生成するステップと、
U(x)=(x−x1)(x−x2)…(x−xg0)
V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定し、ベースポイントの因子:D0=(U(x)、V(x))を決定するステップと、
を含むステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記ベースポイント生成ステップは、
超楕円曲線の種数g(genus)=2である場合、ウェイト(weight)1となる因子をベースポイントとして生成するステップであり、
前記演算処理ステップは、
因子の加算処理として、ウェイト(weight)1の因子+ウェイト(weight)2の因子の加算処理を実行するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記演算処理ステップは、
加算演算処理アルゴリズム:ExHarADD2+1→2を実行するステップを含むことを特徴とする請求項3に記載の暗号処理演算方法。 - 前記ベースポイント生成ステップは、
超楕円曲線の種数g(genus)=3である場合、ウェイト(weight)1もしくは2となる因子をベースポイントとして生成するステップであり、
前記演算処理ステップは、
因子の加算処理として、ウェイト(weight)1の因子+ウェイト(weight)3の因子の加算処理、またはウェイト(weight)2の因子+ウェイト(weight)3の因子の加算処理を実行するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記演算処理ステップは、
加算演算処理アルゴリズム:ExHarADD3+2→3、または、加算演算処理アルゴリズム:ExHarADD3+1→3、の少なくともいずれかの加算演算処理アルゴリズムを実行するステップを含むことを特徴とする請求項5に記載の暗号処理演算方法。 - 前記ベースポイント生成ステップは、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子のうち、因子のMumford表現の多項式の係数が少なくとも一つ以上0または1である因子をベースポイントとして生成するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記演算処理ステップは、
Harleyのアルゴリズムに従った加算アルゴリズムを含む演算処理を実行するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記演算処理ステップは、
binary法またはdouble−and−add−always法の少なくともいずれかのスカラー倍算アルゴリズムに従った演算を実行するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 前記演算処理ステップは、
Cantorのアルゴリズムに従った加算アルゴリズムを含む演算を実行するステップであることを特徴とする請求項1に記載の暗号処理演算方法。 - 超楕円曲線暗号に基づく暗号処理演算を実行する暗号処理装置であり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子をベースポイントとして生成するベースポイント生成手段と、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理手段と、
を有することを特徴とする暗号処理装置。 - 前記ベースポイント生成手段は、
定義体としての有限体Fq上の元をランダムにg0個選び、g0個の超楕円曲線上の点Pi(i=1、…、g0)を生成し、
U(x)=(x−x1)(x−x2)…(x−xg0)
V(x)=vg0−1xg0−1+vg0−2xg0−2+…+v0の係数viを決定し、ベースポイントの因子:D0=(U(x)、V(x))を決定する処理を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 前記ベースポイント生成手段は、
超楕円曲線の種数g(genus)=2である場合、ウェイト(weight)1となる因子をベースポイントとして生成する構成であり、
前記演算処理手段は、
因子の加算処理として、ウェイト(weight)1の因子+ウェイト(weight)2の因子の加算処理を実行する構成を有することを特徴とする請求項11に記載の暗号処理装置。 - 前記演算処理手段は、
加算演算処理アルゴリズム:ExHarADD2+1→2を実行する構成であることを特徴とする請求項13に記載の暗号処理装置。 - 前記ベースポイント生成手段は、
超楕円曲線の種数g(genus)=3である場合、ウェイト(weight)1もしくは2となる因子をベースポイントとして生成し、
前記演算処理手段は、
因子の加算処理として、ウェイト(weight)1の因子+ウェイト(weight)3の因子の加算処理、またはウェイト(weight)2の因子+ウェイト(weight)3の因子の加算処理を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 前記演算処理手段は、
加算演算処理アルゴリズム:ExHarADD3+2→3、または、加算演算処理アルゴリズム:ExHarADD3+1→3、の少なくともいずれかの加算演算処理アルゴリズムを実行する構成であることを特徴とする請求項15に記載の暗号処理装置。 - 前記ベースポイント生成手段は、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)の因子のうち、因子のMumford表現の多項式の係数が少なくとも一つ以上0または1である因子をベースポイントとして生成する処理を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 前記演算処理手段は、
Harleyのアルゴリズムに従った加算アルゴリズムを含む演算処理を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 前記演算処理手段は、
binary法またはdouble−and−add−always法の少なくともいずれかのスカラー倍算アルゴリズムに従った演算を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 前記演算処理手段は、
Cantorのアルゴリズムに従った加算アルゴリズムを含む演算を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。 - 超楕円曲線暗号に基づく暗号処理演算を実行するコンピュータ・プログラムであり、
超楕円曲線の種数g(genus)より小さいウェイト(weight)g0(ただし、1≦g0<g)となる因子をベースポイントとして生成するベースポイント生成ステップと、
前記ベースポイントとしての因子を含む因子のスカラー倍算処理を実行する演算処理ステップと、
を有することを特徴とするコンピュータ・プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071757A JP4599859B2 (ja) | 2004-03-12 | 2004-03-12 | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム |
US11/065,941 US7697683B2 (en) | 2004-03-12 | 2005-02-25 | Cryptography-processing method, cryptography-processing apparatus and computer program |
DE602005003252T DE602005003252T2 (de) | 2004-03-12 | 2005-03-04 | Einrichtung, Verfahren und Computerprogramm zur kryptographischen Verarbeitung |
EP05004832A EP1578054B1 (en) | 2004-03-12 | 2005-03-04 | Cryptography-processing method, cryptography-processing apparatus and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071757A JP4599859B2 (ja) | 2004-03-12 | 2004-03-12 | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005258228A true JP2005258228A (ja) | 2005-09-22 |
JP4599859B2 JP4599859B2 (ja) | 2010-12-15 |
Family
ID=34836481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004071757A Expired - Fee Related JP4599859B2 (ja) | 2004-03-12 | 2004-03-12 | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7697683B2 (ja) |
EP (1) | EP1578054B1 (ja) |
JP (1) | JP4599859B2 (ja) |
DE (1) | DE602005003252T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007080825A1 (ja) | 2006-01-16 | 2007-07-19 | Sony Corporation | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007187958A (ja) * | 2006-01-16 | 2007-07-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007048430A1 (en) * | 2005-10-28 | 2007-05-03 | Telecom Italia S.P.A. | A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems |
CN101911582B (zh) * | 2008-01-18 | 2012-09-05 | 三菱电机株式会社 | 密码参数设定装置、密钥生成装置、密码系统、密码参数设定方法和密钥生成方法 |
US8520841B2 (en) * | 2008-05-22 | 2013-08-27 | Microsoft Corporation | Algorithms for generating parameters for genus 2 hyperelliptic curve cryptography |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216028A (ja) * | 2002-01-24 | 2003-07-30 | Hitachi Ltd | 超楕円曲線暗号のための演算装置 |
JP2006145945A (ja) * | 2004-11-22 | 2006-06-08 | Sony Corp | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム |
-
2004
- 2004-03-12 JP JP2004071757A patent/JP4599859B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-25 US US11/065,941 patent/US7697683B2/en not_active Expired - Fee Related
- 2005-03-04 EP EP05004832A patent/EP1578054B1/en not_active Expired - Fee Related
- 2005-03-04 DE DE602005003252T patent/DE602005003252T2/de active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216028A (ja) * | 2002-01-24 | 2003-07-30 | Hitachi Ltd | 超楕円曲線暗号のための演算装置 |
JP2006145945A (ja) * | 2004-11-22 | 2006-06-08 | Sony Corp | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007080825A1 (ja) | 2006-01-16 | 2007-07-19 | Sony Corporation | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007187957A (ja) * | 2006-01-16 | 2007-07-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007187958A (ja) * | 2006-01-16 | 2007-07-26 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4513752B2 (ja) * | 2006-01-16 | 2010-07-28 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
CN101371285B (zh) * | 2006-01-16 | 2010-09-08 | 索尼株式会社 | 加密处理装置、加密处理方法 |
JP4682852B2 (ja) * | 2006-01-16 | 2011-05-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
DE602005003252T2 (de) | 2008-09-11 |
US20050201553A1 (en) | 2005-09-15 |
EP1578054A1 (en) | 2005-09-21 |
DE602005003252D1 (de) | 2007-12-27 |
EP1578054B1 (en) | 2007-11-14 |
US7697683B2 (en) | 2010-04-13 |
JP4599859B2 (ja) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101154695B1 (ko) | 암호 처리 연산 장치 | |
JP4752313B2 (ja) | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム | |
Naehrig et al. | New software speed records for cryptographic pairings | |
Naehrig et al. | Dual isogenies and their application to public-key compression for isogeny-based cryptography | |
Koziel et al. | Low-resource and fast binary edwards curves cryptography | |
US7835517B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
JP4513752B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
Subramanya Rao | Three dimensional Montgomery ladder, differential point tripling on Montgomery curves and point quintupling on Weierstrass’ and Edwards curves | |
WO2009118795A1 (ja) | サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法 | |
EP1578054B1 (en) | Cryptography-processing method, cryptography-processing apparatus and computer program | |
US7177422B2 (en) | Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program | |
KR101223498B1 (ko) | 타원 곡선 암호 방식에서 공개키를 생성하는 방법 및 상기방법을 수행하는 시스템 | |
JP2004163687A (ja) | 楕円曲線暗号装置、楕円曲線暗号プログラム | |
Clancy et al. | FPGA-based hyperelliptic curve cryptosystems | |
Al-Somani | Overlapped parallel computations of scalar multiplication with resistance against Side Channel Attacks | |
Al-Somani et al. | High performance elliptic curve scalar multiplication with resistance against power analysis attacks | |
JP2003228285A (ja) | 楕円曲線スカラ倍演算装置 | |
Al-Somani | Performance Evaluation of Elliptic Curve Projective Coordinates with Parallel GF (p) Field Operations and Side-Channel Atomicity. | |
JP2008020757A (ja) | 暗号処理装置、および暗号処理演算方法、並びにコンピュータ・プログラム | |
JP2011085750A (ja) | 楕円曲線スカラー倍算装置 | |
Gebotys et al. | Elliptic Curve Protocols | |
JP2005043637A (ja) | 暗号処理装置、および暗号処理演算方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100811 |
|
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: 20100831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100913 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |