JP2003084667A - 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム - Google Patents

同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム

Info

Publication number
JP2003084667A
JP2003084667A JP2001274862A JP2001274862A JP2003084667A JP 2003084667 A JP2003084667 A JP 2003084667A JP 2001274862 A JP2001274862 A JP 2001274862A JP 2001274862 A JP2001274862 A JP 2001274862A JP 2003084667 A JP2003084667 A JP 2003084667A
Authority
JP
Japan
Prior art keywords
value
size variable
exponential
modular exponentiation
modulus
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.)
Pending
Application number
JP2001274862A
Other languages
English (en)
Inventor
Jun Furukawa
潤 古川
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001274862A priority Critical patent/JP2003084667A/ja
Publication of JP2003084667A publication Critical patent/JP2003084667A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】表生成の効率を上げ、冪乗剰余計算に必要な格
納値を指数係数から早く検索する。 【解決手段】冪乗剰余演算の基底値と複数の指数係数と
法と表サイズ変数を入力し基底とそれぞれの指数係数と
による冪乗剰余を出力するにあたり、表作成ステップ
で、繰越値と表サイズ変数と法とを入力し表サイズ変数
より極大指数を求め、極大指数以下の整数を指数係数と
して繰越値を基底とする冪乗剰余全てを計算して表に格
納し、極大指数を指数係数とする冪乗剰余を繰越値とし
て出力し、繰越値の初期値を基底値とし表サイズ変数と
法と繰越値を入力し繰越値を出力する操作を繰り返し行
って表を作成し、表使用ステップで、指数係数と表サイ
ズ変数と法と表を入力し、指数係数のビット表現を表サ
イズ変数で定められる長さのビット列に等分割し各ビッ
ト列を用いて表より対応する格納値を選び出し格納値の
積として冪乗剰余を計算し出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、冪乗剰余の計算方
法に関し、特に、多数の冪乗剰余を高速に計算し、公開
鍵暗号の分野で用いて好適な方法と装置ならびにコンピ
ュータプログラムに関する。
【0002】
【従来の技術】同一の基底に対して、複数の指数係数に
関する冪乗剰余を効率よく求めるための技術として、例
えば、文献(アルフレッド・メンズス、ポール・オール
ショット、スコット・バンストン(Alfred J.Menzes, Pa
ul C. van Oorschot, Scott A.Vanstone)著、ハンドブ
ック・オブ・アプライド・クリプトグラフィー(Handboo
k of Applied Ctyptography)、第625-626頁)に記載さ
れているフィクスドベイスコムメソッド(Fixed-base co
mb method)方法が知られている。
【0003】この従来の方法では、その適用に際して自
由に選べる変数がある。以下では、同一の基底に対して
十分に多数の指数係数に関する冪乗剰余を計算する場合
に、従来の方法が効率的となる変数を選んで、説明す
る。この方法では、基底gに関して指数係数eの冪乗剰余
g^e(gのe乗)を求めるために、以下の計算を行う。
【0004】eのビット表現(バイナリ表現)を、(e[1]
e[2]e[3]...e[t])とする。ここで、e[i]は、eのi番目の
ビットである。eはtビットであるものとする。
【0005】1からt+1までの任意の整数を一つ選びhと
定める。
【0006】次に、(t+1)/hを超えない最大の整数をaと
する。
【0007】eのビット表現の左側(e[1]よりも左側)
に、"0"を最低限に挿入して、そのビット数がhの倍数と
なるようにする。このビット列を、aビットずつ、h個に
区切り、右から、R[0],R[1],R[2],...,R[h-1]とする。
【0008】iを0からh-1まで、 g[i]=g^(2^(i*a)) を計算する。ここ「^」は冪乗剰余算を表し、「*」は
乗算を表している。
【0009】次に、iを1から2^h-1まで、以下の(1)と
(2)を繰り返す。
【0010】(1) G[0][i]=Πj=0 h-1g[j]^i[j] を計算する。ここで、i[j]は、iをビット表現したとき
の、右からi+1番目のビットの値である。
【0011】(2) jを1からa-1まで、 G[j][i]=G[0][i]^(2^j)) を計算する。
【0012】A=1とする。jをa-1から0までAをG[j][I
(j)]*Aに置き換える。
【0013】ここで、I(j)は、R[0]からR[h-1]の右から
j+1個目のビットを順に左から並べたビット列の表現す
る整数である。
【0014】Aを冪乗剰余計算の結果として出力する。
【0015】複数の指数係数に対する冪乗剰余の計算に
対しても、gが共通であるため、G[j][i]の計算は、ただ
一回で済む。
【0016】また、冪乗剰余演算の高速化の方法と装置
として、例えば特開平9−204296号公報には、整
数M、N、b、m、nを用いてM・b mod Nを、j=1,2,
…m-1かつ、i=1,2,…n-1について計算し、この計算に
よって得られた計算値の一部又は全てをテーブル要素と
するテーブル(表)を作成し、冪指数Eをm進数表現す
るとともにCをb進数表現し、このときの冪指数Eの各
桁ejの最上位桁から最下位桁まで走査しながら、Cの
各桁Ciの値とテーブル要素の積和をCの新たな計算結
果として最下位桁まで計算し最終結果を得る方法が開示
されている。
【0017】
【発明が解決しようとする課題】しかしながら、上記文
献に記載されている従来の方法は、下記記載の問題点を
有している。
【0018】第1の問題点は、表に格納される値1個を
計算するのに必要な乗算の平均回数は1を超える、すな
わち、格納する値を求めるために必要な乗算の回数の総
数は、格納する値の個数よりhだけ多い。
【0019】第2の問題点は、指数係数eからI(j)を求
めるのに必要なステップ数が多い。
【0020】また上記特開平9−204296号公報に
記載された方法、装置は、単独の冪乗剰余演算の高速化
を図るものであり、同一の基底に対して複数の指数係数
に関する冪乗剰余を効率よく求めるものではない。
【0021】したがって、この発明が解決しようとする
課題は、表に格納する値1個を求めるために必要な乗算
の回数を1より減らして、表生成の効率を上げ、冪乗剰
余計算に必要な格納値を、指数係数から早く検索できる
ような方法と装置ならびにプログラムを提供することで
ある。
【0022】
【課題を解決するための手段】前記課題を解決するため
の手段を提供する本発明の方法は、冪乗剰余演算の基底
値と複数の指数係数と法と表サイズ変数とが入力され、
前記基底とそれぞれの前記指数係数とによるそれぞれの
冪乗剰余を出力する方法は、前記基底と法とから計算で
きる値である格納値を生成して、表に格納する表作成ス
テップと、前記指数係数を用いて前記表より前記格納値
を複数個選び出し、それら格納値の積として冪乗剰余を
生成する表使用ステップとを含む。
【0023】前記表作成ステップは、繰越値と表サイズ
変数と法とが入力され、表サイズ変数より極大指数を求
め、前記極大指数以下の整数を指数係数として前記繰越
値を基底とする冪乗剰余全てを計算し、これを表に格納
し、前記極大指数を指数係数とする冪乗剰余を繰越値と
して出力する小ステップを含み、前記繰越値の初期値を
前記基底値とし、前記表サイズ変数と前記法と前記繰越
値とを前記小ステップに入力し、繰越値を出力する操作
を、繰り返し行うことで、表を作成する。
【0024】前記表使用ステップは、前記指数係数と表
サイズ変数と法と前記表とが入力され、前記指数係数の
ビット表現を表サイズ変数により定められる長さのビッ
ト列に等分割し、この各ビット列を用いて、表より対応
する格納値をそれぞれ選び出し、それら格納値の積とし
て冪乗剰余を計算し出力する。
【0025】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明は、冪乗剰余演算の基底値(g)と、複数の
指数係数(e)と、法(p)と、表サイズ変数(w)とを入
力し、前記基底とそれぞれの前記指数係数とによるそれ
ぞれの冪乗剰余g^e mod pを演算出力する装置を提供す
るものであり、前記基底(g)と法(p)とから計算できる値
である格納値Iを生成し、表に格納する表作成手段と、
前記指数係数を用いて、前記表より、前記格納値Iを複
数個選び出し、それら格納値の積として、冪乗剰余を生
成する表使用手段と、を含む。
【0026】表作成手段、表使用手段は、コンピュータ
で実行されるプログラムによりその処理が実現される。
【0027】表作成手段(表作成ステップ)は、基底値
(g)、表サイズ変数(w)と、法(p)とを入力し、極大指数W
=2^wを求め、基底値(g)を繰越値(G)とし、ループ変数j
=0とする(図1の105)。ループ変数i(0=<i<W)と、
ループ変数j(0=<i<m)(m:指数係数eのビット長nを
Wで割った値よりも大きい最小の整数)の2重ループを
繰り返す。
【0028】(1) HをGとし、ループ変数iを0とする
(図1の107)。
【0029】(2) 配列のI[j*W+i]にGを代入する(図
1の109)。
【0030】(3) Gを、G*H mod pに設定し、ループ変
数iを1インクリメントする(図1の110)。
【0031】(4) i<Wの場合、(2)に戻る(図1の10
8)。
【0032】(5) i>=Wの場合、jを1インクリメント
し、j<mであるか判定し、j<mの場合、(1)へ戻る(図1
の106)。
【0033】(7) j>=mの場合、I[k](k=0〜m*W)を出
力する(図1の113)。
【0034】上記(3)、(4)、(5)、(2)の処理は、極大指
数(W)未満の非負整数iを指数係数として繰越値(G)
を基底とする冪乗剰余G^i mod p(0=<i<W)を計算しI
[j*W+i]にGを格納し、極大指数を指数係数とする冪乗剰
余を繰越値Gとして出力する。
【0035】表使用手段(表使用ステップ)において、
指数係数(e)と表サイズ変数(w)と法(p)と表Iとを入力す
る。
【0036】(1) z=1、 i=0とする(図2の201)。
【0037】(2) 指数係数(e)のビット表現(2進表
現)を、表サイズ変数(w)により定められる長さのビ
ット列に等分割する(図2の203)。b=e[i*w,w]。
【0038】e[a,b]は、eの2進表現の下(LSB)からa
+1ビット目からa+bビット目までのビット列が表現する
数であり、e[i*w,w]は、表サイズ変数(w)単位に、i*
w+1からi*w+wのビット列が表現する数である。
【0039】この各ビット列bを用いて、表より対応す
る格納値Iをそれぞれ選び出し、格納値の積として冪乗
剰余を計算する。すなわち、 (3) z*I[j*W+b] mod pを計算してzとし、iを1インク
リメントする(図2の204)。
【0040】(4) i<mの場合、(2)に戻る(図2の20
2)。
【0041】(5) i>=mの場合、zを冪乗剰余xとして
出力する。
【0042】
【実施例】本発明の実施例について図面を参照して説明
する。図1は、本発明の一実施例の表作成ステップを説
明するための流れ図である。
【0043】冪乗剰余の基底値(100)をg、指数係数を
e、法(101)をp、表サイズ変数(102)をwとする。入
力される複数の指数係数eの最大のビット長(103)をn
とする。mをn/wより大きい最小の整数(104)とする。
繰越値をGとする。極大指数WをW=2^wとする(114)。
【0044】図1を参照して、表作成ステップを説明す
る。
【0045】(1): 繰越値Gを基底値gとし、j=0とする
(ステップ105)。
【0046】(2): j<mである間、(3)から(9)を繰り返
す(ステップ106)。
【0047】(3): i=0,H=Gとする(ステップ107)。
【0048】(4): i<Wである間、以下(5)から(8)を繰
り返す(ステップ108)。
【0049】(5): I[j*W+i]=Gとする(ステップ10
9)。
【0050】(6): Gを G*H mod pに置き換える(ステッ
プ110)。
【0051】(7): iをi+1に置き換える(ステップ11
0)。
【0052】(8): (5)からのループの端(ステップ111)
(i<Wである間、ステップ109に戻る)。
【0053】(9): (3)からのループの端(ステップ11
2)(j<mである間、ステップ107に戻る)。
【0054】(10): kが0からm*WまでのI[k]を表に格納
して、表を出力する(ステップ113)。
【0055】図2は、本発明の一実施例の表使用ステッ
プを説明するための流れ図である。図2を参照して、表
使用ステップを説明する。
【0056】(1): z=1,i=0とする(ステップ201)。
【0057】(2): i<mである間以下(3)から(6)を繰り
返す(ステップ202)。
【0058】(3): eのビット表現の、下からi*w+1ビッ
ト目から(i+1)*wビット目までのビット列のなす数を、b
とする(ステップ203)。
【0059】(4): zを、z*I[i*W+b] mod pで置き換え
る(ステップ204)。
【0060】(5): iをi+1で置き換える(ステップ20
4)。
【0061】(6): (2)からのループの端(ステップ20
5)。
【0062】(7): zを冪乗剰余xとして出力する(ステ
ップ206)。
【0063】上記表作成ステップで生成した表を、表使
用ステップで用いて、複数のeに対して冪乗剰余を計算
する。
【0064】
【発明の効果】以上説明したように、本発明によれば、
表作成ステップにおいて、格納値1個を計算するのに必
要な乗算の回数が1回で済み、表使用ステップにおい
て、指数係数eから格納値I[i*W+b]を検索するために必
要な処理、すなわちbを求める処理が、eのビット列の連
続した部分を切り出すだけで済む、という効果を奏す
る。
【図面の簡単な説明】
【図1】本発明の一実施例の表作成ステップの処理を示
す流れ図である。
【図2】本発明の一実施例の表使用ステップの処理を示
す流れ図である。
【符号の説明】
100 基底値(g) 101 法(p) 102 表サイズ変数(w) 103 指数係数eのビット長(n) 104 n/Wより大きい最小の整数(m) 105〜113 ステップ 114 極大指数(W) 200 指数係数(e) 201〜206 ステップ

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】冪乗剰余演算の基底値と、複数の指数係数
    と、法と、表サイズ変数とを入力し、前記基底とそれぞ
    れの前記指数係数とによるそれぞれの冪乗剰余をコンピ
    ュータを用いて演算出力する方法において、 前記基底と法とから計算できる値である格納値を生成
    し、表に格納する表作成ステップと、 前記指数係数を用いて、前記表より、前記格納値を複数
    個選び出し、それら格納値の積として、冪乗剰余を生成
    する表使用ステップと、 を含む、ことを特徴とする、同一基底に対する複数の冪
    乗剰余演算を行う方法。
  2. 【請求項2】前記表作成ステップにおいて、 (a1)繰越値と、表サイズ変数と、法と、を入力するステ
    ップと、 (a2)前記表サイズ変数より極大指数を求めるステップ
    と、 (a3)前記極大指数以下の整数を指数係数として、前記繰
    越値を基底とする冪乗剰余全てを計算し、これを前記表
    に格納するステップと、 (a4)前記極大指数を指数係数とする冪乗剰余を繰越値と
    して出力するステップと、 からなる小ステップを含み、 前記繰越値の初期値を前記基底値とし、前記表サイズ変
    数と前記法と前記繰越値とを、前記ステップ(a1)に入力
    し、前記繰越値を出力するステップ(a4)までの操作を繰
    り返し行うことで、前記表を作成する、ことを特徴とす
    る、請求項1記載の同一基底に対する複数の冪乗剰余演
    算を行う方法。
  3. 【請求項3】前記表使用ステップにおいて、 (b1)前記指数係数と表サイズ変数と法と前記表とを入力
    するステップと、 (b2)前記指数係数のビット表現を、前記表サイズ変数に
    より定められる長さのビット列に等分割するステップ
    と、 (b3)前記各ビット列を用いて、表より対応する格納値を
    それぞれ選び出すステップと、 (b4)前記格納値の積として冪乗剰余を計算し出力するス
    テップと、 を含む、ことを特徴とする、請求項1記載の同一基底に
    対する複数の冪乗剰余演算を行う方法。
  4. 【請求項4】冪乗剰余演算の基底値と、複数の指数係数
    と、法と、表サイズ変数とを入力し、前記基底とそれぞ
    れの前記指数係数とによるそれぞれの冪乗剰余を出力す
    る装置において、 前記基底と法とから計算できる値である格納値を生成し
    表に格納する表作成手段と、 前記指数係数を用いて、前記表より、前記格納値を複数
    個選び出し、それら格納値の積として、冪乗剰余を生成
    する表使用手段と、 を含む、ことを特徴とする、同一基底に対する複数の冪
    乗剰余演算を行う装置。
  5. 【請求項5】前記表作成手段が、 繰越値と、表サイズ変数と、法とを入力する手段と、 前記表サイズ変数より極大指数を求める手段と、 前記極大指数以下の整数を指数係数として、前記繰越値
    を基底とする冪乗剰余全てを計算し、これを前記表に格
    納する手段と、 前記極大指数を指数係数とする冪乗剰余を繰越値として
    出力する手段と、 を含み、 前記繰越値の初期値を、前記基底値とし、前記表サイズ
    変数と前記法と前記繰越値とを入力し、前記繰越値を出
    力する手段までの操作を、繰り返し行うように、制御す
    ることで、前記表を作成する手段を備えている、ことを
    特徴とする、請求項4記載の同一基底に対する複数の冪
    乗剰余演算を行う装置。
  6. 【請求項6】前記表使用手段が、 前記指数係数と、前記表サイズ変数と、前記法と、前記
    表とを入力する手段と、 前記指数係数のビット表現を、前記表サイズ変数により
    定められる長さのビット列に等分割する手段と、 この各ビット列を用いて、前記表より対応する格納値を
    それぞれ選び出す手段と、 前記格納値の積として冪乗剰余を計算し出力する手段
    と、 を備えていることを特徴とする、請求項4又は5記載の
    同一基底に対する複数の冪乗剰余演算を行う装置。
  7. 【請求項7】冪乗剰余演算の基底値と、複数の指数係数
    と、法と、表サイズ変数とを入力し、前記基底とそれぞ
    れの前記指数係数とによるそれぞれの冪乗剰余を出力す
    る処理をコンピュータで実行し、同一基底に対する複数
    の冪乗剰余演算を行うプログラムにおいて、 (a)前記基底と法とから計算できる値である格納値を生
    成し表に格納する表作成処理と、 (b)前記指数係数を用いて、前記表より、前記格納値を
    複数個選び出し、それら格納値の積として、冪乗剰余を
    生成する表使用処理と、 を含み、 前記(a)、(b)の処理を前記コンピュータで実行するため
    のプログラム。
  8. 【請求項8】請求項7記載のプログラムにおいて、 前記表作成処理が、 (a1)繰越値と、表サイズ変数と、法とを入力する処理
    と、 (a2)前記表サイズ変数より極大指数を求める処理と、 (a3)前記極大指数以下の整数を指数係数として、前記繰
    越値を基底とする冪乗剰余全てを計算し、これを前記表
    に格納する処理と、 (a4)前記極大指数を指数係数とする冪乗剰余を繰越値と
    して出力する処理と、を含み、 (a5)前記繰越値の初期値を、前記基底値とし、前記表サ
    イズ変数と前記法と前記繰越値とを入力し、前記繰越値
    を出力する操作を、繰り返し行うように、制御すること
    で前記表を作成する、 前記(a1)乃至(a5)の処理を前記コンピュータで実行する
    ためのプログラム。
  9. 【請求項9】請求項7又は8記載のプログラムにおい
    て、 前記表使用処理が、 (b1)前記指数係数と、前記表サイズ変数と、前記法と、
    前記表とを入力する処理と、 (b2)前記指数係数のビット表現を、前記表サイズ変数に
    より定められる長さのビット列に等分割する処理と、 (b3)この各ビット列を用いて、前記表より対応する格納
    値をそれぞれ選び出す処理と、 (b4)前記格納値の積として冪乗剰余を計算し出力する処
    理と、 前記(b1)乃至(b4)の処理を前記コンピュータで実行する
    ためのプログラム。
  10. 【請求項10】請求項7記載のプログラムにおいて、 前記表作成処理が、 (1) 基底値(g)、表サイズ変数(w)と、法(p)とを入力
    し、 (2) 極大指数W=2^wを求め、 (3) 基底値(g)を繰越値(G)とし、ループ変数j=0とし、 内側ループ変数i(0=<i<W)と、外側ループ変数j(0=
    <j<m)(ただし、mは、指数係数eのビット長nをWで割
    った値よりも大きい最小の整数)で規定される回数以下
    の2重ループを繰り返し、 (4) 変数HをGとし、ループ変数iを0とし、 (5) 配列I[j*W+i]にGを代入し、 (6) Gを、G*H mod pに設定し、ループ変数iを1インク
    リメントし、 (7) i<Wの場合、(5)に戻り、 (8) i>=Wの場合、jを1インクリメントし、j<mである
    か判定し、j<mの場合、(4)へ戻り、 (9) j>=mの場合、I[k](k=0〜m*W)を出力する、 前記(1)乃至(9)の処理を前記コンピュータで実行するた
    めのプログラム。
  11. 【請求項11】請求項10記載のプログラムにおいて、 前記表使用処理において、 (11) 指数係数(e)と表サイズ変数(w)と法(p)と表I[k]
    (k=0〜m*W)とを入力し、 (12) 変数z=1、ループ変数i=0とし、 (13) 指数係数(e)の2進表現を、表サイズ変数(w)に
    より定められる長さのビット列に等分割し、iに対してb
    =e[i*w,w]とし(ただし、e[a,b]は、eの2進表現の下
    (LSB)からa+1ビット目からa+bビット目までのビット
    列が表現する数)、 (14) z*I[i*W+b] mod pを計算してzとし、iを1インク
    リメントし、 (15) i<mの場合、(13)に戻り、 (16) i>=mの場合、冪乗剰余zを出力する、 前記(11)乃至(16)の処理を前記コンピュータで実行する
    ためのプログラム。
JP2001274862A 2001-09-11 2001-09-11 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム Pending JP2003084667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001274862A JP2003084667A (ja) 2001-09-11 2001-09-11 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001274862A JP2003084667A (ja) 2001-09-11 2001-09-11 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム

Publications (1)

Publication Number Publication Date
JP2003084667A true JP2003084667A (ja) 2003-03-19

Family

ID=19099827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001274862A Pending JP2003084667A (ja) 2001-09-11 2001-09-11 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム

Country Status (1)

Country Link
JP (1) JP2003084667A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258502A (ja) * 2008-04-18 2009-11-05 Toshiba Corp 乗算装置及びプログラム
JP2015049261A (ja) * 2013-08-29 2015-03-16 日本電信電話株式会社 暗号文生成装置、暗号文生成方法およびプログラム
JP2015102812A (ja) * 2013-11-27 2015-06-04 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258502A (ja) * 2008-04-18 2009-11-05 Toshiba Corp 乗算装置及びプログラム
JP2015049261A (ja) * 2013-08-29 2015-03-16 日本電信電話株式会社 暗号文生成装置、暗号文生成方法およびプログラム
JP2015102812A (ja) * 2013-11-27 2015-06-04 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法、及びプログラム

Similar Documents

Publication Publication Date Title
Boneh et al. Factoring N= prq for large r
US7363335B2 (en) Modular arithmetic apparatus and method selecting a base in the residue number system
JP3939658B2 (ja) モジュラー乗算を行うための装置、および、モジュラー乗算を行うための算術演算装置
US7831650B2 (en) Method for modular multiplication
JP2012234199A (ja) フォールディングを用いるモジュール削減
JP4783382B2 (ja) モンゴメリ法用乗算剰余計算装置
JP3551113B2 (ja) 除算器
JP3504050B2 (ja) べき乗剰余演算方法及び装置
JP5147085B2 (ja) 演算方法及び演算装置
JP2003084667A (ja) 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム
JP4398904B2 (ja) 乱数系列生成装置、乱数系列生成方法、演算処理装置、演算処理方法及びプログラム
JP3660075B2 (ja) 除算装置
JP3823107B2 (ja) 有限体での基底変換方法及び基底変換装置
JP4202701B2 (ja) 多項式剰余系演算装置、方法及びプログラム
JP3554525B2 (ja) モンゴメリ乗算装置及び方法
JPH0749769A (ja) べき乗演算装置
JP3540280B2 (ja) べき乗剰余演算方法、および、剰余演算方法
JP3136709B2 (ja) べき積演算装置
JP4080754B2 (ja) 剰余演算装置及び方法
JP2803442B2 (ja) 開平装置
JP2004170642A (ja) 乗算剰余演算方法および乗算剰余演算装置
JP2005063349A (ja) 拡大体平方根算出装置、拡大体平方根算出方法、拡大体平方根算出プログラム及びそのプログラムを記録した記録媒体
JP2020140120A (ja) 演算処理方法、演算処理装置、及び半導体装置
JP2002236581A (ja) 演算回路、演算方法、及びプログラム記録媒体
JP2003216034A (ja) べき乗剰余演算器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060627