JP4630117B2 - Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program - Google Patents
Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program Download PDFInfo
- Publication number
- JP4630117B2 JP4630117B2 JP2005126573A JP2005126573A JP4630117B2 JP 4630117 B2 JP4630117 B2 JP 4630117B2 JP 2005126573 A JP2005126573 A JP 2005126573A JP 2005126573 A JP2005126573 A JP 2005126573A JP 4630117 B2 JP4630117 B2 JP 4630117B2
- Authority
- JP
- Japan
- Prior art keywords
- pairing
- calculation
- unit
- finite field
- rational function
- 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
Links
Images
Description
本発明は、楕円曲線上の演算、特にセキュリティ技術を実現するための演算を利用した装置、方法、およびプログラムに関する。 The present invention relates to an apparatus, a method, and a program using an operation on an elliptic curve, in particular, an operation for realizing a security technique.
楕円曲線のペアリングを用いたID-base暗号や短署名長デジタル署名を実現する方法が提案されている。楕円曲線のペアリングには、TateペアリングとWeilペアリングなどがある。
有限体GF(p)上で定義される楕円をE/GF(p)とする。楕円E/GF(p)上のGF(p)有理点をP(xP、yP)、楕円E/GF(p)上のGF(pk)有理点をQ(xQ、yQ)とする。TateペアリングとWeilペアリングなどでは、(fp)=m(P)−m(O)を満たす有理関数fpに、(P,Q)を代入した結果を求める有理関数演算が利用される。この有理関数演算をdivisor有理式の評価を行う演算という。また、GF(pk)の元のべき乗や乗算に、ほとんどの処理時間を費やしている。以下の説明では、高速演算が実現しやすいTateペアリングを中心に説明する。
Tateペアリングによる暗号や署名の概要を図1に示す。Tateペアリングでは、PとQを入力とし、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどのdivisor有理式の評価を行う演算によって、有限体GF(pk)上の元fを出力し、さらにべき乗演算によってfを(pk−1)/m乗することで有限体GF(pk)上の元eへ写像し、出力する。ここで、pは素数または素数のべき乗、mは素数かつP、Q、eの位数、kはm|(pk−1)を満足する最小の整数、mは(p−1)の約数ではない、かつpとmの最大公約数は1である。
Methods have been proposed to realize ID-base encryption using elliptic curve pairing and short signature digital signature. Elliptic curve pairing includes Tate pairing and Weil pairing.
Let the ellipse defined on the finite field GF (p) be E / GF (p). The GF (p) rational point on the ellipse E / GF (p) is P (x P , y P ), and the GF (p k ) rational point on the ellipse E / GF (p) is Q (x Q , y Q ). And In Tate pairing and Weil pairing, a rational function operation is used to obtain a result obtained by substituting (P, Q) into a rational function f p satisfying (f p ) = m (P) −m (O). . This rational function operation is called an operation that evaluates a divisor rational expression. In addition, most of the processing time is spent on the original power and multiplication of GF (p k ). The following description will focus on Tate pairing that facilitates high-speed computation.
An outline of encryption and signature by Tate pairing is shown in FIG. In Tate pairing, P and Q are input, and an element f on a finite field GF (p k ) is output by an operation that evaluates a divisor rational expression such as Miller's algorithm or modified Duursma-Lee algorithm. By multiplying f to the power of (p k −1) / m by a power operation, it is mapped to the element e on the finite field GF (p k ) and output. Here, p is a prime number or a power of a prime number, m is a prime number and the order of P, Q, and e, k is the smallest integer that satisfies m | (p k −1), and m is a factor of (p−1). It is not a number, and the greatest common divisor of p and m is 1.
図2はTateペアリングを用いたペアリング演算装置1000の機能構成例を示している。図1に示した処理を行うため、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、入力PとQを有限体GF(pk)上の元fに変換して出力する有理関数演算装置10と、べき乗演算によって入力fを有限体GF(pk)上の元eに写像して出力するべき乗演算装置20から構成されている。
Tateペアリングでの演算量のほとんどを占める有理関数演算装置10の代表的な例として、Millerのアルゴリズムを用いたMiller演算装置30の内部構成例を図3に示す。また、処理フロー例を図4に示す。Miller演算装置30は、制御部100、代入部200、楕円上点生成部400、楕円加算部500、入出力部600、GF(pk)乗算部700、GF(pk)逆元部850、および記録部190から構成される。制御部100は、以下に示す処理フローに沿った処理を実行するために他の構成部を制御する。また、記録部190はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
FIG. 2 shows a functional configuration example of a pairing arithmetic device 1000 using Tate pairing. In order to perform the processing shown in FIG. 1, a rational function arithmetic unit that converts and outputs inputs P and Q to elements f on a finite field GF (p k ) using the Miller algorithm or the modified Duursma-Lee algorithm 10 and a power
FIG. 3 shows an internal configuration example of a Miller arithmetic unit 30 using Miller's algorithm as a representative example of the rational function arithmetic unit 10 that occupies most of the computation amount in Tate pairing. An example of the processing flow is shown in FIG. The Miller arithmetic device 30 includes a
入出力部600にm、P、Qが入力されると、m、P、Qを記録部190に記録する(S700)。次に代入部200で、TにPを、Fに1を代入し、記録部190に記録する(S710)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(pk)上で定義される楕円上の点S(∈E/GF(pk))を生成し、記録部190に記録する(S720)。Sは条件を満足する点であれば、あらかじめ定めてもいいし、ランダムに生成してもよい。楕円加算部500で、記録部190からQとSを読み取り、Q’(=Q+S)を計算し、記録部190に記録する(S730)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部190に記録する(S740)。制御部100は、記録部190からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS910に進み、Noの場合にはステップS760に進む(S750)。Yesの場合、入出力部600は、記録部190からFを読み取り、出力し(S910)、Millerアルゴリズムによる演算が終了する。Noの場合、楕円加算部500は、記録部190からTを読み取り、2Tを計算し、記録部190に記録する(S760)。GF(pk)乗算部700は、Q’、S、T、2Tを記録部190から読み取り、l1(x,y)=0をTと2Tとを結ぶ直線、l2(x,y)=0を2TとOとを結ぶ直線として、l1(Q’)、l2(Q’)、l1(S)、l2(S)を計算し、記録部190に記録する(S770)。ただし、l1(Q’)とは、Q’のx座標とy座標とを、l1(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l1(S)、l2(S)の計算は省略でき、以降のステップでl1(S)、l2(S)を省略できる。次に、代入部200は、記録部190から2Tを読み取り、Tに2Tの値を代入し、Tを記録部190に記録する(S780)。GF(pk)逆元部850で、記録部190からl2(Q’)、l1(S)を読み取り、l2(Q’)−1、l1(S)−1を計算し、記録部190に記録する(S790)。GF(pk)乗算部700は、記録部190からF、l1(Q’)、l2(S)、l2(Q’)−1、l1(S)−1を読み取り、
When m, P, and Q are input to the input /
なお、Millerのアルゴリズムでは、ステップS810とS880とが、演算量の多い処理である。以下では、ステップS810やS880のように、Fの値を用いて計算した結果をFに代入するステップを、「Fの更新演算」という。
有理関数演算装置10の代表的なもう1つの例として、修正Duursma-Leeのアルゴリズムを用いた修正Duursma-Lee演算装置40の内部構成例を図5に示す。また、その処理フロー例を図6に示す。修正Duursma-Lee演算装置40は、制御部110、代入部210、GF(p)乗算部310、GF(pk)乗算部410、GF(pk)べき乗演算部510、入出力部610、および記録部710から構成される。制御部110は、以下に示す処理フローに沿った処理を実行するために、他の構成部を制御する。また、記録部710はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
In Miller's algorithm, steps S810 and S880 are processes with a large amount of calculation. Hereinafter, the step of substituting the result calculated using the value of F into F as in steps S810 and S880 will be referred to as “F update calculation”.
FIG. 5 shows an internal configuration example of a modified Dursma-Lee arithmetic device 40 using a modified Dursma-Lee algorithm as another typical example of the rational function arithmetic device 10. An example of the processing flow is shown in FIG. The modified Duursma-Lee arithmetic device 40 includes a
修正Duursma-Leeでは、zは6との最大公約数が1となる正の整数、pは3z、楕円曲線Eを表す式をy2=x3+aX+b、ただしbは±1とする。また、σは有限体GF(p6)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p6)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部710に記録される。
入出力部610にz、P(xP,yP)、Q(xQ,yQ)が入力されると、z、P、Qを記録部710に記録する(S920)。次に代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部710に記録する。また、GF(pk)べき乗演算部510では、記録部710からxQとyQを読み出し、xQ 3とyQ 3を計算し、代入部210でxQにxQ 3を、yQにyQ 3を代入し、記録部710に記録する(S930)。GF(p)乗算部310では、記録部710からxPとyPを読み出し、xP 9とyP 9が計算され、代入部210でxPにxP 9を、yPにyP 9を代入し、記録部710に記録する(S940)。次に制御部110では、記録部710からxP,yP,xQ,yQ,d,σを読み出し、μ=xP+xQ+d、γ=σyPyQ−μ2を記録部710に記録する(S950)。GF(pk)乗算部410では、記録部710からF,γ,μ,ρを読み出し、F3(γ−μρ−ρ2)を計算し、代入部210でFにF3(γ−μρ−ρ2)を代入し、記録部710に記録する(S960)。次に代入部210で、yQに−yQを、dにd−bを代入し、記録部710に記録する(S970)。さらに、代入部210でnにn−1を代入し、記録部710に記録する(S980)。n>0ならばステップS940に戻り、違う場合はステップS1000に進む(S990)。ステップS1000では、記録部710に記録されているFを出力する(S1000)。
In the modified Duursma-Lee, z is a positive integer whose greatest common divisor with 6 is 1, p is 3 z , and an equation representing the elliptic curve E is y 2 = x 3 + aX + b, where b is ± 1. Also, σ is an element on the finite field GF (p 6 ) and the root of the quadratic irreducible polynomial f (x) on the finite field GF (p). ρ is an element on the finite field GF (p 6 ) and the root of the cubic irreducible polynomial g (x) on the finite field GF (p). σ and ρ are values that satisfy the above conditions, and are recorded in the
When z, P (x P , y P ), and Q (x Q , y Q ) are input to the input /
なお、修正Duursma-Leeのアルゴリズムでは、ステップS960が、Fの更新演算であり、演算量が多い。
Millerのアルゴリズムの高速化に関しては特許文献1、修正Duursma-Leeのアルゴリズムに関しては非特許文献1などの提案がある。しかし、これらの提案は、単一のペアリング演算を高速化することを目的としている。したがって、複数のペアリング演算結果を乗じたもの(「マルチペアリング」という。)を求める場合には、それぞれのペアリング演算を行った上で、各ペアリング演算の結果を乗じなければならない。したがって、従来の方法では、次のような構成と手順となる。図7に従来のマルチTateペアリング演算装置2000の機能構成例を示す。また、処理フローを図8に示す。マルチTateペアリング演算装置2000は、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどの演算を行う有理関数演算装置10、べき乗演算装置20、および乗算装置25から構成される。マルチペアリングを行う対象である、複数の有限体GF(p)上の楕円曲線上の点Piと有限体GF(pk)上の楕円曲線上の点Qiとの組(Pi,Qi)が、マルチTateペアリング演算装置に入力される(S1010)。ただし、i=1,…,I(Iは2以上の整数)とする。まずiに1を代入する(S1020)。有理関数演算装置10では個別の入力の組(Pi,Qi)ごとに演算を行い(S1030)、演算結果をべき乗演算装置20でべき乗演算し、個々のペアリングe(Pi,Qi)を得る(S1040)。この処理をI回行い(S1050、S1060)、乗算装置25でΠe(Pi,Qi)を計算する(S1070)ことで、マルチペアリング結果が得られる。
For speeding up the Miller algorithm, there are proposals such as
楕円曲線のマルチペアリングの演算量を少なくし、マルチペアリング方法およびペアリング比較方法の高速化を図る。 Reduce the amount of computation of elliptic curve multi-pairing, and speed up the multi-pairing method and the pairing comparison method.
本発明は、複数の有限体GF(p)上の楕円曲線上の点Piと有限体GF(pk)上の楕円曲線上の点Qiとの組(Pi,Qi)を入力とし、有限体GF(pk)上の元e(Pi,Qi)の積Πe(Pi,Qi)を出力するマルチペアリング演算方法に関する。ここで、pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数である。(fp)=m(P)−m(O)を満たす有理関数fpに前記の入力の組(Pi,Qi)を代入した結果をFiとすると、本発明では、個別のFiを求めるのではなく、divisor有理式の評価を行う演算で直接ΠFiを求める。この際に、i=1,…,Iで共通の演算を1回で行うことができる。また、マルチTateペアリングでは、前記のΠFiにべき乗演算を行い、マルチペアリングの結果を得る。 The present invention inputs a set (P i , Q i ) of a point P i on an elliptic curve on a plurality of finite fields GF (p) and a point Q i on an elliptic curve on a finite field GF (p k ). And a multi-pairing calculation method for outputting a product Πe (P i , Q i ) of an element e (P i , Q i ) on a finite field GF (p k ). Here, p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, and i is an integer from 1 to I. Assuming that F i is the result of substituting the set of inputs (P i , Q i ) into the rational function f p satisfying (f p ) = m (P) −m (O), in the present invention, each F i rather than seek to determine the direct? f i in operation to evaluate the divisor rational expressions. At this time, a common calculation for i = 1,..., I can be performed at a time. Further, in multi-Tate pairing, a power operation is performed on ΠF i to obtain a multi-pairing result.
さらに、もう1つの発明は、ペアリングの結果である有限体GF(pk)上の2つの元e(P1,Q1)とe(P2,Q2)とが等しいかを判定するペアリング比較方法に関する。この発明では、(P1,Q1)と(P2,−Q2)を入力とし、積e(P1,Q1)・e(P2,−Q2)を出力するマルチペアリング演算を行い、前記マルチペアリング演算の結果と1とを比較することで、e(P1,Q1)とe(P2,Q2)とが等しいことを確認する。 Furthermore, another invention determines whether two elements e (P 1 , Q 1 ) and e (P 2 , Q 2 ) on the finite field GF (p k ) as a result of pairing are equal. The present invention relates to a pairing comparison method. In the present invention, a multi-pairing operation that takes (P 1 , Q 1 ) and (P 2 , −Q 2 ) as inputs and outputs a product e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) And compare the result of the multi-pairing operation with 1 to confirm that e (P 1 , Q 1 ) and e (P 2 , Q 2 ) are equal.
本発明によれば、複数の楕円曲線上のペアリング演算結果を乗算する場合に、共通する演算であり、かつ演算量の多い演算を、まとめて行うことができる。また、マルチTateペアリングの場合には、個別にべき乗計算した後に乗算するのではなく、乗算した上でべき乗することができる。したがって、乗算に比べて演算量の多いべき乗計算の回数を少なくすることができ、演算量を大幅に削減することができる。
また、ペアリング結果を比較する場合には、前記のマルチペアリング演算方法を利用し、一方のペアリング結果の逆数とのマルチペアリング演算結果を1と比較することで、2つのペアリングが等しいことを確認できる。したがって、認証などで使用するペアリング結果の比較でも、演算量を大幅に削減することができる。
According to the present invention, when multiplying the pairing calculation results on a plurality of elliptic curves, calculations that are common calculations and have a large calculation amount can be performed collectively. Also, in the case of multi-Tate pairing, it is not possible to multiply after individually calculating a power, but to multiply and multiply the power. Therefore, the number of power calculations that require a large amount of computation compared to multiplication can be reduced, and the amount of computation can be greatly reduced.
When comparing the pairing results, the above-mentioned multi-pairing calculation method is used, and by comparing the multi-pairing calculation result with the reciprocal of one pairing result with 1, two pairing results It can be confirmed that they are equal. Therefore, even when comparing the pairing results used for authentication or the like, the amount of calculation can be greatly reduced.
以下に本発明の実施形態を説明する。なお、説明の重複を避けるため、同一の機能を有する構成部には同じ番号を付して重複説明を省略する。
[第1実施形態]
図9に本発明のマルチTateペアリング演算装置の機能構成例を示す。また、その処理フローを図10に示す。マルチTateペアリング演算装置3000は、有理演算装置50とべき乗演算装置20から構成される。有理演算装置50は、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、複数の入力の組(Pi,Qi)をΠFiに変換する装置である。ただし、i=1,…,I(Iは2以上の整数)、Piは有限体GF(p)上の楕円曲線上の点、Qiは有限体GF(pk)上の楕円曲線上の点、FiはMillerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いてPiとQiとが変換される有限体GF(pk)上の元である。従来技術では、有理演算装置10が個別のFiを出力し、べき乗演算装置20がべき乗演算を行って個別のペアリング結果e(Pi,Qi)を求め、その後で乗算装置25で乗算を行ってマルチペアリングΠe(Pi,Qi)を求めた(図7,8参照)。一方、本発明では、Pi,Qiが入力されると(S10)、有理演算装置50で個別のFiを求めることなく、ΠFiを出力し(S20)、べき乗演算装置20でΠFiを((pk−1)/m)乗して、マルチペアリングΠe(Pi,Qi)を求める。
Embodiments of the present invention will be described below. In addition, in order to avoid duplication of description, the same number is attached | subjected to the component which has the same function, and duplication description is abbreviate | omitted.
[First Embodiment]
FIG. 9 shows a functional configuration example of the multi-Tate pairing arithmetic device of the present invention. The processing flow is shown in FIG. The multi-Tate
本発明の第1の特徴は、後述するdivisor有理式の評価を行う演算を行う有理演算装置50である。有理演算装置50では、個別のFiを求めることなく、ΠFiを求めることで演算量を削減している。この方法は、Tateペアリングに限らず、Weilペアリングなどの他のアルゴリズムでマルチペアリングを行う場合にも用いることができる。第2の特徴はTateペアリング特有の特徴であって、個別にFiのべき乗演算するのではなく、ΠFiに対してべき乗計算することである。言い換えると、Millerのアルゴリズムの場合には、Fiを((pk−1)/m)乗した後で乗算するのではなく、各Fiを乗算した後で((pk−1)/m)乗している。また、修正Duursma-Leeのアルゴリズムの場合には、Fiを(p3−1)乗した後で乗算するのではなく、各Fiを乗算した後で(p3−1)乗している。このことによって、演算量の多いべき乗計算を、I回から1回に削減できる。
The first feature of the present invention is a rational arithmetic unit 50 that performs an operation for evaluating a divisor rational expression, which will be described later. In the rational arithmetic unit 50, the calculation amount is reduced by obtaining ΠF i without obtaining individual F i . This method is not limited to Tate pairing, and can be used when multi-pairing is performed using another algorithm such as Weil pairing. The second feature is a Tate pairing unique characteristics, instead of exponentiation of individually F i, is to power calculated for? F i. In other words, in the case of Miller's algorithm, F i is not multiplied after being raised to ((p k −1) / m), but is multiplied after each F i ((p k −1) / m) I am riding. In the case of algorithm modifications Duursma-Lee, instead of multiplying after the F i-th power (
以下に第1の特徴である有理関数演算装置50とステップS20の詳細について説明する。
図11に、有理関数演算装置50のアルゴリズムとして、Millerのアルゴリズムを用いたMiller演算装置60の機能構成例を示す。また、その処理フローを図12に示す。Miller演算装置60は、制御部101、代入部200、楕円上点生成部400、楕円加算部500、入出力部601、GF(pk)乗算部700、GF(pk)逆元部850、および記録部191から構成される。図3に示した従来のMiller演算装置30とは、制御部、入出力部と記録部が異なる。これは、処理フロー、入力データ、記録するデータが異なるためである。
Details of the rational function computing device 50 and step S20 as the first feature will be described below.
FIG. 11 shows a functional configuration example of a Miller arithmetic device 60 using Miller's algorithm as the rational function arithmetic device 50 algorithm. The processing flow is shown in FIG. The Miller arithmetic device 60 includes a
入出力部601にm、Pi、Qiが入力されると、m、Pi、Qiを記録部191に記録する(S100)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(pk)上で定義される楕円上の点S(∈E/GF(pk))を生成し、記録部191に記録する(S110)。Sは条件を満足する点であれば、あらかじめ定めてもよいし、ランダムに生成してもよい。次に代入部200で、iに1を、Fに1を代入し、記録部191に記録する(S120)。また、代入部200で、TiにPiを代入し、記録部191に記録する(S130)。楕円加算部500では、記録部191からQiとSを読み取り、Qi’(=Qi+S)を計算し、記録部191に記録する(S140)。ステップ130とステップ140の処理をi=1,…,Iに対して繰り返し行う(S150、S160)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部191に記録する(S170)。制御部101は、記録部191からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS370に進み、Noの場合にはステップS190に進む(S180)。Yesの場合、入出力部601は、記録部191からFを読み取り、出力し(S370)、Millerアルゴリズムによる演算が終了する。Noの場合、代入部200は、iに1を代入し、記録部191に記録する(S190)。楕円加算部500は、記録部191からTiを読み取り、2Tiを計算し、記録部191に記録する(S200)。GF(pk)乗算部700は、Qi’、S、Ti、2Tiを記録部191から読み取り、l1i(x,y)=0をTiと2Tiとを結ぶ直線、l2i(x,y)=0を2TiとOとを結ぶ直線として、l1i(Qi’)、l2i(Qi’)、l1i(S)、l2i(S)を計算し、記録部191に記録する(S210)。ただし、l1i(Qi’)とは、Qi’のx座標とy座標とを、l1i(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l1i(S)、l2i(S)の計算は省略でき、以降のステップでもl1i(S)、l2i(S)を省略できる。次に、代入部200は、記録部191から2Tiを読み取り、Tiに2Tiの値を代入し、Tiを記録部191に記録する(S220)。GF(pk)逆元部850で、記録部191からl2i(Qi’)、l1i(S)を読み取り、l2i(Qi’)−1、l1i(S)−1を計算し、記録部191に記録する(S230)。ステップS200からS230までの処理をi=1,…,Iまで繰り返す(S240、S250)。なお、図12の処理フローでは、各iの値に対して、ステップS200からS230を行い、次のiの処理を行っている。しかし、ステップS200をI回繰り返した後、ステップS210をI回繰り返すように、各ステップをI回繰り返しながら処理を進めてもよい。GF(pk)乗算部700は、記録部191からF、l1i(Qi’)、l2i(S)、l2i(Qi’)−1、l1i(S)−1を読み取り、
M input and output unit 601, P i, when Q i is input, m, P i, the Q i is recorded in the recording unit 191 (S100). The point on the
I個の入力の組み(Pi,Qi)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図4のステップS810、S880)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図12のステップS260、S350)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[変形例]
第1実施形態では、Millerのアルゴリズムを用いた場合を説明したが、変形例として、有理関数演算装置50に修正Duursma-Leeのアルゴリズムを用いた場合を以下に説明する。
When the set of I inputs (P i , Q i ) is individually calculated by Miller's algorithm, the conventional configuration shown in FIG. 7 and FIG. S810 and S880) are performed nI times. On the other hand, according to the present invention, it is only necessary to perform the F update calculation (steps S260 and S350 in FIG. 12) having a large calculation amount n times. Therefore, the calculation amount can be greatly reduced.
[Modification]
In the first embodiment, the case where the Miller algorithm is used has been described. As a modified example, a case where the modified Dursma-Lee algorithm is used for the rational function arithmetic unit 50 will be described below.
図9の有理関数演算装置50の変わりに、図13の修正Duursma-Lee演算装置70を用いる。図14に修正Duursma-Lee演算装置70の処理フローを示す。修正Duursma-Lee演算装置70は、制御部111、代入部210、GF(p)乗算部310、GF(pk)乗算部410、GF(pk)べき乗演算部510、入出力部611、および記録部711から構成される。図5に示した修正Duursma-Lee演算装置40との違いは、制御部、入出力部、記録部である。これは、処理手順、入力データ、記録データが異なるためである。
従来技術と同様に、zは6との最大公約数が1となる正の整数、pは3z、楕円曲線Eを表す式をy2=x3+aX+b、ただしbは±1である。また、σは有限体GF(p6)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p6)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部711に記録される。
A modified Duursma-Lee arithmetic unit 70 shown in FIG. 13 is used instead of the rational function arithmetic unit 50 shown in FIG. FIG. 14 shows a processing flow of the modified Duursma-Lee arithmetic device 70. The modified Duursma-Lee arithmetic device 70 includes a control unit 111, an
As in the prior art, z is a positive integer whose greatest common divisor with 6 is 1, p is 3 z , and an equation representing the elliptic curve E is y 2 = x 3 + aX + b, where b is ± 1. Also, σ is an element on the finite field GF (p 6 ) and the root of the quadratic irreducible polynomial f (x) on the finite field GF (p). ρ is an element on the finite field GF (p 6 ) and the root of the cubic irreducible polynomial g (x) on the finite field GF (p). σ and ρ are values that satisfy the above conditions, and are recorded in the recording unit 711 in advance.
入出力部611にz、P(xPi,yPi)、Q(xQi,yQi)が入力されると、z、Pi、Qiを記録部710に記録する(S400)。ただし、i=1,…,I(Iは2以上の整数)である。代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部711に記録する(S410)。次に代入部210で、iに1を代入し、記録部711に記録する(S420)。GF(pk)べき乗演算部510では、記録部711からxQiとyQiを読み出し、xQi 3とyQi 3を計算し、代入部210でxQiにxQi 3を、yQiにyQi 3を代入し、記録部711に記録する(S430)。ステップS430は、iが1,…,Iまで繰り返す(S440、S450)。代入部210で、iに1を代入し、記録部711に記録する(S460)。GF(p)乗算部310では、記録部710からxPiとyPiを読み出し、xPi 9とyPi 9が計算され、代入部210でxPiにxPi 9を、yPiにyPi 9を代入し、記録部711に記録する(S470)。次に制御部111では、記録部711からxPi,yPi,xQi,yQi,d,σを読み出し、μi=xPi+xQi+d、γi=σyPiyQi−μi 2とて記録部711に記録する(S480)。ステップS470とS480とは、i=1,…,Iまで繰り返す(S490、S500)。なお、図14の処理フローでは、各iの値に対して、ステップS470とS480を行い、次のiの処理を行っている。しかし、ステップS470をI回繰り返した後、ステップS480をI回繰り返してもよい。GF(pk)乗算部410では、記録部711からF,γi,μi,ρを読み出し、F3Π(γi−μiρ−ρ2)を計算し、代入部210でFにF3Π(γi−μiρ−ρ2)を代入し、記録部711に記録する(S510)。なお、ステップS510が、Fの更新演算である。再度、代入部210で、iに1を代入し、記録部711に記録する(S520)。代入部210で、記録部711からyQiを読み出し、yQiに−yQiを代入し、記録部711に記録する(S530)。ステップS530は、i=1,…,Iまで繰り返す(S540、S550)。さらに、代入部210で、記録部711からd,b,nを読み出し、dにd−bを、nにn−1を代入し、記録部711に記録する(S560)。n>0ならばステップS460に戻り、違う場合はステップS580に進む(S570)。ステップS570では、入出力部611が、記録部711に記録されているFを出力する(S580)。なお、出力されたFが、ΠFiの値となっている。このように、Fの更新演算(ステップS510)で、おのおののFiを求めることなく、F(=ΠFi)を求めることが特徴である。
When z, P (x Pi , y Pi ), and Q (x Qi , y Qi ) are input to the input /
I個の入力の組み(Pi,Qi)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図6のステップS960)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図14のステップS510)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[第2実施形態]
第1実施形態では、マルチペアリング方法とその装置について説明したが、本実施形態では、第1実施形態で示したマルチペアリング装置を用いた応用例として、ペアリング比較装置を示す。図15にペアリング比較装置の構成例を、図16にその処理フローを示す。ペアリング比較装置4000は、マルチTateペアリング演算装置3000、入力生成装置3010、GF(pk)比較装置3020から構成される。マルチTateペアリング演算装置3000は、図9に示したマルチTateペアリング演算装置3000である。
When a set of I inputs (P i , Q i ) is individually calculated by Miller's algorithm, the conventional configuration shown in FIG. 7 and FIG. S960) is performed nI times. On the other hand, according to the present invention, it is only necessary to perform the F update calculation (step S510 in FIG. 14) having a large calculation amount n times. Therefore, the calculation amount can be greatly reduced.
[Second Embodiment]
In the first embodiment, the multi-pairing method and its device have been described. In this embodiment, a pairing comparison device is shown as an application example using the multi-pairing device shown in the first embodiment. FIG. 15 shows a configuration example of the pairing comparison apparatus, and FIG. 16 shows a processing flow thereof. The pairing comparison device 4000 includes a multi-Tate
2つのペアリング結果e(P1,Q1)とe(P2,Q2)との比較を行う場合の処理フローを以下に示す。P1,Q1,P2,Q2をペアリング比較装置4000が受け取ると(S600)、入力生成装置3010が、−Q2を求め、P1,Q1,P2,−Q2をマルチTateペアリング演算装置3000に入力する(S610)。マルチTateペアリング演算装置3000では、e(P1,Q1)・e(P2,−Q2)を計算し、出力する(S620)。ここで、ペアリングの特性から、e(P2,−Q2)は、e(P2,Q2)の逆数となっている。したがって、e(P1,Q1)・e(P2,−Q2)が1に等しければ、e(P1,Q1)とe(P2,Q2)とは等しいことになる。そこで、GF(pk)比較装置3020では、マルチTateペアリング演算装置3000が出力したe(P1,Q1)e(P2,−Q2)と1とを比較する(S630)。ペアリング比較装置4000は、ステップS630の結果が等しければ、e(P1,Q1)とe(P2,Q2)とは等しいことを出力し、等しくなければ、等しくないことを出力する。
A processing flow in the case of comparing the two pairing results e (P 1 , Q 1 ) and e (P 2 , Q 2 ) is shown below. P 1, Q 1, P 2 , Q 2 of the pairing comparison device 4000 receives (S600), the
このように、2つのペアリング結果が等しいか否かの確認方法としても、本発明のマルチペアリング方法が使用できる。したがって、2つのペアリングを比較するような認証装置内部に、本実施形態のペアリング比較装置を組み込むことで、演算量を削減することができる。
なお、本実施形態ではマルチTateペアリング演算装置を用いたペアリング比較装置を説明したが、マルチペアリング演算装置であれば、Weilペアリングなどの他のアルゴリズムを用いてもよい。
Thus, the multi-pairing method of the present invention can also be used as a method for checking whether two pairing results are equal. Therefore, the amount of calculation can be reduced by incorporating the pairing comparison device of the present embodiment in an authentication device that compares two pairings.
In the present embodiment, the pairing comparison device using the multi-Tate pairing arithmetic device has been described, but other algorithms such as Weil pairing may be used as long as the multi-pairing arithmetic device is used.
また、第1実施形態および第2実施形態で示した各装置は、読み取り可能な記録媒体に記録したプログラムを、コンピュータで読み取り、実行してもよい。 Each device shown in the first embodiment and the second embodiment may read and execute a program recorded on a readable recording medium by a computer.
Claims (15)
入力が複数の組(Pi,Qi)、出力がペアリング結果の積Πe(Pi,Qi)であるマルチペアリング演算装置において、
divisor有理式の評価を行う演算でΠFiを計算することを特徴とし、繰り返し計算に
よって最終的なΠFiを求める有理関数演算部
を備えるマルチペアリング演算装置。 p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O),
In a multi-pairing arithmetic device in which an input is a plurality of pairs (P i , Q i ) and an output is a product of pairing results e (P i , Q i ),
A multi-pairing computing device comprising a rational function computing unit that calculates ΠF i by an operation that evaluates a divisor rational expression and obtains a final ΠF i by iterative calculation.
前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部
を備えるマルチペアリング演算装置。 The multi-pairing arithmetic device according to claim 1,
A multi-pairing arithmetic device comprising: a power arithmetic unit that performs a power finite field operation on an output from the rational function arithmetic unit.
Millerのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
を備えるマルチペアリング演算装置。 The multi-pairing arithmetic device according to claim 2,
A multi-pairing arithmetic device comprising the rational function arithmetic unit, characterized in that processing according to Miller's algorithm is performed.
修正Duursma-Leeのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
を備えるマルチペアリング演算装置。 The multi-pairing arithmetic device according to claim 2,
A multi-pairing arithmetic device comprising the rational function arithmetic unit, characterized in that processing according to a modified Duursma-Lee algorithm is performed.
(P1,Q1)と(P2,Q2)を入力とし、ペアリング結果のe(P1,Q1)とe
(P2,Q2)とが等しいかの判定結果を出力とするペアリング比較装置において、
(P1,Q1)と(P2,−Q2)を入力とし、divisor有理式の評価を行う演算でF
1・F2を計算し、繰り返し計算によって最終的なF1・F2を求める有理関数演算部を有し、積e(P1,Q1)・e(P2,−Q2)を出力するマルチペアリング演算部と、
前記マルチペアリング演算部の出力と1とを比較するGF(pk)比較部と
を備えるペアリング比較装置。 p is a prime number or a power of a prime number, k is an even number, i is an integer of 1 or 2, P i is a point on an elliptic curve on a finite field GF (p), Q i is an ellipse on a finite field GF (p k ) A point on the curve, e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = m (P) −m ( meet O) to rational function f p when the result of substituting P i and Q i,
(P 1 , Q 1 ) and (P 2 , Q 2 ) are input, and pairing result e (P 1 , Q 1 ) and e
In the pairing comparison device that outputs a determination result as to whether (P 2 , Q 2 ) is equal,
(P 1 , Q 1 ) and (P 2 , −Q 2 ) are used as inputs and F is an operation that evaluates a divisor rational expression.
The 1 · F 2 is calculated, has a rational function calculating unit for obtaining the final F 1 · F 2 by repeated calculation, the product e (P 1, Q 1) · e (P 2, -Q 2) the output A multi-pairing calculation unit to
A pairing comparison device comprising a GF (p k ) comparison unit that compares 1 with the output of the multi-pairing calculation unit.
前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部を有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。 The pairing comparison device according to claim 5,
A pairing comparison apparatus comprising the multi-pairing calculation unit, characterized in that it has a power calculation unit that performs a power finite field calculation on the output from the rational function calculation unit.
Millerのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。 The pairing comparison device according to claim 6, wherein
A pairing comparison device comprising the multi-pairing calculation unit, wherein the rational function calculation unit performs processing according to Miller's algorithm.
修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
を備えるペアリング比較装置。 The pairing comparison device according to claim 6, wherein
A pairing comparison device comprising the multi-pairing calculation unit, wherein the rational function calculation unit performs processing according to a modified Duursma-Lee algorithm.
入力が複数の組(P i ,Q i )、出力がペアリング結果の積Πe(P i ,Q i )であるマルチペアリング演算装置を用いたマルチペアリング演算方法において、
前記マルチペアリング演算装置の有理関数演算部で、divisor有理式の評価を行う演算でΠFiを計算し、繰り返し計算によって最終的なΠFiを求める有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。 p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O),
In a multi-pairing calculation method using a multi-pairing calculation device in which an input is a plurality of sets (P i , Q i ) and an output is a product of pairing results e (P i , Q i ) ,
A rational function calculation unit of the multi-pairing calculation device includes a rational function calculation process of calculating ΠF i by an operation for evaluating a divisor rational expression and obtaining a final ΠF i by repeated calculation. Pairing calculation method.
複数の(P i ,Q i )の組を入力とし、e(P i ,Q i )の積Πe(P i ,Q i )を出力するマルチペアリング演算方法において、
有理関数演算部で、divisor有理式の評価を行う演算でΠF i を計算し、繰り返し計算
によって最終的なΠF i を求める有理関数演算過程と、
前記有理関数演算過程からの出力に対して、べき乗演算部で、べき乗有限体演算を行うべき乗有限体演算過程
を含むことを特徴とするマルチペアリング演算方法。 p is a prime number or a power of a prime number, k is an even number, I is an integer of 2 or more, i is an integer from 1 to I, P i is a point on an elliptic curve on a finite field GF (p), and Q i is a finite field GF A point on the elliptic curve on (p k ), e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = When P i and Q i are substituted into a rational function f p satisfying m (P) −m (O) ,
A plurality of (P i, Q i) as input a set of, e (P i, Q i) product Paii (P i, Q i) of the multi-pairing computation method for outputting,
In rational function calculation unit calculates a? F i in operation to evaluate the divisor rational expression, iteration
A rational function operation process for obtaining the final? F i by,
A multi-pairing calculation method comprising: a power finite field calculation process for performing a power finite field calculation in a power calculation unit with respect to an output from the rational function calculation process.
Millerのアルゴリズムに従う処理を行う前記有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。 The multi-pairing calculation method according to claim 10, wherein
A multi-pairing calculation method comprising the rational function calculation process for performing processing according to Miller's algorithm.
修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算過程
を含むことを特徴とするマルチペアリング演算方法。 The multi-pairing calculation method according to claim 10, wherein
A multi-pairing calculation method comprising the rational function calculation step of performing processing according to the modified Duursma-Lee algorithm.
(P1,Q1)と(P2,Q2)を入力とし、ペアリング結果のe(P1,Q1)とe
(P2,Q2)とが等しいかを判定するペアリング比較方法において、
マルチペアリング演算部で、(P1,Q1)と(P2,−Q2)を入力とし、divisor
有理式の評価を行う演算でF1・F2を計算し、繰り返し計算によって最終的なF1・F2を求め、積e(P1,Q1)・e(P2,−Q2)を出力するマルチペアリング演算過程と、
GF(pk)比較部で、前記マルチペアリング演算過程の出力と1とを比較するGF(pk)比較過程と
を含むことを特徴とするペアリング比較方法。 p is a prime number or a power of a prime number, k is an even number, i is an integer of 1 or 2, P i is a point on an elliptic curve on a finite field GF (p), Q i is an ellipse on a finite field GF (p k ) A point on the curve, e (P i , Q i ) is an element on the finite field GF (p k ) of the pairing result of P i and Q i , and F i is (f p ) = m (P) −m ( meet O) to rational function f p when the result of substituting P i and Q i,
(P 1 , Q 1 ) and (P 2 , Q 2 ) are input, and pairing result e (P 1 , Q 1 ) and e
In the pairing comparison method for determining whether (P 2 , Q 2 ) is equal,
In the multi-pairing calculation unit, (P 1 , Q 1 ) and (P 2 , −Q 2 ) are input and divisor
F 1 · F 2 is calculated by an operation that evaluates a rational expression, and final F 1 · F 2 is obtained by repeated calculation, and the product e (P 1 , Q 1 ) · e (P 2 , −Q 2 ) Multi-pairing calculation process to output
A GF (p k ) comparison unit, comprising: a GF (p k ) comparison process for comparing the output of the multi-pairing calculation process with 1;
前記有理関数演算過程からの出力に対して、べき乗演算部でべき乗有限体演算を行う前記マルチペアリング演算過程
を含むことを特徴とするペアリング比較方法。 The pairing comparison method according to claim 13, wherein
A pairing comparison method comprising: the multi-pairing calculation step of performing a power finite field calculation in a power calculation unit with respect to an output from the rational function calculation step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005126573A JP4630117B2 (en) | 2005-04-25 | 2005-04-25 | Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005126573A JP4630117B2 (en) | 2005-04-25 | 2005-04-25 | Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006301513A JP2006301513A (en) | 2006-11-02 |
JP4630117B2 true JP4630117B2 (en) | 2011-02-09 |
Family
ID=37469832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005126573A Active JP4630117B2 (en) | 2005-04-25 | 2005-04-25 | Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4630117B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010024401A1 (en) * | 2008-08-29 | 2010-03-04 | 国立大学法人岡山大学 | Pairing computation device, pairing computation method, and pairing computation program |
WO2010123117A1 (en) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | Finite field calculation apparatus, finite filed calculation method, program, and recording medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05150722A (en) * | 1991-11-27 | 1993-06-18 | Matsushita Electric Ind Co Ltd | Power product arithmetic unit |
JP2004177673A (en) * | 2002-11-27 | 2004-06-24 | Fujitsu Ltd | Pairing ciphering device, pairing ciphering calculation program |
-
2005
- 2005-04-25 JP JP2005126573A patent/JP4630117B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05150722A (en) * | 1991-11-27 | 1993-06-18 | Matsushita Electric Ind Co Ltd | Power product arithmetic unit |
JP2004177673A (en) * | 2002-11-27 | 2004-06-24 | Fujitsu Ltd | Pairing ciphering device, pairing ciphering calculation program |
Also Published As
Publication number | Publication date |
---|---|
JP2006301513A (en) | 2006-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101273465B1 (en) | Apparatus for batch verification and method using the same | |
CN101061526B (en) | Encryption computing device | |
US20010024501A1 (en) | Method and apparatus for shuffle with proof, method and apparatus for shuffle verification, method and apparatus for generating input message sequence and program for same | |
JP6916770B2 (en) | Concealment calculation device, concealment calculation method and concealment calculation program | |
JP4630117B2 (en) | Multi-pairing calculation method, pairing comparison method, apparatus using the same, and program | |
CN117118637B (en) | Data processing method, device, equipment and computer readable storage medium | |
Espitau et al. | Antrag: Annular NTRU Trapdoor Generation: Making Mitaka as Secure as Falcon | |
JPWO2006030496A1 (en) | Elliptic curve cryptography calculation device, calculation method of calculation device using elliptic curve, and program for causing computer to execute scalar multiplication of points on elliptic curve | |
CN112434269A (en) | Zero knowledge proof method, verification method, computing device and storage medium of file | |
TWI784406B (en) | Modular operation circuit adopting iterative calculations | |
JP4580274B2 (en) | Pairing calculation device, pairing calculation method, and pairing calculation program | |
JP4585372B2 (en) | Pairing calculation device, pairing calculation method, and pairing calculation program | |
JP7016457B2 (en) | Final power unit, pairing arithmetic unit, cryptographic processing unit, final power calculation method and final power calculation program | |
JP4644039B2 (en) | Pairing calculation method, apparatus and program using the method | |
JP4630132B2 (en) | Pairing calculation method, apparatus and program using the method | |
Silva et al. | FISTA: achieving a rate of convergence proportional to k-3 for small/medium values of k | |
JP5289571B2 (en) | Arithmetic unit | |
KR101707334B1 (en) | Apparatus for efficient elliptic curve cryptography processor and method for the same | |
US7664258B2 (en) | Randomized sparse formats for efficient and secure computation on elliptic curves | |
Irokawa | Hybrid dynamics of H\'enon mappings | |
KR102595938B1 (en) | Polynomial inverse generating apparatus and method for an encryption system that encrypts and decrypts data using polynomials | |
JP4629972B2 (en) | Vector computing device, divided value computing device, elliptic curve scalar multiplication device, elliptic cryptography computing device, vector computing method, program, and computer-readable recording medium recording the program | |
Yadav et al. | Design of Modified RNS-PPA Based FIR Filter for High-Speed Application | |
JP3638493B2 (en) | Elliptic curve square computing device and program recording medium | |
JP2011095284A (en) | Parameter setting device, discrete logarithm computing device, precomputing device, parameter setting method, discrete logarithm computing method, precomputing method, program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070323 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101014 |
|
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: 20101102 |
|
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: 20101112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4630117 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |