JP4189828B1 - ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム - Google Patents
ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム Download PDFInfo
- Publication number
- JP4189828B1 JP4189828B1 JP2007282487A JP2007282487A JP4189828B1 JP 4189828 B1 JP4189828 B1 JP 4189828B1 JP 2007282487 A JP2007282487 A JP 2007282487A JP 2007282487 A JP2007282487 A JP 2007282487A JP 4189828 B1 JP4189828 B1 JP 4189828B1
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- value
- cpu
- pairing
- storage means
- 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
-
- 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
- H04L9/3073—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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Processing (AREA)
Abstract
Description
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3による真部分体上で行うこととした。
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することにも特徴を有するものである。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1による真部分体上で行うこととした。
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することにも特徴を有するものである。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q
∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xによる真部分体上で行うこととした。
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することにも特徴を有するものである。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1による真部分体上で行うこととした。
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した
値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを
通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,
yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・l
T',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第4演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、その演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することにも特徴を有するものである。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3を用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、PとQ'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップとを有することとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを代入手段として機能させて、前記s=t−1又は前記tと、PとQ'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算の演算を行う第10ステップと
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップとを有することとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、f←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップとを有することとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力するステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップとを有することとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3を用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させることとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させることとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させることとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記CPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させることとした。
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
11 CPU
12 記憶装置
13 メモリ装置
14 バス
15 入出力制御部
20 電気通信回線
30 クライアント装置
Claims (12)
- 曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq 2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3による真部分体上で行うべく、
前記CPUは、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することを特徴とするペアリング演算装置。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq 3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1による真部分体上で行うべく、
前記CPUは、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することを特徴とするペアリング演算装置。 - 曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq 4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xによる真部分体上で行うべく、
前記CPUは、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することを特徴とするペアリング演算装置。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq 6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段を備え、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fq hを用いて、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1による真部分体上で行うべく、
前記CPUは、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段と、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段と、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段と、
T'←2T'の代入演算を行う第2演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段と、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段と、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段と、
前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算を演算する第5演算手段と、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段と
して機能することを特徴とするペアリング演算装置。 - 曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq 2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3を用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、PとQ'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップと
を有することを特徴とするペアリング演算方法。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq 3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを代入手段として機能させて、前記s=t−1又は前記tと、PとQ'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算の演算を行う第10ステップと
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップと
を有することを特徴とするペアリング演算方法。 - 曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq 4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、f←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップと
を有することを特徴とするペアリング演算方法。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq 6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを前記記憶手段に記憶するステップを有し、
fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを入力手段として機能させて、前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力するステップと、
前記電子計算機のCPUを代入手段として機能させて、前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して入力する第1ステップと、
前記電子計算機のCPUを代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行う第2ステップと、
前記電子計算機のCPUを代入手段として機能させて、初期値設定としてf←1、T'←Q'の代入演算を行う第3ステップと、
前記電子計算機のCPUを第1演算手段として機能させて、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第4ステップと、
前記電子計算機のCPUを第2演算手段として機能させて、T'←2T'の代入演算を行う第5ステップと、
前記電子計算機のCPUを第3演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第6ステップと、
前記電子計算機のCPUを第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第7ステップと、
前記電子計算機のCPUにより、前記第4ステップから前記第5ステップまでの演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算する第8ステップと、
前記第4ステップから前記第7ステップまでの演算結果のfを前記記憶手段に記憶する第9ステップと、
前記電子計算機のCPUを第5演算手段として機能させて、前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算の演算を行う第10ステップと、
前記電子計算機のCPUにより、第10ステップによる演算結果をペアリング演算の結果として前記記憶手段に記憶する第11ステップと
を有することを特徴とするペアリング演算方法。 - 曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq 2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 2h/(F* q 2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記
憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1 の値と、v -3/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-2x+bv-3を用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1 の値と、前記v -3/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1、m←yPv-3/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q2h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させるためのペアリング演算プログラム。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq 3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 3h/(F* q 3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1を用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q3h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させるためのペアリング演算プログラム。 - 曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq 4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 4h/(F* q 4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/2 の値と、v -3/4 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記電子計算機のCPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/2 の値と、前記v -3/4 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/2、m←yPv-3/4の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-3/4をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-3/4をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q4h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させるためのペアリング演算プログラム。 - 曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq 6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
G1=E[r]∩Ker(φq−[1])
G2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F* q 6h/(F* q 6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
前記電子計算機の記憶手段を、前記s=t−1又は前記tと、P∈E(F q )であるPと、Q'∈E'(F q h )であるQ'と、v -1/3 の値と、v -1/2 の値とを記憶する記憶手段として機能させ、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fq h、E(Fq h)のツイスト曲線E'(Fq h):y2=x3+av-1xを用いて、
前記CPUを、
前記s=t−1又は前記tと、Pと、Q'とを前記記憶手段から読み出して入力する入力手段、
前記v -1/3 の値と、前記v -1/2 の値とを前記記憶手段から読み出して、有理点Pの座標(xP,yP)に対して、n←xPv-1/3、m←yPv-1/2の代入演算を行うとともに、初期値設定としてf←1、T'←Q'の代入演算を行う代入手段、
有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)を演算する代わりに、lT,T(xP,yP)v-1/2をlT',T'(n,m)で演算して、f←f2・lT',T'(n,m)の代入演算を行う第1演算手段、
T'←2T'の代入演算を行う第2演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)を演算する代わりに、lT,Q(xP,yP)v-1/2をlT',Q'(n,m)で演算して、f←f・lT',Q'(n,m)の代入演算を行う第3演算手段、
前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行う第4演算手段、
前記第1演算手段から前記第2演算手段までの演算手段による演算を行なう毎に前記sを2進数表示とした場合の所定のビットの値を1ずつ減算するとともに、前記第1演算手段から前記第4演算手段までの演算手段による演算結果のfを前記記憶手段に記憶する手段、
前記記憶手段に記憶したfを用いて(q6h−1)/r乗のべき乗算の演算を行う第5演算手段、
前記第5演算手段による演算結果をペアリング演算の結果として前記記憶手段に記憶する手段
として機能させるためのペアリング演算プログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007282487A JP4189828B1 (ja) | 2007-10-30 | 2007-10-30 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
CN200880114080.6A CN101842824B (zh) | 2007-10-30 | 2008-10-29 | 配对计算装置、配对计算方法 |
US12/740,587 US8238550B2 (en) | 2007-10-30 | 2008-10-29 | Pairing computation device, pairing computation method and recording medium recording pairing computation program |
KR1020107011866A KR20100094487A (ko) | 2007-10-30 | 2008-10-29 | 페어링 연산 장치, 페어링 연산 방법, 및 페어링 연산 프로그램을 기록한 기록 매체 |
EP08843368A EP2216767A1 (en) | 2007-10-30 | 2008-10-29 | Pairing computation device, pairing computation method, and recording medium where pairing computation program is recorded |
PCT/JP2008/069683 WO2009057656A1 (ja) | 2007-10-30 | 2008-10-29 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007282487A JP4189828B1 (ja) | 2007-10-30 | 2007-10-30 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008226527A Division JP5168649B2 (ja) | 2008-09-03 | 2008-09-03 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4189828B1 true JP4189828B1 (ja) | 2008-12-03 |
JP2009109772A JP2009109772A (ja) | 2009-05-21 |
Family
ID=40174672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007282487A Expired - Fee Related JP4189828B1 (ja) | 2007-10-30 | 2007-10-30 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US8238550B2 (ja) |
EP (1) | EP2216767A1 (ja) |
JP (1) | JP4189828B1 (ja) |
KR (1) | KR20100094487A (ja) |
CN (1) | CN101842824B (ja) |
WO (1) | WO2009057656A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120014254A (ko) * | 2009-04-21 | 2012-02-16 | 고꾸리츠 다이가꾸 호우징 오까야마 다이가꾸 | 페어링 연산 장치, 페어링 연산 방법, 및 페어링 연산 프로그램을 기록한 기록 매체 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169658A1 (en) * | 2008-12-30 | 2010-07-01 | Lahouari Ghouti | Elliptic curve-based message authentication code |
US8705740B2 (en) | 2008-12-30 | 2014-04-22 | King Fahd University Of Petroleum And Minerals | Elliptic curve-based message authentication code system and method |
WO2012046805A1 (ja) * | 2010-10-08 | 2012-04-12 | 国立大学法人岡山大学 | 有理点情報圧縮装置、有理点情報圧縮方法及び有理点情報圧縮プログラム |
JP2015022167A (ja) * | 2013-07-19 | 2015-02-02 | 株式会社東芝 | ペアリング演算装置、方法およびプログラム |
JP6610277B2 (ja) * | 2016-01-15 | 2019-11-27 | 富士通株式会社 | 共有鍵生成プログラム、共有鍵生成方法および情報処理端末 |
WO2018135511A1 (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005316267A (ja) | 2004-04-30 | 2005-11-10 | Hitachi Ltd | 楕円曲線ペアリング演算装置 |
CN101031944A (zh) * | 2004-09-30 | 2007-09-05 | 索尼株式会社 | 加密计算方法、加密系统和计算机程序 |
-
2007
- 2007-10-30 JP JP2007282487A patent/JP4189828B1/ja not_active Expired - Fee Related
-
2008
- 2008-10-29 US US12/740,587 patent/US8238550B2/en not_active Expired - Fee Related
- 2008-10-29 WO PCT/JP2008/069683 patent/WO2009057656A1/ja active Application Filing
- 2008-10-29 EP EP08843368A patent/EP2216767A1/en not_active Withdrawn
- 2008-10-29 KR KR1020107011866A patent/KR20100094487A/ko not_active Application Discontinuation
- 2008-10-29 CN CN200880114080.6A patent/CN101842824B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120014254A (ko) * | 2009-04-21 | 2012-02-16 | 고꾸리츠 다이가꾸 호우징 오까야마 다이가꾸 | 페어링 연산 장치, 페어링 연산 방법, 및 페어링 연산 프로그램을 기록한 기록 매체 |
CN102405469A (zh) * | 2009-04-21 | 2012-04-04 | 国立大学法人冈山大学 | 配对运算装置、配对运算方法以及记录有配对运算程序的记录介质 |
KR101633148B1 (ko) | 2009-04-21 | 2016-06-23 | 고꾸리츠 다이가꾸 호우징 오까야마 다이가꾸 | 페어링 연산 장치, 페어링 연산 방법, 및 페어링 연산 프로그램을 기록한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
KR20100094487A (ko) | 2010-08-26 |
US20100260333A1 (en) | 2010-10-14 |
CN101842824B (zh) | 2013-03-27 |
US8238550B2 (en) | 2012-08-07 |
JP2009109772A (ja) | 2009-05-21 |
CN101842824A (zh) | 2010-09-22 |
WO2009057656A1 (ja) | 2009-05-07 |
EP2216767A1 (en) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4189828B1 (ja) | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム | |
JP4067818B2 (ja) | 楕円曲線暗号装置、楕円曲線暗号プログラム及び楕円曲線暗号の演算方法 | |
WO2020181822A1 (zh) | 加密数据一致性校验方法、装置、计算机设备及存储介质 | |
JP5360836B2 (ja) | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム | |
JP2009537025A (ja) | サイドチャネル攻撃からの保護 | |
KR102550812B1 (ko) | 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치 | |
JPWO2005015526A1 (ja) | 楕円曲線暗号装置,楕円曲線暗号方法および楕円曲線暗号プログラム | |
JP5549018B2 (ja) | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラムを記録した記録媒体 | |
JP6610277B2 (ja) | 共有鍵生成プログラム、共有鍵生成方法および情報処理端末 | |
JP5403630B2 (ja) | スカラ倍算器及びスカラ倍算プログラム | |
JPWO2006030496A1 (ja) | 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
JP5168649B2 (ja) | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム | |
CN117118637B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN114614992B (zh) | 签名值输出及验证方法、装置、计算机设备、存储介质 | |
CN114650135B (zh) | 一种软硬件协同的sm2椭圆曲线密码算法实现方法 | |
JP5179933B2 (ja) | データ処理装置 | |
JP2022146493A (ja) | 演算装置 | |
JP2004053814A (ja) | 楕円曲線暗号装置及び楕円曲線暗号演算方法 | |
CN116846557A (zh) | 数据加密方法、装置、计算机设备和存储介质 | |
JP2014178506A (ja) | 楕円曲線暗号装置 | |
CN114726516A (zh) | 一种卡号和密码融合的加密方法、系统、终端设备及存储介质 | |
JP2008141385A (ja) | 暗号方法、暗号装置および暗号プログラム | |
CN115603911A (zh) | 一种属性基加密方法、装置、电子设备及存储介质 | |
KR20010062971A (ko) | 암호시스템의 연산속도 개선 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4189828 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
S201 | Request for registration of exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R314201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S804 | Written request for registration of cancellation of exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R314803 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130926 Year of fee payment: 5 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |