JP3565494B2 - Enlarged field arithmetic device and program recording medium therefor - Google Patents
Enlarged field arithmetic device and program recording medium therefor Download PDFInfo
- Publication number
- JP3565494B2 JP3565494B2 JP2000079614A JP2000079614A JP3565494B2 JP 3565494 B2 JP3565494 B2 JP 3565494B2 JP 2000079614 A JP2000079614 A JP 2000079614A JP 2000079614 A JP2000079614 A JP 2000079614A JP 3565494 B2 JP3565494 B2 JP 3565494B2
- Authority
- JP
- Japan
- Prior art keywords
- reduction
- matrix
- polynomial
- order
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、例えば楕円曲線暗号/署名などの情報セキュリティ技術を実現するために用いられ、有限体GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大体GF(qk )=GF(q[x]/f(x))装置に関する。
【0002】
【従来の技術】
楕円曲線暗号を実現する際、楕円曲線の定義体として、有限体GF(q)(但しqは計算機の語長に近い素数または素数のべき(冪))のk次拡大体GF(qk )を用いる場合がある。拡大体GF(qk )上の演算を高速化できれば、拡大体GF(qk )上で定義された楕円曲線暗号の処理速度を高速化できる。今GF(q)のk次拡大体GF(qk )上の元A及びBのGF(qk )上の積C=A×Bの演算を実行する装置を構成したいとする。拡大に用いる既約多項式をGF(q)上のf(x)とし、代数方程式f(x)=0の解の一つをαとすると、一般にGF(qk )上の元Aは、GF(q)上の元を要素に持つk次元ベクトルai (但し0<i<k)を用いて、
A=Σi=0 k−1 ai αi
と一意に書くことが出来る。GF(q)上の元を要素に持つk次元ベクトルai をAの多項式基底による表現と呼ぶ。即ちA及びBの多項式基底による表現ai 及びbi (但し0<i<k)を入力とし、Cの多項式基底による表現ci (但し0<i<k)を出力とする、演算装置を構成する場合、Cを計算する為には、まずA及びBをαに関する多項式と見做し、C=A×Bを多項式演算で計算する。即ち
Σj=0 2k−2djαj=(Σi=0 k−1aiαi)×(Σi=0 k−1biαi) (1)
なるdj (但し0<j<2k−1)を求める。この時GF(q)上の元を要素に持つ2k−1次元ベクトルdj (但し0<j<2k−1)は、GF(q)上の元を要素に持つk次元ベクトルではないので、Cの多項式基底による表現とはなっていない。Cの多項式基底による表現を得る為には
Σi=0 k−1 ci αi =Σj=0 2k−2dj αj (2)
なるci (但し0<i<k)を求めなくてはならない。この目的の為にはf(α)=0が用いられる。f(x)がxのk次多項式であるからf(α)=P0 +P1 α+P2 α2 +…+Pk−1 αk−1 +Pk αk =0の関係から、
αk =Σj=0 k−1 rj αj (3)
とすることができる。従って、式(3)を使ってk次以上のαの多項式をk−1次のαの多項式に変換することが出来る。この操作を還元と呼ぶ。もし拡大に用いる多項式f(x)がGF(q)上既約k次2項多項式xk−rであれば、αk =rであるので、整数mに対してαm=rαm−kである。従って、k−1箇のαk 以上の各項のdj(j=k〜2k−2 )をr倍して次数をk−1以下にすると共に、その下げた次数と対応する次数のdj(j=0〜k−1)と加算して各ci(i=0〜k−1)を求めることができ、つまりk−1回のr倍と加算を用いて還元を実行することが出来る。2項多項式xk−rには上記のような性質があるので、従来、拡大体上の演算を高速に行う為には拡大に用いる多項式を2項多項式xk−rにすることが必要とされてきた(特願平10−255526号参照)。
【0003】
【発明が解決しようとする課題】
上記2項多項式による拡大体演算法では、qやkの値によってはGF(q)上既約2項多項式f(x)=xk −rが存在しなかったり、r倍が必ずしも高速に実行できない場合が数多く存在した。例えばk=13の場合212より大きい素数のうちの最初の200個の中で、−100<r<100なる既約2項多項式が存在する素数はわずか12個に過ぎない。この発明は、どのような場合でも拡大体上演算を高速に実行することを可能とする拡大体演算装置を提供することを目的とする。
【0004】
【課題を解決するための手段】
以下にこの発明の原理を説明する。簡単のためαのm次多項式をf(α)=0を用いてm−1次多項式に変換することを考える(但しk<m<2k)。αのm次多項式を
Σi=0 2k−1diαi=Σi=0 k−1diαi+Σi=0 k−1di+k(αi・αk) (4)
とすることができる。m次多項式をm−1次多項式にする為には、αのすべてのk次以上の冪をf(α)=0の関係から次数を1次下げれば良い。即ち式(3)を使って式(4)を
と変形すれば良い。式(5)の左辺がαのm次式(k<m<2k)なら式(5)の右辺はαのm−1次式である。式(5)の右辺をαの多項式と見做しαi の係数をd′i とおくと式(5)は、
Σi=0 2k−1di αi =Σi=0 2k−1d′i αi (6)
とかける。但しi>mの場合d′i =0である。GF(q)上の元を要素に持つ2k次元ベクトルdi を縦ベクトルで
【0005】
【数2】
と表現するなら、この過程は以下のように行列を用いて
【0006】
【数3】
【0007】
と表現することが出来る(空白は0と見做す、以下も同様)。右辺の2k行2k列の行列内の縦線と横線は便宜上付けたものであり、この縦線、横線で分けられた左上の小行列(単位行列)は式(5)の右辺第1項と対応し、右の上下の小行列は右第2項と対応する。説明の便宜の為、区切られた小行列に名前を付け式(7)を次式
【0008】
【数4】
と表現することにする。Iはk行k列の単位行列であり、Oはk行k列の零行列である。また、
【0009】
【数5】
【0010】
とする。式(8)で行列を縦ベクトルに1回かけることはf(α)=0の関係を使ってαのm次式をm−1次式に変換することに相当している。従ってαの2k−1次式をk−1次式に変換することは式(8)の行列を縦ベクトルにk回かけることに他ならない。即ち還元とは
【0011】
【数6】
に他ならない(但しi>kの時ci =0)。
【0012】
【数7】
を2乗、3乗と順次計算し、k乗まで行うと、
【0013】
【数8】
【0014】
となる。所で
R1 k−I=(R1 −I)(R1 k−1+R1 k−2+…+R1 +I)
であり、R1 は式(10)の行列であるから、これをk乗すると0となる。よって
−I=(R1 −I)(R1 k−1+R1 k−2+…+R1 +I)
両辺に(R1 −I)−1を乗算すると、
−(R1 −I)−1=R1 k−1+R1 k−2+…+R1 +R0
(I−R1 )−1=Σi=0 k−1 R1 i
この関係を式(11)に代入し、またR1 k=0であるから
【0015】
【数9】
となる。R′=R0 (I−R1 )−1とおけば式(10)は
【0016】
【数10】
【0017】
とかける。二つのk−1次多項式の積は2k−2次多項式であるので、GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大GF(qk )=GF(q)[x]/(f(x))上の2つの元の乗算を考える上ではd2k−1=0である。従ってR′のなかで実際に必要な列は第0列から第k−2列までである。行列R′の第0列から第k−2列までのk行(k−1)列の行列Rを還元行列と呼び、式(13)はRを用い簡単に
【0018】
【数11】
【0019】
と表わせる。式(14)よりGF(q)[x]/(f(x))上の2つの元の乗算が高速に計算できるかどうかは還元行列Rの性質に依存することが判る。一般の拡大体GF(q)[x]/(f(x))上の2つの元の乗算における還元には式(7)、(8)、(14)からk(k−1)回のGF(q)上定数倍とk(k−1)回のGF(q)上加算の演算が必要である。一方、従来高速とされてきた既約2項多項式による拡大体GF(q)[x]/(xk −r)の場合R′=rIになるので還元には(k−1)回のGF(q)上定数倍(r倍)と(k−1)回のGF(q)上加算の演算しか必要ない。ところで、2項式xk −rが既約かそうでないかは定義体qと拡大次数kの値によって決まる。例えばq=65539、k=10の場合、既約2項式は存在しない。そのような場合は従来効率的な乗算装置は構成できないと考えられていた。あるいはq=4201,k=10の場合、既約2項式xk −rはr=±11、±13、±19、…であるが、加算のみでこれらr倍を実現するには少なくとも5回の加算が必要であり、必ずしもr倍が高速であるとは云えない。しかし、このような場合でも以下の手順に従えば効率的な乗算装置を構成できる。
【0020】
Step1:探索し得る全ての既約多項式に対応する還元行列Rを上記手順に従い計算する。
Step2:Rによる還元演算の演算コストに関する性質を調べる。
Step3:探索し得る全ての既約多項式の中で最も演算コストの少ない既約多項式f(x)を見つけ出す。
Step4:f(x)における還元演算装置の構成を行い、乗算装置を構成する。
【0021】
上記手順の、探索し得る既約多項式に、既約2項多項式を含めても手順は全く変わらない。従ってこのようにすれば、既約2項多項式をも含めた、探索し得る全ての既約多項式に関して、最も効率的な乗算装置を構成できる。
つまりこの発明では前述のように決めた既約多項式が用いられ還元演算の演算コストが少ないものであり、つまり還元演算手段に用いられる還元行列Rはその行列の要素数中の半分以上が零要素であり、還元演算において行列Rの零要素の部分のGF(q)上積和演算が省略され、還元演算を高速に行うことができる。
あるいは、一般のk行k−1列の行列を基本変形により標準形
【0022】
【数12】
【0023】
にするために必要な基本変形の最小回数をM回とすると還元行列RはM/2回以下の基本変形で標準形になるようなものであり、行列Rはこのような性質があるため、還元演算におけるある行の部分的な演算結果を他の行の演算に流用するように還元演算手段が多く構成され、それだけ還元を高速に行うことができる。
このような構成とすることにより、既約多項式としては3項よりなる3次以上のもの、あるいは4項よりなる4次以上のものが用いられる。
一般に式(12)の行列Vは
【0024】
【数13】
【0025】
のように分解できる。これは、還元を行う場合に次数の高い項から順にf(α)=0の関係を使って一次ずつ次数を下げてゆくことに対応する。従って、2項多項式でなくとも項数が少なく、ri 倍が高速なら還元を高速に行うことができる。また、項数が多くとも、行列Vを何らかの分解によって要素の絶対値が小さい少数の疎行列の積に分解できれば同様に還元を高速に行うことができる。このような分解が出来ると云うことは、式(14)の計算に於いて、ある行の計算過程に於ける部分的な結果を他の行の計算に流用できることに相当している。例えばq=65539、k=10の場合はf(x)=x10−x9 −1あるいはf(x)=x10−x−1、q=4201、k=10の場合はf(x)=x10+x9 +1あるいはf(x)=x10+x+1等は2項式ではないが還元を高速に行うことができる。
【0026】
【発明の実施の形態】
以下にこの発明の実施例を示す。
図1はこの発明を拡大体GF(qk )の乗算装置に適用した場合である。この乗算装置1AはGF(qk )上の元A及びBを入力し、その積C=A×Bを出力するものであり、GF(qk )上の元A、B、Cは、それぞれGF(q)上の元を要素に持つk次元ベクトルai ,bi ,ci (但し0<i<k)で表されており、GF(q)上k次既約多項式f(x)=0の一つの解をαとすると、それぞれ
A=Σi=0 k−1 ai αi ,B=Σi=0 k−1 bi αi ,C=Σi=0 k−1 ci αi
を意味している。この実施例では簡単のため、k=10の場合を説明するが、一般にf(x)の項数をmとするとm−1以上のkでもこの発明の効果を享受出来る。装置1Aは多項式乗算装置1Bと還元装置1Cとからなる。
【0027】
多項式乗算装置1BはGF(q)上の元を要素に持つk次元ベクトルai ,bi (但し0<i<k)を入力とし、xのGF(q)上係数多項式
Σj=0 2k−2djxj=(Σi=0 k−1aixi)(Σi=0 k−1bixi) (16)
の係数dj (但し0<j<2k−1)を演算して出力する。
還元装置1Cは係数di が入力され、式(14)が演算され、f(α)=0を満たすαについて
Σi=0 k−1 ci αi =Σj=0 2k−2dj αj (17)
なる係数ci (但し0<i<k)を出力する。
【0028】
還元装置1Cは例えば図2に示すように構成される。この例は還元行列Rはその構成要素の半分以上が零要素の場合で具体的にk=10、f(x)=x10−x−1が用いられその還元行列は式(9)、式(12)から次式となる。
【0029】
【数14】
【0030】
つまり行列Rはその要素数10×9=90のうち零要素の数が72、つまり80%もある。この還元行列Rを用いた式(14)の演算は図2に示すように構成することができる。図2中の(+)はGF(q)上加算を表わす。この場合は単位行列Iも還元行列Rも1の要素と零の要素とよりなり、d0 〜d9 が単位行列Iとの演算であり、d10〜d18が還元行列Rとの演算であり、各行ごとに単位行列I、還元行列R中の1の要素との演算がなされるd0 〜d18が加算される。例えば第2行目では単位行列Iとの演算はd1 であり、還元行列Rとの演算はd10とd 11 であり、これらd1 とd10とd 11 が加算されてc1 となる。
【0031】
このように還元装置1Cが構成されているため、この装置1Cでは還元を行う為のコストは加算18回である。一般にk次式f(x)=xk −x−1が既約の場合還元を行う為のコストは加算2(k−1)回であり、2項式の定数倍(r倍)が加算1回より高速に行えない場合この実施例の方が高速になる。
還元装置1Cの他の構成例を図3に示す。この場合は先に述べたように一般のk行k−1列の行列を基本変形により標準形にするために必要な基本変形の回数がM回の場合に、還元行列RがM/2回以下の基本変形で標準形となる還元行列Rが用いられた場合で、この実施例では還元行列Rはk=10,f(x)=x10−x9 −1が用いられ、次式で与えられる。
【0032】
【数15】
【0033】
なおこの行列Rは、例えば第9行の各要素で他の全ての行の対応する要素をそれぞれ引算し、その結果の行列について第8行の各要素で他の全ての行の対応する要素をそれぞれ引算し、その結果の行列について第7行の各要素で他の全ての行の対応する要素をそれぞれ引算し、以下同様のことを行えば9回という少ない回数の基本変形で標準形にすることができるものである。
このような還元行列では、図3に示すように例えばc7 を求めるための演算d17(+)d18(+)d7 中のd17(+)d18の演算結果はc6を求めるための演算d16(+)d17(+)d18(+)d6 中のd17(+)d18の演算に流用され、またc5 を求めるための演算d15(+)d16(+)d17(+)d18(+)d5 中のd16(+)d17(+)d18の演算はc6 を求めるための演算中のd16(+)d17(+)d18の演算結果が流用され、以下同様に、ある行の部分的な演算結果が他の行の演算に流用され、特に図3の例ではその流用演算手段が順次縦続的に行われているため、ここに演算する場合と比較して、全体としての演算回数が少なくなる。この還元装置1Cでは還元を行う為のコストは加算18回である。一般にk次式f(x)=xk −xk−1 −1が既約の場合還元を行う為のコストは加算2(k−1)回であり、2項式の定数倍(r倍)が加算1回より高速に行えない場合この実施例の方が高速になる。
【0034】
この発明の拡大体乗算をコンピュータにプログラムを実行させて行うこともできる。図4にその構成を示す。入出力インターフェース11、記憶部12、CPU(中央演算装置)13、コンピュータを動作させる基本プログラムが記憶されたプログラムメモリ14、各種応用プログラムが記憶されたハードディスク15、RAM16などがバス17に接続されている。ハードディスク15からこの拡大体乗算を行うためのプログラムがRAM16に転送し、そのプログラムを実行することにより、入出力インターフェース11からGF(q)上の元を要素に持つk次元ベクトルで表されるGF(qk )上の元A、Bが入力されると、これらを取込み記憶部12に格納する(S1)(図5参照)。
【0035】
その後、記憶部12から元A、Bを取出して、CPU13は多項式演算処理18を実行して、つまりai 及びbi (0<i<k)から式(16)を満たす係数dj (0<j<2k−1)を求め、これら係数djを記憶部12に格納する(S2)。
次に記憶部12からdj を取出し、還元演算処理19を実行して、式(14)を演算することにより式(17)を満たす係数ci を求め(S3)、この結果であるGF(q)上の元ci のベクトルからなるGF(qk )上の元Cを出力インターフェース11から外部へ出力する(S4)。
【0036】
図2に示した還元装置1Cの演算をコンピュータにより、つまり、図5中の還元演算処理を行わせるには、例えば図6に示す手順で行えばよい。d0 とd10を記憶部12から取出し、これらを加算してc0 として記憶部12に格納し(S1)、
記憶部12からd1 ,d10,d11を取出してこれらを加算してc1 として記憶部12に格納し(S2)、
記憶部12からd2 ,d11,d12を取出してこれらを加算してc2 として記憶部12に格納し(S3)、
記憶部12からd3 ,d12,d13を取出し、これらを加算してc3 として記憶部12に格納し(S4)、
記憶部12からd4 ,d13,d14を取出してこれらを加算してc4 として記憶部12に格納し(S5)、
記憶部12からd5 ,d14,d15を取出して、これらを加算してc5 として記憶部12に格納し(S6)、
記憶部12からd6 ,d15,d16を取出し、これらを加算してc6 として記憶部12に格納し(S7)、
記憶部12からd7 ,d16,d17を取出し、これらを加算してc7 として記憶部12に格納し(S8)、
記憶部12からd8 ,d17,d18を取出し、これらを加算してc8 として記憶部12に格納し(S9)、
記憶部12からd9 ,d18を取出し、これらを加算してc9として記憶部12に格納する(S10)。
【0037】
なおこれらのステップS1〜S10の順番は任意でよい。
図3に示した還元装置をコンピュータにより還元演算処理をさせるには例えば図7に示すようにすればよい。
まず記憶部12からd18を取出し、これをtとしてCPU13内のレジスタに一時格納し(S1)、
記憶部12からd8 とd17を取出し、そのd17とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd8 を加算してc8 として記憶部12に記憶し(S2)、
記憶部12からd7 とd16を取出し、d16とtを加算し、その結果でレジスタ内のtを更新すると共に、そのtとd7 を加算してc7 として記憶部12に格納し(S3)、
記憶部12からd6 ,d15を取出し、d15とtを加算し、その結果でレジスタ内のtを更新すると共にd6 とtを加算してc6 として記憶部12に格納し(S4)、
記憶部12からd5 ,d14を取出し、d14とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd5 を加算してc5 として記憶部12に格納し(S5)、
記憶部12からd4 ,d13を取出し、d13とtを加算し、その結果でレジスタ内のtを更新すると共に、そのtとd4 を加算してc4 として記憶部12に格納し(S6)、
記憶部12からd3 ,d12を取出し、d12とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd3 を加算してc3 として記憶部12に格納し(S7)、
記憶部12からd2 ,d11を取出し、d11とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd2 を加算してc2 として記憶部12に格納し(S8)、
記憶部12からd1 ,d10を取出し、d10とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd1 を加算してc1 として記憶部12に格納し(S9)、
記憶部12からd0 ,d9 を取出し、d9 とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとd0 を加算してc0 として記憶部12に格納する(S10)。
【0038】
k次拡大に用いるk次多項式f(x)としてはその最高次数の係数で各項の係数を割算した時に、つまりモニックした時に、各項の係数が±1になるものが好ましい。このようにすると、還元行列Rの構成要素が零要素と1要素とで構成され、定数倍演算をしなくてすみ、高速演算が可能となる。
図4において、駆動部21を介して外部ディスク装置22を駆動し、外部ディスク装置22に記録されたプログラムを実行して前記処理を行うようにしてもよい。また上述ではこの発明を乗算装置に適用したが、一般にGF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大体GF(qk )上の演算において、演算実行中にGF(q)上の元を要素に持つ2k−1次元縦ベクトルdをGF(q)上の元を要素に持つk次元縦ベクトルcに、f(x)=0の関係を用いて還元を行う拡大体演算装置に適用できる。
【0039】
【発明の効果】
従来GF(q)上既約2項式が存在しない場合GF(q)[x]/(f(x))上乗算において還元にk(k−1)回のGF(q)上定数倍とk(k−1)回のGF(q)上加算の演算が必要と考えられていたが、この発明によれば、最も効率の良い時2(k−1)回のGF(q)上加算で還元を実行できる。上記GF(q)上定倍数はGF(q)上加算より十分大きなコストがかかるが、GF(q)上定数倍をGF(q)上加算の5倍と見積もっても、k=10の場合で還元が30倍高速化できる。GF(q)上既約2項式xk −rが存在しても、r倍が必ずしも高速に実行できない場合r倍をGF(q)上加算の5倍と見積もると、最も効率の良い場合、この発明により、還元が3倍高速化できる。
【図面の簡単な説明】
【図1】GF(qk )乗算装置の構成を示す図。
【図2】図1中の還元装置1Cの具体例を示す図。
【図3】図1中の還元装置1Cの他の具体例を示す図。
【図4】この発明装置をコンピュータにより実現する例を示すブロック図。
【図5】GF(qk )乗算の処理の流れを示す図。
【図6】還元演算処理の流れを示す図。
【図7】還元演算処理の他の例の流れを示す図。[0001]
TECHNICAL FIELD OF THE INVENTION
INDUSTRIAL APPLICABILITY The present invention is used for realizing information security technology such as elliptic curve cryptography / signature and the like. GF (q k ) = GF (q [x] / f (x)) device.
[0002]
[Prior art]
When implementing the elliptic curve cryptography, the elliptic curve is defined as a k-th order extension field GF (q k ) of a finite field GF (q) (where q is a prime number close to the word length of a computer or a power of a prime number). May be used. If faster operation on an extension field GF (q k), can speed up the processing speed of the defined elliptic curve cryptography over an extension field GF (q k). Suppose now that it is desired to configure an apparatus that executes an operation of a product C = A × B on a GF (q k ) of elements A and B on a k-th extension field GF (q k ) of GF (q). If the irreducible polynomial used for the expansion is f (x) on GF (q) and one of the solutions of the algebraic equation f (x) = 0 is α, the element A on GF (q k ) is generally GF (Q) Using a k-dimensional vector a i (where 0 < i <k) having the above element as an element,
A = Σ i = 0 k−1 a i α i
Can be written uniquely. A k-dimensional vector a i having an element on GF (q) as an element is referred to as a representation of A by a polynomial basis. That is, an arithmetic device that receives the expressions a i and b i (where 0 < i <k) based on polynomial bases of A and B as inputs and outputs the expressions c i (where 0 < i <k) based on polynomial bases of C In this case, in order to calculate C, first, A and B are regarded as polynomials related to α, and C = A × B is calculated by a polynomial operation. That is, Σ j = 0 2k−2 dj α j = (Σ i = 0 k−1 ai α i ) × (Σ i = 0 k−1 b i α i ) (1)
Dj (where 0 < j <2k-1) is obtained. At this time GF (q) 2k-1 dimensional with the original element vector d j (where 0 <j <2k-1) is not a k-dimensional vector with the original on GF (q) to the element, C is not represented by a polynomial basis. In order to obtain a representation by C polynomial basis, Σ i = 0 k−1 c i α i = Σ j = 0 2k−2 d j α j (2)
C i (where 0 < i <k) must be obtained. For this purpose, f (α) = 0 is used. Since f (x) is a k-th order polynomial of x, f (α) = P 0 + P 1 α + P 2 α 2 +... + P k−1 α k−1 + P k α k = 0
α k = Σ j = 0 k−1 r j α j (3)
It can be. Therefore, a polynomial of α of order k or more can be converted into a polynomial of α of degree k−1 using equation (3). This operation is called reduction. If the polynomial f (x) used for enlargement is an irreducible k-th order binomial polynomial x k −r on GF (q), α k = r, and therefore α m = rα m−k for the integer m It is. Therefore, dj (j = k〜2k−2) of each term of k−1 or more α k or more is multiplied by r to reduce the order to k−1 or less, and the reduced order and the corresponding order d j (j = 0~k-1) and the addition to the c i (i = 0~k-1 ) can be obtained, that is to perform reduction with r times the sum of the k-1 times Can be done. Since the binomial polynomial x k -r has the above-described properties, conventionally, it is necessary to use a binomial polynomial x k -r for the polynomial used for enlargement in order to perform the operation on the enlargement field at high speed. (See Japanese Patent Application No. 10-255526).
[0003]
[Problems to be solved by the invention]
In the extended field operation method using the binomial polynomial, the irreducible binomial polynomial f (x) = x k −r does not exist on GF (q) depending on the value of q or k, or r times is not always executed at high speed. There were many cases where it was not possible. For example, in the case of k = 13, among the first 200 prime numbers larger than 2 12, only 12 prime numbers have an irreducible binomial polynomial satisfying −100 < r < 100. SUMMARY OF THE INVENTION An object of the present invention is to provide an extended field arithmetic device capable of executing a calculation on an extended field at high speed in any case.
[0004]
[Means for Solving the Problems]
The principle of the present invention will be described below. For the sake of simplicity, consider converting an m-th order polynomial of α into an m-1 order polynomial using f (α) = 0 (where k < m <2k). the m-th order polynomial of α Σ i = 0 2k-1 d i α i = Σ i = 0 k-1 d i α i + Σ i = 0 k-1 d i + k (α i · α k) (4)
It can be. In order to convert the m-th order polynomial into the (m-1) -th order polynomial, it is only necessary to lower the order of all k-order or higher powers of α from f (α) = 0 by one order. That is, using equation (3),
It should just be transformed. If the left side of Expression (5) is an m-th order expression of α (k < m <2k), the right side of Expression (5) is an m-1 order expression of α. If the right side of equation (5) is regarded as a polynomial of α and the coefficient of α i is d ′ i , equation (5) becomes
Σ i = 0 2k-1 d i α i = Σ i = 0 2k-1 d 'i α i (6)
And multiply. However, when i > m, d ′ i = 0. GF [0005] In the vertical vector 2k-dimensional vector d i with the original elements on the (q)
(Equation 2)
This process uses a matrix as follows:
(Equation 3)
[0007]
(Blanks are assumed to be 0, and so on). The vertical and horizontal lines in the 2k row and 2k column matrix on the right side are given for convenience, and the upper left small matrix (unit matrix) divided by the vertical and horizontal lines is the first term on the right side of equation (5). The upper and lower small matrices on the right correspond to the second term on the right. For convenience of explanation, a name is given to the separated small matrix, and Expression (7) is expressed by the following expression.
(Equation 4)
I will express it. I is a unit matrix of k rows and k columns, and O is a zero matrix of k rows and k columns. Also,
[0009]
(Equation 5)
[0010]
And Multiplying the matrix once by the vertical vector in equation (8) is equivalent to converting the m-th order expression of α into the m-1 order expression using the relationship of f (α) = 0. Therefore, converting a 2k-1 degree expression of α into a k-1 degree expression is nothing but multiplying the matrix of Expression (8) by k times the vertical vector. That is, reduction is [0011]
(Equation 6)
None other than the (however i> c i = 0 when k).
[0012]
(Equation 7)
Is calculated sequentially as the second power and the third power.
[0013]
(Equation 8)
[0014]
It becomes. = R 1 k -I in place (R 1 -I) (R 1 k-1 + R 1 k-2 + ... +
Since R 1 is a matrix of the equation (10), it becomes 0 when raised to the k-th power. Thus -I = (R 1 -I) ( R 1 k-1 + R 1 k-2 + ... +
When both sides are multiplied by (R 1 -I) −1 ,
- (R 1 -I) -1 = R 1 k-1 + R 1 k-2 + ... +
(IR 1 ) -1 = Σ i = 0 k-1 R 1 i
This relationship is substituted into equation (11), and since R 1 k = 0,
(Equation 9)
It becomes. If R ′ = R 0 (I−R 1 ) −1 , equation (10) becomes
(Equation 10)
[0017]
And multiply. Since the product of the two k-1 order polynomials is a 2k-2 order polynomial, the k-order extension of GF (q) by irreducible k-order polynomial f (x) on GF (q) GF (q k ) = GF When considering the multiplication of two elements on (q) [x] / (f (x)), d 2k−1 = 0. Therefore, the columns actually required in R 'are the 0th column to the (k-2) th column. The matrix R of k rows (k-1) columns from the 0th column to the (k-2) th column of the matrix R 'is called a reduction matrix, and Expression (13) is simply expressed by using R.
(Equation 11)
[0019]
Can be expressed as From equation (14), it can be seen that whether the multiplication of two elements on GF (q) [x] / (f (x)) can be calculated at high speed depends on the nature of the reduction matrix R. The reduction in the multiplication of two elements over the general extension field GF (q) [x] / (f (x)) is obtained by using k (k-1) times from equations (7), (8), and (14). An operation of multiplying by a constant on GF (q) and adding on k (k−1) times on GF (q) is required. On the other hand, in the case of an extended field GF (q) [x] / (x k −r) based on an irreducible binomial polynomial which has been conventionally assumed to be fast, R ′ = rI, so (k−1) times of GF Only (q) upper constant times (r times) and (k-1) times of additions on GF (q) are required. Whether the binomial expression x k -r is irreducible or not depends on the value of the definition field q and the extension order k. For example, when q = 65539 and k = 10, there is no irreducible binomial expression. In such a case, it was conventionally considered that an efficient multiplication device could not be constructed. Alternatively, when q = 4201 and k = 10, the irreducible binomial expression x k -r is r = ± 11, ± 13, ± 19,... Times addition is required, and r times is not always fast. However, even in such a case, an efficient multiplication device can be configured by following the procedure described below.
[0020]
Step 1: A reduction matrix R corresponding to all irreducible polynomials that can be searched is calculated according to the above procedure.
Step 2: Check the property related to the calculation cost of the reduction calculation by R.
Step 3: Among all irreducible polynomials that can be searched, find the irreducible polynomial f (x) with the lowest operation cost.
Step 4: The configuration of the reduction operation device at f (x) is performed to configure the multiplication device.
[0021]
Even if the irreducible polynomial that can be searched for in the above procedure includes the irreducible binomial polynomial, the procedure does not change at all. Therefore, in this way, the most efficient multiplication device can be configured for all irreducible polynomials that can be searched, including irreducible binomial polynomials.
That is, in the present invention, the irreducible polynomial determined as described above is used, and the operation cost of the reduction operation is low. That is, the reduction matrix R used in the reduction operation means has at least half the number of elements of the matrix as zero elements. In the reduction operation, the product-sum operation on the GF (q) of the zero element portion of the matrix R is omitted, and the reduction operation can be performed at high speed.
Alternatively, a general matrix of k rows and k-1 columns is transformed into a standard form by basic transformation.
(Equation 12)
[0023]
Assuming that the minimum number of basic transformations required to make M is the reduction matrix R is such that it becomes a standard form with a basic transformation of M / 2 or less, and the matrix R has such properties, Many reduction calculation means are configured to divert a partial calculation result of a certain row in a reduction calculation to a calculation of another row, so that reduction can be performed at a high speed.
With such a configuration, an irreducible polynomial of a third or higher order consisting of three terms or a fourth or higher order consisting of four terms is used.
In general, the matrix V in equation (12) is
(Equation 13)
[0025]
It can be decomposed as follows. This corresponds to decreasing the order by one using the relation of f (α) = 0 in order from the term with the highest order when performing reduction. Therefore, even if it is not a binomial polynomial, if the number of terms is small and r i times is high, reduction can be performed at high speed. Even if the number of terms is large, the reduction can be performed at high speed if the matrix V can be decomposed into a product of a small number of sparse matrices having small absolute values of elements by some decomposition. The fact that such a decomposition can be performed is equivalent to the fact that, in the calculation of the equation (14), a partial result in the calculation process of a certain row can be used for the calculation of another row. For example q = 65539, k = 10 in the case of f (x) = x 10 -x 9 -1 or f (x) = x 10 -x -1, q = 4201, k = 10 in the case of f (x) = X 10 + x 9 +1 or f (x) = x 10 + x + 1 is not a binomial expression, but can reduce at high speed.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, examples of the present invention will be described.
FIG. 1 shows a case where the present invention is applied to a multiplication device of an expanded field GF (q k ). The multiplication device 1A inputs elements A and B on GF (q k ) and outputs the product C = A × B. Elements A, B, and C on GF (q k ) K-dimensional vectors a i , b i , c i (where 0 < i <k) having elements on GF (q) as elements, and k-th irreducible polynomial f (x) on GF (q) If one solution of = 0 is α, A = Σ i = 0 k−1 ai α i , B = Σ i = 0 k−1 b i α i , C = Σ i = 0 k−1 c i α i
Means In this embodiment, for simplicity, the case of k = 10 will be described. However, in general, if the number of terms of f (x) is m, the effect of the present invention can be enjoyed even for k of m-1 or more. The device 1A includes a polynomial multiplication device 1B and a reduction device 1C.
[0027]
The polynomial multiplication device 1B receives k-dimensional vectors a i and b i (where 0 < i <k) having elements on GF (q) as elements, and obtains a coefficient polynomial x j = 0 2k on x on GF (q). -2 d j x j = (Σ i = 0 k-1 a i x i) (Σ i = 0 k-1 b i x i) (16)
Coefficients d j (where 0 <j <2k-1) operation on the output of.
Reduction device 1C coefficients d i is input, the equation (14) is operational, f (α) Σ i = the alpha satisfy = 0 0 k-1 c i α i = Σ j = 0 2k-2 d j α j (17)
The coefficient c i (where 0 < i <k) is output.
[0028]
The reduction device 1C is configured, for example, as shown in FIG. This example reduction matrix R the reducing matrix equation specifically k = 10, f (x) = x 10 -x-1 is used when more than half of its components is zero element (9), wherein The following equation is obtained from (12).
[0029]
[Equation 14]
[0030]
In other words, the matrix R has 72 zero elements out of 10 × 9 = 90, that is, 80%. The calculation of equation (14) using the reduction matrix R can be configured as shown in FIG. (+) In FIG. 2 represents addition on GF (q). In this case, both the identity matrix I and the reduction matrix R are composed of one element and zero element, d 0 to d 9 are operations with the identity matrix I, and d 10 to d 18 are operations with the reduction matrix R. In addition, for each row, d 0 to d 18 that are calculated with one element in the unit matrix I and the reduction matrix R are added. For example operation of an identity matrix I in the second row is d 1, the calculation of the reduction matrix R is d 10 and d 11, a c 1 these d 1 and d 10 and d 11 is added .
[0031]
Since the reduction device 1C is configured as described above, the cost for performing the reduction in this device 1C is 18 additions. In general, when the k-th order expression f (x) = x k −x−1 is irreducible, the cost for performing the reduction is 2 (k−1) additions, and a constant multiple (r times) of the binomial expression is added. In the case where the operation cannot be performed faster than one time, this embodiment is faster.
FIG. 3 shows another configuration example of the reduction device 1C. In this case, as described above, if the number of basic transformations required to convert a general matrix of k rows and k-1 columns into a standard form by the basic transformation is M times, the reduction matrix R becomes M / 2 times In the following basic modification, a reduction matrix R in a standard form is used. In this embodiment, the reduction matrix R is k = 10, f (x) = x 10 −x 9 −1. Given.
[0032]
(Equation 15)
[0033]
The matrix R is obtained by, for example, subtracting the corresponding elements of all other rows by the elements of the ninth row, and calculating the corresponding matrix of the elements of the other rows by the elements of the eighth row. Are subtracted from each other, and the corresponding elements of all other rows are respectively subtracted by the elements of the seventh row with respect to the resulting matrix, and if the same operation is performed in the following, the basic transformation is performed in a small number of times as few as nine times. It can be shaped.
In such a reduction matrix to determine the operation d 17 (+) d 18 ( +)
[0034]
The extended field multiplication according to the present invention can also be performed by causing a computer to execute a program. FIG. 4 shows the configuration. An input /
[0035]
Thereafter, the elements A and B are extracted from the
Then removed d j from the
[0036]
The calculation of the reduction device 1C shown in FIG. 2 by a computer, that is, the reduction calculation process in FIG. 5 may be performed by, for example, the procedure shown in FIG. d 0 and d 10 are fetched from the
D 1 , d 10 , and d 11 are taken out from the
D 2 , d 11 , and d 12 are extracted from the
D 3 , d 12 , and d 13 are extracted from the
D 4 , d 13 , and d 14 are extracted from the
D 5 , d 14 , and d 15 are extracted from the
D 6 , d 15 , and d 16 are extracted from the
D 7 , d 16 , and d 17 are taken out from the
D 8 , d 17 , and d 18 are extracted from the
D 9 and d 18 are extracted from the
[0037]
Note that the order of these steps S1 to S10 may be arbitrary.
In order for the computer shown in FIG. 3 to perform a reduction calculation process by a computer, for example, the processing shown in FIG. 7 may be performed.
First, d 18 is retrieved from the
D 8 and d 17 are taken out of the
D 7 and d 16 are taken out of the
D 6 and d 15 are taken out of the
D 5 and d 14 are taken out of the
D 4 and d 13 are taken out from the
D 3 and d 12 are taken out from the
D 2 and d 11 are extracted from the
D 1 and d 10 are extracted from the
D 0 and d 9 are extracted from the
[0038]
As the k-th order polynomial f (x) used for the k-th extension, it is preferable that the coefficient of each term becomes ± 1 when the coefficient of each term is divided by the coefficient of the highest order, that is, when monic occurs. In this way, the components of the reduction matrix R are composed of zero elements and one element, so that it is not necessary to perform a constant multiplication operation, and high-speed operation becomes possible.
In FIG. 4, the
[0039]
【The invention's effect】
When there is no existing irreducible binomial expression on the conventional GF (q), the reduction in the multiplication on GF (q) [x] / (f (x)) is reduced by k (k−1) times the constant times on GF (q). Although it is considered that k (k-1) addition operations on GF (q) are required, according to the present invention, 2 (k-1) addition operations on GF (q) are performed at the most efficient time. The reduction can be executed with. The above fixed multiple on GF (q) costs much more than the addition on GF (q), but even if it is estimated that the constant multiple on GF (q) is 5 times the addition on GF (q), k = 10 Can speed up the reduction 30 times. Even if there is an irreducible binomial expression x k -r on GF (q), when r times cannot always be executed at high speed, estimating r times as 5 times the addition on GF (q) gives the most efficient According to the present invention, reduction can be performed three times faster.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a GF (q k ) multiplication device.
FIG. 2 is a diagram showing a specific example of a reduction device 1C in FIG.
FIG. 3 is a view showing another specific example of the reduction device 1C in FIG. 1;
FIG. 4 is a block diagram showing an example in which the present invention is realized by a computer.
FIG. 5 is a diagram showing a flow of GF (q k ) multiplication processing.
FIG. 6 is a diagram showing a flow of a reduction calculation process.
FIG. 7 is a diagram showing a flow of another example of the reduction operation processing.
Claims (8)
上記還元手段は上記縦ベクトル[d]を入力して、GF(q)上の元を要素に持つk行k列単位行列I及び上記k次多項式f(x)により定まるGF(q)上の元を要素に持つk行k−1列の行列Rについて、
[c]=[I|R][d]
を演算して、その結果を上記縦ベクトル[c]として出力するものであり、
上記行列Rは探索し得る既約多項式と対応する還元行列中の還元演算コストが最も少ないものであることを特徴とする拡大体演算装置。Let q be a prime number or a power of a prime number, and a k-order extension of GF (q) by an irreducible k-order polynomial f (x) on a finite field GF (q) GF (q k ) = GF (q) [x] / ( During execution of the original operation on f (x)), a 2k-1 dimensional vertical vector [d] having an element on GF (q) as an element is converted into a k-dimensional vertical vector [ c] is a computing device comprising reduction means for performing reduction using f (x) = 0,
The reduction means receives the vertical vector [d], and receives a k-by-k column unit matrix I having elements on GF (q) as elements and a k-th order polynomial f (x). For a matrix R of k rows and k-1 columns having elements as elements,
[C] = [I | R] [d]
And outputs the result as the vertical vector [c].
An extended field operation device, wherein the matrix R has the lowest reduction operation cost in a reduction matrix corresponding to an irreducible polynomial that can be searched .
上記還元手段は上記縦ベクトル[d]を入力して、GF(q)上の元を要素に持つk行k列単位行列I及び上記k次多項式f(x)により定まるGF(q)上の元を要素に持つk行k−1列の行列Rについて、
[c]=[I|R][d] (E)
を演算して、その結果を上記縦ベクトル[c]として出力するものであり、
一般のk行k−1列の行列を基本変形により標準形
The reduction means receives the vertical vector [d], and receives a k-by-k column unit matrix I having elements on GF (q) as elements and a k-th order polynomial f (x). For a matrix R of k rows and k-1 columns having elements as elements,
[C] = [I | R] [d] (E)
And outputs the result as the vertical vector [c].
Standard k-by-k-1 matrix by basic transformation
上記還元手段は上記式(E)の演算において、ある行の部分的な演算結果を他の行演算に流用する手段を備えることを特徴とする拡大体演算装置。The device according to claim 2,
The enlargement field arithmetic device according to claim 1, wherein said reduction means includes means for diverting a partial calculation result of a certain row to another row calculation in the calculation of said equation (E).
上記多項式f(x)は3項又は4項からなる3次又は4次以上の多項式であることを特徴とする拡大体演算装置。The device according to any one of claims 1 to 3,
The extended field operation device, wherein the polynomial f (x) is a third-order or fourth-order or higher polynomial composed of three or four terms.
上記多項式f(x)はその最高次の項の係数で他の項の係数を割るとその値が±1となるものであることを特徴とする拡大体演算装置。The device according to any one of claims 1 to 4,
An enlarged field arithmetic unit wherein the value of the polynomial f (x) is ± 1 when the coefficient of the other term is divided by the coefficient of the highest-order term.
A=Σi=0 k−1 ai αi 、B=Σi=0 k−1 bi αi (0<i<k)
を用いて演算する装置のコンピュータに、
入力されたA及びBを記憶手段に記憶する処理と、
記憶手段から上記A及びBを取出して多項式乗算を行ってΣi=0 2k−2di αj (0<j<2k−1)を求め、その係数dj を記憶手段に記憶する処理と、
上記djを記憶手段から取出し、GF(q)上の元を要素に持つk行k列単位行列I及び上記k次多項式f(x)により定まるGF(q)上の元を要素に持つk行k−1列の行列Rについて、
[c]=[I R][d]
を演算する還元処理と、
上記演算結果Σi=0 k−1 ci をCとして出力する処理と
を実行させるプログラムを記録した記録媒体。The product C of elements A and B on a k-th extension GF (q k ) of GF (q) by an irreducible k-th order polynomial f (x) on a finite field GF (q) (q is a prime number or a power of a prime number) = A × B as one of the solutions of f (x) = 0, a k-dimensional vector A = Σ i = 0 k−1 a i α i having an element on GF (q) as an element, B = Σ i = 0 k- 1 b i α i (0 <i <k)
To the computer of the device that calculates using
Processing for storing the input A and B in the storage means;
From the storage means determined said performing polynomial multiplication extracts the A and B Σ i = 0 2k-2 d i α j (0 <j <2k-1), a process of storing the coefficients d j in the storage means ,
The above dj is taken out from the storage means, and a k-row k-column unit matrix I having an element on GF (q) as an element and a k having an element on GF (q) determined by the k-th order polynomial f (x) as an element For a matrix R of row k-1 columns,
[C] = [IR] [d]
And a reduction process for calculating
Recording medium for recording a program for executing a process of outputting the operation result Σ i = 0 k-1 c i as C.
上記行列Rは探索し得る既約多項式と対応する還元行列中の還元演算コストが最も少ないものであることを特徴とする記録媒体。The recording medium according to claim 6,
A recording medium characterized in that the matrix R has the lowest reduction operation cost in a reduction matrix corresponding to an irreducible polynomial that can be searched .
上記還元処理において、ある行の部分的な演算結果を他の行の演算に流用することを少なくとも複数回縦続的に行う処理を含むことを特徴とする記録媒体。The recording medium according to claim 6,
A recording medium characterized in that the reduction process includes a process of cascading at least a plurality of times using a partial calculation result of a certain row for a calculation of another row.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000079614A JP3565494B2 (en) | 2000-03-22 | 2000-03-22 | Enlarged field arithmetic device and program recording medium therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000079614A JP3565494B2 (en) | 2000-03-22 | 2000-03-22 | Enlarged field arithmetic device and program recording medium therefor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001265571A JP2001265571A (en) | 2001-09-28 |
| JP3565494B2 true JP3565494B2 (en) | 2004-09-15 |
Family
ID=18596842
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000079614A Expired - Lifetime JP3565494B2 (en) | 2000-03-22 | 2000-03-22 | Enlarged field arithmetic device and program recording medium therefor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3565494B2 (en) |
-
2000
- 2000-03-22 JP JP2000079614A patent/JP3565494B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001265571A (en) | 2001-09-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8959134B2 (en) | Montgomery multiplication method | |
| US8793300B2 (en) | Montgomery multiplication circuit | |
| Chionh et al. | Fast computation of the Bezout and Dixon resultant matrices | |
| JPH07271556A (en) | Apparatus and method for electronic multiplication and addition | |
| KR100950581B1 (en) | Finite Field Bits Using Redundant Representation--Parallel Multiplication Devices and Methods | |
| JP3129392B2 (en) | Two-dimensional IDCT circuit | |
| JP3565494B2 (en) | Enlarged field arithmetic device and program recording medium therefor | |
| JP5175983B2 (en) | Arithmetic unit | |
| WO2023112211A1 (en) | Polynomial multiplication device, polynomial multiplication method, polynomial multiplication program, polynomial multiplication source code generation device, polynomial multiplication source code generation method, and polynomial multiplication source code generation program | |
| JP3660075B2 (en) | Dividing device | |
| JP3823107B2 (en) | Basis transformation method and basis transformation device in finite field | |
| Harish et al. | Comparative performance analysis of Karatsuba Vedic multiplier with butterfly unit | |
| TWI802095B (en) | Modular multiplication circuit and corresponding modular multiplication method | |
| Porwik | Efficient spectral method of identification of linear Boolean function | |
| KR100976232B1 (en) | Fast bit-parellel polynomial multipier and method thereof | |
| KR100954843B1 (en) | Block indexing-based elliptic curve cryptography method in sensor mote, apparatus and recording medium recording the same | |
| JP3652717B2 (en) | Discrete cosine high-speed calculator | |
| JP3540280B2 (en) | Power-residue calculation method and remainder calculation method | |
| JPH06223097A (en) | Generation method of circuit description of multiplier and sum of products operator | |
| JP4405452B2 (en) | Inverse conversion circuit | |
| JP4998225B2 (en) | Finite field computation method and finite field computation device | |
| Shams Solary | Quasi-block Toeplitz matrix in matlab | |
| JP2001084242A (en) | Variable arithmetic processor | |
| CN120744994A (en) | Method and apparatus for performing truncated multiplication using optimized truncated multiplication circuit | |
| JP2004102071A (en) | Polynomial remainder system operation device, method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040511 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040604 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 3565494 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120618 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140618 Year of fee payment: 10 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |