JP6767933B2 - パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム - Google Patents

パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム Download PDF

Info

Publication number
JP6767933B2
JP6767933B2 JP2017110348A JP2017110348A JP6767933B2 JP 6767933 B2 JP6767933 B2 JP 6767933B2 JP 2017110348 A JP2017110348 A JP 2017110348A JP 2017110348 A JP2017110348 A JP 2017110348A JP 6767933 B2 JP6767933 B2 JP 6767933B2
Authority
JP
Japan
Prior art keywords
parameter
calculating
calculation
ramuda
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.)
Active
Application number
JP2017110348A
Other languages
English (en)
Other versions
JP2018205511A (ja
Inventor
優太郎 清村
優太郎 清村
祐人 川原
祐人 川原
鉄太郎 小林
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017110348A priority Critical patent/JP6767933B2/ja
Publication of JP2018205511A publication Critical patent/JP2018205511A/ja
Application granted granted Critical
Publication of JP6767933B2 publication Critical patent/JP6767933B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラムに関する。
楕円曲線上のペアリングが持つ双線形性によって、IDベース暗号や関数型暗号等の暗号方式が提案されている。また、近年では、Apache Milagro(incubating)でのOSS(Open-source software)によるオープンな開発や、IETF(Internet Engineering Task Force)での標準化がされる等、ペアリング暗号を実社会で利用するための活動が行われている。
ペアリング暗号を実際のシステムとして実現するためには、ペアリング演算を効率的に行うことが重要である。ペアリング演算は、Miller Loopの計算と、最終べきの計算との2つの部分から構成されており、これらの計算コストを削減することで、効率的な演算を行えることが知られている。また、ペアリングを計算するための楕円曲線をKachisa-Schaefer-Scott(KSS)曲線とした場合、最終べき部分の計算コストが大きいことが知られている。
KSS曲線Eは、ある整数x、素数p=p(x)及びr=r(x)、埋め込み次数k等のパラメータを持つことが知られている。整数x、素数p及びr、埋め込み次数k、KSS曲線Eに対して、G1及びG2を位数rの楕円曲線
Figure 0006767933
上の部分群とし、G3を有限体
Figure 0006767933
上の位数rの部分群とする。また、fx,Qを有理関数とする。このとき、G1、G2、G3に対して、ペアリングeは、以下の数3で定義される。
Figure 0006767933
ここで、ペアリング演算
Figure 0006767933
は、Miller Loop fx,Q(P)の計算と、最終べき
Figure 0006767933
の計算との2つのステップで計算される。
Miller Loopの計算は、既知のMillerアルゴリズムを用いて計算することができる。一方で、最終べき
Figure 0006767933
の計算は、円多項式Φkを用いて、指数部分を以下の数7のように分解することで効率的に計算できることが知られている(非特許文献1)。
Figure 0006767933
easy partである
Figure 0006767933
の計算は、
Figure 0006767933
上の共役演算及び逆元算が1回と、フロベニウス計算及び乗算が数回とで計算できる。このため、easy partは、hard partと比較して計算コストが非常に小さく、最終べき全体の計算コストにほぼ影響がないことが知られている。
そして、hard partを計算するには、まず、Φk(p(x))/r(x)を以下の数10のように変形する。ただし、cは正の整数、φ(k)をオイラー関数として、s=φ(k)-1とする。
Figure 0006767933
ここで、d=deg(p(x))、s´=s-1に対して、λiは、以下の数11のように表現することができる。ただし、ai,j、bi,j、ciは整数とする。
Figure 0006767933
したがって、λiに対して、hard partは、以下の数12により計算することができる。これにより、最終べきが計算される。
Figure 0006767933
このとき、KSS-16曲線(すなわち、埋め込み次数k=16であるKSS曲線)の場合は、λiを簡約化した結果が知られている(非特許文献2)。
M. Scott, N. Benger and M. Charlemagne, "On the Final Exponentiation for Calcu-lating Pairings on Ordinary Elliptic Curves", Pairing 2009, LNCS 5671, pp.78-88,2009. X. Zhang and D. Lin, "Analysis of Optimum Pairing Products at High Security Levels", INDOCRYPT 2012, LNCS 7668, pp.412-430, 2012.
しかしながら、KSS-16曲線以外の曲線では、λiの各係数を簡約化することができなかった。言い換えれば、KSS曲線一般では、λiの各係数を簡約化することができなかった。
このため、KSS曲線一般では、ペアリング演算における最終べきの計算コストを削減することができなかった。
本発明の実施の形態は、上記の点に鑑みてなされたもので、ペアリング演算を効率的に行うことを目的とする。
上記課題を解決するため、KSS曲線におけるペアリング演算の最終べきを計算するための複数のパラメータλiを入力する入力手順と、入力した前記複数のパラメータλiのうちの所定のパラメータλsを因数分解及び平方完成することで第1のパラメータA及び第2のパラメータBを算出する第1の算出手順と、算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第2の算出手順と、前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換手順と、をコンピュータが実行する。
ペアリング演算を効率的に行うことができる。
本発明の実施の形態におけるペアリング演算装置の全体構成の一例を示す図である。 本発明の実施の形態におけるペアリング演算装置のハードウェア構成の一例を示す図である。 本発明の実施の形態におけるペアリング演算処理の一例を示すフローチャートである。 本発明の実施の形態における簡約化処理の一例を示すフローチャートである。
以下、本発明の実施の形態について、図面を参照しながら説明する。
<ペアリング演算装置10の全体構成>
まず、本発明の実施の形態におけるペアリング演算装置10の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態におけるペアリング演算装置10の全体構成の一例を示す図である。
図1に示すペアリング演算装置10は、ペアリング暗号におけるペアリング演算を行うコンピュータである。ペアリング演算装置10は、入力部101と、Miller Loop計算部102と、最終べき計算部103と、簡約化部104と、出力部105とを有する。これらの各部は、ペアリング演算装置10にインストールされた1以上のプログラムが、後述するCPU16に実行させる処理により実現される。
入力部101は、ペアリング演算に用いられるパラメータを入力する。以降では、入力部101により入力されるパラメータを「入力パラメータ」と表す。入力パラメータとしては、例えば、素数p及びr、埋め込み次数k、整数x等が挙げられる。すなわち、入力パラメータとしては、例えば、「E. J. Kachisa, E. F. Schaefer and M. Scott, "Constructing Brezing-Weng pairingfriendly elliptic curves using elements in the cyclotomic eld", Pairing 2008, LNCS5209, pp.126-135, 2008.」に開示されている各パラメータが挙げられる。また、入力パラメータとしては、例えば、楕円曲線上の2点P及びQ等も挙げられる。
入力部101により入力された入力パラメータは、Miller Loop計算部102に出力される。
Miller Loop計算部102は、Miller Loop fx,Q(P)を計算する。Miller Loopは、例えば、「V. S. Miller, "The Weil Pairing, and Its Efficient Calculation," Journal of Cryptol-ogy, vol. 17, pp. 235-261, 2004.」に開示されているMillerアルゴリズムを用いて計算することができる。Miller Loop計算部102により計算された計算結果は、最終べき計算部103に出力される。
最終べき計算部103は、上記の数5で示した最終べきを計算する。最終べき計算部103は、上記の数7に示したように、最終べきをeasy partと、hard partとに分解した上で、上記の数12により、最終べきを計算する。このとき、最終べき計算部103は、簡約化部104により簡約化されたλiを用いて、上記の数12により、最終べきを計算する。最終べき計算部103により計算された計算結果は、出力部105に出力される。
簡約化部104により簡約化されたλiを用いることで、最終べき計算部103は、KSS曲線一般に対して、最終べきを効率的に計算することができるようになる。すなわち、最終べき計算部103は、ペアリング演算における最終べきを効率的に計算することができるようになる。
簡約化部104は、上記の数12を計算するためのパラメータであるλiを簡約化する。言い換えれば、簡約化部104は、上記の数12を計算するためのパラメータλiを、簡約化されたλiに変換する。簡約化部104により簡約化されたλiは、最終べき計算部103に出力される。
出力部105は、ペアリング演算の演算結果(すなわち、最終べき計算部103の計算結果)を出力する。出力部105による出力先としては、例えば、ペアリング暗号を利用するプログラムや他の装置等が挙げられる。
なお、図1に示すペアリング演算装置10の構成は一例であって、他の構成であっても良い。例えば、ペアリング演算装置10は、複数台のコンピュータで構成されていても良い。
<ペアリング演算装置10のハードウェア構成>
次に、本発明の実施の形態におけるペアリング演算装置10のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態におけるペアリング演算装置10のハードウェア構成の一例を示す図である。
図2に示すペアリング演算装置10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14と、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置11は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、ペアリング演算装置10の処理結果を表示する。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。ペアリング演算装置10は、外部I/F13を介して、記録媒体13a等の読み取りや書き込みを行うことができる。記録媒体13aには、本実施形態を実現するプログラム等が記録されていても良い。
記録媒体13aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、例えば、OS(Operating System)設定やネットワーク設定等が格納されている。
CPU16は、ROM15や補助記憶装置18等からプログラムやデータをRAM14上に読み出して処理を実行する演算装置である。
通信I/F17は、ペアリング演算装置10をネットワークに接続するためのインタフェースである。本実施形態を実現するプログラム等は、通信I/F17を介して、所定のサーバ等から取得(ダウンロード)されても良い。
補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置18に格納されているプログラムやデータには、例えば、OS、当該OS上において各種機能を実現するアプリケーションプログラム、本実施形態を実現するプログラム等がある。
本発明の実施の形態におけるペアリング演算装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
<ペアリング演算処理>
以降では、本発明の実施形態におけるペアリング演算装置10が実行するペアリング演算処理について、図3を参照しながら説明する。図3は、本発明の実施の形態におけるペアリング演算処理の一例を示すフローチャートである。
まず、入力部101は、ペアリング演算に用いられる入力パラメータを入力する(ステップS1)。
次に、最終べき計算部103は、最終べきをeasy partと、hard partとに分解した上で、hard partを計算するためのλiを算出する(ステップS2)。すなわち、最終べき計算部103は、上記の数11に示すλiを算出する。
次に、簡約化部104は、最終べき計算部103により算出されたλiを簡約化する(ステップS3)。すなわち、簡約化部104は、最終べきを計算するためのパラメータλiを、簡約化されたλiに変換する。なお、本ステップにおける簡約化処理の詳細については後述する。
次に、Miller Loop計算部102は、入力部101により入力された入力パラメータを用いて、Miller Loop fx,Q(P)を計算する(ステップS4)。
次に、最終べき計算部103は、簡約化部104により簡約化されたλiを用いて、上記の数12により、最終べきを計算する(ステップS5)。
次に、出力部105は、ペアリング演算の演算結果e(P,Q)を出力する(ステップS6)。すなわち、出力部105は、最終べき計算部103の計算結果を出力する。
以上のように、本発明の実施の形態におけるペアリング演算装置10は、簡約化部104により簡約化されたλiを用いることで、KSS曲線一般に対して、最終べきを効率的に計算することができるようになる。したがって、本発明の実施の形態におけるペアリング演算装置10によれば、効率的なペアリング演算を行うことができるようになる。
<簡約化処理>
次に、上記のステップS3における処理(最終べきの計算に用いられるλiを簡約化する処理)について、図4を参照しながら説明する。図4は、本発明の実施の形態における簡約化処理の一例を示すフローチャートである。
まず、簡約化部104は、以下の数13によりλsを因数分解する(ステップS11)。
Figure 0006767933
次に、簡約化部104は、因数分解後の2次式x2+(bs,1/bs,0)x+(bs,2/bs,0)を平方完成させて、平方完成後の2次式をB=(x-α)2+βとする(ステップS12)。
次に、簡約化部104は、A=xd/2-2・B+Tとする(ステップS13)。
次に、簡約化部104は、s´=s-1として、λs´/2を、
Figure 0006767933
とおく(ステップS14)。
次に、簡約化部104は、以下の数15により係数比較を行ってTを求める(ステップS15)。これにより、上記のAの式が決まる。
Figure 0006767933
次に、簡約化部104は、A及びBを用いて、上記の数11に示すλiを以下の数16のように書き直す(ステップS16)。ただし、ui=gcd(ai,0, bi,0)、vi=ai,0/ui、wi=bi,0/ui、bs,0=ge・hとする。
Figure 0006767933
次に、簡約化部104は、λ´iを以下の数17で定義する(ステップS17)。
Figure 0006767933
次に、簡約化部104は、1≦i≦s´/2及びs´/2+2≦i≦s´の各λ´iのvi・x・A+wi・Bを以下の数18のように、λ´s´/2とλ´sとの線形和で表現する(ステップS18)。
Figure 0006767933
次に、簡約化部104は、1≦i≦s´/2のときのλiを、λ´s´/2とλ´sとを用いて、以下の数19のように表現する(ステップS19)。
Figure 0006767933
次に、簡約化部104は、s´/2+2≦i≦s´のときのλiを、λ´s´/2とλ´sとを用いて、以下の数20のように表現する(ステップS20)。
Figure 0006767933
次に、簡約化部104は、i=s´/2+1のときのλiをγ=ci/Tを用いて、以下の数21のように表現する(ステップS21)。
Figure 0006767933
次に、簡約化部104は、i=0のときのλ´iを整数η及びζを用いて、以下の数22のように表現する(ステップS22)。
Figure 0006767933
ここで、η及びζは、以下の数23に示す連立方程式の解となる整数である。
Figure 0006767933
以上により、最終べきを計算するためのパラメータλiが、λ´iを用いて以下の数24のように簡約化するこができる。すなわち、1≦i≦s´/2及びs´/2+2≦i≦s´におけるλiを、λ´s´/2とλ´sとの線形和で表現することで簡約化することができる。
Figure 0006767933
以上のように、本発明の実施の形態におけるペアリング演算装置10は、KSS曲線一般に対して、最終べきを計算するためのパラメータλiを簡約化することができる。このため、本発明の実施の形態におけるペアリング演算装置10は、KSS曲線一般に対して、上記の数12に示すhard partの計算コストを削減させることができる。
したがって、本発明の実施の形態におけるペアリング演算装置10によれば、KSS曲線一般に対して、最終べきにおけるhard partの計算を効率化させることができ、ペアリング演算を効率的に行うことができるようになる。
<実施例及び効果>
次に、KSS曲線として、埋め込み次数k=36の場合における実施列及び効果について説明する。埋め込み次数k=36のときのKSS曲線の入力パラメータは、以下の数25に示す通りであることが知られている。
Figure 0006767933
また、このとき、deg(p(x))、φ(k)及びsは、以下の数26に示す通りである。
Figure 0006767933
このとき、上記の数7に示す最終べきの指数部分の分解は、以下の数27に示す通りとなる。
Figure 0006767933
hard partは、c=111として、
Figure 0006767933
とした場合、各λiは、以下の数29に示す通りである。
Figure 0006767933
このとき、上記の数29に示すλiを簡約化部104により簡約化すると、以下の数30に示す通りとなる。
Figure 0006767933
全てのiに対して、
Figure 0006767933
を計算するためには、簡約化する前は約1000ビット分に相当するべき乗計算が必要であったが、簡約化することで約200ビット分に相当するべき乗計算に削減することができる。このため、ペアリング演算の計算時間を削減することができる。このように、本発明では、例えば、k=16より高い埋め込み次数k=36を持つKSS曲線でも簡約化することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
10 ペアリング演算装置
101 入力部
102 Miller Loop計算部
103 最終べき計算部
104 簡約化部
105 出力部

Claims (8)

  1. KSS曲線におけるペアリング演算の最終べきを計算するための複数のパラメータλiを入力する入力手順と、
    入力した前記複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出手順と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出手順と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出手順と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換手順と、
    をコンピュータが実行するパラメータ変換方法。
  2. 前記第の算出手順は、
    a s'/2,0 ・T-2α・b s'/2,0 =b s'/2,1 (ただし、a s'/2,0 はパラメータλ s'/2 のx d/2+1 の係数を表す整数、b s'/2,0 はパラメータλ s'/2 のx 2 の係数を表す整数、b s'/2,1 はパラメータλ s'/2 のxの係数を表す整数、d=deg(p(x))、p=p(x)は素数)の係数比較によって前記パラメータTを算出し、算出した前記パラメータTと前記第2のパラメータBとを用いて、A=x d/2-2 ・B+Tにより第1のパラメータAを算出する、ことを特徴とする請求項1に記載のパラメータ変換方法。
  3. KSS曲線におけるペアリング演算の最終べきを計算するための複数のパラメータλiを入力する入力部と、
    入力した前記複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出部と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出部と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出部と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換部と、
    を有するパラメータ変換装置。
  4. KSS曲線におけるペアリング演算の最終べきを計算するための複数のパラメータλiを入力する入力手順と、
    入力した前記複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出手順と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出手順と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出手順と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換手順と、
    をコンピュータに実行させるパラメータ変換プログラム。
  5. KSS曲線におけるペアリング演算の最終べきの指数部分を第1の指数部分と第2の指数部分とに分解する分解手順と、
    前記第2の指数部分に対応する前記最終べきを計算するための複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出手順と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出手順と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出手順と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換手順と、
    前記ペアリング演算のMiller Loopを計算する第1の計算手順と、
    前記第1の計算手順による計算結果を用いて、前記第1の指数部分に対応する前記最終べきを計算する第2の計算手順と、
    変換された複数のパラメータλiと、前記第2の計算手順による計算結果とを用いて、前記第2の指数部分に対応する前記最終べきを計算する第3の計算手順と、
    をコンピュータが実行するペアリング演算方法。
  6. 前記第の算出手順は、
    a s'/2,0 ・T-2α・b s'/2,0 =b s'/2,1 (ただし、a s'/2,0 はパラメータλ s'/2 のx d/2+1 の係数を表す整数、b s'/2,0 はパラメータλ s'/2 のx 2 の係数を表す整数、b s'/2,1 はパラメータλ s'/2 のxの係数を表す整数、d=deg(p(x))、p=p(x)は素数)の係数比較によって前記パラメータTを算出し、算出した前記パラメータTと前記第2のパラメータBとを用いて、A=x d/2-2 ・B+Tにより第1のパラメータAを算出する、ことを特徴とする請求項5に記載のペアリング演算方法。
  7. KSS曲線におけるペアリング演算の最終べきの指数部分を第1の指数部分と第2の指数部分とに分解する分解部と、
    前記第2の指数部分に対応する前記最終べきを計算するための複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出部と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出部と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出部と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換部と、
    前記ペアリング演算のMiller Loopを計算する第1の計算部と、
    前記第1の計算部による計算結果を用いて、前記第1の指数部分に対応する前記最終べきを計算する第2の計算部と、
    変換された複数のパラメータλiと、前記第2の計算部による計算結果とを用いて、前記第2の指数部分に対応する前記最終べきを計算する第3の計算部と、
    を有するペアリング演算装置。
  8. KSS曲線におけるペアリング演算の最終べきの指数部分を第1の指数部分と第2の指数部分とに分解する分解手順と、
    前記第2の指数部分に対応する前記最終べきを計算するための複数のパラメータλiのうち、λ s =b s,0 x 2 +b s,1 x+b s,2 (ただし、b s,0 、b s,1 、b s,2 及びxは整数)と表されるパラメータλsλ s =b s,0 (x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 ))と変形した後、2次式x 2 +(b s,1 /b s,0 )x+(b s,2 /b s,0 )を(x-α) 2 +βと平方完成させ、前記平方完成後の2次式(x-α) 2 +βをBとすることで第2のパラメータBを算出する第1の算出手順と、
    前記第2のパラメータBと、λ s'/2 (ただし、s'=s-1)の係数比較により算出されるパラメータTとで表される第1のパラメータAを算出する第2の算出手順と、
    算出した前記第1のパラメータA及び/又は前記第2のパラメータBを用いて表される第3のパラメータλ´(s-1)/2及び第4のパラメータλ´sを算出する第の算出手順と、
    前記複数のパラメータλiのうち、添え字iが所定の範囲内であるパラメータλiを、算出した前記第3のパラメータλ´(s-1)/2と、前記第4のパラメータλ´sとの線形和で表されるパラメータに変換する変換手順と、
    前記ペアリング演算のMiller Loopを計算する第1の計算手順と、
    前記第1の計算手順による計算結果を用いて、前記第1の指数部分に対応する前記最終べきを計算する第2の計算手順と、
    変換された複数のパラメータλiと、前記第2の計算手順による計算結果とを用いて、前記第2の指数部分に対応する前記最終べきを計算する第3の計算手順と、
    をコンピュータに実行させるペアリング演算プログラム。
JP2017110348A 2017-06-02 2017-06-02 パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム Active JP6767933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017110348A JP6767933B2 (ja) 2017-06-02 2017-06-02 パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017110348A JP6767933B2 (ja) 2017-06-02 2017-06-02 パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム

Publications (2)

Publication Number Publication Date
JP2018205511A JP2018205511A (ja) 2018-12-27
JP6767933B2 true JP6767933B2 (ja) 2020-10-14

Family

ID=64957661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017110348A Active JP6767933B2 (ja) 2017-06-02 2017-06-02 パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム

Country Status (1)

Country Link
JP (1) JP6767933B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114868175A (zh) 2019-12-26 2022-08-05 三菱电机株式会社 最终幂计算装置、配对运算装置、加密处理装置、最终幂计算方法和最终幂计算程序
JP7138825B2 (ja) 2020-07-09 2022-09-16 三菱電機株式会社 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム
WO2022009383A1 (ja) 2020-07-09 2022-01-13 三菱電機株式会社 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム

Also Published As

Publication number Publication date
JP2018205511A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
Costello et al. A simple and compact algorithm for SIDH with arbitrary degree isogenies
Sathya et al. A review of homomorphic encryption libraries for secure computation
US9438423B2 (en) Encryption device, encryption method, and information processing device
EP3639127A1 (en) Homomorphic factorization encryption
Adj et al. Computing discrete logarithms in and using magma
JP6730740B2 (ja) 処理装置、処理方法、処理プログラム、及び暗号処理システム
JP6767933B2 (ja) パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム
KR102550812B1 (ko) 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치
KR101449239B1 (ko) 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
JP6732959B2 (ja) 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
Tao et al. Simple matrix–a multivariate public key cryptosystem (MPKC) for encryption
JP2019095635A (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
US20110311041A1 (en) Crytographically transforming data text
Hu et al. Securing fast learning! ridge regression over encrypted big data
Garimella et al. Characterizing and optimizing end-to-end systems for private inference
JP2023063430A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
JP2021086158A (ja) 格子ベースの暗号鍵生成方法及び電子署名方法
Guillevic et al. Solving discrete logarithms on a 170-bit MNT curve by pairing reduction
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Mounica et al. Implementation of 5-Qubit approach-based Shor's Algorithm in IBM Qiskit
Baena et al. Rank analysis of cubic multivariate cryptosystems
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
EP4087177A1 (en) Blind rotation for use in fully homomorphic encryption
Shortell et al. Secure Convolutional Neural Network using FHE
JP6777569B2 (ja) ペアリング演算装置、ペアリング演算方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200805

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: 20200915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200918

R150 Certificate of patent or registration of utility model

Ref document number: 6767933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150