JP4484002B2 - 演算プロセッサ - Google Patents

演算プロセッサ Download PDF

Info

Publication number
JP4484002B2
JP4484002B2 JP28340299A JP28340299A JP4484002B2 JP 4484002 B2 JP4484002 B2 JP 4484002B2 JP 28340299 A JP28340299 A JP 28340299A JP 28340299 A JP28340299 A JP 28340299A JP 4484002 B2 JP4484002 B2 JP 4484002B2
Authority
JP
Japan
Prior art keywords
unit
arithmetic
storage unit
exclusive
vector
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
JP28340299A
Other languages
English (en)
Other versions
JP2001109376A (ja
Inventor
浩一 杉本
Original Assignee
ネッツエスアイ東洋株式会社
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 ネッツエスアイ東洋株式会社 filed Critical ネッツエスアイ東洋株式会社
Priority to JP28340299A priority Critical patent/JP4484002B2/ja
Publication of JP2001109376A publication Critical patent/JP2001109376A/ja
Application granted granted Critical
Publication of JP4484002B2 publication Critical patent/JP4484002B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、演算回路および演算プロセッサに係り、特に、符号・暗号装置等に用いられるガロア体上の演算を行うための演算回路および演算プロセッサに関する。
【0002】
【従来の技術】
近年、情報のディジタル化によって様々なサービスが提供され、快適な生活環境が整備されつつある。
例えば、インターネットの普及によって、我々はネットワークに接続された世界中のサーバが提供するサービスの恩恵を受けることができる。また、ディジタル携帯電話の普及によって、必要なときにすぐにコミュニケーションをとることが可能となり、通話以外の付加サービスを利用することができる。さらに、クレジットカードやプリペイトカードなどは、現金のやりとりによる煩わしさを解消してくれるという利点がある。
このような情報のディジタル化は、我々に利便性を提供してくれる反面、不正利用による被害を受け易いという問題を有する。例えば、盗聴によるプライバシーの侵害や個人情報の流出、複写・改ざん・なりすましによるシステムの不正利用などがそれである。そこで、これらの問題の解決策として、最近では暗号技術が注目されており、その中でもガロア体上の演算を利用した暗号技術の一つである楕円曲線暗号の研究開発が盛んに行われている。
この楕円曲線暗号は、楕円曲線上の離散対数問題に安全性の根拠を置く公開鍵暗号系であり、IEEE P1363で標準化の検討がなされているものである。IEEE P1363において標準化が検討されている楕円曲線暗号は、定義体としてガロア体GF(p)を用いる場合と、GF(2m)を用いる場合の2種類が選択可能である。従って、1つの暗号装置で、GF(p)上およびGF(2m)上で定義された2種類の楕円曲線暗号を処理しなければならない場合も考えられ、GF(p)と、GF(2m)両方の演算を高速に実行可能なプロセッサが要求されている。
これらのガロア体GF(p)とGF(2m)の詳細については、一般の代数書に記載されているため、ここでは以下に簡単に説明することにする。
ガロア体GF(p)は、pを素数とするp個の元からなる集合であり、通常0以上p未満の整数を元として用いる。
【0003】
GF(p)上の2つの元a、bのGF(p)上の加算は、
Figure 0004484002
となる。ここで、
Figure 0004484002
とは、a+bをpで割った剰余を算出することを示している。これは、a+bがp以上になった場合に、pを減ずることでも実現できる。
また、GF(p)上の2つの元a、bのGF(p)上の乗算は、
Figure 0004484002
となる。ここで、
Figure 0004484002
とは、abをpで割った剰余を算出することを示している。
楕円曲線暗号が計算量的に安全となるためには、上記pの大きさは、160ビット程度は必要となる。最近のプロセッサにおいては、プロセッサのワード長、もしくはその倍数長の整数の乗算および除算は、ハードウェアにより高速に演算できるようになってきた。従って、任意のpに対して、GF(p)上の加算および乗算は、演算プロセッサを用いる場合、プロセッサのワード長またはその倍数長の整数加算、整数減算に加えて、整数乗算、整数除算を組み合わせて使用することができ、高速に演算することが可能である。
また、ガロア体GF(2m)は、2m個の元からなる集合であり、各々の元の表現方法には一般的にベクトル表現が用いられている。このベクトル表現とは、GF(2m)をGF(2)のm次元ベクトル空間とみなし、任意の元aをm次元ベクトル
Figure 0004484002
と表現するものである。ここで、ベクトルの各要素aiは、GF(2)の元、即ち、0または1である。また、上記したmを拡大次数と呼ぶ。
【0004】
上記したベクトル表現においては、ベクトル空間の基底の一つに多項式基底がある。この多項式基底は、GF(2)上のm次モニック既約多項式f(x)を生成多項式とし、f(x)の根である元zを用いて、
Figure 0004484002
を基底とする。また、このときのGF(2m)上の任意の元
Figure 0004484002
をxに関するGF(2)上の多項式
Figure 0004484002
即ち、GF(2)[x]の元として表現することができる。この表現を多項式表現と呼ぶ。
さらに、GF(2m)上の2つの元a、bのGF(2m)上の加算について説明すると、元がベクトル表現されていれば、
Figure 0004484002
となり、各々を多項式表現すれば、
Figure 0004484002
であるから、その加算結果は、
Figure 0004484002
となり、各項の係数がGF(2)上の元であることを考慮してベクトル表現すれば、
Figure 0004484002
となる。
【0005】
このように、GF(2m)上の加算は、2つの元a、bを要素毎にGF(2)上で加算することになる。GF(2)上の加算は排他的論理和によって実現できるので、GF(2m)上の加算は、2つの元a、bを要素毎に排他的論理和演算すればよい。
任意のmに対して、GF(2m)上の加算は、演算プロセッサを用いる場合、プロセッサのワード長またはその倍数長の排他的論理和演算を繰り返し用いることにより、実現することができる。
また、GF(2m)上の2つの元a、bのGF(2m)上の乗算について説明すると、元がベクトル表現されていれば、乗数および被乗数は、
Figure 0004484002
となり、これらを多項式表現すれば、
Figure 0004484002
となるから、上記a、bを多項式表現して乗算した結果である
Figure 0004484002
を、上記生成多項式
Figure 0004484002
で除算して、その剰余
Figure 0004484002
を算出する。この剰余がGF(2m)上の乗算結果となり、ベクトル表現すれば、
Figure 0004484002
となる。
GF(2m)上の乗算は、上述したように、GF(2)上のm−1次以下の多項式同士の乗算、および、GF(2)上の2m−2次以下の多項式と、GF(2)上のm次多項式との除算により実現することができる。
しかし、GF(2m)上の乗算は、従来よりシフトレジスタを用いて構成されるのが通例であった。
【0006】
図6は、従来のGF(2m)乗算回路の一構成例を示した図である。図6における乗算回路600は、従来より用いらているGF(2m)乗算回路の一例であり、以下にその動作を説明する。
上述したように、GF(2m)の生成多項式を、
Figure 0004484002
とし、
Figure 0004484002
を満たす任意のmに対して、GF(2m)上の元
Figure 0004484002
における乗算を計算するには、まず、
Figure 0004484002
を設定しておく。図6の端子607は、計算を開始するまでは、0を入力しておく。この状態では、Dフリップフロップ601〜603にはx0〜xn-1に入力される値が設定されている。
そこで、端子607に1を入力すると、計算が開始され、mクロック後のDフリップフロップ604〜606に結果が格納される。即ち、乗算結果を
Figure 0004484002
とすると、
Figure 0004484002
として取り出せる。
従って、GF(2m)上の乗算は、シフトレジスタを用いた専用回路で実現するのが通例であるため、GF(2m)の演算は、通常のプロセッサに、上記専用回路をコプロセッサとして付加することにより実現していた。
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来の演算プロセッサにあっては、乗算回路600は、拡大次数mが大きくなると、mに比例して回路規模を大きくしなければならないという問題があった。
また、この乗算回路600は、一度回路を設計してしまうと、n<mとなる拡大次数の乗算が計算不可能となるため、汎用性に乏しいという問題があった。
さらに、乗算回路600は、通常のプロセッサの演算回路に対して、回路規模が大きくなるという問題があった。
そこで、GF(2m)上の乗算を、前述したように、GF(2)上のm−1次以下の多項式同士の乗算、および、GF(2)上の2m−2次以下の多項式と、GF(2)上のm次多項式との除算により実現することも考えられる。これによれば、GF(2)上の多項式の乗算および除算は、通常、プロセッサのワード長もしくはその倍数長の排他的論理和演算およびシフト演算を繰り返し適用することにより実現可能である。しかしながら、プロセッサのワード長もしくはその倍数長の排他的論理和演算およびシフト演算を繰り返し適用するだけでは、そのステップ数が多くなってしまい、高速に演算することができないという問題を生じる。
本発明は、上記課題に鑑みてなされたものであり、任意のpおよび任意のmに対して、ガロア体GF(p)とガロア体GF(2m)の両方の演算を高速に実現することが可能な演算回路および演算プロセッサを提供することを目的としている。
【0008】
【課題を解決するための手段】
上記の目的を達成するため、請求項1記載の発明は、命令を記憶するための命令記憶部と、上記命令記憶部に記憶された命令をフェッチする命令フェッチ部と、上記命令フェッチ部でフェッチされた命令をデコードするデコード部と、データを記憶するためのデータ記憶部と、上記データ記憶部に記憶されたデータを演算するための演算部と、前記デコード部でデコードされた情報に基づいて上記演算部および前記データ記憶部を制御する制御部とを有し、前記演算部には、ワード長もしくはその倍数長の排他的論理和演算を含む論理演算用回路および整数演算用回路を内蔵し、さらに、該演算部の一部がガロア体GF(2 )用拡張演算部となっていて、該GF(2 )用拡張演算部では、ワード長もしくはその倍数長のGF(2 )用拡張演算用回路が内蔵されており、前記演算部では、前記制御部から伝送される制御情報に基づいて、前記データ記憶部からデータを読み込み、それらを演算し、その演算結果を該データ記憶部へ書き込む演算プロセッサであって、
前記GF(2 )用拡張演算部として、
nを自然数としたとき、nビットで表される2つのベクトル
A=(an−1,・・・,a
B=(bn−1,・・・,b
及び、2nビットで表されるベクトル
C=(c2n−1,・・・,c
を、条件式
Figure 0004484002
に従って、互いに演算し、2nビットのベクトル
D=(d2n−1,・・・,d
を得る積和演算装置であって、前記条件を満たすai、bjの各組み合せについて、論理積演算を実行する論理積手段と、前記条件を満たす前記論理積手段の演算結果の各組み合わせについて、排他的論理和演算を実行し、又は前記条件を満たす該排他的論理和演算の結果と前記論理積手段の演算結果の各組み合わせについて、排他的論理和演算を実行する第1の排他的論理和手段と、前記条件を満たす前記論理積手段又は前記第1の排他的論理和手段の演算結果と前記ベクトルCの各ビットについて、排他的論理和演算を実行し、前記ベクトルDの各ビットを得る第2の排他的論理和手段と、を備えた演算回路を含むものである。
【0009】
請求項2記載の発明は、請求項1に記載の演算プロセッサにおいて、前記命令記憶部と前記データ記憶部の一方、あるいはその両方をプロセッサの外部記憶としたものである。
【0010】
請求項3記載の発明は、請求項1又は2に記載の演算プロセッサにおいて、前記GF(2 )用拡張演算部に装備されたGF(2 )用拡張演算用回路を例外処理することなく動作させることが可能な命令セットを有するものである。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
(実施の形態1)
この実施の形態1では、本発明における演算プロセッサについて説明するものである。
図1は、本実施の形態1に係る演算プロセッサ100の構成例を示したブロック図である。
図1において、演算プロセッサ100は、命令を記憶するための命令記憶部101と、その命令記憶部101に記憶された命令をフェッチ(fetch)する命令フェッチ部103と、その命令フェッチ部103でフェッチされた命令をデコードするデコード部104と、データを記憶するためのデータ記憶部102と、そのデータ記憶部102に記憶されたデータを演算するための演算部106と、デコード部104でデコードされた情報に基づいて演算部106およびデータ記憶部102を制御する制御部105とを備えている。
そして、演算部106では、ワード長もしくはその倍数長の排他的論理和演算を含む論理演算および整数演算がサポートされている。さらに、その演算部106の一部は、ガロア体GF(2m)用拡張演算部106aとなっていて、そのGF(2m)用拡張演算部106aでは、ワード長もしくはその倍数長のGF(2m)用拡張演算がサポートされている。また、演算部106は、制御部105から伝送される制御情報に基づいて、データ記憶部102からデータを読み込んで、それらの演算を行い、その演算結果をデータ記憶部102に書き込むようにする。
【0012】
また、図2は、図1の演算部106の一部であるガロア体GF(2m)用拡張演算部106aに搭載される乗算回路200を示した図であり、ここでは特に、請求項1の演算回路(乗算回路)においてn=4とした場合の回路構成例である。
図2に示す乗算回路200は、4ビットで表される2つのベクトル
Figure 0004484002
を入力するための入力端子a0〜a3、b0〜b3と、8ビットで表されるベクトル
Figure 0004484002
を出力するための出力端子d0〜d7とを備えており、16個の論理積素子と、9個の排他的論理和素子などにより構成されている。
次に、その動作について説明する。
まず、上記した入力端子a0〜a3に上記ベクトルの各要素a0〜a3を各々入力し、上記した入力端子b0〜b3に上記ベクトルの各要素b0〜b3を各々入力すれば、上記した出力端子d0〜d7には、
Figure 0004484002
によって計算されるd0〜d7が各々出力される。
【0013】
また、図3は、図1の演算部106の一部であるガロア体GF(2m)用拡張演算部106aに搭載される積和演算回路300を示した図であり、ここでは特に、請求項2の演算回路(積和演算回路)においてn=4とした場合の回路構成例である。
図3に示す積和演算回路300は、4ビットで表される2つのベクトル
Figure 0004484002
を入力するための入力端子a0〜a3、b0〜b3と、8ビットで表されるベクトル
Figure 0004484002
を入力するための入力端子c0〜c7と、8ビットで表されるベクトル
Figure 0004484002
を出力するための出力端子d0〜d7とを備えており、16個の論理積素子と、16個の排他的論理和素子などにより構成されている。
次に、その動作について説明する。
まず、上記した入力端子a0〜a3に上記ベクトルの各要素a0〜a3を各々入力し、上記した入力端子b0〜b3に上記ベクトルの各要素b0〜b3を各々入力し、上記した入力端子c0〜c7に上記ベクトルの各要素c0〜c7を各々入力すると、出力端子d0〜d7には、
Figure 0004484002
によって計算されるd0〜d7を各々出力することができる。
また、図4は、図1の演算部106の一部であるガロア体GF(2m)用拡張演算部106aに搭載される2乗演算回路400を示した図であり、ここでは特に、請求項3の演算回路(2乗演算回路)においてn=4とした場合の回路構成例である。
図4に示す2乗演算回路400は、4ビットで表されるベクトル
Figure 0004484002
を入力するための入力端子a0〜a3と、8ビットで表されるベクトル
Figure 0004484002
を出力するための出力端子d0〜d7などにより構成されている。
次に、その動作について説明する。
まず、上記した入力端子a0〜a3に上記ベクトルの各要素a0〜a3を各々入力すれば、出力端子d0〜d7には、
Figure 0004484002
によって計算されるd0〜d7が各々出力される。
【0014】
また、図5は、図1の演算部106の一部であるガロア体GF(2m)用拡張演算部106aに搭載される除算回路500を示した図であり、ここでは特に、請求項4の演算回路(除算回路)においてn=4とした場合の回路構成例である。
図5に示す除算回路500は、8ビットで表されるベクトル
Figure 0004484002
を入力するための入力端子d0〜d7と、4ビットで表されるベクトル
Figure 0004484002
を入力するための入力端子a0〜a3と、8ビットで表されるベクトル
Figure 0004484002
を出力するための出力端子q0〜q7と、4ビットで表されるベクトル
Figure 0004484002
を出力するための出力端子r0〜r3と、制御信号入力端子501とを備え、Dフリップフロップ511〜518、521〜523、531〜538、セレクタ、排他的論理和素子および論理積素子などにより構成されている。
【0015】
次に、この除算回路500の動作について説明する。
まず、前記した入力端子d0〜d8に前記したベクトルの各要素d0〜d7を各々入力して、前記した入力端子a0〜a3に前記したベクトルの各要素a0〜a3を各々入力しておく。
また、制御信号入力端子501には、計算を開始するまでは0を入力しておく。この状態では、Dフリップフロップ511〜518には入力端子d0〜d7に入力される値が設定されており、 Dフリップフロップ521〜523の値は0に設定されている。
【0016】
そこで、制御信号入力端子501に1を入力すると、計算が開始されて、8クロック後のDフリップフロップ521〜523、およびDフリップフロップ531〜538に結果が格納される。即ち、前記8ビットで表されるベクトル
Figure 0004484002
の各要素を係数とするGF(2)上の多項式を、
Figure 0004484002
として、前記4ビットで表されるベクトル
Figure 0004484002
の各要素を係数とするGF(2)上の多項式を、
Figure 0004484002
としたとき、前記D(x)を上記A(x)で割った商は、前記8ビットで表されるベクトル
Figure 0004484002
の各要素を用いて、
Figure 0004484002
となり、前記A(x)を前記B(x)で割った剰余は、前記4ビットで表されるベクトル
Figure 0004484002
の各要素を用いて、
Figure 0004484002
となるものとすると、8クロック後、出力端子q0〜q7には、前記ベクトル
Figure 0004484002
の各要素q0〜q7が各々出力され、出力端子r0〜r3には、各々前記ベクトル
Figure 0004484002
の各要素r0〜r3が出力される。
以上説明したように、本実施の形態1によれば、演算プロセッサ100を用いて任意のmに対するガロア体GF(2m)上の演算を、図2〜図5に示した乗算回路、積和演算回路、2乗演算回路、除算回路、および、演算プロセッサに内蔵されたプロセッサのワード長、またはその倍数長の排他的論理和演算回路などによって高速に実現することができる。
【0017】
(実施の形態2)
この実施の形態2では、本発明の演算プロセッサを用いてガロア体GF(2m)上の2乗算および乗算を実現する場合について説明する。
まず、nを自然数としたとき、nビットで表される2つのベクトル
Figure 0004484002
および、2nビットで表されるベクトル
Figure 0004484002
を互いに演算して、2nビットのベクトル
Figure 0004484002
とする積和演算回路であって、上記した2nビットのベクトルの各要素が、
Figure 0004484002
である積和演算回路の動作を、
Figure 0004484002
と表すものとする。また、nを自然数としたとき、2nビットで表されるベクトル
Figure 0004484002
と、0ベクトルを除くnビットで表されるベクトル
Figure 0004484002
を演算して、2nビットで表されるベクトル
Figure 0004484002
および
Figure 0004484002
を算出する除算回路であって、上記した2nビットで表されるベクトル
Figure 0004484002
の各要素を係数とするGF(2)上の多項式を、
Figure 0004484002
とし、前記nビットで表されるベクトル
Figure 0004484002
の各要素を係数とするGF(2)上の多項式を、
Figure 0004484002
としたとき、前記GF(2)上の多項式D(x)を上記GF(2)上の多項式A(x)で割った商は、前記2nビットで表されるベクトル
Figure 0004484002
の各要素を用いて、
Figure 0004484002
となり、前記D(x)を前記A(x)で割った剰余は、前記nビットで表されるベクトル
Figure 0004484002
の各要素を用いることにより、
Figure 0004484002
となる除算回路の動作を、
Figure 0004484002
と表すものとする。
【0018】
更に、C=(CL,CR)即ち、
Figure 0004484002
と定義し、D=(DL,DR)即ち、
Figure 0004484002
と定義し、Q=(QL,QR)即ち、
Figure 0004484002
と定義する。
また、ガロア体GF(2m)の生成多項式を、
Figure 0004484002
とし、上記生成多項式の係数を要素としたベクトルを、
Figure 0004484002
とし、ガロア体GF(2m)上の2元を、
Figure 0004484002
とし、これら3つのベクトルを、次のようにnビット毎にブロック分割するようにする。すなわち、
Figure 0004484002
ただし、
Figure 0004484002
である。また、
Figure 0004484002
但し、
Figure 0004484002
とし、wに演算結果を格納するものとする。
【0019】
第1の例としては、ガロア体GF(2m)上の2乗算
Figure 0004484002
の計算手続きを、以下に示す。
ここにおいてX←YはYの内容をXに代入することを示す。また、X<<YはXの内容をYビット左シフトすることを表し、X>>YはXの内容をYビット右シフトすることを表す。
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
【0020】
また、第2の例として、ガロア体GF(2m)上の乗算
Figure 0004484002
の計算手続きを、以下に示す。
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
Figure 0004484002
なお、上述した2つの例で用いた積和演算回路によるステップは、乗算回路によるステップと排他的論理和演算回路によるステップとの組み合わせによって実現してもよい。
以上説明したように、本実施の形態2によれば、上述した演算プロセッサ100を用いて、ガロア体GF(2m)上の2乗算および乗算を実現するにあたって、図2〜図5に示した乗算回路、積和演算回路、2乗演算回路、および除算回路を効果的に使用することができ、演算処理を高速に実現することができる。
【0021】
【発明の効果】
本発明は、以上説明してきたように、演算プロセッサの演算部にプロセッサのワード長、もしくはその倍数長のGF(2m)用拡張演算部を付加して、元の演算プロセッサに備わる命令の実行手続きと同様な手続きを行うことにより、GF(2m)用拡張演算が実行できるようにしたものであるので、GF(p)上の演算処理に加えて、GF(2m)上の演算処理を高速に実現する上で著しい効果を発揮する。
【図面の簡単な説明】
【図1】本実施の形態1に係る演算プロセッサの概略構成を示した図である。
【図2】本実施の形態1に係る乗算回路の概略構成を示した図である。
【図3】本実施の形態1に係る積和演算回路の概略構成を示した図である。
【図4】本実施の形態1に係る2乗演算回路の概略構成を示した図である。
【図5】本実施の形態1に係る除算回路の概略構成を示した図である。
【図6】従来のGF(2m)乗算回路の一例の概略構成を示した図である。
【符号の説明】
100 演算プロセッサ、
101 命令記憶部、
102 データ記憶部、
103 命令フェッチ部、
104 デコード部、
105 制御部、
106 演算部、
106a GF(2m)用拡張演算部。

Claims (3)

  1. 命令を記憶するための命令記憶部と、上記命令記憶部に記憶された命令をフェッチする命令フェッチ部と、上記命令フェッチ部でフェッチされた命令をデコードするデコード部と、データを記憶するためのデータ記憶部と、上記データ記憶部に記憶されたデータを演算するための演算部と、前記デコード部でデコードされた情報に基づいて上記演算部および前記データ記憶部を制御する制御部とを有し、前記演算部には、ワード長もしくはその倍数長の排他的論理和演算を含む論理演算用回路および整数演算用回路を内蔵し、さらに、該演算部の一部がガロア体GF(2 )用拡張演算部となっていて、該GF(2 )用拡張演算部では、ワード長もしくはその倍数長のGF(2 )用拡張演算用回路が内蔵されており、前記演算部では、前記制御部から伝送される制御情報に基づいて、前記データ記憶部からデータを読み込み、それらを演算し、その演算結果を該データ記憶部へ書き込む演算プロセッサであって、
    前記GF(2 )用拡張演算部として、
    nを自然数としたとき、nビットで表される2つのベクトル
    A=(an−1,・・・,a
    B=(bn−1,・・・,b
    及び、2nビットで表されるベクトル
    C=(c2n−1,・・・,c
    を、条件式
    Figure 0004484002
    に従って、互いに演算し、2nビットのベクトル
    D=(d2n−1,・・・,d
    を得る積和演算装置であって、前記条件を満たすai、bjの各組み合せについて、論理積演算を実行する論理積手段と、前記条件を満たす前記論理積手段の演算結果の各組み合わせについて、排他的論理和演算を実行し、又は前記条件を満たす該排他的論理和演算の結果と前記論理積手段の演算結果の各組み合わせについて、排他的論理和演算を実行する第1の排他的論理和手段と、前記条件を満たす前記論理積手段又は前記第1の排他的論理和手段の演算結果と前記ベクトルCの各ビットについて、排他的論理和演算を実行し、前記ベクトルDの各ビットを得る第2の排他的論理和手段と、を備えた演算回路を含んでいることを特徴とする演算プロセッサ。
  2. 前記命令記憶部と前記データ記憶部の一方、あるいはその両方がプロセッサの外部記憶であることを特徴とする請求項1に記載の演算プロセッサ。
  3. 前記GF(2 )用拡張演算部に装備されたGF(2 )用拡張演算用回路を例外処理することなく動作させることが可能な命令セットを有することを特徴とする請求項1又は2に記載の演算プロセッサ。
JP28340299A 1999-10-04 1999-10-04 演算プロセッサ Expired - Fee Related JP4484002B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28340299A JP4484002B2 (ja) 1999-10-04 1999-10-04 演算プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28340299A JP4484002B2 (ja) 1999-10-04 1999-10-04 演算プロセッサ

Publications (2)

Publication Number Publication Date
JP2001109376A JP2001109376A (ja) 2001-04-20
JP4484002B2 true JP4484002B2 (ja) 2010-06-16

Family

ID=17665071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28340299A Expired - Fee Related JP4484002B2 (ja) 1999-10-04 1999-10-04 演算プロセッサ

Country Status (1)

Country Link
JP (1) JP4484002B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6093718B2 (ja) * 2014-01-17 2017-03-08 日本電信電話株式会社 拡大体乗算装置、拡大体乗算方法及びプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4037093A (en) * 1975-12-29 1977-07-19 Honeywell Information Systems, Inc. Matrix multiplier in GF(2m)
EP0080528A1 (en) * 1981-11-30 1983-06-08 Omnet Associates Computational method and apparatus for finite field arithmetic
JPS58219848A (ja) * 1982-06-15 1983-12-21 Toshiba Corp ガロア体における乗算装置
JPS62150938A (ja) * 1985-12-24 1987-07-04 Matsushita Electric Ind Co Ltd 有限体の乗算回路
JPS62296426A (ja) * 1986-06-17 1987-12-23 Hitachi Electronics Eng Co Ltd Cvd薄膜形成装置
JPS6386925A (ja) * 1986-09-30 1988-04-18 Canon Inc ガロア体乗算回路
JPS63104526A (ja) * 1986-10-21 1988-05-10 Matsushita Electric Ind Co Ltd 有限体の演算回路
JPS6399623A (ja) * 1986-10-15 1988-04-30 Matsushita Electric Ind Co Ltd 有限体の演算回路
JPH0731593B2 (ja) * 1987-03-10 1995-04-10 日本電気株式会社 GF(2▲上m▼)のガロア体の原始根のべき乗演算装置
JPH0724016B2 (ja) * 1987-03-10 1995-03-15 日本電気株式会社 GF(2▲上m▼)のガロア体に属する元の乗算装置
JPS63268037A (ja) * 1987-04-24 1988-11-04 Mitsubishi Electric Corp 有限体乗算回路
JPH01284025A (ja) * 1988-05-11 1989-11-15 Ricoh Co Ltd ガロア体の乗算回路
JP2641285B2 (ja) * 1988-05-23 1997-08-13 三菱電機株式会社 ガロア体除算回路及び乗除算共用回路
JP2622861B2 (ja) * 1988-08-17 1997-06-25 松下電器産業株式会社 ガロア拡大体演算器
JP3406914B2 (ja) * 1991-09-05 2003-05-19 キヤノン株式会社 演算装置及びこれを備えた暗号化装置、復号装置
JP2595820B2 (ja) * 1991-03-06 1997-04-02 松下電器産業株式会社 ガロア拡大体演算器
JPH0764810A (ja) * 1993-08-30 1995-03-10 Toshiba Corp ガロア体演算器
FR2724741B1 (fr) * 1994-09-21 1996-12-20 Sgs Thomson Microelectronics Circuit electronique de calcul modulaire dans un corps fini
US5602767A (en) * 1995-08-29 1997-02-11 Tcsi Corporation Galois field polynomial multiply/divide circuit and a digital signal processor incorporating same
JPH09114645A (ja) * 1995-10-16 1997-05-02 Fuji Electric Co Ltd 有限体上の乗算回路
JP3835489B2 (ja) * 1996-02-13 2006-10-18 富士通株式会社 データ圧縮装置及び復元装置の辞書検索登録方法
JPH1091432A (ja) * 1996-09-13 1998-04-10 Sanyo Electric Co Ltd プログラム実行方法およびプログラム実行装置
JPH1097423A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
JPH1196030A (ja) * 1997-09-22 1999-04-09 Toyo Commun Equip Co Ltd 有限体上の乗算方法及び乗算回路
WO1999016175A1 (fr) * 1997-09-24 1999-04-01 Hitachi, Ltd. Circuit integre a semi-conducteurs et systeme de traitement de donnees
JPH11110241A (ja) * 1997-10-07 1999-04-23 Toyo Commun Equip Co Ltd ガロア体上の乗算方法及び乗算回路
JP2001034167A (ja) * 1999-07-23 2001-02-09 Toshiba Corp 演算装置及び暗号処理装置
JP2000207387A (ja) * 1999-01-20 2000-07-28 Toshiba Corp 演算装置及び暗号処理装置
JP4177526B2 (ja) * 1999-08-05 2008-11-05 富士通株式会社 乗算剰余演算方法および乗算剰余回路

Also Published As

Publication number Publication date
JP2001109376A (ja) 2001-04-20

Similar Documents

Publication Publication Date Title
Rijmen Efficient Implementation of the Rijndael S-box
US7505587B2 (en) Elliptic curve cryptosystem apparatus, storage medium storing elliptic curve cryptosystem program, and elliptic curve cryptosystem arithmetic method
US8804951B2 (en) Speeding up galois counter mode (GCM) computations
US8340280B2 (en) Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US7603558B2 (en) Montgomery transform device, arithmetic device, IC card, encryption device, decryption device and program
CN112075050A (zh) 在完全同态加密的自举中启用恒定明文空间
CA2369537C (en) Method and apparatus for performing finite field calculations
Hutter et al. NaCl’s crypto_box in hardware
Jalali et al. NEON SIKE: Supersingular isogeny key encapsulation on ARMv7
Höller et al. Hardware/software co-design of elliptic-curve cryptography for resource-constrained applications
Singh et al. Compact and secure s-box implementations of aes—a review
JP4484002B2 (ja) 演算プロセッサ
Wang et al. An efficient multimode multiplier supporting AES and fundamental operations of public-key cryptosystems
KR102541388B1 (ko) Mdf 기반 ntt를 이용한 링-lwe 암호프로세서 장치 및 방법
JP3904421B2 (ja) 剰余乗算演算装置
KR100974624B1 (ko) 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체
JP4599859B2 (ja) 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
US8447796B2 (en) Apparatus with a vector generation unit and encoder for receiving first and second inputs to generate at least significant zero (LSZ)
JP2001194996A (ja) 多項式の除算装置
EP3993314B1 (en) Keys for elliptic curve cryptography
Oberhansl et al. Uniform instruction set extensions for multiplications in contemporary and post-quantum cryptography
Shirase et al. An architecture for elliptic curve cryptograph computation
JP4629972B2 (ja) ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3110110B2 (ja) 暗号復号装置
JP2004053814A (ja) 楕円曲線暗号装置及び楕円曲線暗号演算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060929

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090723

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees