JP3532860B2 - 剰余系表現を利用した演算装置及び方法及びプログラム - Google Patents

剰余系表現を利用した演算装置及び方法及びプログラム

Info

Publication number
JP3532860B2
JP3532860B2 JP2001013564A JP2001013564A JP3532860B2 JP 3532860 B2 JP3532860 B2 JP 3532860B2 JP 2001013564 A JP2001013564 A JP 2001013564A JP 2001013564 A JP2001013564 A JP 2001013564A JP 3532860 B2 JP3532860 B2 JP 3532860B2
Authority
JP
Japan
Prior art keywords
base
basis
modulus
arithmetic
coset
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 - Fee Related
Application number
JP2001013564A
Other languages
English (en)
Other versions
JP2002215385A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001013564A priority Critical patent/JP3532860B2/ja
Priority to US10/051,280 priority patent/US7010560B2/en
Publication of JP2002215385A publication Critical patent/JP2002215385A/ja
Application granted granted Critical
Publication of JP3532860B2 publication Critical patent/JP3532860B2/ja
Priority to US11/221,906 priority patent/US7363335B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、剰余系(RNS;
Residue Number System)表現を利用した演算装置に関
する。
【0002】
【従来の技術】大きな整数を効率良く演算するための手
法として知られる剰余演算系においては、互いに素な比
較的小さな整数の組{a1, a2,…, an}を用意し、表現対
象となる大きな整数をこれらの整数で割った余りで表現
する。以後、この整数の組を剰余演算系の基底(base)と
称する。また、要素数nを基底数(又は基底サイズ)と
称する。
【0003】例えば基底{a1, a2,…, an}が与えられて
いる場合、整数xは、これを基底ai(i=1,2,...,n)で除
して得られるn個の余り{x1, x2,…, xn}により表現さ
れる。このとき、数xが基底要素の積A(=a1a2…an)未満
の正整数であれば、数xは基底要素の積Aを法として一
意に表現できる。言いかえれば、数xとその剰余演算系
表現{x1, x2,…, xn}は一対一に対応する。
【0004】このような剰余演算系表現において2つの
整数x,yの積を計算するには、まず、各要素毎の積を求
め、さらに、対応する基底aiで除した余りを求める。こ
れは、一般的には、各要素毎に対応する基底aiを法とす
る積を計算することで基底要素の積Aを法とする積が求
められることと言い換えられる。加算および減算につい
ても同様であり、基底aiに対応する要素xi,yiについ
て、aiを法とする加算あるいは減算をすればよい。
【0005】このような剰余演算系を用いた演算では、
乗算・加算・減算は、各要素毎独立に対応する基底を法
とする演算を行えば良いのであるが、例えば基底として
計算機のワード長以内の値を採用することで、非常に大
きな整数の演算を単精度の演算の繰り返しによって実現
できる。
【0006】大きな整数同士の演算(加減乗算)の高速
な並列処理を可能にするこのような剰余演算系をベース
に、公開鍵暗号の基本演算であるべき乗剰余演算(及び
剰余乗算)をモンゴメリ乗算との融合により実現するア
ルゴリズム、およびそのハードウェア構成(「RNSモ
ンゴメリ乗算器」という)が提案されている。
【0007】RNSモンゴメリ乗算のアルゴリズムにつ
いては、については、Kawamura, S., Koike, M., Sano,
F. and Shimbo, A, "Cox-Rower Architecture for Fas
t Montgomery Multiplication", Lecture Notes in Com
puter Science 1807, Advances in Cryptology - EUROC
RYPT2000, pp. 523-538, 2000の記載を参考にできる。
【0008】RNSモンゴメリ乗算器は、剰余系表現で
整数を表すために基底を用いる。基底は、演算ワード長
と等しいサイズの小整数の組からなり、これら基底の要
素の積は、公開鍵暗号のブロックサイズ(例えば102
4ビット)以上のサイズになっている必要がある。
【0009】また、RNSモンゴメリ乗算器が備える演
算ユニット数を、基底要素の数に一致させたり、あるい
はその約数にすることで一つの演算ユニット当り複数の
基底要素に対応する処理を実行させる方法も提案されて
いる。
【0010】RNSモンゴメリ乗算の計算量は、利用す
る基底サイズnの2乗に比例する。また、RNSモンゴ
メリ乗算を利用したべき乗剰余計算(RSA処理)の計
算量は、べき指数のビット長に比例した回数だけRNS
モンゴメリ乗算を実行する計算量に相当する。
【0011】
【発明が解決しようとする課題】公開暗号では、鍵長は
必ずしも固定ではない。これは、セキュリティの強度と
解読技術の進展などに起因する。このため、一つのハー
ドウェアで複数の鍵長に対応する必要がある。
【0012】ハードウェアへの実装においては、そのハ
ードウェアに搭載される演算ユニット数が固定され、こ
れに伴い同時に動作する演算ユニット数の上限が定ま
る。このため、扱う鍵長に応じて、ハードウェアに搭載
する演算ユニット数を適切な数に選んでおく必要があ
る。
【0013】最大の鍵長に対応した基底要素数の演算ユ
ニットを用意した場合、単純に鍵長を変えてべき乗剰余
算を実行すると、べき指数が短くなる分だけ計算量が減
り、処理時間を短縮できる。しかしながら、2進数表現
を利用した場合のべき乗剰余算の計算量はビットサイズ
(鍵長)の3乗に比例し、計算のオーダーが大きく異な
ることを勘案すると、この場合の処理時間の短縮効果は
十分でない。
【0014】また、演算ユニットのワードサイズが32
ビットの場合、RSA(Rivest-Shamir-Adleman)のよう
な公開鍵暗号処理において鍵長2048ビットに対応す
るためには65個の基底要素が必要になる。最大の鍵長
に対応した基底要素数を用意する方法では、例えば鍵長
512ビットのべき乗剰余演算についても65個の基底
要素を使って計算することになり、効率的でない。
【0015】しかしながら、従来、異なる鍵長に対応し
て効率的に処理を行える演算装置の構成は提供されてい
ない。
【0016】本発明はこのような事情を考慮してなされ
たものであり、ハードウェア実装における影響が少な
く、かつ鍵長に応じて処理時間の縮小効果が高い剰余系
表現を利用した演算装置を提供することを目的とする。
【0017】
【課題を解決するための手段】上記課題を解決するため
に本発明は次のように構成されている。
【0018】本発明の請求項1に係る剰余系表現を利用
した演算装置は、法pを含むデータを入力し、互いに素
なn個の整数の組A={a1,a2,...,an}を基底とする剰
余系表現により前記法pに対する剰余付きでの整数演算
を実行する演算装置において、前記基底の要素数nが異
なる複数の基底毎の基底パラメータを記憶する基底パラ
メータ記憶手段と、前記入力された法pのサイズに応じ
て、演算装置内で処理に利用する基底を選択する基底選
択手段と、前記基底選択手段により選択された基底に該
当する基底パラメータを前記記憶手段から読み出し、該
基底パラメータに基づいて基底要素毎の演算を行う複数
の演算ユニットと、具備することを特徴とする剰余系表
現を利用した演算装置である。
【0019】本発明の請求項5に係る演算方法は、互い
に素なn個の整数の組A={a1,a2,...,an}を基底とす
る剰余系表現により法pに対する剰余付きでの整数演算
を実行する演算方法において、前記基底の要素数nが異
なる複数の基底毎の基底パラメータを基底パラメータ記
憶手段に記憶させておき、法pを含むデータを入力し、
該入力された法pのサイズに応じて、演算装置内で処理
に利用する基底を選択し、前記選択された基底に該当す
る基底パラメータを前記基底パラメータ記憶手段から読
み出し、該読み出された基底パラメータに基づいて、基
底要素毎の演算を複数の演算ユニットにより実行するこ
とを特徴とする剰余系表現を利用した演算方法である。
【0020】本発明の請求項9に係るプログラムは、互
いに素なn個の整数の組A={a1,a 2,...,an}を基底と
する剰余系表現により法pに対する整数演算を行う機能
をコンピュータに実現させるためのプログラムにおい
て、前記基底の要素数nが異なる複数の基底毎の基底パ
ラメータを基底パラメータ記憶手段に記憶させる機能
と、法pを含むデータを入力する機能と、該入力された
法pのサイズに応じて、演算装置内で処理に利用する基
底を基底選択器に選択させる機能と、該選択された基底
に該当する基底パラメータを前記基底パラメータ記憶手
段から読み出す機能と、該読み出された基底パラメータ
に基づいて、基底要素毎の演算を複数の演算ユニットに
実行させる機能と、を具備することを特徴とするプログ
ラムである。
【0021】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態を説明する。
【0022】図1は、本発明の剰余系表現を利用した演
算装置の一実施形態に係るRNSモンゴメリ乗算器のハ
ードウェア構成を示す回路図である。
【0023】剰余演算機能付き積和回路101、RAM
121、ROM131は1つの演算ユニットを構成し、
同様の構成の演算ユニットがn個並列に並ぶ構成になっ
ている。各演算ユニットの積和回路101は、対応する
基底要素についてwビットの演算を行うよう構成されて
おり、各演算ユニットはwビットのバスによって相互に
接続されている。補正計算器110は、RNSモンゴメ
リ乗算の内部で必要となる基底変換処理における補正項
の計算に必要なユニットである。
【0024】一つの積和回路101は、RAM121お
よびROM131からのデータを入力し、補正計算器1
10からの制御を受けて剰余演算部を行い、その計算結
果をwビットのバスを介してRAM121に送る。
【0025】このような構成に加え、本実施形態の装置
は、I/O部10に接続され、該I/O部10から法p
の値を入力し、この法pのサイズに応じて、演算装置内
で処理に利用する基底を選択する基底選択器20が付加
されている。また、基底の要素数nが異なる複数の基底
毎の基底パラメータをROM131が記憶保持してお
り、個々の演算ユニットは、基底選択器20により選択
された基底に対応する基底パラメータに基づいて動作す
るように構成されている。
【0026】図2は、ROMに記憶保持される基底パラ
メータを示す図である。例えば本例では、異なる基底に
該当する基底パラメータを選択可能となっており、RO
M131内のアドレス1に基底1パラメータ、アドレス
2に基底2パラメータ、…という具合に各基底パラメー
タが配置されている。これら基底パラメータは、それぞ
れ、基底数n1,基底数n2,…という具合に基底数が
異なる。基底選択器20は、選択した基底に該当する基
底パラメータのROM131内におけるアドレス1〜4
のいずれかを出力する。
【0027】基底選択器20における基底の選択基準
は、基底要素の積の値が法pよりも大きい基底の中で最
も積の値が小さい基底、つまり最小の基底数を選択する
こととする。そして本実施形態では、演算ユニット数の
倍数となる基底数に対応した複数の基底パラメータをR
OM131に格納しておき、いずれかの基底パラメータ
を、入力された鍵長(法サイズLp)に応じて選択的に
使用する。
【0028】図3は、このような基底パラメータの選択
のアルゴリズムの一例を説明するためのフローチャート
である。
【0029】まず、例えばべき乗剰余計算(y←x
mod p)のパラメータとして法pを入力する(ステ
ップS1)。
【0030】次に、入力された法サイズLp(ビット)
と、既知である演算ユニットのワードサイズw(ビッ
ト)及び演算ユニット数uの値とに基づいて次式を満た
す整数iを求める(ステップS2)。
【0031】
【数1】
【0032】次に、ROM131に記憶されている基底
パラメータの基底数のうち、n≧iを満たす最小の基底
数nを選択する(ステップS3)。そして、選択された
最小の基底数nに対応する基底パラメータを選択する。
具体的には、基底選択器20が、選択した基底パラメー
タのROM131内のアドレスを出力する(ステップS
4)。
【0033】例えば、演算ユニット数が11である場
合、選択可能な基底数は{11,22,33,44,55,66,...}な
どである。
【0034】したがって、現実的なハードウェアへの実
装において、例えば図5(a)に示すように、法サイズ
が672ビット(bit)以下なら基底数を22とし、
672ビットより大きく1024ビット以下で基底数を
33とし、1024ビットより大きく2080ビット以
下で基底数を66とするような、異なる鍵長(法サイ
ズ)に対応した効率的な処理を実現できる。
【0035】この例のように法の倍数の基底の一部だけ
を登録しておくことでも良い。また、例示した表のよう
に法サイズの上限と対応する基底サイズのテーブルを利
用して基底選択器を構成してもよい。
【0036】本発明に係る演算装置の他の実施形態とし
ては、鍵長で決定される最小の基底数以上の値であっ
て、かつ、基底数を、演算ユニット数を1〜最大数まで
の個々の倍数とした中の最小の値とするように装置構成
する。このような基底数に対応した複数の基底パラメー
タをROM131に格納しておき、これらの基底パラメ
ータを基底選択器20が鍵長に応じて選択する。
【0037】図4は、このような基底パラメータの選択
のアルゴリズムの一例を説明するためのフローチャート
である。
【0038】まず、例えばべき乗剰余計算(y←x
mod p)のパラメータとして法pを入力する(ステ
ップS1)。
【0039】次に、基底数を示す変数n_Fを最大値
(無限大)に、変数jを(演算ユニット数)u―(最大
停止ユニット数)δに初期設定する(ステップS2)。
【0040】次に、変数jが演算ユニット数uを超過し
たか否か(j>u)を判定し、超過した場合は後述する
ステップS9に移行する(ステップS3)。
【0041】変数jが演算ユニット数uを超過しない場
合、入力された法サイズLpと、既知である演算ユニッ
トのワードサイズw及び演算ユニット数uの値とに基づ
いて次式を満たす整数iを求める(ステップS4)。
【0042】
【数2】
【0043】次に、ROM131に記憶されている基底
パラメータの基底数のうち、n≧iを満たす最小の基底
数nを選択する(ステップS5)。
【0044】次に、基底数を示す変数n_Fがステップ
S5において選択された基底数nよりも大きいか否かを
判定する(ステップS6)。
【0045】ステップS6においてYESの場合は、ス
テップS8においてjを+1ほどインクリメントしてス
テップS3に戻る。一方、ステップS6においてNOの
場合は、ステップS7において基底数を示す変数n_F
を基底数nで更新したのち、ステップS8においてjを
+1ほどインクリメントしてステップS3に戻る。
【0046】ステップS9においては、基底数n_Fに
対応する基底パラメータのROM131内のアドレスが
出力される。例えば、演算ユニット数が11であり、最
大停止ユニット数δ=2の場合、選択可能な基底数は
{9,10,11,18,20,22,27,30,33,36,40,44,45,50,55,54,6
0,66,...}などである。
【0047】したがって、現実的なハードウェアへの実
装において、例えば図5(b)に示すように、法サイズ
が544ビットまでなら基底数を18とし、この場合、
演算ユニット数11のうち、9つのユニットを2回使用
することとし、法サイズが544ビットより大きく83
2ビット以下で基底数を27とし、この場合、演算ユニ
ット数11のうち、9つのユニットを3回使用すること
とし、法サイズが832ビットより大きく1024ビッ
トまでなら基底数を33とし、この場合、演算ユニット
数11のうちすべてのユニットを3回使用することと
し、法サイズが1024ビットより大きく1568ビッ
ト以下なら基底数を50とし、この場合、演算ユニット
数11のうち、10個のユニットを5回使用することと
し、法サイズが1568ビットより大きく2080ビッ
ト以下なら基底数を66とし、この場合、演算ユニット
数11のうち、すべてのユニットを6回使用する、とい
った異なる鍵長(法サイズ)に対応した効率的な処理を
実現できる。
【0048】この例のように法の倍数の基底の一部だけ
を登録しておくことでも良い。また、例示した表のよう
に法サイズの上限と対応する基底サイズのテーブルを利
用して基底選択器を構成してもよい。
【0049】以上説明したように、ROM131に複数
の基底パラメータが備えられており、法サイズに応じて
適切な基底(基底パラメータ)を基底選択器20が選択
するので、ハードウェア実装における影響が少なく、か
つ鍵長に応じて処理時間の縮小効果が高い剰余系表現を
利用したRNSモンゴメリ乗算器を提供できる。
【0050】なお、鍵長に依存して決定される最適な基
底要素数に対応する演算ユニットだけを利用して処理を
行うように構成すれば、計算量がビットサイズの3乗に
比例する点で好ましいが、演算ユニットの制御回路が複
雑になるという欠点がある。具体的には、演算ユニット
数が少ない場合は、演算ユニットを繰り返し利用するこ
とで基底全体の処理を行うが、個々の演算ユニットの制
御に着目すると、あるタイミングでは動作させ、別のタ
イミングでは動作させないといった複雑な制御が必要と
なってしまう。
【0051】本発明は上述した実施形態に限定されず種
々変形して実施可能である。
【0052】
【発明の効果】以上説明したように、本発明によれば、
ハードウェア実装における影響が少なく、かつ鍵長に応
じて処理時間の縮小効果が高い剰余系表現を利用した演
算装置を提供できる。
【図面の簡単な説明】
【図1】本発明の剰余系表現を利用した演算装置の一実
施形態に係るRNSモンゴメリ乗算器のハードウェア構
成を示す回路図
【図2】ROMに記憶保持される基底パラメータを示す
【図3】基底パラメータの選択のアルゴリズムの一例を
説明するためのフローチャート
【図4】基底パラメータの選択のアルゴリズムの他の例
を説明するためのフローチャート
【図5】法サイズの上限と選択される基底数のテーブル
による実現例を示す図
【符号の説明】
10…I/O部 20…基底選択器 101…積和回路 121…RAM 131…ROM 110…補正計算器
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 G06F 7/72 G09C 1/00 650

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 法pを含むデータを入力し、互いに素な
    n個の整数の組A={a1,a2,...,an}を基底とする剰余
    系表現により前記法pに対する剰余付きでの整数演算を
    実行する演算装置において、 前記基底の要素数nが異なる複数の基底毎の基底パラメ
    ータを記憶する基底パラメータ記憶手段と、 前記入力された法pのサイズに応じて、演算装置内で処
    理に利用する基底を選択する基底選択手段と、 前記基底選択手段により選択された基底に該当する基底
    パラメータを前記記憶手段から読み出し、該基底パラメ
    ータに基づいて基底要素毎の演算を行う複数の演算ユニ
    ットと、 具備することを特徴とする剰余系表現を利用した演算装
    置。
  2. 【請求項2】 前記基底パラメータ記憶手段に記憶され
    る要素数nは、前記演算ユニット数uの倍数であること
    を特徴とする請求項1に記載の剰余系表現を利用した演
    算装置。
  3. 【請求項3】 前記基底パラメータ記憶手段に記憶され
    る要素数nは、演算ユニット数をuとし、停止させる演
    算ユニット数の最大値に相当する小さな整数をδ(0≦
    δ<u)とするとき、u−δ,u−δ+1,…,uのそ
    れぞれの倍数であることを特徴とする請求項1に記載の
    剰余系表現を利用した演算装置。
  4. 【請求項4】 前記基底選択手段は、基底要素の積の値
    が前記法pよりも大きい基底の中で最も積の値が小さい
    基底を選択することを特徴とする請求項1乃至3のいず
    れかに記載の剰余系表現を利用した演算装置。
  5. 【請求項5】 互いに素なn個の整数の組A={a1,
    a2,...,an}を基底とする剰余系表現により法pに対す
    る剰余付きでの整数演算を実行する演算方法において、 前記基底の要素数nが異なる複数の基底毎の基底パラメ
    ータを基底パラメータ記憶手段に記憶させておき、 法pを含むデータを入力し、 該入力された法pのサイズに応じて、演算装置内で処理
    に利用する基底を選択し、 前記選択された基底に該当する基底パラメータを前記基
    底パラメータ記憶手段から読み出し、 該読み出された基底パラメータに基づいて、基底要素毎
    の演算を複数の演算ユニットにより実行することを特徴
    とする剰余系表現を利用した演算方法。
  6. 【請求項6】 前記基底パラメータ記憶手段に記憶され
    る要素数nは、前記演算ユニット数uの倍数であること
    を特徴とする請求項5に記載の剰余系表現を利用した演
    算方法。
  7. 【請求項7】 前記基底パラメータ記憶手段に記憶され
    る要素数nは、演算ユニット数をuとし、停止させる演
    算ユニット数の最大値に相当する小さな整数をδ(0≦
    δ<u)とするとき、u−δ,u−δ+1,…,uのそ
    れぞれの倍数であることを特徴とする請求項5に記載の
    剰余系表現を利用した演算方法。
  8. 【請求項8】 前記基底の選択ステップは、基底要素の
    積の値が前記法pよりも大きい基底の中で最も積の値が
    小さい基底を選択することを特徴とする請求項5乃至7
    のいずれかに記載の剰余系表現を利用した演算方法。
  9. 【請求項9】 互いに素なn個の整数の組A={a1,
    a2,...,an}を基底とする剰余系表現により法pに対す
    る整数演算を行う機能をコンピュータに実現させるため
    のプログラムにおいて、 前記基底の要素数nが異なる複数の基底毎の基底パラメ
    ータを基底パラメータ記憶手段に記憶させる機能と、 法pを含むデータを入力する機能と、 該入力された法pのサイズに応じて、演算装置内で処理
    に利用する基底を基底選択器に選択させる機能と、 該選択された基底に該当する基底パラメータを前記基底
    パラメータ記憶手段から読み出す機能と、 該読み出された基底パラメータに基づいて、基底要素毎
    の演算を複数の演算ユニットに実行させる機能と、を具
    備することを特徴とするプログラム。
JP2001013564A 2001-01-22 2001-01-22 剰余系表現を利用した演算装置及び方法及びプログラム Expired - Fee Related JP3532860B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001013564A JP3532860B2 (ja) 2001-01-22 2001-01-22 剰余系表現を利用した演算装置及び方法及びプログラム
US10/051,280 US7010560B2 (en) 2001-01-22 2002-01-22 Modular arithmetic apparatus and method selecting a base in the residue number system
US11/221,906 US7363335B2 (en) 2001-01-22 2005-09-09 Modular arithmetic apparatus and method selecting a base in the residue number system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001013564A JP3532860B2 (ja) 2001-01-22 2001-01-22 剰余系表現を利用した演算装置及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2002215385A JP2002215385A (ja) 2002-08-02
JP3532860B2 true JP3532860B2 (ja) 2004-05-31

Family

ID=18880396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001013564A Expired - Fee Related JP3532860B2 (ja) 2001-01-22 2001-01-22 剰余系表現を利用した演算装置及び方法及びプログラム

Country Status (2)

Country Link
US (2) US7010560B2 (ja)
JP (1) JP3532860B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187770B1 (en) * 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
US8352530B2 (en) * 2008-12-08 2013-01-08 International Business Machines Corporation Residue calculation with built-in correction in a floating point unit positioned at different levels using correction values provided by multiplexer
US9081608B2 (en) * 2012-05-19 2015-07-14 Digital System Research Inc. Residue number arithmetic logic unit
CN105450583B (zh) 2014-07-03 2019-07-05 阿里巴巴集团控股有限公司 一种信息认证的方法及装置
CN105446992A (zh) 2014-07-08 2016-03-30 阿里巴巴集团控股有限公司 建立商品对象回收信息数据库、确定价值信息方法及装置
CN105335394B (zh) * 2014-07-14 2019-08-13 阿里巴巴集团控股有限公司 一种基于数据库的数据控制方法及系统
CN105450411B (zh) 2014-08-14 2019-01-08 阿里巴巴集团控股有限公司 利用卡片特征进行身份验证的方法、装置及系统
CN105719183A (zh) 2014-12-03 2016-06-29 阿里巴巴集团控股有限公司 定向转账方法及其装置
CN105869043A (zh) 2015-01-19 2016-08-17 阿里巴巴集团控股有限公司 分散热点的数据库账户转入、转出的记账方法及装置
CN105989467A (zh) 2015-02-03 2016-10-05 阿里巴巴集团控股有限公司 无线支付方法与装置及交通工具乘坐费检验方法与系统
CN106570009B (zh) 2015-10-09 2020-07-28 阿里巴巴集团控股有限公司 导航类目更新方法及装置
CN108734371A (zh) 2018-02-12 2018-11-02 阿里巴巴集团控股有限公司 一种针对风控指令的处理方法、装置及设备
CN108632348B (zh) 2018-03-19 2020-02-18 阿里巴巴集团控股有限公司 一种业务校验方法和装置
US10387122B1 (en) 2018-05-04 2019-08-20 Olsen Ip Reserve, Llc Residue number matrix multiplier
US10992314B2 (en) 2019-01-21 2021-04-27 Olsen Ip Reserve, Llc Residue number systems and methods for arithmetic error detection and correction
CN116561051B (zh) * 2023-04-10 2024-02-02 中科驭数(北京)科技有限公司 一种硬件加速卡和异构计算系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602704A (en) * 1967-08-22 1971-08-31 Akushsky Izrail Apparatus for correcting errors in a residue code system
JPS54144148A (en) * 1978-05-01 1979-11-10 Aisuke Katayama Exponential conversion type high speed multiplying system
US4596390A (en) * 1983-01-19 1986-06-24 Studley Fred M Control cartridge selection device
US4593376A (en) * 1983-04-21 1986-06-03 Volk Larry N System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires
US4516777A (en) * 1983-11-21 1985-05-14 Nikora Robert J Mobile self-contained video game system with instantaneously selectable game cartridges
CA1284225C (en) * 1986-07-23 1991-05-14 Katsuya Nakagawa Game software service system
AU2366588A (en) * 1987-10-12 1989-04-13 Sony Corporation Method and apparatus for encoding and decoding data in residue number system
FR2622713A1 (fr) * 1987-10-30 1989-05-05 Thomson Csf Circuit de calcul utilisant une arithmetique residuelle
US5077793A (en) * 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
ES2039145B1 (es) * 1991-08-01 1994-03-16 Sega Sa Sistema de conmutacion y control de cuatro placas de video-juegos
DE4222110C2 (de) * 1992-07-06 1998-08-27 Nsm Ag Programmgesteuertes Unterhaltungs- und Spielgerät
DE4331258A1 (de) * 1993-09-15 1995-03-23 Nsm Ag Programmgesteuertes Unterhaltungs- und Spielgerät
US5655961A (en) * 1994-10-12 1997-08-12 Acres Gaming, Inc. Method for operating networked gaming devices
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5802544A (en) * 1995-06-07 1998-09-01 International Business Machines Corporation Addressing multiple removable memory modules by remapping slot addresses
US6110041A (en) * 1996-12-30 2000-08-29 Walker Digital, Llc Method and system for adapting gaming devices to playing preferences
US6645068B1 (en) * 1996-11-14 2003-11-11 Arcade Planet, Inc. Profile-driven network gaming and prize redemption system
US6148034A (en) * 1996-12-05 2000-11-14 Linden Technology Limited Apparatus and method for determining video encoding motion compensation vectors
FR2761550B1 (fr) * 1997-03-28 1999-06-25 France Telecom Filtre numerique pour retards fractionnaires
US6511377B1 (en) * 1997-08-07 2003-01-28 Casino Data Systems Cashless gaming system: apparatus and method
JP4092735B2 (ja) * 1997-12-10 2008-05-28 セイコーエプソン株式会社 情報処理システム及び暗号/復号システム
US6366940B1 (en) * 1998-03-02 2002-04-02 Matsushita Electric Industrial Co., Ltd. High-speed modular multiplication apparatus achieved in small circuit
US6240436B1 (en) * 1998-03-30 2001-05-29 Rainbow Technologies, Inc. High speed montgomery value calculation
DE69828150T2 (de) * 1998-03-30 2005-12-15 Rainbow Technologies Inc., Irvine Vom Rechenaufwand her effizientes modulares Multiplikationsverfahren und Gerät
JP2000135377A (ja) * 1998-10-30 2000-05-16 Namco Ltd ゲームシステム及び情報記憶媒体
FR2785406B1 (fr) * 1998-10-30 2004-09-10 Thomson Marconi Sonar Sas Memoire a acces vectoriel
US20030195031A1 (en) * 1999-09-22 2003-10-16 Anchor Gaming Method and device implementing a player configurable gaming machine
US6662201B1 (en) * 1999-11-01 2003-12-09 Kabushiki Kaisha Toshiba Modular arithmetic apparatus and method having high-speed base conversion function
JP4215922B2 (ja) * 2000-01-27 2009-01-28 任天堂株式会社 ゲーム装置および記憶媒体
JP4020567B2 (ja) * 2000-05-15 2007-12-12 株式会社コナミデジタルエンタテインメント ゲーム機およびそのゲーム環境設定ネットワークシステム
US7699699B2 (en) * 2000-06-23 2010-04-20 Igt Gaming device having multiple selectable display interfaces based on player's wagers
US6960136B2 (en) * 2000-10-04 2005-11-01 Wms Gaming Inc. Gaming machine with visual and audio indicia changed over time
US6605003B2 (en) * 2001-07-05 2003-08-12 Midway Amusement Games Llc Game rotation system for multiple game amusement game systems
US7338372B2 (en) * 2001-09-28 2008-03-04 Bally Gaming International, Inc. Reconfigurable gaming machine
US7909699B2 (en) * 2002-06-27 2011-03-22 Igt Scan based configuration control in a gaming environment
US20040110566A1 (en) * 2002-07-18 2004-06-10 Schneider Steven H. Video game jukebox

Also Published As

Publication number Publication date
US7363335B2 (en) 2008-04-22
US7010560B2 (en) 2006-03-07
US20060010190A1 (en) 2006-01-12
US20020099749A1 (en) 2002-07-25
JP2002215385A (ja) 2002-08-02

Similar Documents

Publication Publication Date Title
US7363335B2 (en) Modular arithmetic apparatus and method selecting a base in the residue number system
EP0801345B1 (en) Circuit for modulo multiplication and exponentiation arithmetic
US7904498B2 (en) Modular multiplication processing apparatus
EP0917047B1 (en) Apparatus for modular inversion for information security
US5261001A (en) Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands
EP2350811A1 (en) Method and apparatus for modulus reduction
Gutub et al. Scalable VLSI architecture for GF (p) Montgomery modular inverse computation
JP2004227344A (ja) 乗算器及び暗号回路
JP2004258141A (ja) モンゴメリ乗算剰余の多倍長演算のための演算装置
US6662201B1 (en) Modular arithmetic apparatus and method having high-speed base conversion function
JP2001051832A (ja) 乗算剰余演算方法および乗算剰余回路
JP2001034167A (ja) 演算装置及び暗号処理装置
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
CN115270155A (zh) 一种获取大数拓展最大公约数的方法及硬件架构
JP4202701B2 (ja) 多項式剰余系演算装置、方法及びプログラム
JP2003131569A (ja) 二乗剰余演算回路、二乗剰余演算方法及びプログラム
JP3332270B2 (ja) べき乗演算装置
JP3136709B2 (ja) べき積演算装置
JP2003084667A (ja) 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム
Shirase et al. An architecture for elliptic curve cryptograph computation
JP3742293B2 (ja) 剰余演算装置
Kim et al. AOP arithmetic architectures over GF (2m)
JP2002236581A (ja) 演算回路、演算方法、及びプログラム記録媒体
JP2020140120A (ja) 演算処理方法、演算処理装置、及び半導体装置
JP4080754B2 (ja) 剰余演算装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040130

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: 20040302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040304

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080312

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees