JP4243179B2 - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP4243179B2
JP4243179B2 JP2003433047A JP2003433047A JP4243179B2 JP 4243179 B2 JP4243179 B2 JP 4243179B2 JP 2003433047 A JP2003433047 A JP 2003433047A JP 2003433047 A JP2003433047 A JP 2003433047A JP 4243179 B2 JP4243179 B2 JP 4243179B2
Authority
JP
Japan
Prior art keywords
bit
binary
setting
scalar quantity
section
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
JP2003433047A
Other languages
English (en)
Other versions
JP2005190323A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2003433047A priority Critical patent/JP4243179B2/ja
Publication of JP2005190323A publication Critical patent/JP2005190323A/ja
Application granted granted Critical
Publication of JP4243179B2 publication Critical patent/JP4243179B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、演算装置に関し、特に、所定のデータを暗号鍵により暗号化する際に用いて好適なものである。
近年のコンピュータネットワークの発達により、電子メール、電子ニュース等の電子化された情報をネットワーク経由で送受信する機会が急速に増加してきている。さらに、かかるネットワークを利用して、オンラインショッピング等のサービスも提供されつつある。しかし、その一方で、ネットワーク上の電子化されたデータを盗聴・改竄し、あるいは、他人になりすまして不正にサービスの提供を受ける等の違法行為の問題が浮上してきている。
これらの問題に対し、暗号化技術を応用した暗号化電子メールや利用者認証システムが提案され、種々のネットワークに導入されつつある。コンピュータネットワークにおいて、暗号化技術は必須の技術になりつつある。
かかる暗号化技術は、大別すると、秘密鍵暗号系と公開鍵暗号系の2つに分類できる。「秘密鍵暗号系」は、送信者と受信者が同じ鍵を持つことにより、暗号通信を行う暗号化方式である。すなわち、あるデータを秘密鍵に基づいて暗号化して送信し、受け手側は、この秘密鍵を用いて暗号化データを復号し、暗号化のない元のデータを取得する。
また、「公開鍵暗号系」は、受信者側から公開されている公開鍵でデータを暗号化して送信し、受け手側は、この公開鍵とペアになっている秘密鍵で暗号化データを復号し、暗号化のない元のデータを取得するものである。すなわち、公開鍵で暗号化された暗号化データは、これとペアになっている秘密鍵でのみ復号でき、これにより、データの秘匿性を保持するものである。
「公開鍵暗号系」の中で、現在標準化が進んでいるものに、楕円曲線暗号(Elliptic Curve Cryptography)がある。これは、楕円曲線の離散対数問題に基づくもので、N.Koblitz(非特許文献1参照)と、V.Miller(非特許文献2参照)により提案された。
かかる楕円曲線暗号に用いる主な楕円曲線は、素体上の楕円曲線(標準形:y2=X3+aX+b(mod p), p:素数)と、2次拡大体上の楕円曲線(標準形:y2+xy=X3+aX2+b(mod f), f:既約多項式)である。この楕円曲線状のP(x,y)および単位元となる無限遠点Oの集合は、加算に関して群をなす。楕円曲線暗号は、この点の集合による離散対数問題に基づく暗号である。
楕円曲線上の点に関する演算は以下のものが定義されている。
加算: R=P+Q=Q+P
2倍算: R=2P=P+P
減算: R=P−Q
零点: 0=P−P
スカラー倍算:kP=P+P+P+…+P(k個のPの和)
ここで、kPとPからkを演算することは困難である。このことは、楕円曲線の離散対数問題と呼ばれており、この離散対数問題に関連する計算の困難性に基づいて、公開鍵暗号系の暗号を構成することができる。
ところで、上記の演算規則に従って、公開鍵暗号系として知られる有限体上のディフィーへルマン(Diffie-Hellman)鍵交換(送り手と受け手が互いに共通鍵を得るためのアルゴリズム)と同様の鍵交換を実現できる。
楕円曲線上のベースポイントをGとし、送り手Aの秘密鍵をSaとし、その公開鍵PaをPa=SaGとする。一方、受け手Bの秘密鍵をSbとし、その公開鍵PbをPb=SbGとする。このとき、送り手Aは、受けてBの公開鍵Pbと自身の秘密鍵Saから、共通鍵Kab=SaPb=SaSbGを、演算により得ることができる。同様に、受け手Bは、送り手Aの公開鍵Paと自身の秘密鍵Sbから、共通鍵Kba=SbPa=SbSaGを、演算により得ることができる。
この鍵交換方式は、ECDH(Elliptic Curve Deffie-Hellman)方式と呼ばれている。この鍵交換方式では、共通鍵を得るために、秘密鍵Sa、Sbをスカラー量として楕円曲線上の点G、Pa、Pbに乗算する必要があるため、暗号化/複号の際に膨大な演算処理が必要となる。つまり、秘密鍵Sa、Sbに応じた回数だけ加算処理を繰り返す必要がある。
かかる処理を軽減するために、加算と2倍算、減算を組み合わせたサイドバイナリメソッド(非特許文献3参照)を用いて計算を行うことが提案されている。かかるサイドバイナリメソッドは、乗数kを符号付き2進表現し、これを最上位ビットから最下位ビットまで順に検査してゆき、そのビットの値が0であれば2倍算を行い、1であれば2倍算を行った後加算し、−1であれば減算するものである。
たとえば、乗数kをk=87とすると、乗数kは、符号付き2進表現でk=1000は、−1)と表わされる。このとき、サイドバイナリメソッドでkGを求めると、
kG=((2G×2−G)×2×2−G)×2×2×2−G=87G
となる。
乗数kを符号付き2進表現するための手法として、以下の非特許文献4に記載のものが知られている。かかる手法を実現するアルゴリズムを図6に示す。このアルゴリズムは、乗数kを2進表現したときの各ビットを、最下位ビットから最上位ビットまで順に検査し、検査結果に応じて当該ビットの値を求めている。
たとえば、乗数kをk=87とすると、乗数kは、2進表現でk=01010111と表現される。ここで、乗数kは奇数であるのでS11、S12からS13へと進み、最下位ビットのサイドバイナリ(sb)が求められる。ここでは、2進表現されたkの下位2ビットを10進数で表現した値(k&3)を2から減算する演算がなされる。よって、最下位ビットのサイドバイナリ(sb)は、sb=2−3=−1となる。
このようにして得られたsbは負であるので、S15からS16へと進み、k=k+1=01011000(2進数)を演算し、さらに、S17にて、k=k/2=0101100(2進数)を演算する。これにより最下位ビットの処理が終了し、S11に戻って、最下位ビットよりも1桁上位のビットの処理を行う。
ここで、S17で求めたk=0101100(2進数)は偶数であるので、S11、S12からS14へと進み、当該ビットのサイドバイナリ(sb)は、sb=0とされる。そして、S17によってk=k/2=010110(2進数)が演算され、当該ビットの処理が終了される。
以下、同様の処理を最上位ビットまで行う。これにより、乗数kの符号付き2進表現として、k=1000(符号付2進数:は−1)を得る。
"A course in number theory and cryptography",Spring-Verlag,1997 "Use of elliptic curves in cryptography",Advances in Cryptology-Proceedings of Crypto '85, Lecture Notes in Computer Science, 218 (1986), Spring-Verlag, pp417-426 F.Morain and J.Olivos, "Speeding up the computations on an elliptic curve using addition-subtraction chains", Theoretical Informatics and Applications, vol.24, no.6, pp.531-544, 1990 M.Rosing, "Implementing Elliptic Curve Cryptography", Manning, 1998
しかしながら、上記アルゴリズムに従うサイドバイナリ処理(図6)では、k=k+1の加算処理がまれており、この加算処理は最大で、(乗数kの2進表現ビット長+1)ビットとなる。このため、上記サイドバイナリ処理をハードウエアにて実現しようとすると、乗数kの値が大きくなるにしたがって回路規模が増大する。暗号化処理においては、通常、乗数kである秘密鍵Sa、Sbの値が大きいため、上記アルゴリズムにて符号付き2進数を得ようとすると、回路規模が膨大となってしまうとの問題が生じる。
そこで、本発明は、回路規模の増大を抑制しながら、効率的に、符号付き2進表現を求め得る演算装置を提供することを課題とする。
請求項1の発明は、2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、前記2進数表現されたスカラー量を最下位ビットから順に検査して開始パターンを検出する開始パターン検出手段と、前記2進数表現されたスカラー量を最下位ビットから順に検査して終了パターンを検出する終了パターン検出手段と、前記2進数表現されたスカラー量を最下位ビットから順に検査して負符号パターンを検出する負符号パターン検出手段と、前記開始パターンが検出されたビット位置と前記終了パターンが検出されたビット位置から反転区間を設定する反転区間設定手段と、前記2進数表現されたスカラー量のビット列のうち、前記反転区間のビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、前記開始パターンが検出されたビット位置と、前記反転区間内で且つ前記負符号パターンが検出されたビット位置とを負符号とし、その他の区間を正符号とする符号設定手段とを有することを特徴とする。
請求項2の発明は、2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、前記2進数表現されたスカラー量を最下位ビットから順に検査して1が連続するビット区間の先頭のビット位置を検出する開始パターン検出手段と、前記2進数表現されたスカラー量を最下位ビットから順に検査して0が連続するビット区間の先頭のビット位置を検出する終了パターン検出手段と、前記2進数表現されたスカラー量を最下位ビットから順に検査して1に挟まれた0のビット位置を検出する負符号パターン検出手段と、前記1が連続するビット区間の先頭のビット位置よりも1ビット上位のビット位置から前記0が連続するビット区間の先頭のビット位置までの区間を反転区間として設定する反転区間設定手段と、前記2進数表現されたスカラー量のビット列のうち、前記反転区間のビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、前記1が連続するビット区間の先頭のビット位置と、前記反転区間内で且つ前記1に挟まれた0のビット位置とを負符号とし、その他の区間を正符号とする符号設定手段とを有することを特徴とする。
請求項3の発明は、請求項1または2に記載の演算装置において、前記重み設定手段は、前記スカラー量の最上位ビットが前記反転区間に含まれるとき、最上位ビットよりも1ビット上位に重み1の符号付き2進数表現のビット値を追加することを特徴とする。
請求項4の発明は、2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、前記2進数表現されたスカラー量が最下位ビットから順に入力されるとともに、入力ビット列K2に対して1ビット遅延したビット列K1とさらに1ビット遅延したビット列K0を生成するビット列生成手段と、前記ビット列K2、K1、K0があらかじめ設定された開始パターンに一致するとき検出信号を発する開始パターン検出手段と、前記ビット列K2、K1、K0があらかじめ設定された終了パターンに一致するとき検出信号を発する終了パターン検出手段と、前記ビット列K2、K1、K0があらかじめ設定された負符号パターンに一致するとき検出信号を発する負符号パターン検出手段と、前記開始パターン検出信号と前記終了パターン検出信号に基づいてウインドウを設定するウインドウ設定手段と、前記K1のビット列のうち、前記ウインドウの設定区間におけるビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、前記K1のビット列のうち、前記開始パターンが検出されたビット位置と、前記ウインドウ設定区間内で且つ前記負符号パターンが検出されたビット位置とを負符号とし、その他の区間を正符号とする符号設定手段とを有することを特徴とする。
請求項5の発明は、請求項4に記載の演算装置において、前記重み設定手段は、前記K1の最上位ビットが前記ウインドウ設定区間に含まれるとき、当該最上位ビットよりも1ビット上位に重み1の符号付き2進数表現のビット値を追加することを特徴とする。
本発明の特徴は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下の実施の形態は、あくまでも、本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
本発明によれば、2進数表現されたスカラー量のビット値が開始パターン、終了パターン、負符号パターンに一致するかを検査し、検査結果に応じて、ビット値を反転処理し、あるいは、負符号を付加することにより、スカラー量を符号付き2進数表現に変換することができる。よって、上記図6のアルゴリズムにおいて示したような加算処理(k=k+1)が不要となり、スカラー量(乗数k)の値が大きくなっても、演算装置のハードウエア構成が膨大になることはない。
以下、本発明の実施の形態につき図面を参照して説明する。
まず、図1に実施の形態に係る演算装置の構成を示す。
なお、同図は、実施例に係る演算装置を機能ブロックとして示したものであり、ハードウェア的には、CPU、メモリ、その他のLSIなどによって実現でき、ソフトウェア的には、メモリにロードされた記録制御機能のあるプログラムなどによって実現できる。また、ハードウエアとソフトウエアの組合せによっても実現できることは言うまでもない。
図示のとおり、演算装置は、遅延処理部11と、開始パターン検出部12と、終了パターン検出部13と、負符号パターン検出部14と、ウインドウ設定部15と、ビット反転処理部16と、負符号負荷部17とを備えている。
遅延処理部11は、入力された乗数データ(1、0の符号列)を1ビットずつ遅延させてK0、K1、K2の符号列を生成する。ここで、K1はK2よりも1ビット遅延し、さらに、K0はK1よりも1ビット遅延している。なお、乗数データは最下位ビットから順に入力される。
開始パターン検出部12は、K0、K1、K2が入力され、ビットクロックタイミング毎に、K0、K1、K2が開始パターン(図2参照)に一致するかを判別する。そして、開始パターンに一致すれば、後段のウインドウ設定部15および負符号付加部17にSet信号を出力する。
終了パターン検出部13は、K0、K1、K2が入力され、ビットクロックタイミング毎に、K0、K1、K2が終了パターン(図2参照)に一致するかを判別する。そして、終了パターンに一致すれば、後段のウインドウ設定部15にReset信号を出力する。
負符号パターン検出部14は、K0、K1、K2が入力され、ビットクロックタイミング毎に、K0、K1、K2が負符号パターン(図2参照)に一致するかを判別する。そして、負符号パターンに一致すれば、後段の負符号付加部17にSign信号を出力する。
ウインドウ設定部15は、開始パターン検出部12から検出信号(Set信号)の供給を受けたときから、終了パターン検出部13から検出信号(Reset信号)の供給を受けるまでの間、ウインドウ信号(Window)を出力する。但し、ウインドウ信号(window)の出力中に、ウインドウ補正部18から補正信号(msb)を受信したときは、ウインドウ信号(window)の出力を中止する。
ビット反転処理部16は、ウインドウ設定部15からウインドウ信号(window)を受信している期間、K1を反転して出力し、ウインドウ信号(window)を受信していない期間は、K1を反転せずにそのまま出力する。但し、ウインドウ補正部18から補正信号(msb)を受信したときにウインドウ信号(window)が閉じていなければ、重み=1を出力する。なお、かかる重み信号は、乗数データを符号付き2進表現したときの、各ビットの重みを表す。
負符号付加部17は、開始パターン検出部12から検出信号(Set信号)の供給を受けたとき、または、ウインドウ検出部15からのウインドウ信号(window)がオープンのときに負符号パターン検出部14から検出信号(Sign信号)の供給を受けたとき、負符号を出力し、これ以外のときは、正符号を出力する。なお、かかる符号信号は、乗数データを符号付き2進表現したときの、各ビットの符号を表す。
ウインドウ補正部18は、K1の最上位ビットを検出したタイミングでウインドウ信号(window)が閉じているかを判別し、閉じていないときに、補正信号(msb)を出力する。
次に、上記演算装置の動作について、具体的変換例を例示して説明する。
図3に、乗数データとしてk=87=01010111(2進数)が入力されたときのタイミングチャートを示す。なお、乗数データは、演算装置に対して最下位ビットから順に入力される。また、図中、“ビット長カウンタ”の値は、たとえばウインドウ補正部18に内蔵されたビット長カウンタのカウント値を示すものである。
乗数データが入力されると、T0においてビット長カウンタがリセットされ、ビット長のカウントが開始される。ビットタイミングT1において、K0、K1、K2が開始パターン(図2)に一致するため、開始パターン検出部12から検出信号(Set)が出力される。かかる検出信号(Set)の出力を受けて、負符号付加部17から、負符号(=1)が出力される。このとき、ウインドウ設定部15からはウインドウ信号(window)が未だ出力されていないため、ビット反転処理部16からは、K1の値(=1)がそのまま重みとして出力される。
次のビットタイミングT2では、T1における検出信号(Set)の出力を受けて、ウインドウ設定部15からウインドウ信号(window)が出力される。これにより、ビット反転処理部16における反転処理が開始される。すなわち、K1の反転値が重みとして出力される。かかる反転処理は、ウインドウ信号(window)がオフとされる直前のビットタイミングT8まで行われる。
ウインドウ信号が出力されているT2からT8までの期間のうち、T4とT6のビットタイミングにおいて、K0、K1、K2が負符号パターン(図2)に一致するため、負符号パターン検出部17から検出信号(Sign)が出力される。よって、T4とT6のビットタイミングにおいて、負符号付加部17から負符号(=1)が出力される。
ビットタイミングT8においては、K0、K1、K2が終了パターン(図2)に一致するため、終了パターン検出部13から検出信号(Sign)が出力される。この検出信号(Sign)の出力を受けて、ビットタイミングT9において、ウインドウ設定部15におけるウインドウ信号(window)の出力が中止される。このため、ビットタイミングT9においては、ビット反転処理部16におけるビット反転処理は行われず、K1の値がそのまま重みとして出力される。また、負符号付加部17における負符号出力も行われず、T9における符号は正符号(=0)とされる。
しかして、T9におけるビット長カウンタのカウント値が乗数データkのビット長(=8)に一致したことに応じて、乗数データkの符号付き2進表現処理が終了される。かかる処理により、乗数データk=87=01010111(2進数)は、重みと符号によって符号付き2進表現に変換される。
なお、この変換例では、ビット長カウンタのカウント値が乗数データkのビット長に達する前に終了パターンが検出される。かかる場合、符号付き2進数によって表現される乗数データは、終了パターンが検出されたタイミング(図3ではT8)のビット位置を最上位ビットとし、K1の最下位ビットが入力されたタイミング(図3ではT1)のビット位置を最下位ビットとするようにして構成される。よって、乗数データk=87=01010111(2進数)は、k=1000(符号付2進数:は−1)に変換される。
次に、他の具体例について、図4を参照して説明する。なお、同図は、乗数データk=215=11010111(2進数)が入力されたときの変換動作を示すものである。
乗数データk=215=11010111(2進数)の場合、T7までは、上述のk=87=01010111(2進数)の場合と同様にして処理が進められる。ただし、ビットタイミングT8においては、上記の場合と異なり、K0、K1、K2が終了パターン(図2)に一致しないため、終了パターン検出部13からは検出信号(Sign)が出力されない。このため、ウインドウ設定部15からのウインドウ信号(window)は、ビットタイミングT9においてもなお、オンのままである。
この場合、ビットタイミングT9において、ウインドウ補正部18から補正信号(msb)が出力される。かかる補正信号(msb)の出力によって、ビット反転処理部16から重み1が出力される。また、次のビットタイミングにおいてウインドウ信号(window)がオフとされる。
しかして、T9におけるビット長カウンタのカウント値が乗数データkのビット長(=8)に一致したことに応じて、乗数データkの符号付き2進表現処理が終了される。かかる処理により、乗数データk=215=11010111(2進数)は、重みと符号によって符号付き2進表現に変換される。
なお、この変換例では、終了パターンが検出されずにビット長カウンタのカウント値が乗数データkのビット長に達する。かかる場合、符号付き2進数によって表現される乗数データは、補正信号(msb)が出力されたタイミング(図4ではT9)のビット位置を最上位ビットとし、K1の最下位ビットが入力されたタイミング(図3ではT1)のビット位置を最下位ビットとするようにして構成される。よって、乗数データk=215=11010111(2進数)は、k=10000(符号付2進数:は−1)に変換される。
このように、本実施の形態によれば、K0、K1、K2の状態とビット長カウンタのカウント値を参照するのみで、乗数データを符号付き2進表現に変換できる。よって、上記図6のアルゴリズムに従う場合に比べ、演算装置の回路規模の増大を抑制しながら、効率的に、符号付き2進表現を求めることができる。
上記実施の形態に示す演算装置をハードウエアにて構成したときの構成例を、図5に示す。
図示の如く、遅延処理部11は、乗数データK2に対し1ビット遅延を行う2つの遅延回路111、112によって構成できる。また、開始パターン検出部12、終了パターン検出部13および負符号パターン検出部14は、それぞれ、図2のパターンが入力されたときにHレベル信号を出力するNAND回路121、131、141によって構成できる。
また、ウインドウ設定部15は、NAND回路121からのSet信号によってセットされ、NAND回路131からのReset信号またはウインドウ補正部18からの補正信号(msb)によってリセットされるフリップフロップ151と、OR回路152によって構成できる。
また、ビット反転処理部16は、ウインドウ補正部18からの補正信号(msb)がLレベルのときK1に応じた出力を発するNAND回路161とEX−OR回路162によって構成できる。
また、負符号付加部17は、ウインドウ信号(window)がオンのときにNAND回路14からのSign信号が入力されることによりHレベルの信号を出力するAND回路171と、OR回路172によって構成できる。
また、ウインドウ補正部18は、上述のビット長カウンタ181と、ウインドウ信号(window)がオンのときにビット長カウンタ181からmsb信号が入力されることにより補正信号(msb)を出力するAND回路182によって構成できる。
かかる回路構成により、上述した各部の処理および機能が実現される。すなわち、乗数データk=87=01010111(2進数)または乗数データk=215=11010111(2進数)が入力されると、各部から、上記図3および図4のタイミングチャートに示す信号が出力され、これにより、符号付き2進表現への変換処理が実現される。
同図に示すように、本実施例では、乗数データを格納するためのレジスタを配備する必要がない。よって、乗数kの値が大きくなっても、演算装置のハードウエア構成が膨大になることもない。
以上、本発明に係る実施の形態について説明したが、本発明は係る実施の形態に限定されるものではなく、種々の変更が可能であることは言うまでもない。本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。
実施の形態に係る演算装置の構成を示す図 実施の形態に係る各種パターンの内容を示す図 実施の形態に係る具体的変換例を示すタイミングチャート 実施の形態に係る具体的変換例を示すタイミングチャート 実施例に係る演算装置の構成を示す図 従来例に係る乗数kを符号付き2進表現するためのアルゴリズム
符号の説明
11 遅延処理部
12 開始パターン検出部
13 終了パターン検出部
14 負符号パターン検出部
15 ウインドウ設定部
16 ビット反転処理部
17 負符号付加部
18 ウインドウ補正部

Claims (5)

  1. 2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して開始パターンを検出する開始パターン検出手段と、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して終了パターンを検出する終了パターン検出手段と、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して負符号パターンを検出する負符号パターン検出手段と、
    前記開始パターンが検出されたビット位置と前記終了パターンが検出されたビット位置から反転区間を設定する反転区間設定手段と、
    前記2進数表現されたスカラー量のビット列のうち、前記反転区間のビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、
    前記開始パターンが検出されたビット位置と、前記反転区間内で且つ前記負符号パターンが検出されたビット位置とを負符号とし、その他の区間を正符号とする符号設定手段と、
    を有することを特徴とする演算装置。
  2. 2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して1が連続するビット区間の先頭のビット位置を検出する開始パターン検出手段と、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して0が連続するビット区間の先頭のビット位置を検出する終了パターン検出手段と、
    前記2進数表現されたスカラー量を最下位ビットから順に検査して1に挟まれた0のビット位置を検出する負符号パターン検出手段と、
    前記1が連続するビット区間の先頭のビット位置よりも1ビット上位のビット位置から前記0が連続するビット区間の先頭のビット位置までの区間を反転区間として設定する反転区間設定手段と、
    前記2進数表現されたスカラー量のビット列のうち、前記反転区間のビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、
    前記1が連続するビット区間の先頭のビット位置と、前記反転区間内で且つ前記1に挟まれた0のビット位置とを負符号とし、その他の区間を正符号とする符号設定手段と、
    を有することを特徴とする演算装置。
  3. 請求項1または2において、
    前記重み設定手段は、前記スカラー量の最上位ビットが前記反転区間に含まれるとき、最上位ビットよりも1ビット上位に重み1の符号付き2進数表現のビット値を追加する、
    ことを特徴とする演算装置。
  4. 2進数表現されたスカラー量を符号付き2進数表現に変換する演算装置であって、
    前記2進数表現されたスカラー量が最下位ビットから順に入力されるとともに、入力ビット列K2に対して1ビット遅延したビット列K1とさらに1ビット遅延したビット列K0を生成するビット列生成手段と、
    前記ビット列K2、K1、K0があらかじめ設定された開始パターンに一致するとき検出信号を発する開始パターン検出手段と、
    前記ビット列K2、K1、K0があらかじめ設定された終了パターンに一致するとき検出信号を発する終了パターン検出手段と、
    前記ビット列K2、K1、K0があらかじめ設定された負符号パターンに一致するとき検出信号を発する負符号パターン検出手段と、
    前記開始パターン検出信号と前記終了パターン検出信号に基づいてウインドウを設定するウインドウ設定手段と、
    前記K1のビット列のうち、前記ウインドウの設定区間におけるビット値を反転させるとともに、その他の区間のビット値をそのまま維持する重み設定手段と、
    前記K1のビット列のうち、前記開始パターンが検出されたビット位置と、前記ウインドウ設定区間内で且つ前記負符号パターンが検出されたビット位置とを負符号とし、その他の区間を正符号とする符号設定手段と、
    を有することを特徴とする演算装置。
  5. 請求項4において、
    前記重み設定手段は、前記K1の最上位ビットが前記ウインドウ設定区間に含まれるとき、当該最上位ビットよりも1ビット上位に重み1の符号付き2進数表現のビット値を追加する、
    ことを特徴とする演算装置。
JP2003433047A 2003-12-26 2003-12-26 演算装置 Expired - Fee Related JP4243179B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003433047A JP4243179B2 (ja) 2003-12-26 2003-12-26 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003433047A JP4243179B2 (ja) 2003-12-26 2003-12-26 演算装置

Publications (2)

Publication Number Publication Date
JP2005190323A JP2005190323A (ja) 2005-07-14
JP4243179B2 true JP4243179B2 (ja) 2009-03-25

Family

ID=34790551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003433047A Expired - Fee Related JP4243179B2 (ja) 2003-12-26 2003-12-26 演算装置

Country Status (1)

Country Link
JP (1) JP4243179B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5606516B2 (ja) * 2012-12-21 2014-10-15 株式会社東芝 Naf変換装置

Also Published As

Publication number Publication date
JP2005190323A (ja) 2005-07-14

Similar Documents

Publication Publication Date Title
Islam et al. FPGA implementation of high-speed area-efficient processor for elliptic curve point multiplication over prime field
US7904498B2 (en) Modular multiplication processing apparatus
US8085931B2 (en) Computation method, computing device and computer program
JP2003208097A (ja) サイドチャネルアタック耐性を有する暗号演算装置及び方法
US6480606B1 (en) Elliptic curve encryption method and system
JP2007187958A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7191333B1 (en) Method and apparatus for calculating a multiplicative inverse of an element of a prime field
Sghaier et al. Fast hardware implementation of ECDSA signature scheme
KR100508092B1 (ko) 저전력 모듈로 곱셈을 수행하는 연산장치
Kaleel Rahuman et al. Reconfigurable architecture for elliptic curve cryptography using fpga
JP4177526B2 (ja) 乗算剰余演算方法および乗算剰余回路
JP4243179B2 (ja) 演算装置
CN113467752B (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
JP4502817B2 (ja) 楕円曲線スカラー倍計算方法および装置
JP3591857B2 (ja) 擬似乱数生成方法及び装置、通信方法及び装置
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
JP2004334212A (ja) モンゴメリ掛け算器及び掛け算方法
Minaam et al. Chaotic NHCP: Building an Efficient Secure Framework for Cloud Computing Environment Based on Chaos Theory.
AU2021106274A4 (en) A protocol for assuring data integrity in cloud setting by using a fully homomorphic batch encryption scheme with integer and shorter public key (hbeis)
JP5179933B2 (ja) データ処理装置
Anoop et al. Performance analysis of montgomery multiplier
Venkatalakshmi et al. Design of montgomery multiplier–RSA algorithm
US7480380B2 (en) Method for efficient generation of modulo inverse for public key cryptosystems
Maurya et al. FPGA Implementation of a Fast Scalar Point Multiplier for an Elliptic Curve Crypto-Processor
JP2004053814A (ja) 楕円曲線暗号装置及び楕円曲線暗号演算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061012

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081226

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees