(57)【要約】【課題】一つの同一ハードウェアを用いて有限フィールドGF(2m)上の掛け算及び割り算を行うことが可能な機能付きの算術演算器を提供する。【解決手段】掛け算及び割り算演算を選択するためのmuIt/divを外部の入力値そのままで出力しながら、RSブロック部、SRブロック部、UVブロック部に必要な制御信号を生成するコントロールロジック部と、コントロールロジック部からの制御信号が入力されるとき、出力値r。を生成した後、これをコントロールロジック部へ伝送する一方、掛け算及び割り算アルゴリズムのRとSの値を計算するRSブロック部と、コントロールロジック部からの制御信号と1ビットのレジスタ値stateが入力されるとき、掛け算及び割り算演算を行う一方、レジスタ値を右又は左に移動させるSRブロック部と、前記コントロールロジック部からの制御信号が入力されるとき、1ビットのレジスタ値Pm-1/UO、a。/V。をコントロールロジック部へ出力する一方、掛け算及び割り算アルゴリズムのUとV値を計算するUVブロック部とを含んでなる。【選択図】図3
2004240951.tif 000002
【特許請求の範囲】
【請求項１】
掛け算及び割り算演算を選択するためのｍｕｌｔ／ｄｉｖを外部の入力値そのままで出力しながら、ＲＳブロック部、ＳＲブロック部、ＵＶブロック部に必要な制御信号を生成するコントロールロジック部と、
このコントロールロジック部からの制御信号が入力されるとき、出力値ｒ0を生成した後、これをコントロールロジック部へ伝送する一方、掛け算及び割り算アルゴリズムのRとSの値を計算するRSブロック部と、
前記コントロールロジック部からの制御信号と１ビットのレジスタ値ｓｔａｔｅが入力されるとき、掛け算及び割り算演算を行う一方、レジスタ値を右又は左に移動させるＳＲブロック部と、
前記コントロールロジック部からの制御信号が入力されるとき、１ビットのレジスタ値Ｐm-1／ｕ0、ａ0／ｖ0をコントロールロジック部へ出力する一方、掛け算及び割り算アルゴリズムのＵとＶ値を計算するＵＶブロック部とを含んでなることを特徴とする有限フィールドＧＦ（２m）上の算出演算器。
【請求項２】
前記コントロールロジック部は、レジスタｓｔａｔｅの出力値が入力されるとともにＳＲブロック部の出力値ｂｉ／ｚ−ｆｌａｇがインバータを介して入力されるＡＮＤゲートＧ１と、
ＲＳブロック部の出力値ｒ0が入力されるとともにレジスタｓｔａｔｅの出力値がインバータを介して入力されるＡＮＤゲートＧ２と、
レジスタｓｔａｔｅの出力値が入力されるとともにＳＲブロック部の出力値ｂｉ／ｚ−ｆｌａｇが入力されるとき、レジスタｃ−ｆｌａｇの出力値をアップデートするANDゲートＧ３と、
ＲＳブロック部の出力値ｒ0が入力されるとともにＵＶブロック部の出力値ａ0／ｖ0が入力されるANDゲートＧ４と、
ＲＳブロック部の出力値ｒ0が入力されるとともにレジスタｓｔａｔｅの出力値がインバータを介して入力されるとき、ＲＳブロック部へＣｔｒｌ３の制御信号を出力するＡＮＤゲートＧ５と、
ＡＮＤゲートＧ１、Ｇ２の出力値から、レジスタｓｔａｔｅの出力値をアップデートさせるための信号を出力するＯＲゲートと、
ＡＮＤゲートＧ４の出力値とＵＶブロック部の出力値Ｐm-1／ｕ0からＣｔｒｌ２の制御信号をＵＶブロック部へ出力するＸＯＲゲートと、
前記ＡＮＤゲートＧ３の出力値からレジスタ値ｃ−ｆｌａｇをＳＲブロック部へ出力するレジスタとから構成することを特徴とする請求項１記載の有限フィールド ＧＦ（２m）上の算術演算器。
【請求項３】
前記レジスタｃ−ｆｌａｇは、ＳＲブロック部と共に動作しながら、割り算を始まるときに「１」と初期化されるように構成することを特徴とする請求項２記載の有限フィールド ＧＦ（２m）上の算術演算器。
【請求項４】
前記ＲＳブロック部は、レジスタｒ、ｓの出力値及びコントロールロジック部から出力されたＣｔｒｌ３の制御信号が入力されるマルチプレクサと、前記レジスタｓの出力値及びコントロールロジック部から出力されるＣｔｒｌ１の制御信号が入力されるＡＮＤゲートと、レジスタｒの出力値及び前記ＡＮＤゲートの出力値が入力されるＸＯＲゲートと、前記ＸＯＲゲートの出力値からレジスタ値ｒ 0を生成してコントロールロジック部に出力するレジスタｒと、
前記マルチプレクサの出力値からレジスタ値ｓを生成するレジスタｓとを反復構成することを特徴とする請求項1記載の有限フィールドＧＦ（２m）上の算術演算器。
【請求項５】
前記ＳＲブロック部は、コントロールロジック部のｍｕｌｔ／ｄｉｖ信号がインバータを介して入力されるとともに、コントロールロジック部に構成されたレジスタｓｔａｔｅの出力値ｓｔａｔｅが入力されるＸＯＲゲートと、
前記ＸＯＲゲートの出力値、コントロールロジック部のレジスタｃ−ｆｌａｇの出力値及び後述するレジスタのフィードバックから前記レジスタをアップデートさせるための信号を出力するマルチプレクサと、
前記マルチプレクサからのアップデート信号によってアップデートされた後、そのアップデートされた信号をマルチプレックにフィードバックさせる一方、コントロールロジック部にレジスタ値ｂｉ／ｚ−ｆｌａｇを出力するレジスタｂｉ／ｚ−ｆｌａｇとを反復構成することを特徴とする請求項1記載の有限フィールドＧＦ（２m）上の算術演算器。
【請求項６】
前記レジスタｂｉ／ｚ−ｆｌａｇは、割り算アルゴリズムのカウント値を演算するためにｌｏｇ2（ｍ＋１）ビットカウンタの代りにｍビット両方向シフトレジスタを使用することを特徴とする請求項5記載の有限フィールドＧＦ（２m）上の算術演算器。
【請求項７】
前記ＵＶブロック部は、コントロールロジック部ヘレジスタ値Ｐm-1／ｕ0を出力するレジスタ、コントロールロジック部のＡＮＤゲートヘレジスタ値ａ0／ｖ0を出力するレジスタ、前記各レジスタの出力値をアップデートさせるためのマルチプレクサ、ＡＮＤゲート及びＸＯＲゲートを反復構成し、前記コントロールロジック部から出力されるｍｕｌｔ／ｄｉｖ及びＣｔｒｌ３の信号に応じて、マルチプレクサがレジスタａ0／ｖ0のレジスタ値ａ0／ｖ0を選択するように掛け算モードで常時「０（ｚｅｒｏ）」を生成する一つのＡＮＤゲートと、前記コントロールロジック部から出力されるｍｕｌｔ／ｄｉｖ及びレジスタａ0／ｖ0の出力値から割り算モードで常時「０（ｚｅｒｏ）」を生成するもう一つのＡＮＤゲートとをさらに含んでなることを特徴とする請求項1記載の有限フィールドＧＦ（２m）上の算術演算器。
【請求項８】
前記割り算アルゴリズムは、バイナリ拡張最大公約数アルゴリズムに基づいて構成することを特徴とする請求項1記載の有限フィールドＧＦ（２m）上の算術演算器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有限フィールドＧＦ（２m）上の算術演算器に関し、さらに詳しくは、バイナリ拡張最大公約数アルゴリズムに基づいた割り算アルゴリズムとＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ−ｆｉｒｓｔ）掛け算アルゴリズムが一つの同一ハードウェアを共有した後、その共有のハードウェアを用いて掛け算及び割り算を行うことが可能な機能付きの算術演算器に関する。
【背景技術】
【０００２】
従来の掛け算及び割り算演算器では、特許文献1に開示されているように、掛け算及び割り算演算用支援回路として、印加されるデータを格納するための第１、２レジスタと、前記第２レジスタの出力をマルチプレックスする第１マルチプレクサと、前記第1レジスタと前記第1マルチプレクサの出力を受信し、印加される算術制御信号に基づいて、前記受信された出力を算術演算する論理算術演算器と、前記論理算術演算器の出力を受信して掛け算及び割り算のための左右シフトを行い、前記算術制御信号を提供する並列書き込み/読み取り可能なシフトレジスタと、前記論理算術演算器に連結され、ネガティブプラグ及びオーバーフロープラグをゲートしてその結果を出力するゲートと、前記論理算術演算器の出力、前記ゲートの出力及び前記第1マルチプレクサの出力を受信してマルチプレックスする第2マルチプレクサとを含む掛け算及び割り算支援回路を採用する。
【０００３】
ところが、特許文献1の演算器は、掛け算のみを行う構造、或いは割り算のみを行う構造に区分されており、本発明が達成しようとする技術的特徴、すなわち一つの同一ハードウェアを共有し、その共有されたハードウェアを用いて掛け算及び割り算を行うことができないという問題点があった。
【特許文献１】大韓民国特許出願第1995-22327号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、本発明は、かかる問題点を解決するためのもので、その目的は、一つの同一ハードウェアを用いて有限フィールドＧＦ（２m）上の掛け算及び割り算を行うことが可能な機能付きの算術演算器を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、図1の掛け算及び図2の割り算アルゴリズムを行うことが可能な算術演算器を開発するもので、この算術演算器は、コントロールロジック、RSブロック、SRブロック及びUVブロックの4つから構成されており、ＧＦ（２m）上の掛け算及び割り算を行うことが可能な機能を持つことにより、その目的が達成されるようにした。
【０００６】
すなわち、まず、請求項１に係る発明は、
「掛け算及び割り算演算を選択するためのｍｕｌｔ／ｄｉｖを外部の入力値そのままで出力しながら、ＲＳブロック部、ＳＲブロック部、ＵＶブロック部に必要な制御信号を生成するコントロールロジック部と、このコントロールロジック部からの制御信号が入力されるとき、出力値ｒ0を生成した後、これをコントロールロジック部へ伝送する一方、掛け算及び割り算アルゴリズムのRとSの値を計算するRSブロック部と、前記コントロールロジック部からの制御信号と１ビットのレジスタ値ｓｔａｔｅが入力されるとき、掛け算及び割り算演算を行う一方、レジスタ値を右又は左に移動させるＳＲブロック部と、前記コントロールロジック部からの制御信号が入力されるとき、１ビットのレジスタ値Ｐm-1／ｕ0、ａ0／ｖ0をコントロールロジック部へ出力する一方、掛け算及び割り算アルゴリズムのＵとＶ値を計算するＵＶブロック部とを含んでなることを特徴とする有限フィールドＧＦ（２m）上の算出演算器」
である。
【０００７】
請求項２に係る発明は、上記請求項１記載の有限フィールド ＧＦ（２m）上の算術演算器について、
「前記コントロールロジック部は、レジスタｓｔａｔｅの出力値が入力されるとともにＳＲブロック部の出力値ｂｉ／ｚ−ｆｌａｇがインバータを介して入力されるＡＮＤゲートＧ１と、ＲＳブロック部の出力値ｒ0が入力されるとともにレジスタｓｔａｔｅの出力値がインバータを介して入力されるＡＮＤゲートＧ２と、レジスタｓｔａｔｅの出力値が入力されるとともにＳＲブロック部の出力値ｂｉ／ｚ−ｆｌａｇが入力されるとき、レジスタｃ−ｆｌａｇの出力値をアップデートするANDゲートＧ３と、ＲＳブロック部の出力値ｒ0が入力されるとともにＵＶブロック部の出力値ａ0／ｖ0が入力されるANDゲートＧ４と、ＲＳブロック部の出力値ｒ0が入力されるとともにレジスタｓｔａｔｅの出力値がインバータを介して入力されるとき、ＲＳブロック部へＣｔｒｌ３の制御信号を出力するＡＮＤゲートＧ５と、ＡＮＤゲートＧ１、Ｇ２の出力値から、レジスタｓｔａｔｅの出力値をアップデートさせるための信号を出力するＯＲゲートと、ＡＮＤゲートＧ４の出力値とＵＶブロック部の出力値Ｐm-1／ｕ0からＣｔｒｌ２の制御信号をＵＶブロック部へ出力するＸＯＲゲートと、前記ＡＮＤゲートＧ３の出力値からレジスタ値ｃ−ｆｌａｇをＳＲブロック部へ出力するレジスタとから構成すること」
を特徴とするものである。
【０００８】
請求項３に係る発明は、上記請求項２記載の有限フィールド ＧＦ（２m）上の算術演算器について、
「前記レジスタｃ−ｆｌａｇは、ＳＲブロック部と共に動作しながら、割り算を始まるときに「１」と初期化されるように構成すること」
を特徴とするものである。
【０００９】
請求項４に係る発明は、上記請求項1記載の有限フィールドＧＦ（２m）上の算術演算器について、
「前記ＲＳブロック部は、レジスタｒ、ｓの出力値及びコントロールロジック部から出力されたＣｔｒｌ３の制御信号が入力されるマルチプレクサと、前記レジスタｓの出力値及びコントロールロジック部から出力されるＣｔｒｌ１の制御信号が入力されるＡＮＤゲートと、レジスタｒの出力値及び前記ＡＮＤゲートの出力値が入力されるＸＯＲゲートと、前記ＸＯＲゲートの出力値からレジスタ値ｒ 0を生成してコントロールロジック部に出力するレジスタｒと、前記マルチプレクサの出力値からレジスタ値ｓを生成するレジスタｓとを反復構成すること」
を特徴とするものである。
【００１０】
請求項５に係る発明は、上記請求項1記載の有限フィールドＧＦ（２m）上の算術演算器について、
「前記ＳＲブロック部は、コントロールロジック部のｍｕｌｔ／ｄｉｖ信号がインバータを介して入力されるとともに、コントロールロジック部に構成されたレジスタｓｔａｔｅの出力値ｓｔａｔｅが入力されるＸＯＲゲートと、前記ＸＯＲゲートの出力値、コントロールロジック部のレジスタｃ−ｆｌａｇの出力値及び後述するレジスタのフィードバックから前記レジスタをアップデートさせるための信号を出力するマルチプレクサと、前記マルチプレクサからのアップデート信号によってアップデートされた後、そのアップデートされた信号をマルチプレックにフィードバックさせる一方、コントロールロジック部にレジスタ値ｂｉ／ｚ−ｆｌａｇを出力するレジスタｂｉ／ｚ−ｆｌａｇとを反復構成すること」
を特徴とするものである。
【００１１】
請求項６に係る発明は、上記請求項5記載の有限フィールドＧＦ（２m）上の算術演算器について、
「前記レジスタｂｉ／ｚ−ｆｌａｇは、割り算アルゴリズムのカウント値を演算するためにｌｏｇ2（ｍ＋１）ビットカウンタの代りにｍビット両方向シフトレジスタを使用すること」
を特徴とするものである。
【００１２】
請求項７に係る発明は、上記請求項1記載の有限フィールドＧＦ（２m）上の算術演算器について、
「前記ＵＶブロック部は、コントロールロジック部ヘレジスタ値Ｐm-1／ｕ0を出力するレジスタ、コントロールロジック部のＡＮＤゲートヘレジスタ値ａ0／ｖ0を出力するレジスタ、前記各レジスタの出力値をアップデートさせるためのマルチプレクサ、ＡＮＤゲート及びＸＯＲゲートを反復構成し、前記コントロールロジック部から出力されるｍｕｌｔ／ｄｉｖ及びＣｔｒｌ３の信号に応じて、マルチプレクサがレジスタａ0／ｖ0のレジスタ値ａ0／ｖ0を選択するように掛け算モードで常時「０（ｚｅｒｏ）」を生成する一つのＡＮＤゲートと、前記コントロールロジック部から出力されるｍｕｌｔ／ｄｉｖ及びレジスタａ0／ｖ0の出力値から割り算モードで常時「０（ｚｅｒｏ）」を生成するもう一つのＡＮＤゲートとをさらに含んでなること」
を特徴とするものである。
【００１３】
請求項８に係る発明は、上記請求項1記載の有限フィールドＧＦ（２m）上の算術演算器について、
「前記割り算アルゴリズムは、バイナリ拡張最大公約数アルゴリズムに基づいて構成すること」
を特徴とするものである。
【発明の効果】
【００１４】
本発明は、表1に示すように、算術演算器の機能の中でも割り算器機能のみを従来の割り算器と比較・分析した結果、計算遅延時間が減少するうえ、ハードウェア実現のためのトランジスタ数も減少した。
【００１５】
また、これまでは有限フィールドＧＦ（２m）上の演算器実現のために、独立した掛け算及び割り算モジュールを使用したが、本発明の算術演算器を用いると、別個の掛け算及び割り算モジュールを使用する必要がなくなる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。図1は本発明で実現しようとする掛け算アルゴリズム、図2は本発明で実現しようとする割り算アルゴリズムであって、それぞれのアルゴリズムを行うことが可能なそれぞれの掛け算器及び割り算器を設計してその構造を分析した結果、ハードウェアの共有が可能である事実を認知した。本発明は、その結果を総合したもので、一つの同一ハードウェアを用いてＧＦ（２m）上の掛け算及び割り算を行うことが可能な機能を有する算術演算器を設計したものである。
【００１７】
図3は本発明の好適な実施例に係る掛け算及び割り算を行う算術演算器のブロック図であって、コントロールロジック部1、RSブロック部2、SRブロック部3、UVブロック部4から構成されており、前記コントロールロジック部1、RSブロック部2、SRブロック部3、UVブロック部4は図4ないし図7で詳細に説明する。
【００１８】
図4のコントロールロジック部1は、掛け算又は割り算演算を選択するためのｍｕｌｔ／ｄｉｖを外部の入力値としてそのまま出力しながら、SRブロック部3、UV部ロック部4に必要な制御信号を生成する作用をする。
【００１９】
すなわち、前記コントロールロジック部1は、外部制御信号に基づいてｍｕｌｔ／ｄｉｖ信号を生成した後、これをSRブロック部3とUV部ロック部4へ出力することにより、算術演算器の動作を掛け算或いは割り算に設定する。
【００２０】
しかも、前記のような算術演算器の掛け算或いは割り算の演算のためにRSブロック部2、SRブロック部3及びUV部ロック部4を制御するためのＣｔｒｌ１、Ｃｔｒｌ２、Ｃｔｒｌ３、ｓｔａｔｅ及びｃ−ｆｌａｇの信号を生成する。
【００２１】
この際、前記コントロールロジック部1には、ANDゲートG1、G2、G3、G4、G5だけでなく、1ビットのレジスタｓｔａｔｅ、ｃ−ｆｌａｇ、ORゲートE1及びXORゲートD1が含まれており、前記レジスタｃ−ｆｌａｇはSRブロック部3と共に動作しながら、割り算を始めるときに「１」と初期化される。
【００２２】
前記ANDゲートG1には、レジスタｓｔａｔｅの出力値ｓｔａｔｅが入力されると共にSRブロック部3の出力値 ｂｉ／ｚ−ｆｌａｇがインバータを介して入力され、前記ANDゲートG2には、RSブロック部2の出力値r。が入力されると共にレジスタｓｔａｔｅの出力値ｓｔａｔｅがインバータを介して入力され、前記ANDゲートG3は、レジスタｓｔａｔｅの出力値ｓｔａｔｅが入力されると共にSRブロック部3の出力値 ｂｉ／ｚ−ｆｌａｇが入力されるとき、前記レジスタｃ−ｆｌａｇの出力値をアップデートし、前記ANDゲートG4には、RSブロック部2の出力値roが入力されると共にUV部ロック部4の出力値ａ0／ｖ0が入力され、前記ANDゲートG5は、RSブロック部2の出力値r。が入力されると共にレジスタｓｔａｔｅの出力値ｓｔａｔｅがインバータを介して入力されるとき、RSブロック部3にＣｔｒｌ３の制御信号を出力し、前記ORゲートE1はANDゲートG1、G2の出力値からレジスタｓｔａｔｅの出力値をアップデートさせるための信号を出力し、前記XORゲートD1はANDゲートG4の出力値とUVブロック部4の出力値Ｐm-1／ｕ0からUVブロック部4へＣｔｒｌ２の制御信号を出力し、前記レジスタｃ−ｆｌａｇはANDゲートG3の出力値からSRブロック部3へｃ−ｆｌａｇの制御信号を出力するように構成した。
【００２３】
図5のRSブロック部2は図2の割り算アルゴリズムでRとSに関する演算を行い、コントロールロジック部1へ出力値roを伝播する。すなわち、前記RSブロック部2は、コントロールロジック部1から出力されるＣｔｒｌ１、Ｃｔｒｌ３の制御信号が入力されるときに出力値r。を生成した後、これをコントロールロジック部1のANDゲートG2、G4、G5に出力するように、1ビットのレジスタr、s、ANDゲートG6、XORゲートD2及びマルチプレクサMUX1からなる回路を多数配列構成したものである。
【００２４】
言い換えれば、前記RSブロック部2は、前記レジスタｒ1の出力値ｒ1がXORゲートD2とマルチプレクサMUX1に入力されるとともに、前記マルチプレクサMUX1にはレジスタｓ1の出力値ｓ1とコントロールロジック部1からのＣｔｒｌ３の制御信号が入力されるように構成する。
【００２５】
この際、前記マルチプレクサMUX1の出力値が、さらにレジスタs1に入力された後ANDゲートG6に入力され、前記ANDゲートG6の別の入力端に、コントロールロジック部からのＣｔｒｌ１の制御信号が入力されるように構成し、前記ANDゲートG6の出力値からXORゲートD2が新しい出力値を生成するとき、レジスタr。ではコントロ一ルロジック部1のANDゲートG2、G4、G5に出力される出力値roを生成するように構成した。
【００２６】
ｒ1、…、ｒm-2、ｒm-1とｓ2、…、ｓm-1、ｓmは１ビットレジスタを示しており、前記MUX1は２−ｉｎｐｕｔマルチプレクサを示している。
【００２７】
図6はSRブロック部3の詳細回路図である。これは、一つのORゲートD3に多数の1ビットレジスタｂm-1／ｓｒ0、ｂm-2／ｓｒ1、…、ｂ1／ｓｒm-2、ｂ0／ｓｒm-1及び２−ｉｎｐｕｔマルチプレクサMUX2が反復的に連結構成される回路であって、前記ORゲートD3には、コントロールロジック部1のｍｕｌｔ／ｄｉｖ信号がインバータを介して入力されるとともに、コントロールロジック部1のレジスタｓｔａｔｅの出力値ｓｔａｔｅが入力され、前記マルチプレクサMUX2は、ORゲートD3の出力値、コントロールロジック部1のレジスタｃ−ｆｌａｇの出力値ｃ−ｆｌａｇ、及び各レジスタｂm-1／ｓｒ0、ｂm-2／ｓｒ1、…、ｂ1／ｓｒm-2、ｂ0／ｓｒm-1からフィードバックされるｂm-1／ｓｒ0、ｂm-2／ｓｒ1、…、ｂ1／ｓｒm-2、ｂ0／ｓｒm-1を用いて各レジスタｂm-1／ｓｒ0、ｂm-2／ｓｒ1、…、ｂ1／ｓｒm-2、ｂ0／ｓｒm-1をアップデートさせるためのｃｎｔ1、ｃｎｔ2、…、ｃｎｔm-1、ｃｎｔmの信号を出力し、前記レジスタｂm-1／ｓｒ0、ｂm-2／ｓｒ1、…、ｂ1／ｓｒm-2、ｂ0／ｓｒm-1は、マルチプレクサMUX2の出力値ｃｎｔ1、ｃｎｔ2、…、ｃｎｔm-1、ｃｎｔmからアップデートされた後、そのアップデートされた信号をマルチプレクサMUX2にフィードバックさせる一方、コントロールロジック部1のANDゲートG1、G3へ ｂｉ／ｚ−ｆｌａｇの出力値を出力するように構成した。
【００２８】
この際、前記SRブロック部3は、図2の割り算アルゴリズムのカウント値を演算するために ｌｏｇ2（ｍ＋１）ビットカウンタの代りにｍビット両方向シフトレジスタを使用した。
【００２９】
すなわち、図1で掛け算演算を行う際、ｍｕｌｔ／ｄｉｖに「０（ｚｅｒｏ）」を入力すると、そのｓｔａｔｅ値が常時「１（ｏｎｅ）」なので、両方向レジスタの値は左方向にのみシフトされる。
【００３０】
そして、割り算演算を行う場合には、ｍｕｌｔ／ｄｉｖに「1」を入力すると、両方向レジスタの値はｓｔａｔｅの値に応じて両方向にシフトされるためである。
一方、図7は図2の割り算アルゴリズムでUとVに関する演算を行うUVブロック部4を示すものである。
【００３１】
このUVブロック部4は、コントロールロジック部1のXORゲートD1にPm-1/Uoを出力するように多数のレジスタＰm-1／ｕ0、Ｐm-2／ｕ1、…、Ｐ1／ｕm-2、Ｐ0／ｕm-1が反復的に連結され、コントロールロジック部1のANDゲートG4にa。/v。を出力するように多数のレジスタａ0／ｖ0、ａm／ｖ1、…ａ2／ｖm-2、ａ1／ｖm-1が反復的に連結され、前記レジスタ（Ｐm-1／ｕ0、Ｐm-2／ｕ1、…、Ｐ1／ｕm-2、Ｐ0／ｕm-1）（ａ0／ｖ0、ａm／ｖ1、…ａ2／ｖm-2、ａ1／ｖm-1）の出力値をアップデートさせるようにマルチプレクサMUX3とANDゲートG7、G8及びXORゲートD4、D5が反復的に連結され、前記コントロールロジック部1から出力されるｍｕｌｔ／ｄｉｖ及びCtr13の信号に応じて、マルチプレクサMUX3がレジスタａ0／ｖ0、ａm／ｖ1、…ａ2／ｖm-2、ａ1／ｖm-1の値を選択するように掛け算モードで常時「0」を生成するANDゲートG9、及び割り算モードで常時「0(zero)」を生成するANDゲートG10から構成される。
【００３２】
すなわち、図7では、一つのマルチプレクサMUX3にはＣｔｒｌ２、Ｐm-1／ｕ0、ｍｕｌｔ／ｄｉｖが入力され、他のマルチプレクサMUX3にはＣｔｒｌ１、 ｂｉ／ｚ−ｆｌａｇ、ｍｕｌｔ／ｄｉｖが入力され、前記一つのマルチプレクサMUX3の出力値と9m-1/g1はANDゲートG7の入力値になり、他のマルチプレクサMUX3の出力値とam-1/v1がANDゲートG8の入力値になり、前記ANDゲートG8の出力値とPm-2/u1がXORゲートD4の入力値になり、前記ANDゲートG7の出力値とXORゲートD4の出力値がXORゲートD5の入力値になることにより、1ビットレジスタのＰm-1／ｕ0の値をアップデートさせた後、これをコントロールロジック部1に出力する。
【００３３】
一方、ｍｕｌｔ／ｄｉｖとＣｔｒｌ３がANDゲートG9に入力され、前記ANDゲートG9の出力値、前記1ビットレジスタの出力値Ｐm-1／ｕ0及びａ0／ｖ0がさらに他のマルチプレクサMUX3に入力されて出力値を生成するとき、前記生成された出力値は1ビットのレジスタａ0／ｖ0に入力されることにより、前記1ビットのレジスタａ0／ｖ0ではコントロールロジック部1にレジスタａ0／ｖ0の出力値ａ0／ｖ0を出力する一方、そのレジスタａ0／ｖ0の出力値ａ0／ｖ0をさらに前記マルチプレクサMUX3に再入力される。
【００３４】
この際、前記ANDゲートGlOには、ｍｕｌｔ／ｄｉｖのコントロール信号がインバータを介して入力されるとともに、前記1ビットのレジスタａ0／ｖ0から出力される出力値ａ0／ｖ0が入力されるので、前記ANDゲートG10は割り算モードで常時rO」を生成する。
ここで、表1は本発明と従来の掛け算及び割り算装置を比較したものである。
【００３５】
【表１】
2004240951.tif 000003
ＡＮＤi：ｉ−ｉｎｐｕｔ  ＡＮＤ  ｇａｔｅ
ＸＯＲi：ｉ−ｉｎｐｕｔ  ＸＯＲ  ｇａｔｅ
ＯＲi：ｉ−ｉｎｐｕｔ  ＯＲ  ｇａｔｅ
ＭＵＸi：ｉ−ｔｏ−１  ｍｕｌｔｉｐｌｅｘｅｒ
ＴANDi：一つのＡＮＤi  ｇａｔｅを通じた伝送遅延時間
ＴXORi：一つのＸＯＲi  ｇａｔｅを通じた伝送遅延時間
ＴMUXi：一つのＭＵＸi  ｇａｔｅを通じた伝送遅延時間
Ｔｚｅｒｏ−ｄｅｔｅｃｔｏｒ：ｌｏｇ2（ｍ＋１）−ｂｉｔ  ｚｅｒｏ−ｄｅｔｅｃｔｏｒの伝送遅延時間
【産業上の利用可能性】
【００３６】
本発明の算術演算器は、スマートカード又は無線通信機器のような低面積を要求する応用製品の暗号化システムの実現に非常に適すると共に、フィールドサイズmに対して高い拡張性及び柔軟性を持つため、有限フィールドＧＦ（２m）上の算術演算器として様々に活用できると判断されるもので、暗号化システムを用いる装置産業上、非常に有用な発明である。
【図面の簡単な説明】
【００３７】
【図１】本発明の好適な実施例に係るＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ−ｆｉｒｓｔ）掛け算アルゴリズムである。
【図２】本発明の好適な実施例に係る割り算アルゴリズムである。
【図３】本発明の好適な実施例に係る掛け算及び割り算を行う算術演算器のブロック図である。
【図４】図3のコントロールロジックの内部回路図である。
【図５】図3のＲＳブロック部の内部回路図である。
【図６】図3のＳＲブロック部の内部回路図である。
【図７】図3のＵＶブロック部の内部回路図である。
【符号の説明】
【００３８】
１  コントロールロジック部
２  ＲＳブロック部
３  ＳＲブロック部
４  ＵＶブロック部
【図１】
2004240951.tif 000004
【図２】
2004240951.tif 000005
【図３】
2004240951.tif 000006
【図４】
2004240951.tif 000007
【図５】
2004240951.tif 000008
【図６】
2004240951.tif 000009
【図７】
2004240951.tif 000010