JP2001194996A - 多項式の除算装置 - Google Patents

多項式の除算装置

Info

Publication number
JP2001194996A
JP2001194996A JP2000037243A JP2000037243A JP2001194996A JP 2001194996 A JP2001194996 A JP 2001194996A JP 2000037243 A JP2000037243 A JP 2000037243A JP 2000037243 A JP2000037243 A JP 2000037243A JP 2001194996 A JP2001194996 A JP 2001194996A
Authority
JP
Japan
Prior art keywords
data
storage area
binary data
polynomial
bit
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.)
Withdrawn
Application number
JP2000037243A
Other languages
English (en)
Inventor
Koichi Sugimoto
浩一 杉本
Kazushige Maeno
一茂 前野
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.)
Toyo Communication Equipment Co Ltd
Original Assignee
Toyo Communication Equipment Co Ltd
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 Toyo Communication Equipment Co Ltd filed Critical Toyo Communication Equipment Co Ltd
Priority to JP2000037243A priority Critical patent/JP2001194996A/ja
Publication of JP2001194996A publication Critical patent/JP2001194996A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 GF(2)上の多項式の除算の評価に要する
待ち時間をなくして演算処理自体を高速化することがで
きる演算装置を提供することを目的とする。 【解決手段】 nビット以上のバイナリデータを格納す
る第1乃至第3の記憶領域と、nbitのデータ同士を
乗算する乗算器と、前記第2の記憶領域に格納されたデ
ータをnビットのデータに変換するデータ変換機構と、
前記第1の記憶領域及び前記乗算器の出力から夫々nビ
ットを取り出す第1及び第2の切り出し機構とを有し、
前記第3の記憶領域には前記データ変換機構より得られ
たnビットのデータが入力され、前記乗算器には前記第
3の記憶領域に格納されたnビットのバイナリデータと
前記第1の切り出し機構より得られたnビットのバイナ
リデータとが入力され、前記乗算器の出力を前記第2の
切り出し機構を通すことを特徴とする演算装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号化や復号化等
を実現するセキュリティー技術で用いられるGF (2)上の多項式の除算を実現する演算装置に関する。
【0002】
【従来の技術】近年,情報のディジタル化によって,様
々なサービスが提供され,快適な生活環境が整備されつ
つある。例えば,インターネットの普及により,我々
は,ネットワークに接続された世界中のサーバの提供す
るサービスの恩恵を受けることができる。ディジタル携
帯電話の普及により,必要なときにすぐにコミュニケー
ションをとることが可能になり,通話以外の付加サービ
スが利用できたりする。クレジットカードやプリペイト
カードは,現金のやりとりによる煩わしさを解消してく
れる。情報のディジタル化は,我々に利便性を提供して
くれる反面,不正利用による被害を受けやすいという欠
点を有する。盗聴によるプライバシーの侵害や個人情報
の流出,複写・改ざん・なりすましによるシステムの不
正利用などがそれである。それら問題の解決策として暗
号技術が注目されており、中でも、ガロア体GF
(2)上の演算を利用した暗号技術の研究開発が盛ん
に行われている。ガロア体GF(2)は、2個の元
からなる集合であり、各々の元の表現方法には一般的に
ベクトル表現が用いられている。このベクトル表現と
は、GF(2)をGF(2)のm次元ベクトル空間と
みなし任意の元aをm次元ベクトル(am−1,…,a
,a)と表現するものである。ここで、ベクトルの
各要素a,(0≦i≦m−1)はGF(2)の元、即
ち、0もしくは1である。
【0003】ガロア体及び拡大体の詳細説明については
一般の代数の参考書に記述されているので、ここでは割
愛する。また、上記ベクトル表現においては、ベクトル
空間の基底の一つに多項式基底がある。この多項式基底
は、GF(2)上のm次モニック既約多項式f(x)を
生成多項式とし、f(x)の根である元zを用いて、
(zm−1,…,z,z,1)を基底とする。また、
このときGF(2)上の任意の元 a=(am−1,…,a,a) をxに関するGF(2)上の多項式 a=am−1m−1+…+ax+a 即ち、GF(2)[x]の元として表現することができ
る。この表現を多項式表現と呼ぶ。また、ガロア体GF
(2)には加算及び乗算が定義されている。GF(2
)上の2つの元a,bのGF(2)上の加算を説明
すると、元がベクトル表現されていれば、 a=(am−1,…,a,a), b=(bm−1,…,b,b) となり、各々を多項式表現すれば、 a=am−1m−1+…+ax+a, b=bm−1m−1+…+bx+b であるから、その加算結果は、 a+b=(am−1+bm−1)xm−1+…+(a
+b)x+(a+b) となり、各項の係数がGF(2)上の元であることを考
慮してベクトル表現すれば、a+b=(am−1+b
m−1(mod2),…,a+b(mod2),a
+b(mod2)) となる。このように、GF(2)上の加算は2つの元
a,bを要素毎にGF(2)上で加算することになる。
また、GF(2)上の2つの元a,bのGF(2
上の乗算を説明すると、元がベクトル表現されていれ
ば、被乗数は、 a=(am−1,…,a,a), 乗数は、 b=(bm−1,…,b,b) となり、これらを多項式表現すれば、 a=am−1m−1+…+ax+a, b=bm−1m−1+…+bx+b であるから、上記a,bを多項式表現して乗算した結果
である d=d2m−22m−2+…+dx+d を、上記生成多項式 f(x)=x+em−1m−1+…+ex+e で除算し、剰余 c=cm−1m−1+…+cx+c を算出する。この剰余がGF(2)上の乗算結果とな
り、ベクトル表現すれば、 c=(cm−1,…,c,c) となる。このように、GF(2)上の乗算では、GF
(2)上の2m−2次多項式と、GF(2)上のm次多
項式との除算が必要となる。一般的な除算は、筆算同様
に除数・被除数の上位ブロックを評価しながら、商を上
位桁から順に立てていき、最後に残った被除数を剰余と
する。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のガロア体GF(2)上の演算にあたって
は、以下に述べるような問題があった。つまり、上述し
たような乗算を行う場合は、GF(2)上の元をGF
(2)[x]の元として、即ち、GF(2)上の多項式
の演算を行い、後に生成多項式f(x)で除算を行って
剰余を求めることで、GF(2)上の元に戻してい
た。このため、乗算では、GF(2)上の2m−2次多
項式と、GF(2)上のm次多項式との除算処理が必要
となるが、除数・被除数の上位ブロックを評価しながら
処理を行なうことから、多大な処理時間を要し、計算速
度が遅くなるという問題があり、GF(2)上の多項式
の除算の高速化が課題であった。本発明は、上述した従
来の課題を解決するためになされたものであって、GF
(2)上の多項式の除算の評価に要する待ち時間をなく
して演算処理自体を高速化することができる演算装置を
提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の本発明は、nビット以上のバイナリデー
タを格納する第1の記憶領域と、nビット以上のバイナ
リデータを格納する第2の記憶領域と、nビットのバイ
ナリデータを格納する第3の記憶領域と、nbitのデ
ータ同士を乗算する乗算器と、前記第2の記憶領域に格
納されたデータをnビットのデータに変換するデータ変
換機構と、前記第1の記憶領域に格納されたデータから
nビットを取り出す第1の切り出し機構と、前記乗算器
の出力からnビットを取り出す第2の切り出し機構とを
有し、前記第3の記憶領域には前記第2の記憶領域に格
納されたバイナリデータを前記データ変換機構を通して
得られたnビットの出力データが入力され、前記乗算器
には、前記第3の記憶領域に格納されたnビットのバイ
ナリデータと、前記第1の記憶領域に格納されたバイナ
リデータを前記第1の切り出し機構を通すことによって
得られたnビットのバイナリデータが各々入力され、前
記乗算器の出力を前記第2の切り出し機構を通すことに
よって切り出されたnビットを出力とすることを特徴と
する。請求項2の本発明は、GF(2)上のn−1次の
2つの多項式 a(x)=an−1n−1+…+ax+a,a∈GF(2) b(x)=bn−1n−1+…+bx+b,b∈GF(2) をGF(2)上で乗算した結果をc(x)=c
2(n−1)2(n−1)+…+cx+c,c
∈GF(2)としたとき、前記請求項1記載の乗算器に
おいて、上記GF(2)上の2つの多項式a(x)とb
(x)の係数列であるバイナリデータa=(an−1
…,a,a),b=(bn−1,…,b,b
を入力とすると、前記請求項1記載の第2の切り出し機
構を介して出力されたnビットのバイナリデータが、上
記GF(2)上の多項式c(x)の係数列から切り出し
たnビット(c2(n−1),…,c,cn−1)と
なることを特徴とする。
【0006】 の逆数の展開を としたとき、前記請求項2記載の演算装置においては、
上記GF(2)上の多項式a(x)の係数列であるバイ
ナリデータa=(a,…,a,a)を前記請求項
1記載の第2の記憶領域に格納したとき、前記請求項1
記載のデータ変換機構は、上記GF(2)上の多項式b
(x)の係数列からnビットを切り出したバイナリデー
タb′=(1,b,…,bm−2,bm−1)を生成
し、前記請求項1記載の第3の記憶領域へ格納すること
を特徴とする。請求項4の本発明は、GF(2)上の2
つの多項式を、 a(x)=am+n−1m+n−1+…+ax+a,a∈GF(2)b (x)=x+…+bx+b,b∈GF(2) としたとき、上記a(x)をb(x)で除算し商多項式
を算出するための演算装置であって、前記請求項1記載
の第1の記憶領域に上記a(x)の係数列であるバイナ
リデータa=(am+n−1,…,a,a)を格納
し、前記請求項1記載の第2の記憶領域に上記b(x)
の係数列であるバイナリデータb=(1,bm−1
…,b,b)を格納し、所定の手続きの後に、前記
請求項1記載の第2の切り出し機構によって切り出され
出力されたnビットを商多項式の係数データとして出力
とすることを特徴とする。
【0007】以下、本発明の原理について説明する。以
下に示す定理で商を求め、商と除数の積に被除数を加算
することで剰余を算出する。(定理)GF(2)上のm
次多項式を、 f(x)=x+cm−1m−1+…+cx+c とし、f(x)の逆数の展開を とする。このとき、m+n−1次の多項式 g(x)=dm+n−1m+n−1+…+dx+d
を、f(x)で割った商q(x)は、h(x)及びg
(x)の上位n次分を取り出し、乗算する を取り出す演算記号と定義すると、商は によって算出できる。(証明) g(x)=q(x)f(x)+r(x) とおくと、deg(r(x))<deg(f(x))で
ある。このとき、 であり、 である。ここに、deg(h(x)r(x))<0であ
ることから、 となる。さて、上式を計算する際に、h(x)g(x)
に関して0次未満の項は計算しなくてもよいことを考慮
すると、 とできる(証明終)。
【0008】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。 (実施の形態1)本実施の形態1では、GF(2)上の
多項式の剰余を求めるため、図1に示すような演算装置
を用いて演算処理が行われる。図1は、本実施の形態1
に係る演算装置の概略構成を示したブロック図であり、
第1の記憶領域、第2の記憶領域、第1の切り出し機
構、データ変換機構、第3の記憶領域、乗算器、第2の
切り出し機構、GF(2)上の乗算器、GF(2)上の
加算器などを備えていて、外部との間で演算データの入
出力等が行われる。外部から入力された被除数と除数の
バイナリデータが各々第1と第2の記憶領域に格納され
る。第2の記憶領域に格納されたバイナリデータは、請
求項3記載のデータ変換機構を介して、第3の記憶領域
に格納される。第3の記憶領域に格納されているnビッ
トのバイナリデータと、第1の記憶領域に格納されてい
るバイナリデータを第1の切り出し機構を介すことでn
ビットにされたバイナリデータを、請求項2記載の乗算
器に入力する。第2の記憶領域に格納されているバイナ
リデータと、前記乗算器の演算結果を第2の切り出し機
構を介したバイナリデータを、一般的なGF(2)上の
乗算器に入力し、得られた結果と第1の記憶領域に格納
されているバイナリデータを、一般的なGF(2)上の
加算器に入力する。前記加算器の出力が第1の記憶領域
に格納された被除数データを第2の記憶領域に格納され
た除数データで除算を行い得られた剰余となる。請求項
2記載の乗算器の一例として、4ビット×4ビットのG
F(2)上の乗算器を図2に示しておく。
【0009】(実施の形態2)本実施の形態2では、実
施の形態1で示した除算装置を繰り返し利用すること
で、GF(2)上の多項式の剰余を求める方法を示す。
被除数を g(x)=g+gk−1k−1+…+gx+g,g∈GF( 2) とすると、係数列は g=(g,gk−1,…,g,g) と示せる。また、除数を f(x)=x+cm−1m−1+…+cx+c,c∈GF(2) とすると、係数列は f=(1,cm−1,…,c,c) と示せる。ここで、請求項2記載の乗算器の入力ビット
長をnとする。また、bits(a)をバイナリデータ
aのビット長を表す記号と定義する。以下、アルゴリズ
ムを示す。 step1 被除数を下位ビットからnビットづつ区切
り、g=g[k/n],g[k/n−1],…g
[1],g[0]とする。但し、g[i]はnビットの
バイナリデータ。 step2 i=k/n,tmp=0 step3 while(bits(f)〉bits
(tmp)){if(i〈0) return tmp tmp=tmp〈〈n tmp=tmp+g[i] i−− } step4 実施の形態1の装置の第1の記憶領域にt
mp、第2の記憶領域にfを入力し、出力をtmpに格
納する。 step5 goto step3 GF(2)上の演算を実現する為に用いる場合には、
除数となるデータが定義体GF(2)の生成多項式で
あり、定義体を変更しない限り一定であるため、第3の
記憶領域に格納するデータを事前計算しておけば、より
効果的となる。
【0010】
【発明の効果】本発明は、以上説明してきたように、除
数・被除数の上位ブロックの評価なしに実現するもので
あるから、演算処理を高速に実現する上で著しい効果を
発揮する。
【図面の簡単な説明】
【図1】本実施の形態1に係るガロア体GF(2)上の
多項式の除算を実現するための演算装置の概略構成を示
したブロック図である。
【図2】本実施の形態1に係る請求項2記載の乗算器を
示した図である。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 nビット以上のバイナリデータを格納す
    る第1の記憶領域と、 nビット以上のバイナリデータを格納する第2の記憶領
    域と、 nビットのバイナリデータを格納する第3の記憶領域
    と、 n bitのデータ同士を乗算する乗算器と、 前記第2の記憶領域に格納されたデータをnビットのデ
    ータに変換するデータ変換機構と、 前記第1の記憶領域に格納されたデータからnビットを
    取り出す第1の切り出し機構と、 前記乗算器の出力からnビットを取り出す第2の切り出
    し機構とを有し、 前記第3の記憶領域には前記第2の記憶領域に格納され
    たバイナリデータを前記データ変換機構を通して得られ
    たnビットの出力データが入力され、 前記乗算器には、前記第3の記憶領域に格納されたnビ
    ットのバイナリデータと、前記第1の記憶領域に格納さ
    れたバイナリデータを前記第1の切り出し機構を通すこ
    とによって得られたnビットのバイナリデータが各々入
    力され、 前記乗算器の出力を前記第2の切り出し機構を通すこと
    によって切り出されたnビットを出力とすることを特徴
    とする演算装置。
  2. 【請求項2】 GF(2)上のn−1次の2つの多項式 a(x)=an−1n−1+…+ax+a,a∈GF(2) b(x)=bn−1n−1+…+bx+b,b∈GF(2) をGF(2)上で乗算した結果を c(x)=c2(n−1)2(n−1)+…+cx+c,c∈GF (2) としたとき、前記請求項1記載の乗算器において、上記
    GF(2)上の2つの多項式a(x)とb(x)の係数
    列であるバイナリデータ a=(an−1,…,a,a) b=(bn−1,…,b,b) を入力とすると、前記請求項1記載の第2の切り出し機
    構を介して出力されたnビットのバイナリデータが、上
    記GF(2)上の多項式c(x)の係数列から切り出し
    たnビット (c2(n−1),…,c,cn−1) となることを特徴とする請求項1記載の演算装置。
  3. 【請求項3】 GF(2)上のm(≧n)次多項式 a(x)=x+…+ax+a,a∈GF(2) の逆数の展開を としたとき、 前記請求項2記載の演算装置においては、上記GF
    (2)上の多項式a(x)の係数列であるバイナリデー
    タ a=(a,…,a,a) を前記請求項1記載の第2の記憶領域に格納したとき、 前記請求項1記載のデータ変換機構は、上記GF(2)
    上の多項式b(x)の係数列からnビットを切り出した
    バイナリデータ b′=(1,b,…,bm−2,bm−1) を生成し、前記請求項1記載の第3の記憶領域へ格納す
    ることを特徴とする請求項2記載の演算装置。
  4. 【請求項4】 GF(2)上の2つの多項式を、 a(x)=am+n−1m+n−1+…+ax+a,a∈GF(2) b(x)=x+…+bx+b,b∈GF(2) としたとき、上記a(x)をb(x)で除算し商多項式
    を算出するための演算装置であって、 前記請求項1記載の第1の記憶領域に上記a(x)の係
    数列であるバイナリデータ a=(am+n−1,…,a,a) を格納し、 前記請求項1記載の第2の記憶領域に上記b(x)の係
    数列であるバイナリデータ b=(1,bm−1,…,b,b) を格納し、所定の手続きの後に、前記請求項1記載の第
    2の切り出し機構によって切り出され出力されたnビッ
    トを商多項式の係数データとして出力とすることを特徴
    とする請求項3記載の演算装置。
JP2000037243A 2000-01-11 2000-01-11 多項式の除算装置 Withdrawn JP2001194996A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000037243A JP2001194996A (ja) 2000-01-11 2000-01-11 多項式の除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000037243A JP2001194996A (ja) 2000-01-11 2000-01-11 多項式の除算装置

Publications (1)

Publication Number Publication Date
JP2001194996A true JP2001194996A (ja) 2001-07-19

Family

ID=18561162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000037243A Withdrawn JP2001194996A (ja) 2000-01-11 2000-01-11 多項式の除算装置

Country Status (1)

Country Link
JP (1) JP2001194996A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102351A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
JP2011520404A (ja) * 2008-05-12 2011-07-14 アスペン・アクイジション・コーポレーション プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行
JP2011146052A (ja) * 2001-11-30 2011-07-28 Analog Devices Inc ガロア拡大体・積算/積算加算・積和演算装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011146052A (ja) * 2001-11-30 2011-07-28 Analog Devices Inc ガロア拡大体・積算/積算加算・積和演算装置
JP2010102351A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
JP2011520404A (ja) * 2008-05-12 2011-07-14 アスペン・アクイジション・コーポレーション プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行
US9146708B2 (en) 2008-05-12 2015-09-29 Qualcomm Incorporated Implementation of arbitrary galois field arithmetic on a programmable processor

Similar Documents

Publication Publication Date Title
US8504602B2 (en) Modular multiplication processing apparatus
CN112075050A (zh) 在完全同态加密的自举中启用恒定明文空间
KR101269737B1 (ko) 암호 처리 장치 및 암호 처리 방법과 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
JP3930302B2 (ja) 効率的な冪乗法および装置
JP2004279784A (ja) 有限体上演算装置、及び有限体上演算プログラム
US20180294951A1 (en) Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra
Vollala et al. Efficient modular exponential algorithms compatible with hardware implementation of public‐key cryptography
JP4616169B2 (ja) モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム
JP2001194996A (ja) 多項式の除算装置
JP4423900B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム
CN111614465B (zh) 基于超奇异同源秘钥封装协议的公钥生成方法和装置
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $
KR100974624B1 (ko) 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체
WO2018187604A1 (en) Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra
KR100484487B1 (ko) 모듈러 연산 장치 및 방법, 그리고 이를 이용한 rsa암호 연산 시스템
JP2004205870A (ja) 超楕円曲線スカラー倍演算方法及び装置
JP4348463B2 (ja) ガロア体GF(p)上の演算を実現する装置
KR102337865B1 (ko) 동형 암호에 기초한 산술 연산 시스템 및 이를 이용한 동형 암호 산술 연산 방법
JP4484002B2 (ja) 演算プロセッサ
JP4629972B2 (ja) ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006235416A (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
JP2005316038A (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびプログラム
Lou et al. Parallel exponentiation using common-multiplicand-multiplication and signed-digit-folding techniques
JP2007212768A (ja) 楕円曲線暗号における事前計算テーブル作成装置
JP3884853B2 (ja) べき乗演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070110

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070110

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081008