JP2009042787A - 楕円曲線上の有限体演算の加速方法 - Google Patents
楕円曲線上の有限体演算の加速方法 Download PDFInfo
- Publication number
- JP2009042787A JP2009042787A JP2008284464A JP2008284464A JP2009042787A JP 2009042787 A JP2009042787 A JP 2009042787A JP 2008284464 A JP2008284464 A JP 2008284464A JP 2008284464 A JP2008284464 A JP 2008284464A JP 2009042787 A JP2009042787 A JP 2009042787A
- Authority
- JP
- Japan
- Prior art keywords
- point
- points
- coordinate
- pair
- calculated
- 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
Abstract
【解決手段】体F2M上で定義された楕円曲線上の点Pの整数倍を決定する方法が提供され、この方法は、a)数kをバイナリ・デジットkiのベクトルとして表すステップと、b)最大でPだけ異なっている点P1及びP2の対を形成するステップと、c)前記kiのそれぞれを選択し、前記kiのそれぞれに対して、kiが1であるときには、点P1及びP2の対を加算して新たな点P1を形成し、点PをP1に加算して新たな点P2を形成し、新たな点を用いて、点P1及びP2の対と交換し、kiがゼロであるときには、前記点P1を2倍して新たな点P1を形成し、点Pを加算して新たな点P2を形成し、新たな点を用いて、点P1及びP2の対と交換し、それによって、積kPが、Mはkの桁数を表すとして、点P1から、M−1のステップで得られる、ステップと、を含む。
【選択図】図1
Description
広く用いられている署名プロトコルの組では、送り手の秘密鍵を用いてメッセージに署名するエルガマル公開鍵署名方式を用いている。この場合、受け手は、送り手の公開鍵を用いて署名を確認することができる。
Fqが有限体であれば、Fq上の楕円曲線は、2つのクラスに分類される。すなわち、超特異(supersingular)な曲線と、非超特異(non-supersingular)な曲線とに分けられる。Fqが標数2である、すなわち、q=2Mである場合には、これらのクラスは、次のように定義される。
QがEに属し、Qと−Pとが異なる場合には、P+Qという和を表す点は、(x3,y3)と表される。ここで、x3及びy3は、次の通りである。
PがEに属する場合には、Eに属するすべてのEに対して、−P=(x1,y1+x1)、P+O=O+P=Pと定義する。
本発明の別の目的は、有限体の元を乗算する方法を提供することであり、スマート・カードなどのように、限定的な計算能力しか有していないプロセッサ上でも比較的効率的に実現できる方法を提供することである。
a)数kをバイナリ・デジットkiのベクトルとして表すステップと、
b)最大でPだけ異なっている点P1及びP2の対を形成するステップと、
c)前記kiのそれぞれを選択し、前記kiのそれぞれに対して、
kiが1であるときには、点P1及びP2の対を加算して新たな点P1を形成し、点PをP1に加算して新たな点P2を形成し、新たな点を用いて、点P1及びP2の対と交換し、
kiがゼロであるときには、前記点P1を2倍して新たな点P1を形成し、点Pを加算して新たな点P2を形成し、新たな点を用いて、点P1及びP2の対と交換し、それによって、積kPが、Mはkの桁数を表すとして、点P1から、M−1のステップで得られる、ステップと、
を含んでいる。
図1を参照すると、データ通信システム2は、通信チャネル14を介して接続されている1対の通話者である、送り手10と受け手12とを含む。通話者10、12のそれぞれは、デジタル情報を処理して以下で説明するようにチャネル14を介して伝送する準備をする、暗号化/復号化ユニット16を含む。暗号化/復号化ユニットは、他の機能に加えて、鍵交換プロトコルと暗号化/復号化アルゴリズムとを実現している。
P1=(x1,y1)及びP2=(x2,y2)であり、P1(≠±P2)とP2とが、曲線Eの上の点である場合には、P1+P2=(x3,y3)と定義することができる。ここで、x3は、次のように表される。
[数3]
x3=λ2+λ+x1+x2+a
また、曲線の勾配は、λ=(y2+y1)/(x2+x1)によって与えられる。
[数4]
x4=λ ̄2+λ ̄+x1+x2+a=λ2+x/(x1+x2)2+λ+x2/(x1+x2)+x1+x2+a
また、λ ̄=(y2+x2+y1)/(x2+x1)=x2/(x2+x1)+λである。x3とx4とを加算すると、次の式が得られる。
[数5]
x3+x4=x/(x1+x2)2+x2/(x1+x2)=x1x2/(x1+x2)2
(P1+P2)のx座標であるx3を計算するには、P1、P2、(P1−P2)のx座標だけが必要である。しかし、この計算は、反転演算を必要とするので、最適に効率的ではない。y座標がこの計算において不要であることには注意すべきである。
点P1及びP2の和は、x3によって表現することができ、z3は、x座標に関する比較的費用のかかる反転演算を実行する必要なく得られ、最大で4回の乗法演算と2回の平方演算とを用いて計算できる。残りの加法及び平方演算は、計算能力の観点から、比較的費用がかからない。(x1z2+x2z1)2の項の計算は、括弧の中の値の正規基底の巡回シフトによって得られ、これは、汎用プロセッサが比較的容易に実行できるものである。アルゴリズムの最後には、必要であれば、元の表現に変換によって戻ることもできる。
送り手10は、レジスタ30に曲線のパラメータを有しているので、座標x0と曲線パラメータとを用いて、算術ユニット20から、他方の座標y0の可能性のある値を得る。
算術ユニット20において、yに関して解くことにより、2つの可能性のある値が得られ、情報の送信ビットとの比較によって、どちらの値がyの適切な値であるかが示される。
セッション鍵kPを受け手12に送信する際にも同様の効率が実現できるが、この理由は、送り手10は1つの座標x0と、y0の選択された識別ビットとを送るだけでよいからである。受け手12は、次に、y0の可能な値を再構成して、適切な1つを選択する。
これは、正規基底のF2mのと共に用いるのに特に適している。
上述のように、体の元が正規基底として表されている場合には、体F2mの元のgのベキ乗を作ることは、g重の巡回シフト(g fold cyclic shift)によって達成することができる。
P=(x0,y0)が体F2m上で定義された楕円曲線E:y2+xy=x3+ax2+bの上の点である場合には、x0がゼロである場合には、y0はゼロであると定義される。x0がゼロではない場合には、y0は、体の元y0x0 −1の最下位ビットであると定義される。
1.x0がゼロである場合には、y0は、パラメータ・レジスタ30に記憶されている体の元bのベクトル表現を1つの位置だけ左へ巡回的にシフトさせることによって得られる。すなわち、b=bm−1bm−2・・・b1b0である場合には、y=bm−2・・・b1b0bm−1である。
2.1 体F2 mにおいて、元c=x0+a+bx0 −2を計算する。
2.2 cのベクトル表現をc=cm−1cm−2・・・c1c0とする。
x0 −2の計算は、上述したように、算術ユニット20において容易に行うことができ、y0の計算は、乗算器48から得ることができる。
Claims (14)
- 暗号化/復号化ユニット(16)を動作させ、有限体上で定義された楕円曲線上の点Pのk重の整数倍(k-fold multiple)kPをx座標及びy座標を有する点を用いて決定する方法であって、
(a)Pだけ異なる一対の点に対して2倍及び加算演算を連続的に実行して、一対の点のx座標の値を取得するステップであって、前記一対の点の一方はkPに対応し、他方はkPからPだけ異なる点である[k−1]P又は[k+1]Pのいずれかに対応する、ステップと、
(b)前記一方の点であるkPのx座標であるx’を前記楕円曲線に代入し、前記楕円曲線上の点kPのy座標である値y’を決定するステップと、
(c)前記一方の点であるkPを表す座標x’及びy’を有する点の少なくとも一方を、前記一方の点にPを加算する又は前記一方の点からPを減算することにより変更し、座標x”及びy”を有する変更された点を取得するステップと、
(d)前記変更された点と前記他方の点[k−1]P又は[k+1]Pとを比較し、これらの点が対応するかどうかを判断するステップと、
(e)前記他方の点に対応する座標を有する変更された点を提供するy座標の値を、前記一方の点kPのy座標として決定するステップと、
を含むことを特徴とする方法。 - 請求項1記載の方法において、ステップ(a)は、kの1ビットと1対の点であるdP及び(d+1)Pとを用いて、
前記ビットが0に等しいときには、1対の点である2dP及び(2d+1)Pを計算するステップと、
前記ビットが1に等しいときには、1対の点である(2d+1)P及び(2d+2)Pを計算するステップを、
含むことを特徴とする方法。 - 請求項2記載の方法において、
前記点2dPはdPを2倍することによって計算され、前記点(2d+1)PはPを前記点2dPに加算することによって計算され、
前記点(2d+1)PはdPと(d+1)Pとを加算することによって計算され、前記点(2d+2)PはPを(2d+1)Pに加算することによって計算されることを特徴とする方法。 - 請求項1記載の方法において、前記点Pは前記2倍及び加算演算の間は射影座標を用いて表されることを特徴とする方法。
- 請求項1記載の方法において、前記変更された点と前記他方の点と比較するステップは、前記変更された点と前記他方の点とのx座標を比較するステップを含むことを特徴とする方法。
- 点の整数倍kPから得られるrと秘密鍵と署名されたメッセージとの組合せから得られるsとの署名成分を有するデジタル署名を確認する方法であって、sPの値とeQの値とを計算するステップと、sP−eQを計算するステップと、sP−eQ=rであるかどうかをチェックするステップとを含む、デジタル署名を確認する方法であって、
請求項1ないし請求項5のいずれかの請求項に記載の方法を用いて、sP及びeQの少なくとも一方を計算するステップを含むことを特徴とする方法。 - 請求項1ないし請求項5のいずれかの請求項に記載の方法を用いて前記署名において用いられる点の整数倍を計算することを特徴とする楕円曲線デジタル署名計算方法。
- 暗号化/復号化ユニット(16)を含み、有限体上で定義された楕円曲線上の点Pのk重の整数倍(k-fold multiple)kPをx座標及びy座標を有する点を用いて決定する計算機であって、
(a)Pだけ異なる一対の点に対して2倍及び加算演算を連続的に実行して、一対の点のx座標の値を取得する手段であって、前記一対の点の一方はkPに対応し、他方はkPからPだけ異なる点である[k−1]P又は[k+1]Pのいずれかに対応する、手段と、
(b)前記一方の点であるkPのx座標であるx’を前記楕円曲線に代入し、前記楕円曲線上の点kPのy座標である値y’を決定する手段と、
(c)前記一方の点であるkPを表す座標x’及びy’を有する点の少なくとも一方を、前記一方の点にPを加算する又は前記一方の点からPを減算することにより変更し、座標x”及びy”を有する変更された点を取得する手段と、
(d)前記変更された点と前記他方の点[k−1]P又は[k+1]Pとを比較し、これらの点が対応するかどうかを判断する手段と、
(e)前記他方の点に対応する座標を有する変更された点を提供するy座標の値を、前記一方の点kPのy座標として決定する手段と、
を含むことを特徴とする計算機。 - 請求項8記載の計算機において、前記x座標の値を取得する手段は、kの1ビットと1対の点であるdP及び(d+1)Pとを用いて、
前記ビットが0に等しいときには、1対の点である2dP及び(2d+1)Pを計算し、
前記ビットが1に等しいときには、1対の点である(2d+1)P及び(2d+2)Pを計算することを特徴とする計算機。 - 請求項9記載の計算機において、
前記点2dPはdPを2倍することによって計算され、前記点(2d+1)PはPを前記点2dPに加算することによって計算され、
前記点(2d+1)PはdPと(d+1)Pとを加算することによって計算され、前記点(2d+2)PはPを(2d+1)Pに加算することによって計算されることを特徴とする計算機。 - 請求項8記載の計算機において、前記点Pは射影座標を用いて表されることを特徴とする計算機。
- 請求項8記載の計算機において、前記計算する手段は、前記変更された点と前記他方の点とのx座標を比較するように動作することを特徴とする計算機。
- 請求項8記載の計算機において、
kPのy座標から識別子を取得する手段と、
前記識別子とkPのx座標とを用いてkPを表す手段と、
を更に含むことを特徴とする計算機。 - 請求項13記載の計算機において、前記識別子はkPのy座標の中の単一ビットであることを特徴とする計算機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9713138.7A GB9713138D0 (en) | 1997-06-20 | 1997-06-20 | Accelerated finite field operations on an elliptic curve |
GB9713138.7 | 1997-06-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13175098A Division JP4306829B2 (ja) | 1997-06-20 | 1998-05-14 | 楕円曲線上の有限体演算の加速方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009042787A true JP2009042787A (ja) | 2009-02-26 |
JP2009042787A5 JP2009042787A5 (ja) | 2010-03-25 |
JP4875686B2 JP4875686B2 (ja) | 2012-02-15 |
Family
ID=10814722
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13175098A Expired - Lifetime JP4306829B2 (ja) | 1997-06-20 | 1998-05-14 | 楕円曲線上の有限体演算の加速方法 |
JP2008284464A Expired - Lifetime JP4875686B2 (ja) | 1997-06-20 | 2008-11-05 | 楕円曲線上の有限体演算の加速方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13175098A Expired - Lifetime JP4306829B2 (ja) | 1997-06-20 | 1998-05-14 | 楕円曲線上の有限体演算の加速方法 |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP4306829B2 (ja) |
GB (1) | GB9713138D0 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190041203A (ko) * | 2017-10-12 | 2019-04-22 | 인하대학교 산학협력단 | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2243761C (en) * | 1998-07-21 | 2009-10-06 | Certicom Corp. | Timing attack resistant cryptographic system |
KR20030078350A (ko) * | 2002-03-29 | 2003-10-08 | 박근수 | 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법 |
KR100817048B1 (ko) | 2005-03-05 | 2008-03-26 | 삼성전자주식회사 | 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치 |
KR100850202B1 (ko) | 2006-03-04 | 2008-08-04 | 삼성전자주식회사 | Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0643808A (ja) * | 1992-07-27 | 1994-02-18 | Matsushita Electric Ind Co Ltd | 有限可換群における演算器 |
JPH06110386A (ja) * | 1992-09-28 | 1994-04-22 | Matsushita Electric Ind Co Ltd | 楕円曲線を用いた署名、認証及び秘密通信方式 |
-
1997
- 1997-06-20 GB GBGB9713138.7A patent/GB9713138D0/en active Pending
-
1998
- 1998-05-14 JP JP13175098A patent/JP4306829B2/ja not_active Expired - Lifetime
-
2008
- 2008-11-05 JP JP2008284464A patent/JP4875686B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0643808A (ja) * | 1992-07-27 | 1994-02-18 | Matsushita Electric Ind Co Ltd | 有限可換群における演算器 |
JPH06110386A (ja) * | 1992-09-28 | 1994-04-22 | Matsushita Electric Ind Co Ltd | 楕円曲線を用いた署名、認証及び秘密通信方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190041203A (ko) * | 2017-10-12 | 2019-04-22 | 인하대학교 산학협력단 | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 |
KR102019558B1 (ko) | 2017-10-12 | 2019-09-06 | 인하대학교 산학협력단 | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP4306829B2 (ja) | 2009-08-05 |
JPH11161169A (ja) | 1999-06-18 |
GB9713138D0 (en) | 1997-08-27 |
JP4875686B2 (ja) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6782100B1 (en) | Accelerated finite field operations on an elliptic curve | |
EP0874307B2 (en) | Accelerated finite field operations on an elliptic curve | |
EP0997016B1 (en) | Method and apparatus for fast elliptical encryption with direct embedding | |
US6618483B1 (en) | Elliptic curve encryption systems | |
AU677269B2 (en) | A cryptographic method | |
US7603560B2 (en) | Method and apparatus for digital signature authentication | |
US7961873B2 (en) | Password protocols using XZ-elliptic curve cryptography | |
EP0952697B1 (en) | Elliptic curve encryption method and system | |
JP4875686B2 (ja) | 楕円曲線上の有限体演算の加速方法 | |
JP4598269B2 (ja) | 楕円曲線上の高速有限体演算 | |
JP4462511B2 (ja) | エルガマル・ライクなプロトコルのためのセッション・パラメータ生成方法 | |
JP4502817B2 (ja) | 楕円曲線スカラー倍計算方法および装置 | |
CA2640641C (en) | Public key cryptography utilizing elliptic curves | |
WO2000052877A2 (en) | Method and apparatus for finite field basis conversion | |
CA2711188C (en) | Public key cryptography utilizing elliptic curves | |
Yanik | New methods for finite field arithmetic | |
JP2003513312A (ja) | スカラーによる因子類の乗算のための方法 | |
Multiplications | Efficient Algorithms for Multi-Scalar Multiplications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090302 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111013 |
|
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: 20111031 |
|
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: 20111125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
EXPY | Cancellation because of completion of term |