【誤訳訂正書】
【提出日】平成23年9月22日(2011.9.22)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】特許請求の範囲
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【特許請求の範囲】
【請求項１】
多項式ベースのＧＦ（２ｑ）及びＧＦ（ｐ）の両フィールドの演算において▲○×▼乗算及び平方を実行するマイクロエレクトロニクス装置であって、
直列に供給される基数２▲ｌ▼の乗数Ｂと、ｋ文字の被乗数セグメントＡｉと、ｋ文字の▲○＋▼アキュムレーターとを使用する平方及び簡約において、限定された合同への簡約がモジュラスＮ上で被乗数Ａｉに乗数Ｂを掛け合わせて実行され、その結果が多くとも２ｋ＋１文字長さであり、最初に発生し無視され保存されないｋのゼロ文字を含み、ｋ文字がモジュラスと同等以上のビットを有し、前記装置は、
各々が少なくともｎビット長さのオペランドを保持するように動作し、夫々乗数値Ｂ及び２ｎより小さなモジュラスＮを保存するように動作する第一主メモリレジスタ手段及び第二主メモリレジスタ手段と、
▲○＋▼アダーアキュムレーターデバイスにおける値にモジュラス値が▲○＋▼加算されるような場合に、前記▲○＋▼アダーアキュムレーターデバイスから発生する全ての最初のｋ文字がゼロにされるように、予測するデジタル論理検知検出器と、
ただ一つの少なくともｋ文字長さの▲○＋▼加算器と、ｋ文字の被乗数を受け入れるように動作する▲○＋▼加算装置と、順番に被乗数値を▲○＋▼アキュムレーターデバイス内に入れ替え、順番に乗数レジスタから乗数値を受け入れるように動作する▲○×▼乗算装置と、ｋの最初に発生するゼロ文字を出力させるような乗数と同時に生成した予測値とを有し、各々の有効マシンサイクルで少なくとも一つの指定された被乗数が▲○＋▼加算装置に▲○＋▼加算される、少なくともｋ文字の入力被乗数のためのモジュラー乗算装置と、
全ゼロ文字列の値である第一被乗数、被乗数Ａｉである第二被乗数、モジュラスNの右側のｋ文字からなるモジュラスのＮ０セグメントである第三被乗数のうちの二つの被乗数からなる、順番に▲○＋▼アキュムレーションデバイス内に入れ替えられる被乗数値と、
▲ｌ▼ビットのｋ文字の直列入力されるゼロ強制変数の乗数値を予測する装置と、
乗算装置に順番に入力されるＢオペランドである乗数値と、同時に、最初に発生するゼロを出力させるため予測されたｋ文字列であるゼロ強制変数からなる第二乗数値と、
▲○＋▼アキュムレーションデバイスであって、被乗数が該アキュムレーションデバイスへ▲○＋▼加算されると同時に値を出力するように動作する▲○＋▼アキュムレーションデバイスと、
▲○＋▼アキュムレーションデバイスからの最終のモジュラー▲○×▼乗算の結果を出力するように動作する出力転送機構とからなるマイクロエレクトロニクス装置。
【請求項２】
▲○＋▼アキュムレーションデバイスへの▲○＋▼加算が、各々の新たな直列にロードされた上位の乗数の文字により始まる請求項１記載のマイクロエレクトロニクス装置。
【請求項３】
乗数が、入力された乗数文字と対応する入力されたゼロ強制変数文字の両方がゼロの場合は、▲○＋▼アキュムレーションデバイスへの▲○＋▼加算はされず、
入力された乗数文字が１であり、対応するゼロ強制変数がゼロである場合は、Ａｉ被乗数のみが▲○＋▼加算され、
入力された乗数文字がゼロであり、対応するゼロ強制変数が１である場合は、モジュラスＮのみが▲○＋▼加算され、
入力された乗数文字と対応するゼロ強制変数文字の両方が１である場合は、被乗数Ａｉと共にモジュラスＮが▲○＋▼加算されるように動作する請求項１記載のマイクロエレクトロニクス装置。
【請求項４】
被乗数値Ａｉ，Ｎを二つの指定されたプリロードバッファにプリロードし、これらの値を第三被乗数プリロードバッファに▲○＋▼加算するように動作して、各々の被乗数値を別々に▲○＋▼加算する必要をなくす請求項１記載のマイクロエレクトロニクス装置。
【請求項５】
乗数値が入力において直列単一文字であり、▲○＋▼アキュムレーションデバイスの出力が直列単一文字出力であり、Ｙ０検出装置が一回のクロックで一文字のみ予測するように動作する請求項１記載のマイクロエレクトロニクス装置。
【請求項６】
全ての桁上げ入力がゼロ（▲Ｓ▼＝０を意味する）まで実行不能とされ、概して、多項式ベースの乗算を実行するように動作する請求項１記載のマイクロエレクトロニクス装置。
【請求項７】
▲Ｓ▼がＧＦ（２ｑ）において計算する回路方程式中の要素に影響するゼロに等しく、▲Ｓ▼は桁上げ回路が除かれた回路を示し、▲○＋▼で表される全ての加算器及び減算器が排他的論理和に簡約されて、２を法とした加算／減算要素となる請求項１記載のマイクロエレクトロニクス装置。
【請求項８】
多項式ベースのオペランドでの▲○×▼乗算が逆モードで実行され、右側のＭＳ文字から左側のＬＳ文字を乗算し、モンゴメリ寄生要素２−ｎなしでモジュラー簡約された▲○×▼乗算を実行する請求項１記載のマイクロエレクトロニクス装置。
【請求項９】
プリロードバッファが直列供給され、被乗数値が複数の記憶装置から即座にプリロードバッファにプリロードされる請求項１記載のマイクロエレクトロニクス装置。
【請求項１０】
プロセスにおいて用いられる有限体に適するように、▲○＋▼が加算を定義し、▲○×▼が乗算を定義し、
デジタル論理検知検出器が▲○＋▼アキュムレーションデバイスにおいて▲○＋▼加算にモジュラスを▲○＋▼加算する必要性を検出するように動作する時に、最初に発生する出力文字がゼロであるように、▲ｌ▼ビットの▲○＋▼加算器回路を経由して、更なるｎビットのレジスタＳから発生する先の値が▲○＋▼アキュムレーションデバイスの出力値に▲○＋▼加算され、デジタル論理検知検出器が、次に順番に▲○＋▼加算した文字Ａ０・Ｂｄ ｍｏｄ ２▲ｌ▼、▲Ｓ▼（ＣＯ０）、ＳＯ１、Ｓｄ、▲Ｓ▼（ＣＯＺ）を利用して、▲ｌ▼ビットのＪ０値により▲○×▼乗算される有限フィールドであるように▲○＋▼加算された文字を検出するように動作する請求項１記載のマイクロエレクトロニクス装置。
【請求項１１】
▲ｌ▼＝１で、ハードウェアを追加することなく、Ｊ０が暗黙的に１であり、Ｊ０▲○×▼乗算が暗黙的である請求項１記載のマイクロエレクトロニクス装置。
【請求項１２】
被乗数に乗数を掛けてモジュラスとなる出力ストリームを生成するように動作する、整数である被乗数及び乗数のインタリーブされた有限体▲○×▼モジュラー乗算を実行するマイクロエレクトロニクス装置であって、モジュラスオペランドレジスタにおける文字の数ｎがｋよりも大きく、▲○×▼乗算プロセスが反復で実行され、各々のインタリーブされた反復で▲○×▼乗算装置に入力されるオペランドは、モジュラス、乗数、予め計算された部分的な結果、被乗数のｋ文字列セグメントからなり、セグメントはＡ０文字列セグメントからＡｍ−１文字列セグメントまで処理され、各々の反復の結果は次の順番の一時的結果に▲○＋▼加算され、反復結果の最初に発生する文字はゼロであって、前記装置は、
各々がオペランドを保存、出力でき、夫々乗算値、部分的な結果値、モジュラスを保存するように動作する乗数の第一主メモリレジスタ、一時的結果の第二主メモリレジスタ、モジュラスの第三主メモリレジスタと、
反復▲○×▼乗算プロセスの間、順番に複数の被乗数値の一つ又は二つを▲○＋▼アキュムレーションデバイスに▲○＋▼加算し、順番に第一の値である乗数レジスタからの入力と、各々の反復において最初の右側ゼロ文字を出力させる乗数である第二の値である予測値であるゼロ強制変数の入力と、モジュラスレジスタからの第三の値であるモジュラスの入力とを乗数として受け入れるように動作するモジュラー乗算装置と、
少なくとも、被乗数，乗数，モジュラスレジスタ資源からの値を順番に受け入れ、続いて被乗数ゼロ強制変数値をも受け入れるように動作する被乗数並列レジスタと、
乗数又は、被乗数となるような二進列（ｂｉｎａｒｙ ｓｔｒｉｎｇ）を生成するように動作する最初に発生するゼロ強制変数検出装置と、
第一にゼロ、第二に被乗数のｋ文字列セグメントであるＡｉ、第三にモジュラスの最初に発生するｋ文字であるＮ０からなる、▲○＋▼アキュムレーションデバイスに入れ替える被乗数値と、
次の反復で部分的な結果を生成するために、アキュムレーションデバイスから発する値に加算される先の反復の結果である一時的結果値Ｓと、
第一にゼロ、第二にオペランドＡｉ、第三にゼロ強制変数値である、アキュムレーションデバイスに順番に入力される被乗数値と、
乗数オペランドの最初に発生する文字列セグメントである、最初に発生する文字列Ｂ０であり、プリロードされた被乗数バッファに生成すると同時に文字毎にロードされる予測されたゼロ強制変数文字列からなる第二の乗数値と並行して乗算する乗算装置に入力される乗数値と、
夫々、Ｂで表される乗数オペランドからの左側ｎ−ｋ文字の値と、Ｎで表されるモジュラスの左側ｎ−ｋ文字である、装置に入力される二つの乗数値と、
アキュムレーションデバイスに残存する結果値の左側セグメントを結果レジスタに転送するように動作する乗算フラッシュアウト装置とからなるマイクロエレクトロニクス装置。
【請求項１３】
ＭＳ文字からＬＳ文字まで乗算する逆モードにおいて多項式ベースのオペランドで乗算が実行され、モンゴメリ寄生要素２−ｎなしでモジュラー簡約を実行する請求項１２記載のマイクロエレクトロニクス装置。
【請求項１４】
出力結果をモジュラスと比較するように動作する少なくとも一つのセンサからなり、その機構が、結果レジスタの出力に第二の減算器を動作させることにより、出力された結果値と限定された合同であるモジュラー簡約された値を出力するように動作し、より小さな結果に第二の記憶装置を割り当てる必要を排除する請求項１２記載のマイクロエレクトロニクス装置。
【請求項１５】
最初の値の一つがプリロードバッファにロードされるのと並行して、二つの被乗数の加算である値が、少なくとも一つのｋ文字メモリ手段レジスタでプリロード文字バッファにロードされる請求項１２記載のマイクロエレクトロニクス装置。
【請求項１６】
一連のインタリーブされたモジュラー乗算及び平方を実行するように動作し、三つの自然数乗算演算と同等のものを並行して実行する、結果がべき算である単一のアキュムレーションデバイス及び予測ゼロ強制機構を有する装置。
【請求項１７】
次の順番に用いられる被乗数が、即座にプリロードレジスタバッファ手段にプリロードされる請求項１２記載のマイクロエレクトロニクス装置。
【請求項１８】
二つの被乗数の合計である値が、その一つの値がそのプリロードバッファにロードされるのと並行して少なくとも一つのｋ文字レジスタに加算される請求項１２記載のマイクロエレクトロニクス装置。
【請求項１９】
装置のバッファ及びレジスタは外部メモリー資源からの値をロードされるように動作し、前記バッファ及びレジスタは計算の間に外部メモリー資源にアンロードされるように動作し、オペランドの最大サイズが利用できるメモリー手段に依存する請求項１２記載のマイクロエレクトロニクス装置。
【請求項２０】
メモリーレジスタ手段が、概して、直列単一文字入力／直列単一文字出力、並列少なくともｋ文字入力／並列少なくともｋ文字出力、直列単一文字入力／並列少なくともｋ文字出力、並列少なくともｋ文字入力／直列単一文字出力である請求項１２記載のマイクロエレクトロニクス装置。
【請求項２１】
乗算型反復の最終段階の間、乗数入力が桁上げ保存累算メモリーの左側セグメントをフラッシュアウトするように動作するゼロ文字である請求項１２記載のマイクロエレクトロニクス装置。
【請求項２２】
次の順番の被乗数が、即座にプリロードメモリーバッファにプリロードされる請求項１２記載のマイクロエレクトロニクス装置。
【請求項２３】
被乗数値が、中央記憶装置から即座にプリロードバッファにプリロードされる請求項１２記載のマイクロエレクトロニクス装置。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】０００４
【訂正方法】変更
【訂正の内容】
【０００４】
（発明の開示）
本発明の目的は、様々な基数での乗算器においてインタリーブされたモジュラー乗算（ｉｎｔｅｒｌｅａｖｅｄ ｍｏｄｕｌａｒ ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）及び簡約（ｒｅｄｕｃｔｉｏｎ）を同時に実行するために同じ予測法（ａｎｔｉｃｉｐａｔｉｎｇ ｍｅｔｈｏｄ）を利用して、多項式ベース（ｐｏｌｙｎｏｍｉａｌ ｂａｓｅｄ）及び素数ベースの数値体フィールド（ｎｕｍｂｅｒ ｆｉｅｌｄ）における大数計算（ｌａｒｇｅ ｎｕｍｂｅｒ ｃｏｍｐｕｔａｔｉｏｎｓ）を実行するように機能するマイクロエレクトロニクス専用の算術演算装置を提供することである。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００１０
【訂正方法】変更
【訂正の内容】
【００１０】
Ｐ１，Ｐ２に記載された出願人の先の装置は、概して、ＧＦ（ｐ） 体における楕円曲線暗号プロトコルを効率的に計算するために備えられたものである。
本発明においては、ＧＦ（２ｑ） 体における使用のために、我々は、多項式体における隣接する二進数ビット間で相互作用がないので、モンゴメリ関数やモンゴメリ寄生要素（Ｍｏｎｔｇｏｍｅｒｙ ｐａｒａｓｉｔｅ）を導入することなくスーパースカラ乗算装置で簡約（Ｒｅｄｕｃｔｉｏｎ）及び乗算を同時に実行して、計算が効率的に行われることを示す。
計算機が好ましくは最上位の部分積から始めて、ＧＦ（２ｑ）における乗算が実行される。
簡約は、ＭＳの1をゼロに再設定するのに必要なだけモジュラスを加算することによって実行される。
これらの加算において、桁上げはないので、結果は自動的にモジュラー方式で（ｍｏｄｕｌａｒｌｙ）簡約される。
本発明において、多項式計算は同じ構成を利用して実行されるが、そこにおいて、ＧＦ（２ｑ）ではオペランドは最初にＭＳ文字において供給され、全ての内部桁上げ信号はゼロにされる。
ＧＦ（ｐ）計算は好ましくはＰ１及びＰ２に記載のように実行され、そこにおいて、ＬＳ文字は最初に処理され、ＭＳ文字は最後に処理される。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００１１
【訂正方法】変更
【訂正の内容】
【００１１】
該構成は、直列乗算器が▲ｌ▼ビットの幅広文字（▲ｌ▼ ｂｉｔ ｗｉｄｅ ｃｈａｒａｃｔｅｒｓ）であり、各々のクロックで、▲ｌ▼ビット文字が桁上げ保存累算器ＣＳＡから発生される（ｂｅ ｅｍｉｔｔｅｄ；エミットされる）という点で、潜在的により速い進行（ｐｒｏｇｒｅｓｓｉｏｎ；数列）を可能にするように拡張されてきた。
このことは、単一ビットの広さのバスで２Ｘを法とした奇数の反転（ｉｎｖｅｒｓｉｏｎ；逆転）も奇数であるという点で予測プロセス（Ｙ０）をいくらか複雑にし、被乗数（Ｊ０）の最下位ビットが常に1であった。
しかし、両方の数値体で、我々が、k文字がゼロの文字列を出力することのみが目的であることを覚えており、Ｙ０関数をゼロ強制ベクトル（ｚｅｒｏ ｆｏｒｃｉｎｇ ｖｅｃｔｏｒ；ゼロフォーシングベクトル）としてのみ見なす場合は、桁上げをなくする（制限する）と仮定すると、簡約プロセスは同一である。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００１９
【訂正方法】変更
【訂正の内容】
【００１９】
奇数の素体及び合成数体（ｃｏｍｐｏｓｉｔｅ ｆｉｅｌｄ；合成体）におけるモジュラー乗算について、Ａ及びＢは、夫々被乗数及び乗数と定義され、Ｎはモジュラー演算におけるモジュラスと定義される。
Ｎは、Ａ又はＢより概して大きい。
Ｎは、モジュラスの値が保存される合成レジスタ（ｃｏｍｐｏｓｉｔｅ ｒｅｇｉｓｔｅｒ；複合レジスタ）を意味する。
Ｎは、若干の場合において、概してＡより小さい。
Ａ，Ｂ，Ｎは概してｎ文字長さであり、その文字は概して１〜８ビットの長さである。
ｋは、乗算装置のサイズ（セル数）により定められる群のサイズにおける▲ｌ▼ビットの文字の数である。
同様に、多項式ベースのＧＦ（２ｑ）計算において、モジュラスＮは、ＭＳビットが１である（モニック（ｍｏｎｉｃ）である）ｎビットの長さであり、Ａ，Ｓ，Ｂのオペランドも適切に簡約された場合はｎビットの長さである。
ＧＦ（２ｑ）計算の結果がモニックである場合、前記結果の値からモジュラスで排他的論理和を求める（ＸＯＲ）ことにより、好ましくはＭＳゼロを有する値へ「簡約される（ｂｅ ｒｅｄｕｃｅｄ）」。
好ましい実施例において、ＧＦ（２ｑ）の最初の有効ビットが逆モードにおいて形成されるので、ＭＡＰはそのビットが１であるか否かを検知する（ｓｅｎｓｅ）ことができ、好ましい簡約を実行できる。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００２１
【訂正方法】変更
【訂正の内容】
【００２１】
ＧＦ（２ｑ）において、加算及び減算が同一であり、通常の計算は、概して実質的な桁溢れを残さないので、合同はより単純である。
Ｎ＝１１０１，Ａ＝１００１について、左側のＡのＭＳビットが１であるので、我々は２を法とした演算、Ａ ＸＯＲ Ｎ＝１００１ ＸＯＲ １１０１＝０１００を利用することにより、ＡからＮを簡約（「減算」）しなければならない。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００２８
【訂正方法】変更
【訂正の内容】
【００２８】
第一の反復の間、べき算の初期状態設定の後、ＢはＡ＊に等しい。
Ｂは、最終的にべき算の所望の結果と等しくなる累算された値が存在するレジスタの名称でもある。
Ｓ又はＳ*は一時的な値を示し、Ｓは、ＧＦ（ｐ）のＳにおける数の単一のＭＳビット以外の全てを保存するレジスタを示す。
（このＭＳビットに連結されるＳ*は、Ｓと同一である。）
Ｓ（ｉ−１）は、ｉ番目の反復の最初でのＳの値を意味する。
これらの多項式計算において、Ｓ上のモジュラー簡約を実行する必要はない。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００３０
【訂正方法】変更
【訂正の内容】
【００３０】
我々は、ＧＦ（２ｑ）におけるモンゴメリ型演算のこの革新的な拡張を、逆フォーマットのデータ順序（ｄａｔａ ｏｒｄｅｒ）を意味するように再定義するが、ＭＳゼロ強制（ＭＳ ｚｅｒｏ ｆｏｒｃｉｎｇ）は合同を変更させず、若しくは、厄介な寄生要素（ｐａｒａｓｉｔｉｃ ｆａｃｔｏｒ）を開始させない。
従って、我々は、演算の拡張を受け入れるため及びより広い直列乗算器バスを有する構成を可能にするために、新たな記号のセットを導入する。
自然数のスーパースカラ乗算器を可能にするために、１ビットを越える直列乗算器ストリームが好ましい。
このような乗算器装置は、同時にモジュラー算術乗算及び簡約を実行することができる装置に、３２ビット被乗数及び４ビット乗数を受け入れることができる。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００３１
【訂正方法】変更
【訂正の内容】
【００３１】
直列／並列のスーパースカラモジュラー乗算器の拡張における記号
2004501396.tif 000001
文字のビット数（桁）
ｒ：乗数（ｍｕｌｔｉｐｌｉｅｒ ｃｈａｒａｃｔｅｒ）の基数  ｒ＝２▲ｌ▼
ｎ：文字におけるオペランド（乗数、被乗数、モジュラス）のサイズ。
モンゴメリ演算のＧＦ（ｐ） 体における計算の実証において、▲ｌ▼は１に等しく、ｎはモジュラスのオペランドのビット長である。
ｋ：文字における直並列の乗数の長さ
ｍ：被乗数のインタリーブされたスライス（ｓｌｉｃｅ）（セグメント）の数で、ｍ＝ｎ／ｋ
Ｓｉ：ｉ番目のＭＭ反復の部分積の結果で、０≦ｉ≦ｍ−１，Ｓ０＝０
Ｓｉ０：Ｚの第一のｋ文字の右側ゼロを無視した後の、ｉ番目の反復結果の右側の文字
Ｓｉ：ｉ番目の結果の左側のｎ−ｋ文字
Ｓｉｊ：Ｓｉのｊ番目の文字
Ａ：ｍ・ｋ文字からなる並列の被乗数
Ａｉ：Ａのｉ番目のｋ文字のスライス（及び／又は文字列Ａｉ）
Ａｉｔ：Ａｉのｔ番目の文字
Ｂ：直列乗数（及び／又はＢのレジスタ記憶装置）
Ｂ０：Ｂの最初の右側のｋ文字
Ｂ：Ｂの最後の左側の（ｎ−ｋ）文字
Ｂ０ｊ：Ｂ０のｊ番目の文字
Ｂｊ：Ｂのｊ番目の文字
Ｎ：モジュラスのオペランド。｛及び／又は前記乗数を保存するレジスタ。｝
Ｎ０：Ｎの右側のｋ文字。｛ＧＦ（ｐ）におけるＬＳ文字，ＧＦ（２ｑ）におけるＭＳ文字｝
Ｎ：Ｎの左側の（ｎ−ｋ）文字。｛ＧＦ（ｐ）におけるＭＳ文字，ＧＦ（２ｑ）におけるＬＳ文字｝
Ｎ０ｊ：Ｎ0のｊ番目の文字
Ｎｊ：Ｎのｊ番目の文字
Ｙ０：ＧＦ（ｐ）におけるモンゴメリ乗算及び簡約の両方に必要なゼロ強制変数。
Ｙ０は、ｋ文字長さである。
Ｙ０ｊ：Ｙ０のｊ番目の文字
Ｒ：桁上げ保存アキュムレーターに存在する値の総和（未解の内部桁上げ挿入（ｃａｒｒｙ ｉｎｓ）を含む）及び最終の直列加算器（ｓｅｒｉａｌ ｓｕｍｍａｔｏｒ；直列総和器）４６０からの桁上げビット（ｃａｒｒｙ ｏｕｔ ｂｉｔ）。
Ｊ００：「即座の」有限体乗算及び簡約のためのモジュラスＮのゼロ強制文字関数。
▲l▼＝1ではＪ００は常に１に等しい。
Ｃａｒｒｙｊ：基数ｒの直並列乗算器のｊ番目の内部桁上げ文字
Ｃａｒｒｙａ：ＧＦ（ｐ）計算のための出力直列加算器の基数ｒの桁上げ
Ｓｕｍｊ：基数ｒの直並列乗算器のｊ番目の内部の和の文字。
ＬＳ：最下位
ＭＳ：最上位
‖：連結（ｃｏｎｃａｔｅｎａｔｉｏｎ）  例えばＡ＝１１０，Ｂ＝１１０１の時、Ａ‖Ｂ＝１１０１１０１
右側：全てのＧＦ（ｐ）計算データブロックの最下位の部分と逆にされたＧＦ（２ｑ）フォーマットのＭＳ部分
左側：全てのＧＦ（ｐ）計算データブロックの最上位の部分と逆にされたＧＦ（２ｑ）フォーマットのＬＳ部分
ＧＦ（ｐ）：ガロア体。厳密に言うと、加算、減算、乗算、擬除算（ｐｓｅｕｄｏ−ｄｉｖｉｓｉｏｎ）を許容する合成数（二つの非常に大きな素数の積）を使用する素数での有限体。
ＧＦ（２ｑ）：ガロア体で２を法とする演算を利用する有限体。
2004501396.tif 000002
特定の記数法に適するように、桁上げの有無に関わらず整数を加算又は減算するために外部で切り換えられる演算子又は装置。
2004501396.tif 000003
ＧＦ（ｐ）又はＧＦ（２ｑ）のいずれかで乗算を実行するために切り換えられる演算子又は装置。
2004501396.tif 000004
数値体スイッチであり、▲Ｓ▼＝1の場合、スイッチはＧＦ（ｐ）計算で全ての桁上げの入出力を可能にするように機能し、▲Ｓ▼＝0の場合、スイッチはＧＦ（２ｑ）  計算で全ての桁上げ入出力を不可能にするように機能する。
ＳｕｐｅｒＭＡＰ：本発明の目的である登録商標のスーパースカラモジュラー演算プロセッサ系統（Ｓｕｐｅｒｓｃａｌａｒ Ｍｏｄｕｌａｒ Ａｒｉｔｈｍｅｔｉｃ Ｐｒｏｃｅｓｓｏｒ ｆａｍｉｌｙ）の構成要素の一つ。
ＳｕｐｅｒＭＡＰの商標は、ヨーロッパにおいて登録され、米国においては係属中である。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００３２
【訂正方法】変更
【訂正の内容】
【００３２】
本発明の第一の態様によると、多項式ベースのＧＦ（２ｑ）及びＧＦ（ｐ）の両体の演算において▲○×▼乗算及び平方を実行するマイクロエレクトロニクス装置であって、直列にされる供給される基数２▲ｌ▼の乗数Ｂと、ｋ文字の被乗数セグメントＡｉと、ｋ文字の▲○＋▼アキュムレーターとを使用する平方及び簡約において、限定された合同への簡約がモジュラスＮ上で被乗数Ａｉに乗数Ｂを掛け合わせてシストリックな（ｓｙｓｔｏｌｉｃ）態様で「即座に」実行され、その結果が多くとも２ｎ＋１文字長さであり、最初に発生し無視され保存されないｋのゼロ文字を含み、ｋ文字がモジュラスと同等以上のビットを有し、前記演算が二つの段階で行われ、前記装置は、各々が少なくともｎビット長さのオペランドを保持するように動作し、夫々符号Ｂの乗数値及び符号Ｎの２ｎより小さなモジュラスを保存するように動作する第一主メモリレジスタ手段Ｂ及び第二主メモリレジスタ手段Ｎと、▲○＋▼アダーアキュムレーターデバイスにおける値にモジュラス値が▲○＋▼加算されるような場合に、前記▲○＋▼アダーアキュムレーターデバイスから発生する全ての最初のｋ文字がゼロにされるように、「即座に」予測するように動作するデジタル論理検知検出器（ｄｉｇｉｔａｌ ｌｏｇｉｃ ｓｅｎｓｉｎｇ ｄｅｔｅｃｔｏｒ）Ｙ０と、ただ一つの少なくともｋ文字長さの▲○＋▼加算器と、ｋ文字の被乗数を受け入れるように動作する▲○＋▼加算装置（▲○＋▼ ｓｕｍｍａｔｉｏｎ ｄｅｖｉｃｅ）と、順番に被乗数値を▲○＋▼アキュムレーターデバイス内に入れ替え、順番にＢレジスタから乗数値を受け入れるように動作する▲○×▼乗算装置と、第一段階においてｋの最初に発生するゼロ文字を出力させるように動作する乗数と同時に生成した「即座の」予測値とを有し、各々の有効マシンサイクル（ｅｆｆｅｃｔｉｖｅ ｍａｃｈｉｎｅ ｃｙｃｌｅ）で少なくとも一つの指定された被乗数が▲○＋▼アキュムレーターデバイスに▲○＋▼加算される、少なくともｋ文字の入力被乗数のためのモジュラー乗算装置と、全ゼロ文字列の値である第一被乗数、被乗数Ａｉである第二被乗数、モジュラスのＮ０セグメントである第三被乗数のうちの一つ若しくは二つの被乗数からなる、順番に▲○＋▼アキュムレーションデバイス内に入れ替えられる被乗数値と、▲ｌ▼ビットのｋ文字直列入力Ｙ０乗数値を予測するアンティシペーター（ａｎｔｉｃｉｐａｔｏｒ；予測回路）とからなるマイクロエレクトロニクス装置が提供され、該装置は乗数値を乗算装置に順番に入力するように動作でき、前記乗数値は第一段階においてＢオペランドであり、同時に、第二乗数値は最初に発生するゼロを出力させるための「即座の」予測されたｋ文字列であるＹ０からなり、該装置は更に、アキュムレーションデバイス▲○＋▼からなり、該アキュムレーションデバイスは被乗数が該アキュムレーションデバイスへの▲○＋▼であると同時に値を出力するように動作し、第二段階において▲○＋▼アキュムレーションデバイスからの最終のモジュラー▲○×▼乗算の結果を出力するように動作する出力転送機構（ｏｕｔｐｕｔ ｔｒａｎｓｆｅｒ ｍｅｃｈａｎｉｓｍ）からなる。
【誤訳訂正１１】
【訂正対象書類名】明細書
【訂正対象項目名】００３３
【訂正方法】変更
【訂正の内容】
【００３３】
好ましい実施例によると、▲○＋▼アキュムレーションデバイスへの▲○＋▼加算は、各々の新たな直列にロードされた上位の乗数の文字（ｈｉｇｈ ｏｒｄｅｒ ｍｕｌｔｉｐｌｉｅｒ ｃｈａｒａｃｔｅｒ）により始まる。
【誤訳訂正１２】
【訂正対象書類名】明細書
【訂正対象項目名】００３５
【訂正方法】変更
【訂正の内容】
【００３５】
好ましくは、該装置は被乗数値Ａｉ，Ｎを二つの指定されたプリロードバッファ（ｐｒｅｒｏａｄ ｂｕｆｆｅｒ）にプリロードし、これらの値を第三被乗数プリロードバッファに▲○＋▼加算するように動作して、各々の被乗数値を別々に▲○＋▼加算する必要をなくす。
【誤訳訂正１３】
【訂正対象書類名】明細書
【訂正対象項目名】００４１
【訂正方法】変更
【訂正の内容】
【００４１】
該装置は好ましくは逆モードで実行される多項式ベースのオペランドで乗算を実行するように動作でき、右側のＭＳ文字から左側のＬＳ文字を乗算し、モンゴメリ型寄生関数（Ｍｏｎｔｇｏｍｅｒｙ ｔｙｐｅ ｐａｒａｓｉｔｉｃ ｆｕｎｃｔｉｏｎ）なしでモジュラー簡約された▲○×▼乗算を実行するように動作する。
【誤訳訂正１４】
【訂正対象書類名】明細書
【訂正対象項目名】００４５
【訂正方法】変更
【訂正の内容】
【００４５】
好ましくは、コンパレータ（ｃｏｍｐａｒａｔｏｒ）は、最初の右側の発生するkゼロ文字が無視されるGF(p)において機能している間、▲○×▼モジュラー乗算装置からの有限体出力を検知するように動作し、その出力がモジュラスNより大きいことにより、モジュラー簡約を調整するように動作し、前記値は、乗算装置からの出力ストリームの行き先であるメモリレジスタから出力されることにより、より小さな積の値に第二の記憶装置を割り当てる必要がなくなる。
【誤訳訂正１５】
【訂正対象書類名】明細書
【訂正対象項目名】００４８
【訂正方法】変更
【訂正の内容】
【００４８】
本発明の第二の態様によると、ＡにＢを掛けてモジュラスがＮ（Ａ ｔｉｍｅｓ Ｂ ｍｏｄｕｌｕｓ Ｎ）となる出力ストリームを生成するために、整数Ａ及びＢのインタリーブされた有限体モジュラー乗算を実行するマイクロエレクトロニクス装置であって、モジュラスオペランドレジスタにおける文字の数ｎがｋ文字のセグメント長さよりも大きく、▲○×▼乗算プロセスが複数のインタリーブされた反復で実行され、各々のインタリーブされた反復で▲○×▼乗算装置に入力されるオペランドは、モジュラスＮ、乗数Ｂ、予め計算された部分的な結果Ｓ、被乗数Ａのｋ文字列セグメントからなり、セグメントはＡ０文字列セグメントからＡｍ−１文字列セグメントまで処理され、各々の反復の結果は次の順番の一時的結果Ｓに▲○＋▼加算され、反復結果の最初に発する文字はゼロであって、前記装置は、各々が夫々乗算値、部分的な結果値、モジュラスを保存するように動作する第一主メモリレジスタＢ、第二主メモリレジスタＳ、第三主メモリレジスタＮと、順番に前記Ｂレジスタからの入力と、各々の反復において最初の右側ゼロ文字を出力させる乗数として有用な「即座の」予測値Ｙ０の入力と、前記Ｎレジスタと、少なくとも、Ａ，Ｂ，Ｎレジスタ資源からの値を順番に受け入れ、続いて被乗数ゼロ強制値Ｙ０をも受け入れるように動作する被乗数並列レジスタとからの入力で、複数の反復▲○×▼乗算プロセスの各々の間、順番に複数の被乗数値の一つ又は二つを▲○＋▼アキュムレーションデバイスに▲○＋▼加算し動作するモジュラー乗算装置と、該装置は、第一段階の間乗数となるように動作し、第二段階の間被乗数となるように動作する二進列（ｂｉｎａｒｙ ｓｔｒｉｎｇ）を生成するように動作するＹ０検出装置を更に利用し、該装置は、第一にゼロ、第二に被乗数Ａのｋ文字列セグメントであるＡｉ、第三にモジュラスＮの最初に発生するｋ文字であるＮ０からなる、第一段階で▲○＋▼アキュムレーションデバイスに入れ替えるのに適した被乗数値を得るように動作し、該装置は更に、次の反復で部分的な結果を生成するために、▲○＋▼アキュムレーションデバイスから発する値に▲○＋▼加算される先の反復の結果である一時的結果値Ｓを利用するように動作し、該装置は更に、第一にゼロ、第二に第一段階から残存するオペランドＡｉ、第三に第一段階で予測されたＹ０値からなる乗算の第二段階で▲○＋▼アキュムレーションデバイスに順番に入力される被乗数値を利用するように動作し、第一段階で乗算装置に入力される乗数値は、最初に発生する文字列Ｂ０であり、前記乗算装置は、第二段階でプリロードされた被乗数バッファに生成すると同時に文字毎にロードされる予測されたＹ０文字列からなる第二の▲○×▼乗数値と▲○×▼乗算するのと並行して前記文字列セグメントを乗算するように動作し、第二段階の間、装置に入力されるように動作する二つの乗数値は夫々、Ｂで表されるＢオペランドからの左側ｎ−ｋ文字の値と、Ｎで表されるＮモジュラスの左側ｎ−ｋ文字であり、前記装置は更に、▲○＋▼アキュムレーションデバイスに残存する結果値の左側セグメントを結果レジスタに転送するように最終段階で動作する乗算フラッシュアウト装置（ｍｕｌｔｉｐｌｙｉｎｇ ｆｌ��ｓｈ ｏｕｔ ｄｅｖｉｃｅ）からなる。
【誤訳訂正１６】
【訂正対象書類名】明細書
【訂正対象項目名】００４９
【訂正方法】変更
【訂正の内容】
【００４９】
好ましくは、該装置は、ＭＳ文字からＬＳ文字まで乗算する逆モードにおいて実行される多項式ベースのオペランドで▲○×▼乗算を実行するように動作でき、出願人の米国特許第５７４２５３０号明細書に記載しているように、モンゴメリ型寄生関数なしでモジュラー簡約を実行するように動作する。
【誤訳訂正１７】
【訂正対象書類名】明細書
【訂正対象項目名】００５２
【訂正方法】変更
【訂正の内容】
【００５２】
更なる実施例において、出力結果をモジュラスＮと比較するように動作する少なくとも一つのセンサをも提供され、その機構は、結果レジスタの出力に第二（ｔｈｅ ｓｅｃｏｎｄ）の減算器を動作させることにより、出力された結果値と限定された合同であるモジュラー簡約された値を出力するように動作し、より小さな結果に第二の記憶装置を割り当てる必要を排除する。
【誤訳訂正１８】
【訂正対象書類名】明細書
【訂正対象項目名】００９８
【訂正方法】変更
【訂正の内容】
【００９８】
ダンプが並列のダンプである場合、その結果（ｒｅｓｕｌｔ）がモジュラスによって更なる簡約を必要とするか否かを決定するために比較する手段がある。
【誤訳訂正１９】
【訂正対象書類名】明細書
【訂正対象項目名】００９９
【訂正方法】変更
【訂正の内容】
【００９９】
本発明におけるより革新的な拡張のうちの一つは、ＧＦ（２ｑ）における逆モード乗算である。
この演算において加算器セル間の相互作用がないため、積のＭＳ側から始めて乗算及び簡約を実行することができることによって、従来のモンゴメリ乗算における右側シフトを実行することに相当する無視されたゼロにより発生する厄介な寄生（ｐａｒａｓｉｔｅ）なしでモジュラー簡約された解である積を有する。
【誤訳訂正２０】
【訂正対象書類名】明細書
【訂正対象項目名】０１０２
【訂正方法】変更
【訂正の内容】
【０１０２】
別の表現をすれば、ゼロ強制関数を制御するように動作する六つの値は、
ｉ．  Ａｉレジスタの右側文字にＢストリームのＢｄ文字を掛けた▲ｌ▼ビット毎の２▲ｌ▼を法とする▲○×▼乗算の結果の▲ｌ▼ビットのＳｏｕｔビット  Ａ０ ▲○×▼ Ｂｄ ｍｏｄ ２▲ｌ▼、
ｉｉ．  ▲○＋▼アキュムレーションデバイスから最初に発生する桁上げ文字▲Ｓ▼（ＣＯ０）、
ｉｉｉ．  ▲○＋▼アキュムレーションデバイスの右側の発生セルからの第二からの▲ｌ▼ビットのＳｏｕｔ文字
ＳＯ１、
ｉｖ．  Ｓストリームからの次の順番の文字値Sd、
ｖ．  Ｚ出力全加算器からの▲ｌ▼ビット桁上げ文字▲Ｓ▼（ＣＯＺ）、
ｖｉ．  Ｎ０モジュラス被乗数レジスタにおける右側文字の負の逆数である▲ｌ▼ビットのＪ０値、である。
ここでＡ０ ▲○×▼ Ｂｄ ｍｏｄ ２▲ｌ▼、▲Ｓ▼(ＣＯ０)、ＳＯ１、Ｓｄの値は、▲ｌ▼ビットのゼロ文字列を発生させるための共に文字に▲○＋▼加算される文字であり、有効なＹ０ゼロ強制予測文字を出力するために「即座に」Ｊ０文字によって▲○×▼乗算される。
Ｐ１の記載にあるように、出力がモジュラー簡約されなければならないか否かを決定するためには、センサが出力結果をモジュラスＮと比較するように動作し、その機構は、結果レジスタの出力に第二の減算器を動作させることにより、出力された結果値と限定された合同であるモジュラー簡約された値を出力するように動作し、より小さな結果に第二の記憶装置を割り当てる必要を排除する。
【誤訳訂正２１】
【訂正対象書類名】明細書
【訂正対象項目名】０１２９
【訂正方法】変更
【訂正の内容】
【０１２９】
我々は、記号\を、より限定された意味における合同を意味するものとして利用する。
ここに記載されるプロセスの間、値はしばしば所望の値か、若しくは所望の値にモジュラスを加えた値と等しいかのいずれかである。
例えばＸ￥２ ｍｏｄ ７の場合である。
Ｘは、２又は９と等しい。
この場合、我々は、Ｘが７を法として限定された合同（limited congruence to 2 mod 7）を有すると言う。
多項式ベースの体において、アナログは、我々がＮより大きいというところのモニック（ｍｏｎｉｃ）の値であり、モジュラスに対する排他的論理和（ＸＯＲ）を求めることにより簡約される。
ＧＦ（２ｑ）においては、桁溢れがないので、￥の値は概して無視される。
【誤訳訂正２２】
【訂正対象書類名】明細書
【訂正対象項目名】０１３５
【訂正方法】変更
【訂正の内容】
【０１３５】
我々は、並列／直列乗算器の標準的な構造を複動式の直列並列乗算器を構成するための基礎として利用してきたので、（かなり複雑な桁上げ先見加算器（ｃａｒｒｙ ｌｏｏｋ ａｈｅａｄ ａｄｄｅｒ）若しくは非常に遅いリップル加算器とは対照的に）、桁上げ保存累算を基礎とする乗算器の加算部との差異を認め、桁上げ保存加算器若しくは桁上げ保存アキュムレーターと呼び、プリロード機構（ｐｒｅｌｏａｄｉｎｇ ｍｅｃｈａｎｉｓｍ）とマルチプレクサ及びラッチを別々に取り扱うが、これらは、例えばＡ・Ｂ＋Ｃ・Ｄ＋Ｓのように、ＡとＢ及びＣとＤを同時に掛けることができ、連続的に両方の結果と先の結果であるＳとを加算でき、このアキュムレーターをより汎用的なエンジンに変換する。
更なるロジックが、モジュラー簡約（ｍｏｄｕｌａｒ ｒｅｄｕｃｔｉｏｎ）に必要な予測された検知演算（ａｎｔｉｃｉｐａｔｅｄ ｓｅｎｓｅ ｏｐｅｒａｔｉｏｎ）、及び、極めて大きな数におけるモジュラー演算と通常の整数演算とを提供するのに必要な直列総和（ｓｅｒｉａｌ ｓｕｍｍａｔｉｏｎ）を提供するために、この乗算器に加えられる。
【誤訳訂正２３】
【訂正対象書類名】明細書
【訂正対象項目名】０１３８
【訂正方法】変更
【訂正の内容】
【０１３８】
モンゴメリのモジュラー簡約法（ｍｏｄｕｌａｒ ｒｅｄｕｃｔｉｏｎ ｍｅｔｈｏｄ）を利用して、除算は二つの予め計算された定数を利用する乗算により本質的に置換される。
本願明細書で示される手順において、一つだけ予め計算された定数があり、それはモジュラス関数である。
この定数は、算術論理演算ユニット装置を利用して計算されるか、若しくは計算され得る。
【誤訳訂正２４】
【訂正対象書類名】明細書
【訂正対象項目名】０１４３
【訂正方法】変更
【訂正の内容】
【０１４３】
モンゴメリのインタリーブされた簡約は、概して保存必要量を減少させ、乗算装置の経済的なサイズを小さくする。
このことは、例えばｎ＝１０２４ビットのような一つの大きな整数に、別の同じ長さの整数を掛けるような、通常倍の長さの整数を生成するプロセスである公開鍵暗号機能を実行する際に、特に有効である。
【誤訳訂正２５】
【訂正対象書類名】明細書
【訂正対象項目名】０１５６
【訂正方法】変更
【訂正の内容】
【０１５６】
モンゴメリモジュラー簡約（Ｍｏｎｔｇｏｍｅｒｙ ｍｏｄｕｌａｒ ｒｅｄｕｃｔｉｏｎ）は、ｎ若しくはｎ+1文字長さであるオペランドでの一連の乗算、加算、減算を実行することにより、ｎ若しくは２ｎ文字長さであるオペランドでの一連の乗算、除算を回避する。
全体のプロセスは、Ｎより小さいかＮと同じ結果となる。
与えられたＡ，Ｂ，奇数Ｎについては、Ａ・Ｂ＋Ｑ・ＮがｎのＬＳ文字がゼロである数となるか、又は、Ｐ・２ｎ＝Ａ・Ｂ＋Ｑ・ＮとなるようなＱが常にある。
【誤訳訂正２６】
【訂正対象書類名】明細書
【訂正対象項目名】０１６６
【訂正方法】変更
【訂正の内容】
【０１６６】
Ｐ１に記載したモンゴメリのインタリーブされた簡約を利用して、より短いオペランド、レジスタ及びハードウェア乗算器で乗算演算を実行することが可能であり、比較的少ない論理ゲートでの電子装置のインプリメンテーション（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）を可能にする。
【誤訳訂正２７】
【訂正対象書類名】明細書
【訂正対象項目名】０１６９
【訂正方法】変更
【訂正の内容】
【０１６９】
Ｊ及びＪ０定数は、所定数の最下位ゼロを有するように、簡約していない出力を定める場合に、モジュラスを加える回数を伝える補正数（ｃｏｍｐｅｎｓａｔｉｎｇ）であることに留意すべきである。
次の出力の直列ビットを容易に決めることができるように、次の中間結果に常にモジュラス（常に奇数）を加算するので、我々は本発明に係るシリアルデバイスの更なる利点を後述する。
これは、この加算がなければＣＳＡに存在するＬＳ直列ビットである出力文字が「１」であった場合であり、それにより、先の中間結果にさえモジュラスを加算し、出力文字列に別のＬＳゼロを約束する。
どんなにモジュラスが結果に加算されようとも、剰余が一定であるので、合同が維持されることを思い出すべきである。
【誤訳訂正２８】
【訂正対象書類名】明細書
【訂正対象項目名】０１７０
【訂正方法】変更
【訂正の内容】
【０１７０】
モンゴメリのインタリーブされた簡約の従来の使用において、▲Ｐ▼(Ａ・Ｂ)Ｎは、（１）〜（５）の段階で説明されるように、ｍ回の反復で定められる。
まずＳ（０）＝０とする（第一の反復の最初でのＳの￥の値）。
ｉ＝１，２では、ｍ：
１）Ｘ＝Ｓ（ｉ−１）＋Ａｉ−１・Ｂ（Ａｉ−１はＡのｉ−１番目の文字であり、Ｓ（ｉ−１）は、ｉ番目の反復の最初でのＳの値である。）
２）Ｙ０＝Ｘ０・Ｊ０ ｍｏｄ ｒｋ（Ｘ０・Ｊ０の積のＬＳｋ文字）
（このプロセスは、ｋのＬＳ文字のみ、例えば最下位６４文字のみを使用し計算する。）
直列マシンにおいて、Ｙ０は文字毎に予測されるから、好ましいインプリメンテーションにおいて、この段階は不要である。
３）Ｚ＝Ｘ＋Ｙ０・Ｎ
４）Ｓ（ｉ）＝Ｚ／ｒｋ
（ＺのｋのＬＳ文字は常にゼロであるので、Ｚは常にｒで割り切れる。
ＺのＬＳｋ文字は全てのゼロであるので、この除算はｋ文字の右側へのシフト（ｓｈｉｆｔ；桁送り）に相当し、または、回路に示されるように、ＺのＬＳｋ文字は単に無視される。
５）Ｓ（ｉ）＝Ｓ（ｉ） ｍｏｄ Ｎ（Ｎは、Ｎより大きなそれらのＳ（ｉ）から減算されることになる）。
最後に、（必要な場合はＮの減算の後）最後の反復で、Ｃ＝Ｓ(ｍ)＝▲Ｐ▼（Ａ・Ｂ）Ｎ
【誤訳訂正２９】
【訂正対象書類名】明細書
【訂正対象項目名】０１８９
【訂正方法】変更
【訂正の内容】
【０１８９】
図６は、図５の演算ユニットの内部ブロック略図である。
このユニットは、更なるＹ０Ｂ０シリアルバッファ（ｓｅｒｉａｌ ｂｕｆｆｅｒ）が第一段階でＹ０を受け入れ、第二段階で次の平方演算のためにモジュラー簡約されたＢ０を受け入れ、そこでＢがＮより長いことが明らかになるという点において、好ましくは高速化平方演算（ａｃｃｅｌｅｒａｔｅｄ ｓｑｕａｒｉｎｇ ｏｐｅｒａｔｉｏｎ）を支援する。