Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3565494B2 - Enlarged field arithmetic device and program recording medium therefor - Google Patents
[go: Go Back, main page]

JP3565494B2 - Enlarged field arithmetic device and program recording medium therefor - Google Patents

Enlarged field arithmetic device and program recording medium therefor Download PDF

Info

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
Application number
JP2000079614A
Other languages
Japanese (ja)
Other versions
JP2001265571A (en
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000079614A priority Critical patent/JP3565494B2/en
Publication of JP2001265571A publication Critical patent/JP2001265571A/en
Application granted granted Critical
Publication of JP3565494B2 publication Critical patent/JP3565494B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えば楕円曲線暗号/署名などの情報セキュリティ技術を実現するために用いられ、有限体GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大体GF(q)=GF(q[x]/f(x))装置に関する。
【0002】
【従来の技術】
楕円曲線暗号を実現する際、楕円曲線の定義体として、有限体GF(q)(但しqは計算機の語長に近い素数または素数のべき(冪))のk次拡大体GF(q)を用いる場合がある。拡大体GF(q)上の演算を高速化できれば、拡大体GF(q)上で定義された楕円曲線暗号の処理速度を高速化できる。今GF(q)のk次拡大体GF(q)上の元A及びBのGF(q)上の積C=A×Bの演算を実行する装置を構成したいとする。拡大に用いる既約多項式をGF(q)上のf(x)とし、代数方程式f(x)=0の解の一つをαとすると、一般にGF(q)上の元Aは、GF(q)上の元を要素に持つk次元ベクトルa(但し0i<k)を用いて、
A=Σi=0 k−1 α
と一意に書くことが出来る。GF(q)上の元を要素に持つk次元ベクトルaをAの多項式基底による表現と呼ぶ。即ちA及びBの多項式基底による表現a及びb(但し0i<k)を入力とし、Cの多項式基底による表現c(但し0i<k)を出力とする、演算装置を構成する場合、Cを計算する為には、まずA及びBをαに関する多項式と見做し、C=A×Bを多項式演算で計算する。即ち
Σj=0 2k−2α=(Σi=0 k−1α)×(Σi=0 k−1α) (1)
なるd(但し0j<2k−1)を求める。この時GF(q)上の元を要素に持つ2k−1次元ベクトルd(但し0j<2k−1)は、GF(q)上の元を要素に持つk次元ベクトルではないので、Cの多項式基底による表現とはなっていない。Cの多項式基底による表現を得る為には
Σi=0 k−1 α=Σj=0 2k−2α (2)
なるc(但し0i<k)を求めなくてはならない。この目的の為にはf(α)=0が用いられる。f(x)がxのk次多項式であるからf(α)=P+Pα+Pα+…+Pk−1 αk−1 +Pα=0の関係から、
α=Σj=0 k−1 α (3)
とすることができる。従って、式(3)を使ってk次以上のαの多項式をk−1次のαの多項式に変換することが出来る。この操作を還元と呼ぶ。もし拡大に用いる多項式f(x)がGF(q)上既約k次2項多項式x−rであれば、α=rであるので、整数mに対してα=rαm−kである。従って、k−1箇のα以上の各項のd(j=k〜2k−2 )をr倍して次数をk−1以下にすると共に、その下げた次数と対応する次数のd(j=0〜k−1)と加算して各c(i=0〜k−1)を求めることができ、つまりk−1回のr倍と加算を用いて還元を実行することが出来る。2項多項式x−rには上記のような性質があるので、従来、拡大体上の演算を高速に行う為には拡大に用いる多項式を2項多項式x−rにすることが必要とされてきた(特願平10−255526号参照)。
【0003】
【発明が解決しようとする課題】
上記2項多項式による拡大体演算法では、qやkの値によってはGF(q)上既約2項多項式f(x)=x−rが存在しなかったり、r倍が必ずしも高速に実行できない場合が数多く存在した。例えばk=13の場合212より大きい素数のうちの最初の200個の中で、−100100なる既約2項多項式が存在する素数はわずか12個に過ぎない。この発明は、どのような場合でも拡大体上演算を高速に実行することを可能とする拡大体演算装置を提供することを目的とする。
【0004】
【課題を解決するための手段】
以下にこの発明の原理を説明する。簡単のためαのm次多項式をf(α)=0を用いてm−1次多項式に変換することを考える(但しkm<2k)。αのm次多項式を
Σi=0 2k−1α=Σi=0 k−1α+Σi=0 k−1i+k(α・α) (4)
とすることができる。m次多項式をm−1次多項式にする為には、αのすべてのk次以上の冪をf(α)=0の関係から次数を1次下げれば良い。即ち式(3)を使って式(4)を

Figure 0003565494
と変形すれば良い。式(5)の左辺がαのm次式(km<2k)なら式(5)の右辺はαのm−1次式である。式(5)の右辺をαの多項式と見做しαの係数をd′とおくと式(5)は、
Σi=0 2k−1α=Σi=0 2k−1d′α (6)
とかける。但しimの場合d′=0である。GF(q)上の元を要素に持つ2k次元ベクトルdを縦ベクトルで
【0005】
【数2】
Figure 0003565494
と表現するなら、この過程は以下のように行列を用いて
【0006】
【数3】
Figure 0003565494
【0007】
と表現することが出来る(空白は0と見做す、以下も同様)。右辺の2k行2k列の行列内の縦線と横線は便宜上付けたものであり、この縦線、横線で分けられた左上の小行列(単位行列)は式(5)の右辺第1項と対応し、右の上下の小行列は右第2項と対応する。説明の便宜の為、区切られた小行列に名前を付け式(7)を次式
【0008】
【数4】
Figure 0003565494
と表現することにする。Iはk行k列の単位行列であり、Oはk行k列の零行列である。また、
【0009】
【数5】
Figure 0003565494
【0010】
とする。式(8)で行列を縦ベクトルに1回かけることはf(α)=0の関係を使ってαのm次式をm−1次式に変換することに相当している。従ってαの2k−1次式をk−1次式に変換することは式(8)の行列を縦ベクトルにk回かけることに他ならない。即ち還元とは
【0011】
【数6】
Figure 0003565494
に他ならない(但しikの時c=0)。
【0012】
【数7】
Figure 0003565494
を2乗、3乗と順次計算し、k乗まで行うと、
【0013】
【数8】
Figure 0003565494
【0014】
となる。所で
−I=(R−I)(R k−1+R k−2+…+R+I)
であり、Rは式(10)の行列であるから、これをk乗すると0となる。よって
−I=(R−I)(R k−1+R k−2+…+R+I)
両辺に(R−I)−1を乗算すると、
−(R−I)−1=R k−1+R k−2+…+R+R
(I−R−1=Σi=0 k−1
この関係を式(11)に代入し、またR =0であるから
【0015】
【数9】
Figure 0003565494
となる。R′=R(I−R−1とおけば式(10)は
【0016】
【数10】
Figure 0003565494
【0017】
とかける。二つのk−1次多項式の積は2k−2次多項式であるので、GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大GF(q)=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】
Figure 0003565494
【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】
Figure 0003565494
【0023】
にするために必要な基本変形の最小回数をM回とすると還元行列RはM/2回以下の基本変形で標準形になるようなものであり、行列Rはこのような性質があるため、還元演算におけるある行の部分的な演算結果を他の行の演算に流用するように還元演算手段が多く構成され、それだけ還元を高速に行うことができる。
このような構成とすることにより、既約多項式としては3項よりなる3次以上のもの、あるいは4項よりなる4次以上のものが用いられる。
一般に式(12)の行列Vは
【0024】
【数13】
Figure 0003565494
【0025】
のように分解できる。これは、還元を行う場合に次数の高い項から順にf(α)=0の関係を使って一次ずつ次数を下げてゆくことに対応する。従って、2項多項式でなくとも項数が少なく、r倍が高速なら還元を高速に行うことができる。また、項数が多くとも、行列Vを何らかの分解によって要素の絶対値が小さい少数の疎行列の積に分解できれば同様に還元を高速に行うことができる。このような分解が出来ると云うことは、式(14)の計算に於いて、ある行の計算過程に於ける部分的な結果を他の行の計算に流用できることに相当している。例えばq=65539、k=10の場合はf(x)=x10−x−1あるいはf(x)=x10−x−1、q=4201、k=10の場合はf(x)=x10+x+1あるいはf(x)=x10+x+1等は2項式ではないが還元を高速に行うことができる。
【0026】
【発明の実施の形態】
以下にこの発明の実施例を示す。
図1はこの発明を拡大体GF(q)の乗算装置に適用した場合である。この乗算装置1AはGF(q)上の元A及びBを入力し、その積C=A×Bを出力するものであり、GF(q)上の元A、B、Cは、それぞれGF(q)上の元を要素に持つk次元ベクトルa,b,c(但し0i<k)で表されており、GF(q)上k次既約多項式f(x)=0の一つの解をαとすると、それぞれ
A=Σi=0 k−1 α,B=Σi=0 k−1 α,C=Σi=0 k−1 α
を意味している。この実施例では簡単のため、k=10の場合を説明するが、一般にf(x)の項数をmとするとm−1以上のkでもこの発明の効果を享受出来る。装置1Aは多項式乗算装置1Bと還元装置1Cとからなる。
【0027】
多項式乗算装置1BはGF(q)上の元を要素に持つk次元ベクトルa,b(但し0i<k)を入力とし、xのGF(q)上係数多項式
Σj=0 2k−2=(Σi=0 k−1)(Σi=0 k−1) (16)
の係数d(但し0j<2k−1)を演算して出力する。
還元装置1Cは係数dが入力され、式(14)が演算され、f(α)=0を満たすαについて
Σi=0 k−1 α=Σj=0 2k−2α (17)
なる係数c(但し0i<k)を出力する。
【0028】
還元装置1Cは例えば図2に示すように構成される。この例は還元行列Rはその構成要素の半分以上が零要素の場合で具体的にk=10、f(x)=x10−x−1が用いられその還元行列は式(9)、式(12)から次式となる。
【0029】
【数14】
Figure 0003565494
【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 11 であり、これらd1 とd10 11 が加算されてc1 となる。
【0031】
このように還元装置1Cが構成されているため、この装置1Cでは還元を行う為のコストは加算18回である。一般にk次式f(x)=x−x−1が既約の場合還元を行う為のコストは加算2(k−1)回であり、2項式の定数倍(r倍)が加算1回より高速に行えない場合この実施例の方が高速になる。
還元装置1Cの他の構成例を図3に示す。この場合は先に述べたように一般のk行k−1列の行列を基本変形により標準形にするために必要な基本変形の回数がM回の場合に、還元行列RがM/2回以下の基本変形で標準形となる還元行列Rが用いられた場合で、この実施例では還元行列Rはk=10,f(x)=x10−x−1が用いられ、次式で与えられる。
【0032】
【数15】
Figure 0003565494
【0033】
なおこの行列Rは、例えば第9行の各要素で他の全ての行の対応する要素をそれぞれ引算し、その結果の行列について第8行の各要素で他の全ての行の対応する要素をそれぞれ引算し、その結果の行列について第7行の各要素で他の全ての行の対応する要素をそれぞれ引算し、以下同様のことを行えば9回という少ない回数の基本変形で標準形にすることができるものである。
このような還元行列では、図3に示すように例えばcを求めるための演算d17(+)d18(+)d中のd17(+)d18の演算結果はcを求めるための演算d16(+)d17(+)d18(+)d中のd17(+)d18の演算に流用され、またcを求めるための演算d15(+)d16(+)d17(+)d18(+)d中のd16(+)d17(+)d18の演算はcを求めるための演算中のd16(+)d17(+)d18の演算結果が流用され、以下同様に、ある行の部分的な演算結果が他の行の演算に流用され、特に図3の例ではその流用演算手段が順次縦続的に行われているため、ここに演算する場合と比較して、全体としての演算回数が少なくなる。この還元装置1Cでは還元を行う為のコストは加算18回である。一般にk次式f(x)=x−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(q)上の元A、Bが入力されると、これらを取込み記憶部12に格納する(S1)(図5参照)。
【0035】
その後、記憶部12から元A、Bを取出して、CPU13は多項式演算処理18を実行して、つまりa及びb(0i<k)から式(16)を満たす係数d(0j<2k−1)を求め、これら係数dを記憶部12に格納する(S2)。
次に記憶部12からdを取出し、還元演算処理19を実行して、式(14)を演算することにより式(17)を満たす係数cを求め(S3)、この結果であるGF(q)上の元cのベクトルからなるGF(q)上の元Cを出力インターフェース11から外部へ出力する(S4)。
【0036】
図2に示した還元装置1Cの演算をコンピュータにより、つまり、図5中の還元演算処理を行わせるには、例えば図6に示す手順で行えばよい。dとd10を記憶部12から取出し、これらを加算してcとして記憶部12に格納し(S1)、
記憶部12からd,d10,d11を取出してこれらを加算してcとして記憶部12に格納し(S2)、
記憶部12からd,d11,d12を取出してこれらを加算してcとして記憶部12に格納し(S3)、
記憶部12からd,d12,d13を取出し、これらを加算してcとして記憶部12に格納し(S4)、
記憶部12からd,d13,d14を取出してこれらを加算してcとして記憶部12に格納し(S5)、
記憶部12からd,d14,d15を取出して、これらを加算してcとして記憶部12に格納し(S6)、
記憶部12からd,d15,d16を取出し、これらを加算してcとして記憶部12に格納し(S7)、
記憶部12からd,d16,d17を取出し、これらを加算してcとして記憶部12に格納し(S8)、
記憶部12からd,d17,d18を取出し、これらを加算してcとして記憶部12に格納し(S9)、
記憶部12からd,d18を取出し、これらを加算してcとして記憶部12に格納する(S10)。
【0037】
なおこれらのステップS1〜S10の順番は任意でよい。
図3に示した還元装置をコンピュータにより還元演算処理をさせるには例えば図7に示すようにすればよい。
まず記憶部12からd18を取出し、これをtとしてCPU13内のレジスタに一時格納し(S1)、
記憶部12からdとd17を取出し、そのd17とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に記憶し(S2)、
記憶部12からdとd16を取出し、d16とtを加算し、その結果でレジスタ内のtを更新すると共に、そのtとdを加算してcとして記憶部12に格納し(S3)、
記憶部12からd,d15を取出し、d15とtを加算し、その結果でレジスタ内のtを更新すると共にdとtを加算してcとして記憶部12に格納し(S4)、
記憶部12からd,d14を取出し、d14とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に格納し(S5)、
記憶部12からd,d13を取出し、d13とtを加算し、その結果でレジスタ内のtを更新すると共に、そのtとdを加算してcとして記憶部12に格納し(S6)、
記憶部12からd,d12を取出し、d12とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に格納し(S7)、
記憶部12からd,d11を取出し、d11とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に格納し(S8)、
記憶部12からd,d10を取出し、d10とtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に格納し(S9)、
記憶部12からd,dを取出し、dとtを加算し、その結果でレジスタ内のtを更新すると共にそのtとdを加算してcとして記憶部12に格納する(S10)。
【0038】
k次拡大に用いるk次多項式f(x)としてはその最高次数の係数で各項の係数を割算した時に、つまりモニックした時に、各項の係数が±1になるものが好ましい。このようにすると、還元行列Rの構成要素が零要素と1要素とで構成され、定数倍演算をしなくてすみ、高速演算が可能となる。
図4において、駆動部21を介して外部ディスク装置22を駆動し、外部ディスク装置22に記録されたプログラムを実行して前記処理を行うようにしてもよい。また上述ではこの発明を乗算装置に適用したが、一般にGF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大体GF(q)上の演算において、演算実行中に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項式x−rが存在しても、r倍が必ずしも高速に実行できない場合r倍をGF(q)上加算の5倍と見積もると、最も効率の良い場合、この発明により、還元が3倍高速化できる。
【図面の簡単な説明】
【図1】GF(q)乗算装置の構成を示す図。
【図2】図1中の還元装置1Cの具体例を示す図。
【図3】図1中の還元装置1Cの他の具体例を示す図。
【図4】この発明装置をコンピュータにより実現する例を示すブロック図。
【図5】GF(q)乗算の処理の流れを示す図。
【図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),
Figure 0003565494
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)
Figure 0003565494
This process uses a matrix as follows:
(Equation 3)
Figure 0003565494
[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)
Figure 0003565494
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)
Figure 0003565494
[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)
Figure 0003565494
None other than the (however i> c i = 0 when k).
[0012]
(Equation 7)
Figure 0003565494
Is calculated sequentially as the second power and the third power.
[0013]
(Equation 8)
Figure 0003565494
[0014]
It becomes. = R 1 k -I in place (R 1 -I) (R 1 k-1 + R 1 k-2 + ... + R 1 + I)
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 + ... + R 1 + I)
When both sides are multiplied by (R 1 -I) −1 ,
- (R 1 -I) -1 = R 1 k-1 + R 1 k-2 + ... + R 1 + R 0
(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)
Figure 0003565494
It becomes. If R ′ = R 0 (I−R 1 ) −1 , equation (10) becomes
(Equation 10)
Figure 0003565494
[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)
Figure 0003565494
[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)
Figure 0003565494
[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)
Figure 0003565494
[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]
Figure 0003565494
[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)
Figure 0003565494
[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 ( +) c 6 operation result of d 17 (+) d 18 in d 7 for obtaining, for example, c 7, as shown in FIG. 3 operation d 16 for (+) d 17 (+) d 18 (+) d 17 in d 6 (+) is diverted to the calculation of the d 18, also operation d 15 for obtaining the c 5 (+) d 16 (+) d 17 (+) d 18 (+) d d 16 in 5 (+) d 17 (+ ) calculation of d 18 is in operation for obtaining the c 6 d 16 (+) d 17 (+ ) calculation result of the d 18 is diverted, as follows, are diverted partial operation result of one row in the calculation of the other rows, especially in the example of FIG. 3 is performed sequentially in cascade manner that diverting operation means Therefore, the number of calculations as a whole is reduced as compared with the case where calculations are performed here. In the reduction device 1C, the cost for performing the reduction is 18 additions. In general, when the k-th order expression f (x) = x k −x k−1 −1 is irreducible, the cost for performing the reduction is 2 (k−1) additions, which is a constant multiple of the binomial expression (r times ) Cannot be performed faster than one addition, this embodiment is faster.
[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 / output interface 11, a storage unit 12, a CPU (central processing unit) 13, a program memory 14 storing a basic program for operating a computer, a hard disk 15 storing various application programs, a RAM 16 and the like are connected to a bus 17. I have. A program for performing the extension field multiplication is transferred from the hard disk 15 to the RAM 16, and the program is executed, whereby the GF expressed by a k-dimensional vector having an element on GF (q) as an element is obtained from the input / output interface 11. When the elements A and B on (q k ) are input, they are fetched and stored in the storage unit 12 (S1) (see FIG. 5).
[0035]
Thereafter, the elements A and B are extracted from the storage unit 12, and the CPU 13 executes the polynomial operation processing 18, that is, the coefficients d j (0) satisfying the expression (16) from a i and b i (0 < i <k). < J <2k-1), and store these coefficients dj in the storage unit 12 (S2).
Then removed d j from the storage unit 12, by performing the reduction processing 19 calculates the coefficients c i satisfies the formula (17) by calculating the equation (14) (S3), a result GF ( The element C on GF (q k ) consisting of the vector of element c i on q) is output from the output interface 11 to the outside (S4).
[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 storage unit 12, added together, and stored as c 0 in the storage unit 12 (S 1).
D 1 , d 10 , and d 11 are taken out from the storage unit 12, added, and stored as c 1 in the storage unit 12 (S 2).
D 2 , d 11 , and d 12 are extracted from the storage unit 12, added together, and stored as c 2 in the storage unit 12 (S 3).
D 3 , d 12 , and d 13 are extracted from the storage unit 12, added, and stored as c 3 in the storage unit 12 (S 4).
D 4 , d 13 , and d 14 are extracted from the storage unit 12, added together, and stored as c 4 in the storage unit 12 (S 5).
D 5 , d 14 , and d 15 are extracted from the storage unit 12, added, and stored as c 5 in the storage unit 12 (S 6).
D 6 , d 15 , and d 16 are extracted from the storage unit 12, added, and stored as c 6 in the storage unit 12 (S 7).
D 7 , d 16 , and d 17 are taken out from the storage unit 12, added together, and stored as c 7 in the storage unit 12 (S 8).
D 8 , d 17 , and d 18 are extracted from the storage unit 12, added, and stored as c 8 in the storage unit 12 (S 9).
D 9 and d 18 are extracted from the storage unit 12, added together, and stored as c 9 in the storage unit 12 (S 10).
[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 storage unit 12 and temporarily stored in a register in the CPU 13 as t (S1).
D 8 and d 17 are taken out of the storage unit 12, the d 17 and t are added, the t in the register is updated with the result, and the t and d 8 are added and stored in the storage unit 12 as c 8. (S2),
D 7 and d 16 are taken out of the storage unit 12, d 16 and t are added, t is updated in the register with the result, and the t and d 7 are added and stored as c 7 in the storage unit 12. (S3),
D 6 and d 15 are taken out of the storage unit 12, d 15 and t are added, t is updated in the register with the result, and d 6 and t are added and stored as c 6 in the storage unit 12 (S 4). ),
D 5 and d 14 are taken out of the storage unit 12, d 14 and t are added, t is updated in the register with the result, and the t and d 5 are added and stored as c 5 in the storage unit 12 ( S5),
D 4 and d 13 are taken out from the storage unit 12, d 13 and t are added, t is updated in the register with the result, and the t and d 4 are added and stored in the storage unit 12 as c 4. (S6),
D 3 and d 12 are taken out from the storage unit 12, d 12 and t are added, t is updated in the register with the result, and the t and d 3 are added and stored in the storage unit 12 as c 3 ( S7),
D 2 and d 11 are extracted from the storage unit 12, d 11 and t are added, t is updated in the register with the result, and the t and d 2 are added and stored as c 2 in the storage unit 12 ( S8),
D 1 and d 10 are extracted from the storage unit 12, d 10 and t are added, t is updated in the register with the result, and the t and d 1 are added and stored as c 1 in the storage unit 12 ( S9),
D 0 and d 9 are extracted from the storage unit 12, d 9 and t are added, t is updated in the register with the result, and the t and d 0 are added and stored as c 0 in the storage unit 12 ( S10).
[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 external disk device 22 may be driven via a drive unit 21 to execute a program recorded in the external disk device 22 to perform the above processing. In the above description, the present invention is applied to a multiplication device. However, in general, in an operation on a k-th extension field GF (q k ) of GF (q) by an irreducible k-th polynomial f (x) on GF (q), During execution, a 2k-1 dimensional vertical vector d having an element on GF (q) as an element is used as a k-dimensional vertical vector c having an element as an element on GF (q) using a relation of f (x) = 0. The present invention can be applied to an extended field arithmetic device that performs reduction.
[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)

qを素数または素数の冪とし、有限体GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大GF(qk )=GF(q)[x]/(f(x))上の元の演算実行中にGF(q)上の元を要素に持つ2k−1次元縦ベクトル[d]をGF(q)上の元を要素に持つk次元縦ベクトル[c]にf(x)=0を用いて還元を行う還元手段を備える演算装置であって、
上記還元手段は上記縦ベクトル[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 .
qを素数または素数の冪とし、有限体GF(q)上既約なk次多項式f(x)によるGF(q)のk次拡大GF(q)=GF(q)[x]/(f(x))上の元の演算実行中にGF(q)上の元を要素に持つ2k−1次元縦ベクトル[d]をGF(q)上の元を要素に持つk次元縦ベクトル[c]にf(x)=0を用いて還元を行う還元手段を備える演算装置であって、
上記還元手段は上記縦ベクトル[d]を入力して、GF(q)上の元を要素に持つk行k列単位行列I及び上記k次多項式f(x)により定まるGF(q)上の元を要素に持つk行k−1列の行列Rについて、
[c]=[I|R][d] (E)
を演算して、その結果を上記縦ベクトル[c]として出力するものであり、
一般のk行k−1列の行列を基本変形により標準形
Figure 0003565494
にする為に必要な基本変形の最小回数をM回とすると、上記行列RはM/2回以下の基本変形で標準形になるものであることを特徴とする拡大体演算装置。
Let q be a prime number or a power of a prime number, and k-th order expansion 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] (E)
And outputs the result as the vertical vector [c].
Standard k-by-k-1 matrix by basic transformation
Figure 0003565494
If the minimum number of basic deformations required to satisfy the above condition is M, the matrix R becomes a standard form with a basic deformation of M / 2 or less.
請求項2記載の装置において、
上記還元手段は上記式(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).
請求項1乃至3の何れかに記載の装置において、
上記多項式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.
請求項1乃至4の何れかに記載の装置において、
上記多項式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.
有限体GF(q)(qは素数又は素数の冪)上の既約なk次多項式f(x)によるGF(q)のk次拡大GF(q)上の元A及びBの積C=A×Bを、f(x)=0の解の一つαとするとき、GF(q)上の元を要素に持つk次元ベクトル
A=Σi=0 k−1 α、B=Σi=0 k−1 α(0k)
を用いて演算する装置のコンピュータに、
入力されたA及びBを記憶手段に記憶する処理と、
記憶手段から上記A及びBを取出して多項式乗算を行ってΣi=0 2k−2α(02k−1)を求め、その係数dを記憶手段に記憶する処理と、
上記dを記憶手段から取出し、GF(q)上の元を要素に持つk行k列単位行列I及び上記k次多項式f(x)により定まるGF(q)上の元を要素に持つk行k−1列の行列Rについて、
[c]=[I R][d]
を演算する還元処理と、
上記演算結果Σi=0 k−1 を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.
請求項6記載の記録媒体において、
上記行列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 .
請求項6記載の記録媒体において、
上記還元処理において、ある行の部分的な演算結果を他の行の演算に流用することを少なくとも複数回縦続的に行う処理を含むことを特徴とする記録媒体。
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.
JP2000079614A 2000-03-22 2000-03-22 Enlarged field arithmetic device and program recording medium therefor Expired - Lifetime JP3565494B2 (en)

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)

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