説明

ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム

【課題】ペアリング演算を高速に実行可能としたペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラムを提供する。
【解決手段】Ateペアリングe(Q,P)を
【数49】


とし、kが偶数、3の倍数、4の倍数、6の倍数のいずれかである場合に、ミラー関数fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(qk−1)/r乗のべき乗算の演算によって1となる平方非剰余あるいは3乗非剰余なvを用いたツイスト曲線により特定される真部分体上の演算として行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ペアリング演算を高速に実行可能としたペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラムに関する。
【背景技術】
【0002】
昨今、高速な電気通信回線が低価格で利用可能となったことにより、インターネットなどのネットワーク上において、音楽や映像の配信、インターネットバンキング、行政機関への電子申請などのような各種のサービスが提供可能となっている。
【0003】
また、企業による業務形態も変化しており、ノートパソコンや携帯電話などのいわゆるモバイル端末装置を用いて外出先などから会社のサーバ装置にアクセスして、各種の情報の入力あるいは取得が可能となっている。
【0004】
特に、日本では、携帯電話をネットワークへの接続装置として利用するサービスが充実しており、いかなる所からでも所要のネットワークにアクセスして各種の情報を入手したり、サービスを利用したりすることができるいわゆるユビキタス社会の到来がいよいよ現実味を帯びてきた。
【0005】
このように各種の情報を取得したり、サービスを利用したりするためにネットワークにアクセスする際には、所要の認証手段を備えた認証サーバによって認証処理が行われ、ネットワークにアクセスした利用者が、あらかじめ登録されている特定の利用者であることが認証されて、情報の取得あるいはサービスの利用が可能となっている。
【0006】
特に、最近では、ディジタル署名技術を用いることにより、取り扱っている情報が第三者によって改ざんされていないこと、あるいは第三者に漏洩していないことを保証可能として、秘匿性の高い情報もネットワーク上で安全に取り扱い可能となっていることにより、さらに積極的にネットワークが利用されることとなっている。
【0007】
ただし、このディジタル署名では、利用者個人が特定されるため、認証サーバにおける認証処理に基づいて認証サーバに利用者の履歴が情報として蓄積されることとなっており、この履歴情報は一種の個人情報であって、個人情報保護の問題があった。
【0008】
そこで、ディジタル署名を拡張したディジタルグループ署名を用いることが提案されている。ディジタルグループ署名を用いた場合には、利用者は、認証サーバに対して匿名でグループに属していることのみを証明する署名データを送信し、認証サーバでは、受信した署名データから利用者を特定することなく利用者が所定のグループに属していることを認証している。したがって、認証サーバに各利用者の使用の履歴情報が蓄積されることを防止できる一方で、グループに属さない利用者による不正利用を阻止可能としている。
【0009】
ここで、ディジタルグループ署名における匿名認証には、ペアリング演算が用いられている。ペアリング演算では、2入力1出力の関数を用いた演算を行っており、たとえば、Pを素体Fq上の有理点、Qをk次拡大体Fqk上の有理点として、ペアリングでPとQとを入力して拡大体F*qkの元zが出力されるとき、a倍のPと、b倍のQを入力するとzのab乗が算出されることを利用しているものであり、このような性質のことを双線形性と呼ぶ。なお、ここで、「k」を埋込み次数と呼び、「F*qk」は、正しくは、以下の表示であるが、表示の制限上、「F*qk」と表示している。
【数13】

【0010】
一般的に、有理点P,Qはそれぞれ楕円曲線上の点が用いられ、このような楕円曲線のペアリングの演算は、ミラーのアルゴリズムを用いて演算するステップと、最終べきのべき乗演算を行うステップとで構成されている。
【0011】
たとえば、10,000人のメンバーで構成されるグループのディジタルグループ署名であって、各メンバーのアクセス権の発行と失効とを柔軟に対応可能とするために、ディジタルグループ署名の検証時に失効者分のペアリング演算を行う方式が知られている。この場合、失効者が100人であれば100回のペアリング演算が必要であり、現時点での一般的な電子計算機による1回のペアリングの演算に約0.1秒を要していることから、100回のペアリング演算には10秒を要することとなって、大規模なディジタルグループ署名での利用は実用的とは言えなかった。
【0012】
そこで、ペアリングの演算速度を向上させるために様々な開発が行われており、たとえば有限体上の楕円曲線上で定義されるTateペアリング演算における高速化の技術が提案されている(例えば、特許文献1参照。)。
【特許文献1】特開2005−316267号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、現在提案されているペアリング演算の高速化技術では、未だに大規模なディジタルグループ署名での利用に適う速度とはなっておらず、ディジタルグループ署名のメンバー数を制限しなければならないという問題があった。
【0014】
本発明者らは、このような現状に鑑み、ペアリング演算を高速化すべく研究開発を行って、本発明を成すに至ったものである。
【課題を解決するための手段】
【0015】
本発明のペアリング演算装置では、曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数14】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3による真部分体上で行うこととした。
【0016】
特に、
・s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段、
・有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-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演算手段、
・(q2h−1)/r乗のべき乗算を演算する第5演算手段
を備えたことにも特徴を有するものである。
【0017】
また、本発明のペアリング演算装置では、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数15】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上で行うこととした。
【0018】
特に、
・s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段、
・有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-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演算手段、
・(q3h−1)/r乗のべき乗算を演算する第5演算手段
を備えたことにも特徴を有するものである。
【0019】
また、本発明のペアリング演算装置では、曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数16】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xによる真部分体上で行うこととした。
【0020】
特に、
・s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段、
・有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-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演算手段、
・(q4h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことにも特徴を有するものである。
【0021】
また、本発明のペアリング演算装置では、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数17】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上で行うこととした。
【0022】
特に、
・s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段、
・有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-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演算手段、
・(q6h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことにも特徴を有するものである。
【0023】
また、本発明のペアリング演算方法では、曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数18】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3を用い、
・入力手段によって、s=t−1、P∈E(Fp)であるP、Q'∈E'(Fp2)であるQ'の入力を受け付けるステップ、
・代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-3/2の代入演算を行うステップ、
・代入手段によって、f←1、T'←Q'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第2演算手段によって、T'←2T'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第4演算手段によって、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップ
・第5演算手段によって、(q2h−1)/r乗のべき乗算の演算を行うステップと
を有することとした。
【0024】
また、本発明のペアリング演算方法では、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数19】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用い、
・入力手段によって、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップ、
・代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行うステップ、
・代入手段によって、f←1、T'←Q'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第2演算手段によって、T'←2T'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第4演算手段によって、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップ、
・第5演算手段によって、(q3h−1)/r乗のべき乗算の演算を行うステップと
を有することとした。
【0025】
また、本発明のペアリング演算方法では、曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数20】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xを用い、
・入力手段によって、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップ、
・代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-3/4の代入演算を行うステップ、
・代入手段によって、f←1、T'←Q'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第2演算手段によって、T'←2T'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第4演算手段によって、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップ、
・第5演算手段によって、(q4h−1)/r乗のべき乗算の演算を行うステップと
を有することとした。
【0026】
また、本発明のペアリング演算方法では、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数21】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用い、
・入力手段によって、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップ、
・代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行うステップ、
・代入手段によって、f←1、T'←Q'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第2演算手段によって、T'←2T'の代入演算を行うステップ、
・第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)の代入演算を行うステップ、
・第4演算手段によって、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップ、
・第5演算手段によって、(q6h−1)/r乗のべき乗算の演算を行うステップと
を有することとした。
【0027】
また、本発明のペアリング演算プログラムでは、曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数22】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3を用い、
・電子計算機を入力手段として機能させて、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップ、
・電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-3/2の代入演算を行わせるステップ、
・電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第4演算手段として機能させて、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップ、
・電子計算機を第5演算手段として機能させて、(q2h−1)/r乗のべき乗算の演算を行わせるステップと
を有することとした。
【0028】
また、本発明のペアリング演算プログラムでは、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数23】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用い、
・電子計算機を入力手段として機能させて、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップ、
・電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行わせるステップ、
・電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第4演算手段として機能させて、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップ、
・電子計算機を第5演算手段として機能させて、(q3h−1)/r乗のべき乗算の演算を行わせるステップと
を有することとした。
【0029】
また、本発明のペアリング演算プログラムでは、曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数24】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xを用い、
・電子計算機を入力手段として機能させて、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップ、
・電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-3/4の代入演算を行わせるステップ、
・電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第4演算手段として機能させて、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップ、
・電子計算機を第5演算手段として機能させて、(q4h−1)/r乗のべき乗算の演算を行わせるステップと
を有することとした。
【0030】
また、本発明のペアリング演算プログラムでは、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数25】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用い、
・電子計算機を入力手段として機能させて、s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップ、
・電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行わせるステップ、
・電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップ、
・電子計算機を第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)の代入演算を行わせるステップ、
・電子計算機を第4演算手段として機能させて、sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップ、
・電子計算機を第5演算手段として機能させて、(q6h−1)/r乗のべき乗算の演算を行わせるステップと
を有することとした。
【発明の効果】
【0031】
本発明では、ペアリング演算に際して、fs,Q(P)の導出に必要となる有理関数の演算を、ツイスト曲線を用いて低次の真部分体上で行うことにより演算負荷を低減して、ペアリング演算の高速化を図ることができる。
【発明を実施するための最良の形態】
【0032】
本発明のペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラムでは、ミラーのアルゴリズムを用いて演算するステップと、最終べきのべき乗演算を行うステップとで構成されるペアリング演算において、ミラーのアルゴリズムを用いた演算を高速化することにより、高速演算を可能としているものである。
【0033】
ミラーのアルゴリズムは、図1に示すアルゴリズムとして知られているものである。曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、ミラーのアルゴリズムでは、フロベニウス自己準同型写像φqのトレースtを用いたs=t−1と、P∈E(Fq)であるPと、Q∈E(Fq2h)であるQとが入力されることにより、fs,Q(P)を出力している。
【0034】
なお、埋込み次数は偶数次に限定されるものではなく、埋込み次数を3の倍数次とする場合には、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群を用いることが望ましい。
【0035】
また、特に、埋込み次数が4の倍数次の場合には、曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群を用いることが望ましい。
【0036】
さらに、特に、埋込み次数が6の倍数次の場合には、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群を用いることが望ましい。
【0037】
図1に示すミラーのアルゴリズムの第1ステップでは、f←1、T←Qの代入演算を行い、第2ステップの繰り返し条件に基づいて以下の演算を繰り返し行っている。第2ステップでは、具体的には、2進数表示したsによって得られるビット数をiの初期値とし、演算の繰り返しのたびにiを1ずつ減算しながら繰り返し回数を管理している。第5ステップのs[i]は、2進数表示したsの最小ビットから数えてi番目のビットの値を示すものであって、s[i]は「0」と「1」のいずれか一方である。
【0038】
図1に示すミラーのアルゴリズムの第3ステップでは、有理点Tを通る接線lT,T(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,T(xP,yP)の演算を行っており、第4ステップでは、T←2Tとして楕円二倍算を行っている。
【0039】
図1に示すミラーのアルゴリズムの第5ステップでは、sを2進数表示とした場合の所定のビットの値s[i]が1であるか否かを判定し、1である場合に、第6ステップで有理点TとQを通る直線lT,Q(x,y)=0の左辺に有理点Pの座標(xP,yP)を代入した値lT,Q(xP,yP)の演算を行い、第7ステップで、T←T+Qとして楕円加算を行っている。
【0040】
そして、第2ステップの繰り返し条件に基づいて演算を繰り返し行って、図1に示すミラーのアルゴリズムの第10ステップでは、演算結果を出力している。ペアリング演算では、最後に、ミラーのアルゴリズムによって演算されて出力された演算結果のfs,Q(P)に対して(q2h−1)/r乗のべき乗算を行っている。
【0041】
なお、埋込み次数が3の倍数次の場合には、最終べきのべき乗算は(q3h−1)/r乗のべき乗算であり、埋込み次数が4の倍数次の場合には、最終べきのべき乗算は(q4h−1)/r乗のべき乗算であり、埋込み次数が6の倍数次の場合には、最終べきのべき乗算は(q6h−1)/r乗のべき乗算である。
【0042】
以下において、第3ステップでのlT,T(xP,yP)の演算、及び第5ステップでのlT,Q(xP,yP)の演算方法を説明する。ここで、埋込み次数を偶数次、すなわち2h(h:自然数)次として、楕円曲線をy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)とする。
【0043】
T=(xT,yT),Q=(xQ,yQ)とすると、lT,Q(x,y)の傾きλT,Qは次式で与えられる。
【数26】

【数27】

【0044】
この傾きλT,Qを用いてlT,Q(xP,yP)の値を以下のように計算する。
【数28】

【0045】
通常では、この[数26]及び[数27]によってE(Fq2h)上で演算を行っているのであるが、埋込み次数を偶数次、すなわち2h(h:自然数)次として、楕円曲線をy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)とした場合には、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3,v∈Fqhが存在して、E'(Fqh)からE(Fq2h)への準同型写像(x,y)→(xv、yv3/2)が存在する。ここで、新たなパラメータvは、(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余な元である。
【0046】
したがって、E(Fq2h)[r]上の楕円加算を1/2の拡大次数のE'(Fqh)[r]上の楕円加算に置き換えて演算することが可能であり、演算負荷を低減して高速な演算を可能とすることができる。
【0047】
特に、有理点T、Q∈E(Fq2h)に対して、T=(xT,yT)=(xT'v、yT'3/2)、Q=(xQ,yQ)=(xQ'v、yQ'3/2)の関係が成り立つ有理点T'、Q'がE'(Fqh)に存在するので、まず、lT,T(x,y)の傾きλT,T、及びlT,Q(x,y)の傾きλT,Qを以下のように変形する。
【数29】

【数30】

【0048】
[数29]と[数30]から、T=Q、T≠Qにかかわらず傾きλT,Qは、以下のようになる。
【数31】

【0049】
したがって、[数31]の式から、[数28]の式は以下のようになる。
【数32】

【0050】
この[数32]の式の最後のv3/2の部分は、ペアリング演算における(q2h−1)/r乗の最終べきの演算によって1となるので、ミラーのアルゴリズムにおけるlT,Q(xP,yP)を演算する際には、lT,Q(xP,yP)の演算を行うのではなく、lT',Q'(xP-1,yP-3/2)を真部分体上において演算すればよく、演算負荷を大きく低減することができる。
【0051】
すなわち、曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数33】

としてAteペアリングe(Q,P)を演算する場合に、fs,Q(P)の導出に必要となる有理関数lT,T(xP,yP)及びlT,Q(xP,yP)の演算を、このfs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3による真部分体上でlT',T'(xP-1,yP-3/2)及びlT',Q'(xP-1,yP-3/2)の演算として行うことにより、演算負荷を低減して高速な演算を可能とすることができる。
【0052】
埋込み次数を3の倍数次、すなわち3h(h:自然数)次として、曲線の式をy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)とした場合には、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1,v∈Fqhが存在して、E'(Fqh)からE(Fq3h)への準同型写像(x,y)→(xv1/3、yv1/2)が存在する。ここで、新たなパラメータvは、(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余な元である。
【0053】
したがって、E(Fq3h)[r]上の楕円加算を1/3の拡大次数のE'(Fqh)[r]上の楕円加算に置き換えて演算することが可能であり、演算負荷を低減して高速な演算を可能とすることができる。
【0054】
特に、有理点T、Q∈E(Fq3h)に対して、T=(xT,yT)=(xT'1/3、yT'1/2)、Q=(xQ,yQ)=(xQ'1/3、yQ'1/2)の関係が成り立つ有理点T'、Q'がE'(Fqh)に存在するので、まず、lT,T(x,y)の傾きλT,T、及びlT,Q(x,y)の傾きλT,Qを以下のように変形する。
【数34】

【数35】

【0055】
[数34]と[数35]から、T=Q、T≠Qにかかわらず傾きλT,Qは、以下のようになる。
【数36】

【0056】
したがって、[数36]の式から、[数28]の式は以下のようになる。
【数37】

この[数37]の式の最後のv1/2の部分は、ペアリング演算における(q3h−1)/r乗の最終べきの演算によって1となるので、ミラーのアルゴリズムにおけるlT,Q(xP,yP)を演算する際には、lT,Q(xP,yP)の演算を行うのではなく、lT',Q'(xP-1/3,yP-1/2)を真部分体上において演算すればよく、演算負荷を大きく低減することができる。
【0057】
すなわち、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数38】

としてAteペアリングe(Q,P)を演算する場合に、fs,Q(P)の導出に必要となる有理関数lT,T(xP,yP)及びlT,Q(xP,yP)の演算を、このfs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上でlT',T'(xP-1/3,yP-1/2)及びlT',Q'(xP-1/3,yP-1/2)の演算として行うことによって、演算負荷を低減して高速な演算を可能とすることができる。
【0058】
埋込み次数を4の倍数次、すなわち4h(h:自然数)次として、曲線の式をy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で、4がqh−1を割り切るとした場合には、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1x,v∈Fqhが存在して、E'(Fqh)からE(Fq4h)への準同型写像(x,y)→(xv1/2、yv3/4)が存在する。ここで、新たなパラメータvは、(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余な元である。
【0059】
したがって、E(Fq4h)[r]上の楕円加算を1/4の拡大次数のE'(Fqh)[r]上の楕円加算に置き換えて演算することが可能であり、演算負荷を低減して高速な演算を可能とすることができる。
【0060】
特に、有理点T、Q∈E(Fq4h)に対して、T=(xT,yT)=(xT'1/2、yT'3/4)、Q=(xQ,yQ)=(xQ'1/2、yQ'3/4)の関係が成り立つ有理点T'、Q'がE'(Fqh)に存在するので、まず、lT,T(x,y)の傾きλT,T、及びlT,Q(x,y)の傾きλT,Qを以下のように変形する。
【数39】

【数40】

【0061】
[数39]と[数40]から、T=Q、T≠Qにかかわらず傾きλT,Qは、以下のようになる。
【数41】

【0062】
したがって、[数41]の式から、[数28]の式は以下のようになる。
【数42】

【0063】
この[数42]の式の最後のv3/4の部分は、ペアリング演算における(q4h−1)/r乗の最終べきの演算によって1となるので、ミラーのアルゴリズムにおけるlT,Q(xP,yP)を演算する際には、lT,Q(xP,yP)の演算を行うのではなく、lT',Q'(xP-1/2,yP-3/4)を真部分体上において演算すればよく、演算負荷を大きく低減することができる。
【0064】
すなわち、曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数43】

としてAteペアリングe(Q,P)を演算する場合に、fs,Q(P)の導出に必要となる有理関数lT,T(xP,yP)及びlT,Q(xP,yP)の演算を、このfs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xによる真部分体上でlT',T'(xP-1/2,yP-3/4)及びlT',Q'(xP-1/2,yP-3/4)の演算として行うことによって、演算負荷を低減して高速な演算を可能とすることができる。
【0065】
埋込み次数を6の倍数次、すなわち6h(h:自然数)次として、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)とした場合には、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1,v∈Fqhが存在して、E'(Fqh)からE(Fq6h)への準同型写像(x,y)→(xv1/3、yv1/2)が存在する。ここで、新たなパラメータvは、(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余な元である。
【0066】
したがって、E(Fq6h)[r]上の楕円加算を1/6の拡大次数のE'(Fqh)[r]上の楕円加算に置き換えて演算することが可能であり、演算負荷を低減して高速な演算を可能とすることができる。
【0067】
特に、有理点T、Q∈E(Fq6h)に対して、T=(xT,yT)=(xT'1/3、yT'1/2)、Q=(xQ,yQ)=(xQ'1/3、yQ'1/2)の関係が成り立つ有理点T'、Q'がE'(Fph)に存在するので、まず、lT,T(x,y)の傾きλT,T、及びlT,Q(x,y)の傾きλT,Qを以下のように変形する。
【数44】

【数45】

【0068】
[数44]と[数45]から、T=Q、T≠Qにかかわらず傾きλT,Qは、以下のようになる。
【数46】

【0069】
したがって、[数46]の式から、[数28]の式は以下のようになる。
【数47】

【0070】
この[数47]の式の最後のv1/2の部分は、ペアリング演算における(q6h−1)/r乗の最終べきの演算によって1となるので、ミラーのアルゴリズムにおけるlT,Q(xP,yP)を演算する際には、lT,Q(xP,yP)の演算を行うのではなく、lT',Q'(xP-1/3,yP-1/2)を真部分体上において演算すればよく、演算負荷を大きく低減することができる。
【0071】
すなわち、曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数48】

としてAteペアリングe(Q,P)を演算する場合に、fs,Q(P)の導出に必要となる有理関数lT,T(xP,yP)及びlT,Q(xP,yP)の演算を、このfs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上でlT',T'(xP-1/3,yP-1/2)及びlT',Q'(xP-1/3,yP-1/2)の演算として行うことによって、演算負荷を低減して高速な演算を可能とすることができる。
【0072】
以下において、埋込み次数が、偶数次、3の倍数次、4の倍数次、及び6の倍数次の最小公倍数である12次の場合におけるペアリング演算のプログラムについて説明する。図2は、図1に対応させた埋込み次数が12次の場合のミラーのアルゴリズムである。ここで、これまで3より大きい素数のべき乗としていたqを、素数pとする。
【0073】
認証サーバなどのように電子計算機で構成されるペアリング演算装置では、図3に示すフローチャートに基づくプログラムによりペアリング演算を行って、大規模なディジタルグループ署名を実現している。
【0074】
ここで、ペアリング演算を行う電子計算機は、図2に示したミラーのアルゴリズムに基づくプログラムを内蔵したペアリング演算プログラムを実行可能とした電子計算機であって、図4に示すように、電子計算機10は、演算処理を実行するCPU11と、ペアリング演算プログラムなどの各種プログラム、及びペアリング演算プログラムで使用するデータなどを記憶したハードディスクなどの記憶装置12と、ペアリング演算プログラムを展開して実行可能とするとともに、ペアリング演算プログラムの実行にともなって生成されたデータを一時的に記憶するRAMなどで構成されたメモリ装置13を備えている。図4中、14はバスである。
【0075】
本発明のペアリング演算プログラムを利用するディジタルグループ署名技術においては、電子計算機10は、インターネットなどの電気通信回線20に接続して、この電気通信回線20に接続されたクライアント装置30から送信されたディジタルグループ署名の署名データを受信可能としている。図4中、15は電子計算機10の入出力制御部である。電子計算機10では、クライアント装置30から送信されたディジタルグループ署名の署名データはメモリ装置13に一次的に記憶している。
【0076】
電子計算機10では、クライアント装置30からディジタルグループ署名の署名データが送信されると、送信された署名データをメモリ装置13に一旦記憶し、ペアリング演算プログラムを起動させる(ステップS1)。
【0077】
起動したペアリング演算プログラムによって、電子計算機10は、入力手段として機能して、フロベニウス自己準同型写像φpのトレースtに基づくs=t−1、P∈E(Fp)であるP、Q'∈E'(Fp2)であるQ'の入力を受け付ける(ステップS2)。メモリ装置13に一旦記憶した署名データはPとQ'のいずれか一方であり、一般的にはPである。Q’及びフロベニウス自己準同型写像φpのトレースtまたはs=t−1は、記憶装置12またはメモリ装置13の所定アドレスに記憶しており、所定アドレスから読み出して入力している。
【0078】
次いで、電子計算機10は、代入手段として機能して、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行う(ステップS3)。ここで、v-1/3の値、及びv-1/2の値は既知であって、記憶装置12またはメモリ装置13の所定アドレスに記憶しており、所定アドレスから読み出して入力してxP-1/3の演算、及びyP-1/2の演算を行っている。
【0079】
なお、この代入演算は、埋込み次数が12次で、6の倍数次となっているのでn←xP-1/3、m←yP-1/2の代入演算であるが、埋込み次数が偶数次の場合にはn←xP-1、m←yP-3/2の代入演算、埋込み次数が3の倍数次の場合にはn←xP-1/3、m←yP-1/2の代入演算、埋込み次数が4の倍数次の場合にはn←xP-1/2、m←yP-3/4の代入演算となる。
【0080】
次いで、電子計算機10は、代入手段として機能して、f←1、T'←Q'の代入演算を行う(ステップS4)。これは、いわゆる初期値設定である。
【0081】
次いで、電子計算機10は、2進数表示したsのビット数をいの初期値として、以下の演算の繰り返しのたびにiを1ずつ減算しながらfの値を演算している(ステップS5)。ここで、上記したのと同様に、s[i]は、2進数表示したsの最小ビットから数えてi番目のビットの値を示すものとする。
【0082】
ステップS5では、具体的には、電子計算機10は、第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)の代入演算を行い、次いで、電子計算機10は、第2演算手段として機能して、T'←2T'の代入演算を行っている。
【0083】
さらに、2進数表示したsのi番目のビットの値s[i]が1である場合には、電子計算機10は、第3演算手段として機能して、有理点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)の代入演算を行い、次いで、電子計算機10は、第4演算手段として機能して、T'←T'+Q'の代入演算を行っている。
【0084】
ステップS5での演算後、電子計算機10は、演算結果のfをメモリ装置13に一次的に記憶して、ミラー関数の演算を終了している(ステップS6)。
【0085】
次いで、電子計算機10は、演算結果のfの値を用いて(p12−1)/r乗のべき乗算を行って、演算結果をペアリング演算の結果としてメモリ装置13に一次的に記憶している(ステップS7)。
【0086】
電子計算機10では、上記のペアリング演算を失効者の数に応じた回数だけ繰り返し行って、ペアリング演算プログラムを終了している。
【0087】
電子計算機10が認証サーバである場合には、その後、電子計算機10は、ペアリング演算の結果を用いて認証を行っている。
【0088】
このように、ペアリング演算を行う電子計算機で構成されたペアリング演算装置では、埋込み次数が12次の場合、E(Fp12)[r]上の楕円加算ではなく、E'(Fp2)[r]上の楕円加算として演算を行うことにより、ミラーのアルゴリズムに基づく演算に要する時間を30%程度削減可能であり、より高速にペアリング演算を可能とすることができる。
【0089】
したがって、より多くのメンバーを対象としたディジタルグループ署名に利用でき、ディジタルグループ署名をより広範囲で利用することができる。
【0090】
本実施形態では、ディジタルグループ署名に用いるペアリング演算について説明したが、本発明に係るペアリング演算の装置、方法、プログラムは、ディジタルグループ署名に用いる場合に限定するものではなく、必要に応じて適宜のペアリング演算に適用することができる。
【図面の簡単な説明】
【0091】
【図1】従来のミラーのアルゴリズムの説明図である。
【図2】本発明に係るミラーのアルゴリズムの説明図である。
【図3】本発明に係るペアリング演算プログラムのフローチャートである。
【図4】本発明の実施形態に係るペアリング演算装置の概略説明図である。
【符号の説明】
【0092】
10 電子計算機
11 CPU
12 記憶装置
13 メモリ装置
14 バス
15 入出力制御部
20 電気通信回線
30 クライアント装置

【特許請求の範囲】
【請求項1】
曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数1】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3による真部分体上で行うことを特徴とするペアリング演算装置。
【請求項2】
請求項1に記載のペアリング演算装置において、
前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段と、
有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-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演算手段と、
(q2h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことを特徴とするペアリング演算装置。
【請求項3】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数2】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上で行うことを特徴とするペアリング演算装置。
【請求項4】
請求項3に記載のペアリング演算装置において、
前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段と、
有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-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演算手段と、
(q3h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことを特徴とするペアリング演算装置。
【請求項5】
曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数3】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xによる真部分体上で行うことを特徴とするペアリング演算装置。
【請求項6】
請求項5に記載のペアリング演算装置において、
前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段と、
有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-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演算手段と、
(q4h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことを特徴とするペアリング演算装置。
【請求項7】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数4】

としてAteペアリングe(Q,P)を演算するペアリング演算装置において、
fs,Q(P)の導出に必要となる有理関数の演算を、このfs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqhを用いて、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1による真部分体上で行うことを特徴とするペアリング演算装置。
【請求項8】
請求項7に記載のペアリング演算装置において、
前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付ける入力手段と、
有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-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演算手段と、
(q6h−1)/r乗のべき乗算を演算する第5演算手段と
を備えたことを特徴とするペアリング演算装置。
【請求項9】
曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数5】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3を用いて、
入力手段によって、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップと、
代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-3/2の代入演算を行うステップと、
代入手段によって、f←1、T'←Q'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第2演算手段によって、T'←2T'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第4演算手段によって、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップと、
第5演算手段によって、(q2h−1)/r乗のべき乗算の演算を行うステップと
を有することを特徴とするペアリング演算方法。
【請求項10】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数6】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用いて、
入力手段によって、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップと、
代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行うステップと、
代入手段によって、f←1、T'←Q'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第2演算手段によって、T'←2T'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第4演算手段によって、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップと、
第5演算手段によって、(q3h−1)/r乗のべき乗算の演算を行うステップと
を有することを特徴とするペアリング演算方法。
【請求項11】
曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数7】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xを用いて、
入力手段によって、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップと、
代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-3/4の代入演算を行うステップと、
代入手段によって、f←1、T'←Q'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第2演算手段によって、T'←2T'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第4演算手段によって、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップと、
第5演算手段によって、(q4h−1)/r乗のべき乗算の演算を行うステップと
を有することを特徴とするペアリング演算方法。
【請求項12】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数8】

としてAteペアリングe(Q,P)を演算するペアリング演算方法において、
fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用いて、
入力手段によって、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けるステップと、
代入手段によって、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行うステップと、
代入手段によって、f←1、T'←Q'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第2演算手段によって、T'←2T'の代入演算を行うステップと、
第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)の代入演算を行うステップと、
第4演算手段によって、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行うステップと、
第5演算手段によって、(q6h−1)/r乗のべき乗算の演算を行うステップと
を有することを特徴とするペアリング演算方法。
【請求項13】
曲線の式がy2=x3+ax+b,a∈Fq,b∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が2h次(h:自然数)で、Fq2hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q2h/(F*q2h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数9】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、
fs,Q(P)の(q2h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-2x+bv-3を用いて、
前記電子計算機を入力手段として機能させて、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップと、
前記電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1、m←yP-3/2の代入演算を行わせるステップと、
前記電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップと、
前記電子計算機を第5演算手段として機能させて、(q2h−1)/r乗のべき乗算の演算を行わせるステップと
を有することを特徴とするペアリング演算プログラム。
【請求項14】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が3h次(h:自然数)で、Fq3hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q3h/(F*q3h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数10】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、
fs,Q(P)の(q3h−1)/r乗のべき乗算の演算によって1となる平方剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用いて、
前記電子計算機を入力手段として機能させて、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップと、
前記電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行わせるステップと、
前記電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップと、
前記電子計算機を第5演算手段として機能させて、(q3h−1)/r乗のべき乗算の演算を行わせるステップと
を有することを特徴とするペアリング演算プログラム。
【請求項15】
曲線の式がy2=x3+ax,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が4h次(h:自然数)で、4がqh−1を割り切るものとし、Fq4hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q4h/(F*q4h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数11】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、
fs,Q(P)の(q4h−1)/r乗のべき乗算の演算によって1となる平方非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1xを用いて、
前記電子計算機を入力手段として機能させて、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップと、
前記電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/2、m←yP-3/4の代入演算を行わせるステップと、
前記電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップと、
前記電子計算機を第5演算手段として機能させて、(q4h−1)/r乗のべき乗算の演算を行わせるステップと
を有することを特徴とするペアリング演算プログラム。
【請求項16】
曲線の式がy2=x3+a,a∈Fq(q:3より大きい素数のべき乗)で与えられ、埋込み次数が6h次(h:自然数)で、Fq6hを定義体とするペアリング可能な楕円曲線上の有理点のなす加法群をE、素数位数rの有理点の集合をE[r]とし、φqをフロベニウス自己準同型写像として、
1=E[r]∩Ker(φq−[1])
2=E[r]∩Ker(φq−[q])
により、
e:G2×G1→F*q6h/(F*q6h)r
である非退化な双線形写像として定義されるAteペアリングeによって、P∈G1、Q∈G2とし、フロベニウス自己準同型写像φqのトレースtを用いてs=t−1とし、ミラー関数fs,Q(・)を用いて、
【数12】

としてAteペアリングe(Q,P)を電子計算機に演算させるペアリング演算プログラムにおいて、
fs,Q(P)の(q6h−1)/r乗のべき乗算の演算によって1となる平方非剰余かつ3乗非剰余なv∈Fqh、E(Fqh)のツイスト曲線E'(Fqh):y2=x3+av-1を用いて、
前記電子計算機を入力手段として機能させて、前記s=t−1、P∈E(Fq)であるP、Q'∈E'(Fqh)であるQ'の入力を受け付けさせるステップと、
前記電子計算機を代入手段として機能させて、有理点Pの座標(xP,yP)に対して、n←xP-1/3、m←yP-1/2の代入演算を行わせるステップと、
前記電子計算機を代入手段として機能させて、f←1、T'←Q'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第2演算手段として機能させて、T'←2T'の代入演算を行わせるステップと、
前記電子計算機を第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)の代入演算を行わせるステップと、
前記電子計算機を第4演算手段として機能させて、前記sを2進数表示とした場合の所定のビットの値が1である場合に、T'←T'+Q'の代入演算を行わせるステップと、
前記電子計算機を第5演算手段として機能させて、(q6h−1)/r乗のべき乗算の演算を行わせるステップと
を有することを特徴とするペアリング演算方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−109772(P2009−109772A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−282487(P2007−282487)
【出願日】平成19年10月30日(2007.10.30)
【特許番号】特許第4189828号(P4189828)
【特許公報発行日】平成20年12月3日(2008.12.3)
【出願人】(504147243)国立大学法人 岡山大学 (444)
【復代理人】
【識別番号】100125612
【弁理士】
【氏名又は名称】中嶋 裕昭
【Fターム(参考)】