JP3467489B2 - Rsa符号化装置 - Google Patents
Rsa符号化装置Info
- Publication number
- JP3467489B2 JP3467489B2 JP2002107977A JP2002107977A JP3467489B2 JP 3467489 B2 JP3467489 B2 JP 3467489B2 JP 2002107977 A JP2002107977 A JP 2002107977A JP 2002107977 A JP2002107977 A JP 2002107977A JP 3467489 B2 JP3467489 B2 JP 3467489B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- bits
- value
- bit
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000004364 calculation method Methods 0.000 claims description 53
- 238000004904 shortening Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 18
- 230000000295 complement effect Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 41
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000002196 fr. b Anatomy 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/723—Modular exponentiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/722—Modular multiplication
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
乗のモジュロ‐N演算処理を行うRSA符号化法を、マ
イクロコントローラを用いて実施する方法であって、
N,e及びMはnビットのフォーマットに含まれる長い
整数であり、前記モジュロ‐Nの演算が2つの逐次演算
に分けられ、その第1演算の式が、 Bi=ai・X+T・2n にて表わされ、ここにBi及びXはM及びNに依存する
計算変数であり、aiは、値が以前の演算から得られる
計算変数Aのmビットに限定されたフォーマットの抽出
変数(セグメント)であり、この抽出変数は前記計算変
数Aの重みのランクiが減少する順位で取出され、且つ
Tは変数Aの計算に用いた加算変数であり、前記逐次演
算のうちの第2演算は、モジュラスNの予定した倍数を
減じることによって変数Biの長さを短くして、変数A
に対する新規の値Aiを得ることとしたRSA符号化法
を実施する方法に関するものである。本発明は上述した
方法を実施する装置にも関するものである。
称されている符号化法については特に米国特許第4,405,
829号から既知である。この方法の利点、特にそれが
「公開鍵」タイプのものであると云うことも広く知られ
ている。非常に長いコードを記憶する十分大きなメモリ
を有しているパワフルなプロセッサによるRSA法の実
施は何等特別な問題を提起することはないが、このこと
は極めて小形の装置、特にスマートカード又はチップカ
ードとも称される携帯カード内に組み込むことのできる
マイクロコントローラタイプの集積半導体回路により同
じ方法を用いようとする場合とは相違する。斯種の方法
に対してはプライベートな伝送分野(話者、署名、鍵の
交換、機密情報の交換、電子通貨等の証明)にて多数の
可能性及び有効な用途が見越されることからして、実際
上この分野ではかなりの研究が成されている。この研究
の目的は、最近の技術により実現される集積回路の使用
により重大な制約が課せられるにも拘わらず、データを
理にかなった長さの時間内(せいぜい1秒)に首尾良く
処理し得るようにするRSA法に基づく符号化法を実施
する方法及びそのための装置を得ることにある。
て、メモリ容量を小さくし(数100バイト)、クロッ
ク速度を低くし(僅か8MHz程度)、且つ並列処理さ
れるビット数を少なくする(僅か8ビット又は16ビッ
ト)ことを提案することができる。
化法を実施する冒頭にて述べた方法はフランス国特許明
細書FR-A2613861号に開示されている。
計算回数が極めて多くならないようにすることにあり、
この目的のために少量の計算変数を用い、各部分乗算の
後にモジュロ‐N短縮(還元)を行って、演算が逐次行
われるにつれて、これらの変数が長くならないようにし
ている。
縮段で符号検査を必要とし、これによりNの倍数の減法
が超過したか、否かを定め、超過していた場合にはNに
よる加法を行って、計算変数Aに再び正の値を割り当て
るようにしなければならないと云うことにある。斯様な
欠点は前述したフランス国特許から既知のアルゴリズム
の場合には何等問題にならないが、現状の技術水準から
すれば一般に問題となる。
管理ユニットに並列に接続した特殊な計算素子により高
速度で行うことができるも、符号検査に対する演算は中
央ユニットでしか行うことができず、従って計算素子に
よる演算は検査結果を待っている間中断しなければなら
ない。
が重要な意味を持つのは、モジュロ‐Nべき乗の際中に
符号検査を多数回行う必要があり、しかも中央ユニット
の演算サイクル時間が計算素子の演算サイクル時間に較
べて比較的ゆっくりしており、例えば8:1の割合であ
るためである。
な計算素子を具えているマイクロコントローラを用いて
RSA法により符号化演算を実行することができ、特に
計算変数の符号検査又は桁検査の頻度をかなり少なくす
るために従来法よりも遥かに速く符号化演算を行うこと
のできる方法を提供することにある。
に、本発明によるRSA符号化法を実施する方法は、前記
第2演算を次式から得られるモジュロ‐N準短縮により
実行し、 Ai=q・N′+R ここにN′はnビットフォーマットにおけるNの2の補
数とし、qは、p>mとして、pビットの固定フォーマ
ットにて割算Bi/Nのデフォルトにより近似させた整
数の商とし、Rは変数Biの下位nビットにより与えら
れる変数とし、この第2演算の結果AiがモジュラスN
の低い倍数を含むことができて、nビットフォーマット
に対してd個の上位ビットを超過させることができ、逐
次演算の所定回数を近似公差qと同様に、前記逐次演算
中に累積される超過分の最大ビット数がp‐mに等しく
なるように定め、且つ前記所定回数の演算後に、変数A
の新規の値を厳密にnビットフォーマット内に発生させ
る追加のモジュロ準短縮を行うことを特徴とする。
により近似させた商qを用いるようにするため、変数B
iの長さを短くしても負符号の結果が決して発生しない
ため、この変数の符号を検査する必要が最早なくなる。
従って、少なくとも所定数の連続する演算に対し、その
演算を系統的に、しかも中断せずに行うことができる。
上記所定数の連続演算の後には商qのpビットフォーマ
ットに最早超過分の累積を考慮することができなくなる
と云う危険性に及ぶことがある。
不完全なモジュロ短縮を可能にするも、これではビット
数が最初に定めたnビットフォーマットを超える結果A
iを発生させることがあり得る。このため、近似商qに
対しては演算ai・Xにおける乗数aiに用いたmビット
フォーマットよりも長いpビットフォーマットを選定し
た。
われる所定演算回数は、後に連続抽出変数aiにより変
数Aを全て用いるのに必要なモジュロ‐N準短縮を行う
乗法ai・Xの回数に等しく選定するのが有利であり、
この数は比n/mの高い整数値に相当する。
近似商値qを種々の方法で決めることができる。その第
1の好適例としては、モジュラスNの値を或る特定の間
隔内でとり、この特定の間隔が: 2n −2n-m ;2n −1 に等しく、且つ近似商qの値が変数Bi のnビットフォ
ーマットを超える上位ビットにより与えられるようにす
る。
ちに求められ、これはデータメモリに通さなくてもモジ
ュロ‐N短縮用の被演算数(オペランド)とし得るので
特殊なプロセッサにて再処理することができる。従って
これに対応するメモリ位置を節約することができる。
ット変数に適用する場合には、近似商qのビット数をp
とし、且つ変数aiについての前記短縮フォーマットの
ビット数mを24とするのが有利である。
らは8ビットワードで作動するマイクロコントローラに
良好に適用され、又このマイクロコントローラは同じく
8ビットのオペランドで作動する計算素子に関連する。
値p‐mを8ビット(即ち、1バイト)に等しくするこ
とにより、追加の短縮が行われるまでは不完全となり得
るモジュロ‐N短縮による全ての超過分を受け取るよう
にすることができる。
ることにより、追加のモジュロ準短縮が必要となる前の
連続的に行われる演算回数を増やすこともできる。
間隔を大きくして、関連する連続演算回数を追加のモジ
ュロ短縮なしに正しく減らすこともできる。
ビットの数から如何様に選定する場合でも適用される。
2000以下の数とするnビットの変数に対するnビッ
トの数からモジュラスNの値を如何様に選定する場合で
も、近似商qのビット数pを32に等しくし、且つ前記
変数aiの縮減フォーマットのビット数mを24に等し
くし、近似商qの値を第1演算、即ち Bi=ai・X+T・2m の実行後に次の追加演算、即ち li・N* によって求め、ここにliはnビットフォーマットを超
える変数Biの上位ビットを表し、N*はモジュラスNの
逆関数の上位56ビットに制限された2進数を表し、上
位32ビットに限定される追加演算の結果によって近似
商qの値を発生させ、最後に前記演算式、即ち Ai=q・N′+R によってモジュロ‐N準短縮を実行するようにする。
じ容量のデータとしてマイクロコントローラに供給する
ことができる。近似商qの値は短かな追加の演算(2つ
の数、つまり一方の4バイトと、他方の7バイトとによ
る乗算)の終りに決定され、この追加演算はモジュロ‐
N短縮と同じタイプのものではあるが、被乗数が僅か7
バイトに過ぎないために遥かに短いものである。Nの値
としては任意の数を選定することができ、その数は前記
第1好適例におけるように予定した間隔内の値とする必
要がなく、それでも演算期間は僅か約15%延びるに過
ぎない。
央マイクロカルキュレータユニットを具えている装置に
も関するものであり、この装置は前記プログラムが前述
したような方法を実行することを特徴とするものであ
る。
計算するいわゆる2進べき乗法が既知である。ここでは
計算の記数法を定めると共に計算のハイアラーキの良好
な理解を与えるために、これら方法のうち指数eを重み
の回帰順位で用いる方法について簡単に述べる。
で表した指数eのビット数に等しい)、計算変数Aを値
1に初期設定する。計算ループを実行し、Aの2乗を変
数Bと置き、次にA=Bの新しい値をセットし、指数e
のランクjのビットが1に等しい場合にはB=A・Mを
書込む追加の演算を実行し、Bの値を変数Aの値と置
き、他方指数eのランクjのビットが0に等しい場合に
はこの演算を省略する。次に、j=j−1と仮定するこ
とによりeのすぐ下位の値を有するビットに進み、図1
に示すように上述の演算を繰り返す。上述の演算はjが
0になるまで実行される。eの最低ビットはj=1に対
し使用され、即ちj=0の場合には計算が終了し、計算
変数AがMeの値になる。
モジュロ‐N演算を実行することから成り、N,e及び
Mはnビットを有するフォーマット内に含まれる非常に
長い整数であり、Nは512ビット程度の長さにするこ
とができる。
がnビット以下のフォーマットに短縮されることにあ
る。モジュロ‐N関数の他の特性は、モジュロ‐N短縮
が最終結果に悪影響を与えることなく適用される瞬時を
任意に選択することができる点にあり、これにより計算
変数の長さを計算容量及びメモリサイズが著しく制限さ
れたマイクロプロセッサに対し禁止された長さに到達す
る前に短縮することができる利点が得られる。
ュロ‐Nを得るには図1のアルゴリズムをどのように変
更すればよいかを示す。計算プロセスは前と同様にj=
n及びA=1と仮定することにより開始し、B=A・A
の計算を実行し、A=Bモジュロ‐Nと仮定することに
よりBを計算変数Aの新しい値に短縮する。eのランク
jのビットが1に等しい場合には、B=A・Mを演算す
ると共にA=Bモジュロ‐Nと仮定してB=A・Mを再
び短縮する。eのランクjのビットが0に等しい場合に
は、この2重演算を省略する。こうして特定の値の変数
Aが得られ、斯かる後にj=j−1が実行され、図2に
示すようにこれらループ演算がj=0になるまで繰り返
される。変数eの全ビットが1ビットづつ使用され終わ
ると、計算変数AはMe モジュロ‐Nの求める値を発生
する。図2から、図中に1及び2で示す各対の演算は同
一の性質のものであることがわかる。各対の演算におい
て、第1の演算はB=A・Xのタイプであり、第2の演
算はA=Bモジュロ‐Nのタイプである。タイプB=A
・Xの演算においてはA及びXが非常に長い数であるた
め、この演算を小計算容量のマイクロコントローラによ
り直接実行することは一般に不可能である。実際には上
述の各対の演算はインタリーブした小部分に分けて実行
して変数の長さがnビットフォーマットに対し大きくな
らないようにする。
結果を得ることができるシーケンスプロセスを以下に詳
細に説明する。
層詳細なアルゴリズムを示す。演算のタイプ1又は2に
応じて変数XにA又はMに等しい値を割り当てる。計算
変数Aをmビットの限定フォーマットaiを有するセグ
メントで用いることがわかっているので、分数n/mを
丸めた整数に等しい値を有するループ指数iを決定す
る。合計変数Tを用い、これを0に初期設定する。変数
Aのセグメントaiに対応する最上位セグメントに基づ
いて、Bi=ai・X+T・2m を計算する計算ループを
実行し、斯かる後に変数Biの長さの短縮を等式Ai=q
・N′+Rに従って実行する。
Biの新しい値を表し、この値からモジュラスNの所定
の倍数が減算され、従って変数Biの長さが短くなる。
この演算はモジュロ‐N関数から明らかであるが、変数
AiはモジュラスNの小さな倍数を含み得るのでこの短
縮は不完全であり、モジュロ‐N準短縮と称されてい
る。変数Rの値は変数Biの下位のnビットにより決定
され、qは分数Bi /Mのデフォルト値により近似され
た商であり、pビット(pはmより大きい)を有する固
定フォーマットを有する。変数N′の値はnビットフォ
ーマットのNの2の補数である。従って項q・N′は項
−q・Nに等価である。値Ai は(モジュロ‐N短縮の
厳密な演算と異なり)またモジュラスNの小さな倍数を
含み得るため、この結果Ai はmビットフォーマットに
対しd個の上位ビットの超過を生ずる。このためpビッ
トを有する変数qに対し数pが数mより大きいフォーマ
ットを選択してこれが問題の超過ビットdを含み得るよ
うにする。
かる後にループ指数iを1だけ減らし、図3に示すルー
プ演算を最下位の最後のセグメント(変数)ai が使用
されるまで繰り返す。図3に示すループにおける順次の
演算の所定の回数並びに近似トレランス(公差)qを、
順次の演算中に累積された超過ビットの最大数dがp‐
mに等しくなるように決定する。図3に示す例では、順
次の演算の前記回数はiは等しく、これは同時に近似ト
レランスqを決定する。ループiにおいて、計算が開始
すると、最終結果Ai は結果A1 になりこれを変数B1
と置き換える。次いで追加のモジュロ‐N準短縮を実行
する。これは上述の計算ループで実行されたものと同一
であり、演算A=q・N′+Rを実行して計算変数Aの
新しい値を発生させる。この演算において、変数は前と
同一の桁を有し、変数Bi の長さの短縮を発生し、これ
により全ての超過が消去されると共にこの変数がnビッ
トフォーマットに短縮される。図3に示すアルゴリズム
において、状態i=0が発生する。実際にはここでは
(項のデータ処理方向の)検査の問題はない。その理由
は、実際上実行すべき演算のループ数iを指定すること
により図3のアルゴリズムを実行する状態に計算装置が
初期設定されているためである。最後に、このアルゴリ
ズムは符号検査及び大きさ(桁)検査を必要とせず、後
述するように中央マイクロプロセッサユニットの命令に
よる割り込みの必要なしに特別の計算素子により系統的
に実行することができる。
法で決定することができる。モジュラスNの値を特定の
インターバル(間隔)中に取り出す本発明の第1の実施
例においては、この特定のインターバルを 2n −2(n-m) ;2n −1 に等しく、且つ近似商qをnビットフォーマットを超過
する変数Bi の上位ビットにより発生させる。
は、ビットpの数を近似した商qから選択し32ビット
にすると共にビットmの数を変数ai の短縮フォーマッ
トから選択し24ビットにする。従って極めて不所望な
環境下においてi回繰り返されるループ計算プロセス中
に発生し得る超過分dを収納するのに8ビット(1バイ
ト)が得られる。計算Bi =ai ・X+T・2m におい
て項ai ・Xは常に(n+m)ビットを有するフォーマ
ット内に厳密に維持されるが、値T・2m はこのような
フォーマットを超過し、超過分dを発生する。この超過
分は加算中に生ずるため、i回のループ計算中のこの超
過分の累積合計を収納するのに1バイトがあり、従って
このような超過分を累積するのに255ビットを用いる
が、このような超過分は不利な場合に一般に1の値、最
大で2の値を有し、例外的な場合(1度以下)に3の値
を有する。これは、超過分をこの目的のために用意され
たバイトにより収納し得なくなる前にループサイクル数
が100以上になることを意味する。nが512ビット
に等しい場合の初期変数を示すためにループ計算の数i
を22以下にする。
は8ビットの倍数であり、これらビット数は8ビットワ
ードで動作するマイクロコントローラに良好に適合し、
このコントローラには同じく8ビットのオペランドで動
作する計算素子が関連するからである。
縮に戻る必要なしに実行される一連の演算の数がiに等
しい、即ち変数Aをその一連のセグメントai の形で用
いる一連の演算の数に等しい例について説明した。しか
し、例えば近似商qの精度を高めることにより、或いは
モジュラスNの一層制限したインターバルを選択するこ
とにより(この場合には計算変数Aのフォーマット超過
分を収納するために用意するビット数p‐mを減らすこ
とができる)、或いはこれとは逆にモジュラスNの値を
選択する特定のインターバルを拡大することにより(こ
れは変数qを収納するのに用いるビット数pを増大する
ことになる)、或いは値pを32ビットに維持しながら
一連の演算の数を減少させることにより(即ちi回のル
ープ計算中に追加のモジュロ‐N準短縮を所定回数実行
することにより)異なる演算を行うこともできる。全て
の場合において変数Aに対し一定の計算フォーマットを
維持するために、図3につき述べた演算サイクルを変数
Aの値をnビットフォーマットに厳密に戻すための追加
のモジュロ‐N準短縮により終了させるのが有利であ
る。
インターバルで取り出すとき直ちに使用することができ
る。しかし、この装置はモジュラスNの値をnビットの
数から任意に選択するときにも使用することができる。
実際上、本発明の第2の実施例では僅かに追加の演算に
より適正な近似トレランスを有する近似商の値を決定す
ることができる。
ため、この実施例をこれら変数が固定の数値を有するフ
ォーマットを有する例を用いて説明する。長いワードの
ビット数nを2000以下とし、近似商qのビット数p
を32とし、変数ai の短縮フォーマットのビット数を
24とする。ここでも図3に示す計算方法を用いてルー
プで実行される演算の第1の演算をBi =ai ・X+T
・2m で与える。
トを超過する変数Bi の上位ビットにより直接発生し得
ない。nビットフォーマットを超過するそれにもかかわ
らずこれら上記ビットにより表されるワードli を変換
後に近似商qの値を発生する小さな演算に直接用いる。
本発明では近似商の近似トレランスが許容されるので、
後述する変換は最早高い精度を必要とせず、減少したビ
ット数で実行することができる。
する。ここでN* はモジュラスNの逆数の上位56ビッ
ト(7バイト)に制限された2進数から成る変数であ
る。この乗算により得られた値を再び上位32ビット
(4バイト)に制限し、この値が求める近似商qを与え
る。この演算の終了時に、変数Bi の長さは前と同様に
A i =q・N′+Rにより短縮される。この演算におい
て変数は前の実施例と同一の重みを有する。
同一の容量でマイクロコントローラに供給し得るパラメ
ータであるため、このパラメータはコントローラ自体で
計算する必要はない。最後に、モジュラスNはnビット
の数から任意の値を容易に選択し得るので、近似商qの
値を決定する追加の小演算を除いて前と同一の方法を用
いる。この追加の演算は4バイトフォーマットの数と7
バイトフォーマットの数の乗算であるため比較的短く、
この追加の演算はモジュラスNの値を特定のインターバ
ルで選択した第1実施例と比較して演算時間が約15%
長くなるだけである。
の実施例に関し、専門家であれば上述したようにシステ
マチックに、所定数の一連の演算中に検査を必要とする
ことなく実行されるモジュロ‐N準短縮法のように近似
商qを計算し得る精度に関する他の目安を決定し、斯か
る後に追加のモジュロ‐N準短縮を実行してこれら一連
の演算中に累積される超過分を抑圧するようにすること
ができる。
るコントローラの一実施例及びこのようなコントローラ
に組み込み得る計算素子の一実施例を図4及び図5を用
いて簡単に説明する。これらの装置自体は1989年12月29
日出願のフランス国特許第8917455号及び同8917456号の
目的を構成し、これら明細書にこれらの装置が詳細に開
示されている。
理装置(CPU15)と、読取専用メモリ(ROM1
6)と、ランダムアクセスメモリ(RAM17)と、破
線の長方形18で記号的に示す計算素子と、状態及び制
御レジスタ(E.C.)19及びシーケンサ(SE)2
0を含む回路とを具える。中央処理装置15は読取専用
メモリ16、状態及び制御ユニット19、シーケンサ2
0とデータバス7を介してデータを交換すると共にアド
レスバス8を介して読取専用メモリ16にアドレスを送
出する。中央処理装置15はそれぞれのバス7及び8を
介してランダムアクセスメモリとデータを交換すると共
にこのメモリをアドレスすることもできるが、このメモ
リに直接アクセスすることはできない。
7はデータスイッチマルチプレクサ4の第1入力端子を
介してランダムアクセスメモリ17のデータ部分をアク
セスする。このマルチプレクサの第2入力端子は“ロー
カルバス”10と称すバスに接続する。このバスの役割
については後に説明する。ランダムアクセスメモリ17
のアドレスポートはアドレススイッチ5と称す別のマル
チプレクサの出力端子に接続する。このマルチプレクサ
の4つの入力端子はその第1入力端子をシリアルキュー
として配置されたオペランドtのアドレス用のダブルア
ドレスレジスタ122−222を経て、その第2入力端
子を同じくシリアルキューとして配置されたオペランド
Xのアドレス用の別のダブルアドレスレジスタ121−
221を経て、その第3入力端子をオペランドaのアド
レス用の単一レジスタ211を経て、及びその第4入力
端子を演算結果bのアドレス用の別のダブルレジスタ1
23−223を経てアドレスバス8にそれぞれ接続す
る。アドレスポインタレジスタ122, 121, 21
1, 123は中央処理装置15によりロードすることが
できるが、ポインタ222, 221及び223は対応す
るキュー内の相手のレジスタのアドレスを受信するよう
配置し、受信後シーケンサ20により自動的にインクリ
メント又はデクリメントし得るようにする。単一ポイン
タレジスタ211も中央処理装置15によりローディン
グされた後にシーケンサにより自動的にインクリメント
又はデクリメントされるようにすることができる。
〔2〕、a〔3〕及びa〔4〕用の4つの入力端子1
1, 12, 13及び14と、オペランドxi 及びti 用
の入力端子21及び22を有する。ローカルバス10と
オペランド入力端子11, 12,13及び14との間に
それぞれレジスタ311,312,313及び314を
挿入し、これらレジスタに上述のオペランドの値をスト
アする。オペランドxi 用の入力端子21とローカルバ
ス10との間にはシリアルキューとして配置された1対
のレジスタ321−421を挿入し、オペランドti 用
の入力端子22とローカルバス10との間にもシリアル
キューとして配置された1対のレジスタ322−422
を挿入する。計算素子18は更に結果bi 用の出力端子
23を有し、この出力端子から結果bi を出力レジスタ
323を介してローカルバス10に送出する。図を明瞭
とするために、制御接続は詳細に示してない。しかし、
破線で示した1組の制御接続47によって状態及び制御
レジスタ回路49、シーケンス20及び計算素子18と
の間の制御接続を記号的に示してある。計算素子18は
ポート25から制御命令を受信する。
は、ローカルバス10によりデータスイッチマルチプレ
クサ4を経てランダムアクセスメモリ17と計算素子1
8のデータポートとの間でデータを伝送することがで
き、従ってこの計算素子によりシーケンサ20の制御の
下で、中央処理装置15の介入なしに一連の計算を実行
することができる。この一連の演算中に中央処理装置が
一連の次の計算のためのポインタレジスタ121,12
2及び123にアドレスポインタをロードすることがで
きる。
タを均一の8ビットフォーマットで表わす。計算変数T
及びxは8ビットワードに区分し、これらワードに重み
iのランクを付けてオペランドxi 及びti を構成す
る。所定のオペランド対xi ,ti の値が最初にローカ
ルバス10を経てレジスタ321および322に2クロ
ックサイクルでロードされる。第3クロックサイクルを
用いてレジスタ323にストアされている結果bi をラ
ンダムアクセスメモリ17に書込む。計算素子18はオ
ペランドa〔1〕〜a〔4〕を用いて4ステップサイク
ルで、又はオペランドa〔4〕及び入力14を用いない
で3ステップサイクルで演算を行い得る。
るためには計算素子18は3ステップサイクルで、変数
ai の3バイトを構成する3つの順次のバイトを表わす
オペランドa〔1〕〜a〔3〕を用いる。計算素子18
は演算範囲をai xi +tiにしぼる3ステップ計算サ
イクルの終了時にユニークな結果bi を発生し得る。結
果bi をレジスタ323からランダムアクセスメモリ1
7に転送するクロックサイクル中にオペランドxi 及び
ti の新しい値をそれぞれのレジスタ321及び322
から対応するレジスタ421及び422に同時に転送す
る。計算変数T,X及びBi の各々はランダムアクセス
メモリに連続するアドレスバイトによりストアされるた
め、これらアドレスはシーケンサ20の制御の下でイン
クリメント又はデクリメントされるそれぞれのポインタ
レジスタ221, 222及び223により指示される。
+Rに従って実行される際は、入力端子21のオペラン
ドxi がパラメータN′のランクiのバイトni ′と置
き換えられ、入力端子22のオペランドti が変数Rか
ら取り出されたバイトri と置き換えられると共に、4
個の入力端子11, 12, 13, 14には近似した商q
を構成する一連のバイトが供給される。斯くして計算素
子18は値ni ′及びri の対に対する商qを構成する
各バイトの処理を4ステップサイクルで実行する。計算
は4ステップサイクルでステップごとに行われ、その間
ローカルバス10がオペランドデータをレジスタ321
及び322に再ロードする2クロックサイクルとレジス
タ323からランダムアクセスメモリ17へ結果を転送
する1クロックサイクルの間に亘って占有される。この
場合にはローカルバス10は計算サイクルを構成する4
クロックサイクルのうちの1サイクル中占有されないも
のとなる。
バイト) のフォーマットに対しては、結果Bi を得る
ことができる変数X及びTをバイトで完全に用いるため
には67の3ステップサイクルを実行する必要がある。
同様に、計算変数Ai を発生するモジュロ‐N準短縮演
算において変数N′及びR(計算素子にストアされてい
る中間データの“クリア”を含む)をバイトで完全に用
いるには68の4ステップサイクルが必要とされる。計
算素子がほぼ独立に演算を行うこれら一連のサイクルに
対応する期間中に中央処理装置15はポインタレジスタ
121, 122及び123に後続の計算に必要な種々の
パラメータ、詳しく言えばアドレスを再ロードするのに
必要な全ての時間が得られる。同様に、2つの一連の計
算サイクルの間において新しいオペランドa〔1〕、a
〔2〕、a〔3〕及び必要に応じオペランドa〔4〕が
中央処理装置によりポインタレジスタ211にロードさ
れた初期アドレスに基づいて再ロードされ、このときこ
のポインタレジスタはデクリメント又はインクリメント
されてランダムアクセスメモリ17からこれらオペラン
ドの次の値をフェッチする。変形例では結果bi を受信
するデータレジスタ323に、マルチプレクサで短絡し
得る3個のバッファレジスタのバンクを付加する。この
ようにすると、計算素子18により最後に発生された変
数Bi の上位バイトを、レジスタ323により拡張され
た前記3個のバッファレジスタのバンクに応答して、モ
ジュロ‐N準短縮に用いるオペランドとしてレジスタ3
11,312, 313及び314に直接順次に転送する
ことができる。この場合、これら4つのデータバイトの
ためのメモリスペースが不要になる。
す。この計算素子の入力端子及び出力端子は図4と同一
の符号を付して示す。データ入力11〜14をサイクル
スイッチマルチプレクサ33の4つの入力端子に供給
し、このマルチプレクサの出力を8×8ビットマルチプ
ライヤ30の2つの入力端子の一方に供給する。このマ
ルチプライヤの第2入力端子は入力端子21からオペラ
ンドxi を受信する。マルチプライヤ30の16ビット
フォーマットの出力を第1加算器31の2つの入力端子
の一方に供給する。この加算器の第2入力端子には後述
するデータ循環手段により8ビットフォーマットデータ
が供給される。この第1加算器31の16ビットフォー
マット出力を第2加算器32の2つの入力端子の一方に
供給し、この加算器の第2入力端子35は入力端子22
からマルチプレクサ42を経てオペランド値ti を受信
し得る。この第2加算器32は2つの結果出力端子を有
し、下位の8ビットの出力37を出力端子23に送出し
得ると共に上位の8ビットの出力38とバッファレジス
タ41に供給する。バッファレジスタ41の出力をマル
チプレクサ42の第2入力端子に供給すると共に第2マ
ルチプレクサ43の一方の入力端子に供給し、この第2
マルチプレクサの他方の8ビット入力端子には出力37
を供給する。このマルチプレクサ43の8ビット出力端
子をバッファレジスタ44, 445, 45のバンクを経
て第1加算器31の第2入力端子34に接続する。この
バンクのレジスタの1つ(本例ではレジスタ445)は
短絡マルチプレクサ450により側路することができ
る。データはこのバンクのレジスタをステップバイステ
ップで通過する。
クルの第1ステップではマルチプレクサ42がオペラン
ドti を選択すると共にマルチプレクサ43がバッファ
レジスタ41を選択する。これらを図5に小矢印で記号
的に示してある。オペランドti は第2加算器32にも
供給され、この加算器の出力端子37の結果の下位の8
ビットが出力端子23からレジスタ323(図4)に送
出されストアされる。この第1サイクルステップ後の他
のステップに対してマルチプレクサ42及び43の位置
が逆転され、第2加算器32の結果の上位8ビットがバ
ッファレジスタ41内におけるこれら値のドウェルタイ
ムに対応する遅延後に第2加算器32の第2入力端子3
5にレトロ結合される。第2加算器32の出力端子37
の結果の下位8ビットがレジスタバンクのヘッドレジス
タを構成するレジスタ44に転送され、ステップごとに
次段のレジスタに順次転送される。このようにして3ス
テップの遅延を得てこれらの値を第1加算器31の第2
入力端子34に供給する。例外として、最後のサイクル
ステップではバッファレジスタ41内に含まれる値は次
のサイクルの第1ステップ中にバッファレジスタ44に
転送され、この値が4ステップの遅延後に第1加算器3
1の入力端子34に再循環される。
ップでオペランドxi 及びti とオペランドa〔1〕〜
a〔4〕を併用して出力端子23に8ビットの単一結果
を発生する。中間結果はマルチプレクサ42及び43か
らなる再循環スイッチング手段を具えるレジスタ41,
44, 445及び45から成る再循環手段によりこの素
子内を再循環する。
動作させることもできる。この場合には中央処理装置1
5により状態及び命令レジスタ19にロードされた特定
の1ビットの形態の情報信号により計算素子に、オペラ
ンドa〔4〕を使用しないことを命令してマルチプレク
サ33の周期的スイッチングをオペランドa〔1〕〜a
〔3〕のみを用いるように制限する。また、中間データ
の正しい再循環を達成するために、この場合にはバッフ
ァレジスタ44, 445, 45のバンクを、マルチプレ
クサ450でレジスタ445を短絡して1レジスタだけ
減少させる。
図4につき述べたコントローラはRSA法による符号化
に対する本発明の方法を有効に実施し得ることは容易に
理解される。このように実施すると動作を著しく遅延し
得る多数の検査が省略される。
ムにより制御される中央マイクロ計算装置を具えた任意
の装置に適用することができる。
数である)のべき乗を計算するアルゴリズムを示す説明
図である。
値(ここにNはnビットのモジュラスである)を求める
ことができるようにするアルゴリズムを示す説明図であ
る。
法に従って実行すべくさらに詳細に発展させたアルゴリ
ズムを示す説明図である。
ュータの構成を示すブロック図である。
のできる計算素子のブロック図である。
ジスタ 211 単一レジスタ 311−314, 321−421, 322−422 レジスタ 323 出力レジスタ 30 マルチプライヤ 31 第1加算器 32 第2加算器 33 サイクルスイッチマルチプレクサ 41 バッファレジスタ 42 マルチプレクサ 43 第2マルチプレクサ 44, 445, 45 バッファレジスタ 450 短絡マルチプレクサ
Claims (7)
- 【請求項1】 マイクロコントローラを有する符号化装
置でメッセージMのe乗のモジュロ−N演算処理を行っ
てRSA符号化を行う装置であって、 N,e及びMはnビットのフォーマットに含まれる整数
であり、Bi及びXは、M及びNに依存する計算変数で
あり、aiは、値が以前の演算から得られる計算変数A
のmビットに限定されたフォーマットの抽出変数(セグ
メント)であり、Tは、変数Aの計算に用いた加算変数
であり、N´は、nビットフォーマットにおけるNの2
の補数であり、qは、p>mとして、pビットの固定フ
ォーマットにて割算Bi/Nのデフォルトにより近似さ
せた整数の商であり、Rは、変数Biの下位nビットに
より与えられる変数であって、 前記計算変数X、前記加算変数T、並びに抽出変数ai
を入力する入力手段と、前記計算変数X、前記加算変数
T、並びに抽出変数aiを用いて、Bi=ai・X+T
・2mによる第1の演算を行うとともに、Ai=q・
N′+Rのモジュロ−N準短縮による第2の演算を行う
演算手段と、前記第1の演算及び前記第2の演算より得
られた演算結果を出力する出力手段とを有し、 前記第1の演算において、前記抽出変数は前記計算変数
Aの重みのランクiが減少する順位で取り出され、前記
第2の演算は、モジュラスNの予定した倍数を減じるこ
とによって変数Biの長さを短くして、変数Aに対する
新規の値A1を得ることを特徴とする装置。 - 【請求項2】 前記演算手段は、マルチプレクサ、マル
チプライヤ、加算器、及びバッファレジスタを有するこ
とを特徴とする請求項1記載の装置。 - 【請求項3】 前記第2の演算の結果Aiは、モジュラ
スNの低い倍数を含むことができ、nビットフォーマッ
トに対してd個の上位ビットを超過させることができ、
逐次演算の所定回数を近似公差qと同様に、前記演算中
に累積される超過分の最大ビット数がp−mに等しくな
るように定め、前記所定回数の演算後に、変数Aの新規
の値を厳密にnビットフォーマット内に発生させる追加
のモジュロ準短縮を行うことを特徴とする請求項1又は
請求項2記載の装置。 - 【請求項4】 変数Aが、その抽出変数aiにより完全
に用いられた際に、連続演算の回数が前記所定回数に達
することを特徴とする請求項3記載の装置。 - 【請求項5】 モジュラスNの値を或る特定の間隔中に
取り出し、この特定の間隔を2n−2n―m;2n−1
に等しくし、前記近似商qの値がnビットフォーマット
を超過する変数Biの上位ビットにより与えられること
を特徴とする請求項4記載の装置。 - 【請求項6】 nが2000以下のnビットの変数に適
用され、前記近似商qのビット数pを32とし、変数a
iの前記短縮フォーマットのビット数mを24とするこ
とを特徴とする請求項5記載の装置。 - 【請求項7】 モジュラスNの値をnビットの数から如
何ように選定する場合でも適用可能であり、また、nが
2000以下のnビットの変数に適用され、近似商qの
ビット数pを32に等しくし、前記変数aiの短縮フォ
ーマットのビット数mを24に等しくし、近似商qの値
を第1の演算、すなわちBi=ai・X+T・2mの実
行後に次の追加演算、すなわちli・N*によって求
め、ここで、liは、nビットフォーマットを超えてい
る変数Biの上位ビットを表し、N*は、モジュラスN
の逆数の上位56ビットに制限された2進数を表し、上
位32ビットに限定される前記追加演算の結果によって
近似商qの値を発生させ、最後に前記第2の演算、すな
わちAi=q・N´+Rを行うことを特徴とする請求項
4記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9002274A FR2658932A1 (fr) | 1990-02-23 | 1990-02-23 | Procede de codage selon la methode dite rsa, par un microcontroleur et dispositif utilisant ce procede. |
FR9002274 | 1990-02-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04879791A Division JP3501468B2 (ja) | 1990-02-23 | 1991-02-22 | 携帯カード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003029627A JP2003029627A (ja) | 2003-01-31 |
JP3467489B2 true JP3467489B2 (ja) | 2003-11-17 |
Family
ID=9394076
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04879791A Expired - Lifetime JP3501468B2 (ja) | 1990-02-23 | 1991-02-22 | 携帯カード |
JP2002107977A Expired - Lifetime JP3467489B2 (ja) | 1990-02-23 | 2002-04-10 | Rsa符号化装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04879791A Expired - Lifetime JP3501468B2 (ja) | 1990-02-23 | 1991-02-22 | 携帯カード |
Country Status (5)
Country | Link |
---|---|
US (1) | US5166978A (ja) |
EP (1) | EP0443679B1 (ja) |
JP (2) | JP3501468B2 (ja) |
DE (1) | DE69130581T2 (ja) |
FR (1) | FR2658932A1 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ240019A (en) * | 1991-09-30 | 1996-04-26 | Peter John Smith | Public key encrypted communication with non-multiplicative cipher |
US5274707A (en) * | 1991-12-06 | 1993-12-28 | Roger Schlafly | Modular exponentiation and reduction device and method |
AU3890093A (en) * | 1992-04-07 | 1993-11-08 | Thomson Consumer Electronics S.A. | Method and apparatus for modulo computation |
US5299262A (en) * | 1992-08-13 | 1994-03-29 | The United States Of America As Represented By The United States Department Of Energy | Method for exponentiating in cryptographic systems |
FR2701323A1 (fr) * | 1993-02-08 | 1994-08-12 | Trt Telecom Radio Electr | Dispositif pour effectuer une division. |
JPH0720778A (ja) * | 1993-07-02 | 1995-01-24 | Fujitsu Ltd | 剰余計算装置、テーブル作成装置および乗算剰余計算装置 |
EP0907270B1 (en) | 1994-02-24 | 2009-04-15 | Comcast Cable Holdings, LLC | Apparatus and method for establishing a cryptographic link between elements of a system |
US5787172A (en) * | 1994-02-24 | 1998-07-28 | The Merdan Group, Inc. | Apparatus and method for establishing a cryptographic link between elements of a system |
US5504817A (en) * | 1994-05-09 | 1996-04-02 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for memory efficient variants of public key encryption and identification schemes for smart card applications |
IL113375A (en) * | 1995-04-13 | 1997-09-30 | Fortress U & T Ltd | Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow |
US5852665A (en) * | 1995-04-13 | 1998-12-22 | Fortress U & T Ltd. | Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow |
US5932119A (en) | 1996-01-05 | 1999-08-03 | Lazare Kaplan International, Inc. | Laser marking system |
DE19709106A1 (de) * | 1997-03-06 | 1998-09-10 | Philips Patentverwaltung | Rechenschaltung zum Berechnen eines Quadrats |
JP2001505325A (ja) * | 1997-09-16 | 2001-04-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置 |
US6091821A (en) * | 1998-02-12 | 2000-07-18 | Vlsi Technology, Inc. | Pipelined hardware implementation of a hashing algorithm |
AU1981400A (en) | 1999-12-16 | 2001-06-25 | Nokia Corporation | High throughput and flexible device to secure data communication |
US7089420B1 (en) | 2000-05-24 | 2006-08-08 | Tracer Detection Technology Corp. | Authentication method and system |
US7152047B1 (en) | 2000-05-24 | 2006-12-19 | Esecure.Biz, Inc. | System and method for production and authentication of original documents |
US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
US7167885B2 (en) * | 2002-03-22 | 2007-01-23 | Intel Corporation | Emod a fast modulus calculation for computer systems |
FR2839224B1 (fr) * | 2002-04-30 | 2007-05-04 | Gemplus Card Int | Procede pour effectuer une phase de multiplication modulaire de deux operandes en multiprecision et cryptoprocesseur pour la mise en oeuvre du procede |
US8171567B1 (en) | 2002-09-04 | 2012-05-01 | Tracer Detection Technology Corp. | Authentication method and system |
WO2006110954A1 (en) * | 2005-04-20 | 2006-10-26 | Synaptic Laboratories Limited | Process of and apparatus for counting |
US8229109B2 (en) | 2006-06-27 | 2012-07-24 | Intel Corporation | Modular reduction using folding |
US7930337B2 (en) * | 2006-06-27 | 2011-04-19 | Intel Corporation | Multiplying two numbers |
US7827471B2 (en) * | 2006-10-12 | 2010-11-02 | Intel Corporation | Determining message residue using a set of polynomials |
US20080260153A1 (en) * | 2007-04-20 | 2008-10-23 | John Almeida | Symmetric and asymmetric cryptography using shadow numbers |
US8689078B2 (en) | 2007-07-13 | 2014-04-01 | Intel Corporation | Determining a message residue |
US8042025B2 (en) * | 2007-12-18 | 2011-10-18 | Intel Corporation | Determining a message residue |
US7886214B2 (en) * | 2007-12-18 | 2011-02-08 | Intel Corporation | Determining a message residue |
US9052985B2 (en) * | 2007-12-21 | 2015-06-09 | Intel Corporation | Method and apparatus for efficient programmable cyclic redundancy check (CRC) |
US7995196B1 (en) | 2008-04-23 | 2011-08-09 | Tracer Detection Technology Corp. | Authentication method and system |
EP2779519A1 (en) | 2013-03-11 | 2014-09-17 | Thomson Licensing | A method and a device for fault-resistant exponentiation in cryptographic systems |
US10658455B2 (en) | 2017-09-28 | 2020-05-19 | Taiwan Semiconductor Manufacturing Co., Ltd. | Metal insulator metal capacitor structure having high capacitance |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138698A1 (de) * | 1981-09-29 | 1983-04-07 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zur potenzierung grosser binaerzahlen in einer restklasse modulo n, insbesondere zur verschluesselung und entschluesselung digital dargestellter nachrichten |
JPS6211937A (ja) * | 1985-07-10 | 1987-01-20 | Hitachi Ltd | 高速剰余計算装置 |
CA1252213A (en) * | 1986-08-28 | 1989-04-04 | Andrew G. Deczky | Digital signal processor with divide function |
FR2613861B1 (fr) * | 1987-04-10 | 1990-11-30 | Pailles Jean Claude | Procede et controleur pour cryptographier un message selon un algorithme a cle publique |
US5077793A (en) * | 1989-09-29 | 1991-12-31 | The Boeing Company | Residue number encryption and decryption system |
US5121431A (en) * | 1990-07-02 | 1992-06-09 | Northern Telecom Limited | Processor method of multiplying large numbers |
US5101431A (en) * | 1990-12-14 | 1992-03-31 | Bell Communications Research, Inc. | Systolic array for modular multiplication |
-
1990
- 1990-02-23 FR FR9002274A patent/FR2658932A1/fr active Pending
-
1991
- 1991-02-18 DE DE69130581T patent/DE69130581T2/de not_active Expired - Lifetime
- 1991-02-18 EP EP91200332A patent/EP0443679B1/fr not_active Expired - Lifetime
- 1991-02-21 US US07/660,197 patent/US5166978A/en not_active Expired - Lifetime
- 1991-02-22 JP JP04879791A patent/JP3501468B2/ja not_active Expired - Lifetime
-
2002
- 2002-04-10 JP JP2002107977A patent/JP3467489B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
宮口庄司,"RSA公開鍵暗号の高速計算法と暗号LSIの構成",情報処理学会論文誌,1983年11月15日,Vol.24,No.6,p.764−771 |
Also Published As
Publication number | Publication date |
---|---|
JP2003029627A (ja) | 2003-01-31 |
DE69130581T2 (de) | 1999-06-24 |
US5166978A (en) | 1992-11-24 |
JPH04216588A (ja) | 1992-08-06 |
EP0443679B1 (fr) | 1998-12-09 |
EP0443679A1 (fr) | 1991-08-28 |
FR2658932A1 (fr) | 1991-08-30 |
JP3501468B2 (ja) | 2004-03-02 |
DE69130581D1 (de) | 1999-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3467489B2 (ja) | Rsa符号化装置 | |
US6035317A (en) | Modular arithmetic coprocessor comprising two multiplication circuits working in parallel | |
US4251864A (en) | Apparatus and method in a data processing system for manipulation of signal groups having boundaries not coinciding with boundaries of signal group storage space | |
GB2330226A (en) | Digital signal processor for performing fixed-point and/or integer arithmetic | |
KR20010012222A (ko) | 몽고메리 승산에 기초한 모듈의 승산과 지수화를 위한개선된 장치와 방법 | |
EP0075745B1 (en) | Method and apparatus for division | |
US4247891A (en) | Leading zero count formation | |
EP0529101B1 (en) | Floating-point dividing circuit | |
JPH0113130B2 (ja) | ||
JPH022171B2 (ja) | ||
US7136892B2 (en) | Method for multiplying two factors from the Galois field and multiplier for performing the method | |
US5987489A (en) | Modular arithmetic coprocessor enabling the performance of non-modular operations at high speed | |
US6963644B1 (en) | Multi-word arithmetic device for faster computation of cryptosystem calculations | |
US4276596A (en) | Short operand alignment and merge operation | |
US5777916A (en) | Method for the production of an error correction parameter associated with the implementation of modular operations according to the montgomery method | |
US5386534A (en) | Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value | |
US4268909A (en) | Numeric data fetch - alignment of data including scale factor difference | |
JP2001034167A (ja) | 演算装置及び暗号処理装置 | |
US4240144A (en) | Long operand alignment and merge operation | |
US5661674A (en) | Divide to integer | |
KR100481586B1 (ko) | 모듈러 곱셈 장치 | |
US4224677A (en) | Effective digit count on a resultant operand | |
KR100417136B1 (ko) | 다항식 기저에서 유한체 승산 장치 및 그 방법 | |
JP2000207387A (ja) | 演算装置及び暗号処理装置 | |
JP2007520729A (ja) | 改良された低減計算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030814 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
S303 | Written request for registration of pledge or change of pledge |
Free format text: JAPANESE INTERMEDIATE CODE: R316304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
S303 | Written request for registration of pledge or change of pledge |
Free format text: JAPANESE INTERMEDIATE CODE: R316304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |