JP2004279784A - 有限体上演算装置、及び有限体上演算プログラム - Google Patents
有限体上演算装置、及び有限体上演算プログラム Download PDFInfo
- Publication number
- JP2004279784A JP2004279784A JP2003071756A JP2003071756A JP2004279784A JP 2004279784 A JP2004279784 A JP 2004279784A JP 2003071756 A JP2003071756 A JP 2003071756A JP 2003071756 A JP2003071756 A JP 2003071756A JP 2004279784 A JP2004279784 A JP 2004279784A
- Authority
- JP
- Japan
- Prior art keywords
- field
- result
- finite field
- multiplying
- finite
- 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.)
- Pending
Links
Images
Abstract
【解決手段】要素数qの有限体をGF(q)とし、q=p2とし、v∈GF(p)とし、αがα2+v=0を満たすものとし、基底を〔α,α2〕とする。そして、まず、拡大体元入力部10において、有限体GF(p)の元を用いて表される有限体GF(q)の元の入力を受け、入力された有限体GF(q)の元を構成する有限体GF(p)の元を拡大体元演算部20に送る。この有限体GF(p)の元が送られた拡大体元演算部20は、この入力された有限体GF(q)の元を構成する有限体GF(p)の元間の演算を行い、有限体GF(q)上での演算結果を算出し、演算結果出力部30によって、この演算結果を、有限体GF(p)の元を用いて出力する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、拡大体上の演算を行う有限体上演算装置、及びその機能をコンピュータ上で実現するための有限体上演算プログラムに関し、特に、高速な演算が可能な有限体上演算装置、及び有限体上演算プログラムに関する。
【0002】
【従来の技術】
情報通信ネットワークの進展が進む昨今、電子情報の秘匿や認証に必要な暗号技術は不可欠な要素である。そして、この暗号技術の安全性と高速化の向上が今後の重大な課題となっている。
そのような中、電子商取引の時代を担う次世代暗号として楕円曲線暗号が注目を集めている。楕円曲線暗号は、楕円曲線上の離散対数問題の求解困難性を根拠に安全性を確保する暗号方式の一種であり、素因数分解の困難性を安全性の根拠にするRSA暗号等と比べ、遥かに短い鍵長で同等の安全性強度を実現することができるものである。
【0003】
しかし、この楕円曲線暗号も、処理能力が制限されるスマートカードや、大量の暗号処理が行われるサーバ装置等においては、処理速度や安全性の面で課題があり、その高速化・安全性の研究が世界中で展開されている。
楕円曲線暗号を用いた公開鍵暗号やデジタル署名には、要素数q(素数又は素数のべき乗)の有限体GF(q)上で定義された楕円曲線を用いることが一般的である。従って、有限体GF(q)上での演算を高速に行うことが可能となれば、このような楕円曲線暗号を用いた公開鍵暗号やデジタル署名の処理を高速化することが可能となる。そして、特許文献1では、qが素数のべき乗である場合に、有限体GF(q)上での演算を高速化する方法が提唱されている。
【0004】
また、一般に、楕円曲線暗号の安全性を確保するためには、要素数160以上の有限体が必要であると言われている。そのため、楕円曲線暗号の高速化は、要素数160以上の有限体上での演算の高速化が前提となる。
ここで、例えば、要素数256の有限体GF(256)上での演算をコンピュータ上で行う場合、体の性質を満たす256個の元を独立に用意し、それによって実現される有限体GF(256)上で演算を行うことも可能である。しかし、この方法では、繰り上がり処理等に時間を要し、演算処理を高速化することができないという問題点がある。
【0005】
そのため、このような場合、まず要素数2の有限体GF(2)を用意し、その体を8次拡大して演算を行うことが望ましい。つまり、有限体GF(256)上=GF(28)での演算を、有限体GF(24)上の演算を用いて構成し、有限体GF(24)上の演算を、有限体GF(22)の演算を用いて構成し、有限体GF(22)の演算を有限体GF(2)上の演算を用いて構成する方法をとることで処理を高速化することができる。これにより、コンピュータでの取り扱いが容易な有限体GF(2)上の演算のみによって、実質的に有限体GF(256)上の演算を行うことが可能となるからである。
この体の拡大において、GF(p)の元(a0,a1)を用いてGF(q2)の元aを生成する場合、従来は、GF(p)上で既約な多項式x2+ux+v=0,u,v∈GF(p)の根αを用い、基底を[1,α]とおきa=a0+a1αと表すか(多項式基底表現)、基底を[α,αp]とおきa=a0α+a1αpと表す(正規基底表現)ことが一般的であった。
【0006】
【特許文献1】
特開2002−215022号公報。
【0007】
【発明が解決しようとする課題】
しかし、従来の体の拡大方法では、拡大された有限体上の演算コストを十分に低減させることができない場合がある。
従来、基底として[1,α]や[α,αp]が用いられてきたわけであるが、これ以外の基底を用いても、それを用いて表される拡大体の元aは数学的に等価となるため、より演算コストを低減できる基底を選択することができれば、有限体上の演算をさらに高速化することができる。
本発明はこのような点に鑑みてなされたものであり、演算コストが小さい基底を用い、有限体上の演算をより高速化する可能性を広げる有限体上演算装置を提供することを目的とする。
【0008】
また、この発明の他の目的は、演算コストが小さい基底を用い、有限体上の演算をより高速化する可能性を広げる機能をコンピュータに実行させるための有限体上演算プログラムを提供することである。
【0009】
【課題を解決するための手段】
本発明では、前記課題を解決するために、要素数qの有限体をGF(q)とし、q=p2とし、v∈GF(p)とし、αがα2+v=0を満たすものとし、基底を〔α,α2〕とする。そして、有限体GF(p)の元を用いて表される有限体GF(q)の元の入力を受け、この入力された有限体GF(q)の元を構成する有限体GF(p)の元間の演算を行い、有限体GF(q)における演算結果を算出し、その演算結果を、有限体GF(p)の元を用いて出力する。
ここで、α2+v=0を満たすαを用い、基底を〔α,α2〕とすることにより、拡大体元aの演算コストを低減させることができる場合がある。
【0010】
【発明の実施の形態】
以下、本発明における第1の実施の形態を、図面を参照して説明する。
以下では、まず、この形態の概略について説明した後、その詳細を説明していく。
図1は、公知のコンピュータに所定のプログラムを実行させることによって実現される本形態の有限体演算装置1の概略構成を例示した機能ブロック図である。
この形態の有限体演算装置1は自乗装置である。すなわち、元(a0,a1)∈GF(p)を用いて表される拡大体元a∈GF(q)の自乗演算a2を行い、その演算結果を有限体GF(p)の元を用いて出力する。なお、GF(q)は要素数qの有限体を意味し、q=p2が成立し、基底を〔α,α2〕とおくものとする(α2+v=0、v∈GF(p))。
【0011】
この例の有限体演算装置1において自乗演算を行う場合、まず、拡大体元入力部10において、元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される拡大体元a∈GF(q)の入力を受け付ける。次に、拡大体元演算部20において、この入力された拡大体元aを構成する元(a0,a1)間の演算を行い、自乗演算結果a2を算出し、この演算結果を、演算結果出力部30において、有限体GF(p)上の元(c0,c1)を用いて出力する。
次に、この形態の詳細について説明する。
図2の(a)は、この形態の有限体演算装置1のハードウェア構成を例示したブロック図である。
【0012】
図2の(a)に例示するように、この形態の有限体演算装置1は、キーボード等の入力装置1a、液晶ディスプレイ等の出力装置1b、CPU(Central Processing Unit)1c、ハードディスク等の記憶装置1d、及び入力装置1a、出力装置1b、CPU1c、記憶装置1d間をデータのやり取りが可能なように接続するバス1eを有しており、記憶装置1dに記憶された所定のプログラムをCPU1cで実行することにより、その処理機能を実現する。
図2の(b)は、図1に例示した拡大体元演算部20の詳細機能構成を例示したブロック図であり、図3は、この形態の有限体演算装置1の処理手順を説明するためのフローチャートである。以下、以上の図を用いて、この形態の有限体演算装置1の機能構成及びその処理手順について説明を行っていく。
【0013】
まず、拡大体元入力部10においてa∈GF(q)の入力を受け付ける。ここで、前述のように、a∈GF(q)は、(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される。このaが入力された拡大体元入力部10は、このa∈GF(q)を特定する元(a0,a1)∈GF(p)を拡大体元演算部20に入力する(ステップS1)。
この元(a0,a1)∈GF(p)が入力された拡大体元演算部20は、例えば、まず、乗算部21において(a0a1)の演算を行い(ステップS2)、その演算結果(a0a1)を加算部22に送る。この演算結果(a0a1)が送られた加算部22は、この演算結果(a0a1)を用いて(a0a1)+(a0a1)を求め、その演算結果(2a0a1)を定数倍部23に送る(ステップS3)。この演算結果(2a0a1)が送られた定数倍部23は、この演算結果(2a0a1)を‐v倍し、その演算結果‐v(2a0a1)をc0とする(ステップS4)。なお、この形態のc0は、a2=c0α+c1α2を満たすGF(p)の元を意味する。
【0014】
次に、自乗部24においてa0の自乗を行い(ステップS5)、その演算結果(a0)2を加算部27に送る。また、自乗部25においてa1の自乗を行い(ステップS6)、その演算結果(a1)2を定数倍部26に送る。この演算結果(a1)2が送られた定数倍部26は、この演算結果(a1)2を‐v倍し(ステップS7、)その演算結果‐v(a1)2を加算部27に送る。そして、加算部27において、自乗部24による演算結果(a0)2と定数倍部26による演算結果‐v(a1)2を加算し、その演算結果(a0)2‐v(a1)2をc1とする(ステップS8)。なお、この形態のc1は、a2=c0α+c1α2を満たすGF(p)の元を意味する。
【0015】
以上のように演算された(c0,c1)∈GF(p)は、演算結果出力部30に送られ、そこで出力される(ステップS9)。すなわち、元(c0,c1)∈GF(p)とし、拡大体元aの自乗をa2=c0α+c1α2した場合における、c0として定数倍部23による演算結果‐v(2a0a1)を出力し、c1として第2の加算部27による演算結果((a0)2‐v(a1)2)を出力する。
ここで、a=a0α+a1α2であるため、a2=(a0α+a1α2)2=a0 2α2+2a0a1α3+a1 2α4となり、α2+v=0であるため、a2=a0 2α2+2a0a1(‐v)α+a1 2(‐v)α2=‐v(2a0a1)α+((a0)2‐v(a1)2)α2となる。従って、上述の元(c0,c1)∈GF(p)を用いて表されるc0α+c1α2は、a∈GF(q)の自乗a2と等価であり、この元(c0,c1)∈GF(p)によって、a∈GF(q)の自乗a2が特定されることになる。
【0016】
このように、この形態では、α2+v=0を満たすαを用い、従来ほとんど用いられることがなかった〔α,α2〕を基底として用いて体の拡大を行うこととしたため、拡大体元aの自乗演算コストを低減できる可能性が広がった。
次に、この発明の第2の実施の形態について説明する。
この形態の有限体演算装置1は逆元装置である。すなわち、元(a0,a1)∈GF(p)を用いて表される拡大体元a∈GF(q)の逆元a−1を求め、その演算結果を有限体GF(p)の元を用いて出力する。なお、この形態における有限体演算装置の概略構成、及びハードウェア構成は、第1の実施の形態で例示した図1及び図2の(a)と同様であり、この形態においても図1を適宜引用して説明を行う。
【0017】
この例の有限体演算装置1において逆元演算を行う場合、まず、拡大体元入力部10において、元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される拡大体元a∈GF(q)の入力を受け付ける。次に、拡大体元演算部20において、この入力された拡大体元aを構成する元(a0,a1)間の演算を行い、逆元演算結果a−1を算出し、この演算結果を、演算結果出力部30において、有限体GF(p)上の元(c0,c1)を用いて出力する。
次に、この形態の詳細について説明する。
図4は、この形態における拡大体元演算部20の詳細機能構成を例示したブロック図であり、図5は、この形態の有限体演算装置1の処理手順を説明するためのフローチャートである。以下、以上の図を用いて、この形態の有限体演算装置1の機能構成及びその処理手順について説明を行っていく。
【0018】
まず、第1の実施の形態と同様、拡大体元入力部10においてa∈GF(q)の入力を受け付け、このa∈GF(q)を特定する元(a0,a1)∈GF(p)を拡大体元演算部20に入力する(ステップS21)。
この元(a0,a1)∈GF(p)が入力された拡大体元演算部20は、例えば、まず、自乗部41において元a0の自乗を行い(ステップS22)、その演算結果(a0)2を加算部44に送る。また、自乗部42において元a1の自乗を行い(ステップS23)、その演算結果(a1)2を定数倍部43に送る。この演算結果(a1)2が送られた定数倍部43は、この演算結果(a1)2をv倍し(ステップS24)、その演算結果v(a1)2を加算部44に送る。
【0019】
次に加算部44では、自乗部41による演算結果(a0)2と定数倍部43による演算結果v(a1)2とを加算し(ステップS25)、その演算結果((a0)2+v(a1)2)を定数倍部45に送る。この演算結果((a0)2+v(a1)2)が送られ定数倍部45は、その演算結果((a0)2+v(a1)2)をv倍し(ステップS26)、その演算結果v((a0)2+v(a1)2)を逆元演算部46に送る。逆元演算部46では、送られたv((a0)2+v(a1)2)の逆元を求め(ステップS27)、その演算結果(v((a0)2+v(a1)2))−1を乗算部47、48に送る。
この演算結果が送られた乗算部47は、この演算結果(v((a0)2+v(a1)2))−1を‐a0倍し、その演算結果‐a0(v((a0)2+v(a1)2))−1をc0とし(ステップS28)、乗算部48は、この演算結果(v((a0)2+v(a1)2))−1をa1倍し、その演算結果a1(v((a0)2+v(a1)2))−1をc1とする(ステップS29)。なお、この形態での(c0,c1)は、a−1=c0α+c1α2を満たすGF(p)の元を意味する。
【0020】
以上のように演算された(c0,c1)∈GF(p)は、演算結果出力部30に送られ、そこで出力される(ステップS30)。すなわち、元(c0,c1)∈GF(p)とし、拡大体元aの逆元をa‐1=c0α+c1α2した場合における、c0として乗算部47による演算結果‐a0(v((a0)2+v(a1)2))−1を出力し、c1として乗算部48による演算結果a1(v((a0)2+v(a1)2))−1を出力する。
ここで、a∈GF(q)、q=p2である場合、aをp2乗した結果は再びaになるという性質があり、この性質を用いるとa−1=(‐a0(v((a0)2+v(a1)2))−1)α+(a1(v((a0)2+v(a1)2))−1)α2となることが求められる。従って、上述の元(c0,c1)∈GF(p)を用いて表されるc0α+c1α2は、a∈GF(q)の逆元a‐1と等価であり、この元(c0,c1)∈GF(p)によって、a∈GF(q)の逆元a‐1が特定されることになる。
【0021】
このように、この形態では、α2+v=0を満たすαを用い、従来ほとんど用いられることがなかった〔α,α2〕を基底として用いて体の拡大を行うこととしたため、拡大体元aの逆元演算コストを低減できる可能性が広がった。
次に、この発明の第3の実施の形態について説明する。
図6は、公知のコンピュータに所定のプログラムを実行させることによって実現される本形態の有限体演算装置100の概略構成を例示した機能ブロック図である。なお、有限体演算装置100のハードウェア構成は、第1の実施の形態で例示した図2の(a)と同様であるため説明を省略する。
【0022】
この形態の有限体演算装置1は乗算装置である。すなわち、元(a0,a1)∈GF(p)を用いて表される拡大体元a∈GF(q)と、元(b0,b1)∈GF(p)を用いて表される拡大体元b∈GF(q)との乗算を行い、その演算結果を有限体GF(p)の元を用いて出力する。
この例の有限体演算装置1において逆元演算を行う場合、まず、拡大体元入力部110において、元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される第1の拡大体元a∈GF(q)、及び元(b0,b1)∈GF(p)を用いてb=b0α+b1α2と表される第2の拡大体元b∈GF(q)の入力を受け付ける。次に、拡大体元演算部20において、この入力された拡大体元a,bを構成する元(a0,a1,b0,b1)間の演算を行い、乗算演算結果abを算出し、この演算結果を、演算結果出力部140において、有限体GF(p)上の元(c0,c1)を用いて出力する。
【0023】
次に、この形態の詳細について説明する。
図7は、この形態における拡大体元演算部120の詳細機能構成を例示したブロック図であり、図8は、この形態の有限体演算装置100の処理手順を説明するためのフローチャートである。以下、以上の図を用いて、この形態の有限体演算装置100の機能構成及びその処理手順について説明を行っていく。
まず、拡大体元入力部110においてa,b∈GF(q)の入力を受け付ける。ここで、前述のように、a,b∈GF(q)は、(a0,a1),(b0,b1)∈GF(p)を用いてa=a0α+a1α2,b=b0α+b1α2と表される。このa,bが入力された拡大体元入力部110は、このa,b∈GF(q)を特定する元(a0,a1),(b0,b1)∈GF(p)を拡大体元演算部120に入力する(ステップS41)。
【0024】
この元(a0,a1)∈GF(p)が入力された拡大体元演算部120は、例えば、まず、乗算部121において、元a0と元b0との乗算を行い(ステップS42)、その演算結果(a0b0)を減算部126及び加算部130に送る。次に、乗算部122において、元a1と元b1との乗算を行い(ステップS43)、その演算結果(a1b1)を減算部127及び定数倍部129に送る。また、加算部123において、元a0と元a1との加算を行い(ステップS44)、その演算結果(a0+a1)を乗算部125に送る。さらに、加算部124において、元b0と元b1との加算を行い(ステップS45)、その演算結果(b0+b1)を乗算部125に送る。
【0025】
これらの演算結果が送られた乗算部125は、加算部123による演算結果(a0+a1)と、加算部124による演算結果(b0+b1)との乗算を行い(ステップS46)、その演算結果(a0+a1)(b0+b1)を減算部126に送る。この演算結果(a0+a1)(b0+b1)が送られた演算部126は、乗算部125による演算結果(a0+a1)(b0+b1)から、乗算部121による演算結果(a0b0)を減算し(ステップS47)、その演算結果((a0+a1)(b0+b1)‐(a0b0))を減算部127に送る。この演算結果((a0+a1)(b0+b1)‐(a0b0))が送られた減算分127は、この演算結果((a0+a1)(b0+b1)‐(a0b0))から乗算部122による演算結果(a1b1)を減算し(ステップS48)、その演算結果((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))を定数倍部128に送る。この演算結果が送られた定数倍部128は、この演算結果((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))を‐v倍し、その演算結果‐v((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))をc0とする(ステップS49)。なお、この形態でのc0は、ab=c0α+c1α2を満たすGF(p)の元を意味する。
【0026】
次に、定数倍部129において、乗算部122による演算結果(a1b1)を‐v倍し(ステップS51)、その演算結果‐v(a1b1)を加算部130に送る。この演算結果‐v(a1b1)を受け取った加算部130は、乗算部121による演算結果(a0b0)に、定数倍部129による演算結果‐v(a1b1)を加算し、その演算結果をc1とする(ステップS51)。なお、この形態でのc1は、ab=c0α+c1α2を満たすGF(p)の元を意味する。
以上のように演算された(c0,c1)∈GF(p)は、演算結果出力部140に送られ、そこで出力される(ステップS52)。すなわち、元(c0,c1)∈GF(p)とし、第1の拡大体元aと第2の拡大体元bとの乗算結果をab=c0α+c1α2した場合における、c0として定数倍部128による演算結果‐v((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))を出力し、c1として加算部130による演算結果((a0b0)‐v(a1b1))を出力する。
【0027】
ここで、a=a0α+a1α2であり、b=b0α+b1α2であるため、ab=(a0α+a1α2)(b0α+b1α2)=a0b0α2+a0b1α3+a1b0α3+a1b1α4となり、α2+v=0であるため、ab=a0b0α2+(a0b1+a1b0)(‐v)α+a1b1(‐v)α2=‐v((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))α+((a0b0)‐v(a1b1))α2となる。従って、上述の元(c0,c1)∈GF(p)を用いて表されるc0α+c1α2は、a,b∈GF(q)の乗算結果abと等価であり、この元(c0,c1)∈GF(p)によって、a,b∈GF(q)の乗算結果abが特定されることになる。
このように、この形態では、α2+v=0を満たすαを用い、従来ほとんど用いられることがなかった〔α,α2〕を基底として用いて体の拡大を行うこととしたため、拡大体元aの乗算演算コストを低減できる可能性が広がった。
【0028】
なお、この発明は上述の実施の形態に限定されるものではない。例えば、上述した、拡大体元演算部20、120における有限体GF(q)上の演算を構成する有限体GF(p)上の演算を、この拡大体元演算部20、120による演算を再帰的に適用して行う構成としてもよい。すなわち、自乗部24、25等で行われる自乗演算を上述の第2の実施の形態における方法によって、逆元演算部46によって行われる逆元演算を上述の第2の実施の形態における方法によって、乗算部21等の乗算を上述の第3の実施の形態における方法によって、それぞれ行い、さらにそれらの演算の中でさらに上述の実施の形態の方法を適用し、といった演算を繰り返す構成としてもよい。これにより、例えば、q=p2=r4とできる場合に、GF(q)上の演算をGF(p)上の演算を用いて構成し、GF(p)上の演算をGF(r)上の演算を用いて構成することができ、演算処理をより高速化することが可能となる。
【0029】
また、上述の実施の形態では、有限体上演算装置の処理機能を、コンピュータに所定のプログラムを実行させることにより実現する構成としたが、これらの処理機能の少なくとも一部を電子回路によってハードウェア的に実現することとしてもよい。
また、上述の実施の形態で述べたように、上記の処理機能は、コンピュータによって実現することができる。この場合、有限体上演算装置が有すべき機能の処理内容はプログラムによって記述され、このプログラムをコンピュータで実行することにより、上記処理機能をコンピュータ上で実現することができる。
【0030】
また、この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto−Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable−Read Only Memory)等を用いることができる。
【0031】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
【0032】
なお、上記におけるプログラムとは、電子計算機に対する指令であって、一の結果を得ることができるように組合されたものをいい、その他電子計算機による処理の用に供する情報であってプログラムに準ずるものをも含むものとする。
【0033】
【発明の効果】
以上説明したように、この発明では、要素数qの有限体をGF(q)とし、q=p2とし、v∈GF(p)とし、αがα2+v=0を満たすものとし、基底を〔α,α2〕とした。そして、拡大体元入力手段において、有限体GF(p)の元を用いて表される有限体GF(q)の元の入力を受け、拡大体元演算手段において、この入力された有限体GF(q)の元を構成する有限体GF(p)の元間の演算を行い、有限体GF(q)における演算結果を算出し、演算結果出力手段において、その演算結果を、有限体GF(p)の元を用いて出力することとした。このように、α2+v=0を満たすαを用い、従来ほとんど用いられることがなかった〔α,α2〕を基底として用いて体の拡大を行うこととしたため、拡大体元aの演算コストを低減できる可能性が広がった。
【図面の簡単な説明】
【図1】有限体演算装置の概略構成を例示した機能ブロック図。
【図2】(a)は、この形態の有限体演算装置1のハードウェア構成を例示したブロック図であり、(b)は、図1に例示した拡大体元演算部の詳細機能構成を例示したブロック図である。
【図3】有限体演算装置の処理手順を説明するためのフローチャート。
【図4】拡大体元演算部の詳細機能構成を例示したブロック図。
【図5】有限体演算装置の処理手順を説明するためのフローチャート。
【図6】有限体演算装置の概略構成を例示した機能ブロック図。
【図7】拡大体元演算部の詳細機能構成を例示したブロック図。
【図8】有限体演算装置の処理手順を説明するためのフローチャート。
【符号の説明】
1、100 有限体演算装置
10、110 拡大体元入力部
20、120 拡大体元演算部
30、140 演算結果出力部
Claims (6)
- 要素数qの有限体をGF(q)とし、q=p2とし、v∈GF(p)とし、αがGF(p)上で規約な多項式α2+v=0を満たし、基底を〔α,α2〕とした場合における、有限体GF(p)の元を用いて表される有限体GF(q)の元の入力を受け付ける拡大体元入力手段と、
前記拡大体元入力手段において入力された前記有限体GF(q)の元を構成する前記有限体GF(p)の元間の演算を行い、前記有限体GF(q)における演算結果を算出する拡大体元演算手段と、
前記拡大体元演算手段による演算結果を、前記有限体GF(p)の元を用いて出力する演算結果出力手段と、
を有する有限体上演算装置。 - 前記拡大体元入力手段は、
元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される拡大体元a∈GF(q)の入力を受け付ける手段であり、
前記拡大体元演算手段は、
前記元a0とa1との乗算を行う乗算手段と、
前記乗算手段による演算結果(a0a1)を用い、(a0a1)+(a0a1)を求める第1の加算手段と、
前記第1の加算手段による演算結果(2a0a1)を‐v倍する第1の定数倍手段と、
前記元a0の自乗を行う第1の自乗手段と、
前記元a1の自乗を行う第2の自乗手段と、
前記第2の自乗手段による演算結果(a1)2を‐v倍する第2の定数倍手段と、
前記第1の自乗手段による演算結果(a0)2と前記第2の定数倍手段による演算結果‐v(a1)2を加算する第2の加算手段と、
を有し、
前記演算結果出力手段は、
元(c0,c1)∈GF(p)とし、前記拡大体元aの自乗をa2=c0α+c1α2した場合における、c0として前記定数倍手段による演算結果‐v(2a0a1)を出力し、c1として前記第2の加算手段による演算結果((a0)2‐v(a1)2)を出力する手段であること、
を特徴とする請求項1記載の有限体上演算装置。 - 前記拡大体元入力手段は、
元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される拡大体元a∈GF(q)の入力を受け付ける手段であり、
前記拡大体元演算手段は、
前記元a0の自乗を行う第1の自乗手段と、
前記元a1の自乗を行う第2の自乗手段と、
前記第2の自乗手段による演算結果(a1)2をv倍する第1の定数倍手段と、
前記第1の自乗手段による演算結果(a0)2と前記第1の定数倍手段による演算結果v(a1)2とを加算する加算手段と、
前記加算手段による演算結果((a0)2+v(a1)2)をv倍する第2の定数倍手段と、
前記第2の定数倍手段による演算結果v((a0)2+v(a1)2)の逆元を求める逆元演算手段と、
前期逆元演算手段による演算結果(v((a0)2+v(a1)2))−1を‐a0倍する第1の乗算手段と、
前記第2の定数倍手段による演算結果(v((a0)2+v(a1)2))−1をa1倍する第2の乗算手段と、
を有し、
前記演算結果出力手段は、
元(c0,c1)∈GF(p)とし、前記拡大体元aの逆元をa‐1=c0α+c1α2した場合における、c0として前記第1の乗算手段による演算結果‐a0(v((a0)2+v(a1)2))−1を出力し、c1として前記第2の乗算手段による演算結果a1(v((a0)2+v(a1)2))−1を出力する手段であること、
を特徴とする請求項1記載の有限体上演算装置。 - 前記拡大体元入力手段は、
元(a0,a1)∈GF(p)を用いてa=a0α+a1α2と表される第1の拡大体元a∈GF(q)、及び元(b0,b1)∈GF(p)を用いてb=b0α+b1α2と表される第2の拡大体元b∈GF(q)の入力を受け付ける手段であり、
前記拡大体元演算手段は、
前記元a0と元b0との乗算を行う第1の乗算手段と、
前記元a1と前記元b1との乗算を行う第2の乗算手段と、
前記元a0と前記元a1との加算を行う第1の加算手段と、
前記元b0と前記元b1との加算を行う第2の加算手段と、
前記第1の加算手段による演算結果(a0+a1)と、前記第2の加算手段による演算結果(b0+b1)との乗算を行う第3の乗算手段と、
前記第3の乗算手段による演算結果(a0+a1)(b0+b1)から、前記第1の乗算手段による演算結果(a0b0)を減算する第1の減算手段と、
前記第1の減算手段による演算結果((a0+a1)(b0+b1)‐(a0b0))から、前記第2の乗算手段による演算結果(a1b1)を減算する第2の減算手段と、
前記第2の減算手段による演算結果((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))を‐v倍する第1の定数倍手段と、
前記第2の乗算手段による演算結果(a1b1)を‐v倍する第2の定数倍手段と、
前記第1の乗算手段による演算結果(a0b0)に、前記第2の定数倍手段による演算結果‐v(a1b1)を加算する第3の加算手段と、
を有し、
前記演算結果出力手段は、
元(c0,c1)∈GF(p)とし、前記第1の拡大体元aと前記第2の拡大体元bとの乗算結果をab=c0α+c1α2した場合における、c0として前記第1の定数倍手段による演算結果‐v((a0+a1)(b0+b1)‐(a0b0)‐(a1b1))を出力し、c1として第3の加算手段による演算結果((a0b0)‐v(a1b1))を出力する手段であること、
を特長とする請求項1記載の有限体上演算装置。 - 前記拡大体元演算手段における前記有限体GF(q)上の演算を構成する前記有限体GF(p)上の演算は、
前記拡大体元演算手段による演算を再帰的に適用して行われる演算であること、
を特長とする請求項1から4の何れかに記載の有限体上演算装置。 - 請求項1から5の何れかに記載された有限体上演算装置としてコンピュータを機能させるための有限体上演算プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003071756A JP2004279784A (ja) | 2003-03-17 | 2003-03-17 | 有限体上演算装置、及び有限体上演算プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003071756A JP2004279784A (ja) | 2003-03-17 | 2003-03-17 | 有限体上演算装置、及び有限体上演算プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004279784A true JP2004279784A (ja) | 2004-10-07 |
Family
ID=33288114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003071756A Pending JP2004279784A (ja) | 2003-03-17 | 2003-03-17 | 有限体上演算装置、及び有限体上演算プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004279784A (ja) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299330A (ja) * | 2007-05-31 | 2008-12-11 | Harris Corp | 閉ガロア体組合せ |
JP2009205535A (ja) * | 2008-02-28 | 2009-09-10 | Nippon Telegr & Teleph Corp <Ntt> | 多項式乗算装置、多項式乗算方法及びプログラム |
US8040937B2 (en) | 2008-03-26 | 2011-10-18 | Harris Corporation | Selective noise cancellation of a spread spectrum signal |
US8064552B2 (en) | 2008-06-02 | 2011-11-22 | Harris Corporation | Adaptive correlation |
US8068571B2 (en) | 2008-06-12 | 2011-11-29 | Harris Corporation | Featureless coherent chaotic amplitude modulation |
US8139764B2 (en) | 2008-05-06 | 2012-03-20 | Harris Corporation | Closed galois field cryptographic system |
US8145692B2 (en) | 2008-05-29 | 2012-03-27 | Harris Corporation | Digital generation of an accelerated or decelerated chaotic numerical sequence |
US8165065B2 (en) | 2008-10-09 | 2012-04-24 | Harris Corporation | Ad-hoc network acquisition using chaotic sequence spread waveform |
US8180055B2 (en) | 2008-02-05 | 2012-05-15 | Harris Corporation | Cryptographic system incorporating a digitally generated chaotic numerical sequence |
US8312551B2 (en) | 2007-02-15 | 2012-11-13 | Harris Corporation | Low level sequence as an anti-tamper Mechanism |
US8320557B2 (en) | 2008-05-08 | 2012-11-27 | Harris Corporation | Cryptographic system including a mixed radix number generator with chosen statistical artifacts |
US8325702B2 (en) | 2008-08-29 | 2012-12-04 | Harris Corporation | Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot |
US8340295B2 (en) | 2009-07-01 | 2012-12-25 | Harris Corporation | High-speed cryptographic system using chaotic sequences |
US8345725B2 (en) | 2010-03-11 | 2013-01-01 | Harris Corporation | Hidden Markov Model detection for spread spectrum waveforms |
US8351484B2 (en) | 2008-12-29 | 2013-01-08 | Harris Corporation | Communications system employing chaotic spreading codes with static offsets |
US8363830B2 (en) | 2008-02-07 | 2013-01-29 | Harris Corporation | Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts |
US8363700B2 (en) | 2009-07-01 | 2013-01-29 | Harris Corporation | Rake receiver for spread spectrum chaotic communications systems |
US8369376B2 (en) | 2009-07-01 | 2013-02-05 | Harris Corporation | Bit error rate reduction in chaotic communications |
US8369377B2 (en) | 2009-07-22 | 2013-02-05 | Harris Corporation | Adaptive link communications using adaptive chaotic spread waveform |
US8379689B2 (en) | 2009-07-01 | 2013-02-19 | Harris Corporation | Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform |
US8385385B2 (en) | 2009-07-01 | 2013-02-26 | Harris Corporation | Permission-based secure multiple access communication systems |
US8406276B2 (en) | 2008-12-29 | 2013-03-26 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |
US8406352B2 (en) | 2009-07-01 | 2013-03-26 | Harris Corporation | Symbol estimation for chaotic spread spectrum signal |
US8428102B2 (en) | 2009-06-08 | 2013-04-23 | Harris Corporation | Continuous time chaos dithering |
US8428104B2 (en) | 2009-07-01 | 2013-04-23 | Harris Corporation | Permission-based multiple access communications systems |
US8428103B2 (en) | 2009-06-10 | 2013-04-23 | Harris Corporation | Discrete time chaos dithering |
US8457077B2 (en) | 2009-03-03 | 2013-06-04 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |
US8509284B2 (en) | 2009-06-08 | 2013-08-13 | Harris Corporation | Symbol duration dithering for secured chaotic communications |
US8611530B2 (en) | 2007-05-22 | 2013-12-17 | Harris Corporation | Encryption via induced unweighted errors |
US8848909B2 (en) | 2009-07-22 | 2014-09-30 | Harris Corporation | Permission-based TDMA chaotic communication systems |
-
2003
- 2003-03-17 JP JP2003071756A patent/JP2004279784A/ja active Pending
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312551B2 (en) | 2007-02-15 | 2012-11-13 | Harris Corporation | Low level sequence as an anti-tamper Mechanism |
US8611530B2 (en) | 2007-05-22 | 2013-12-17 | Harris Corporation | Encryption via induced unweighted errors |
JP2008299330A (ja) * | 2007-05-31 | 2008-12-11 | Harris Corp | 閉ガロア体組合せ |
US8180055B2 (en) | 2008-02-05 | 2012-05-15 | Harris Corporation | Cryptographic system incorporating a digitally generated chaotic numerical sequence |
US8363830B2 (en) | 2008-02-07 | 2013-01-29 | Harris Corporation | Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts |
JP2009205535A (ja) * | 2008-02-28 | 2009-09-10 | Nippon Telegr & Teleph Corp <Ntt> | 多項式乗算装置、多項式乗算方法及びプログラム |
JP4612698B2 (ja) * | 2008-02-28 | 2011-01-12 | 日本電信電話株式会社 | 多項式乗算装置、多項式乗算方法及びプログラム |
US8040937B2 (en) | 2008-03-26 | 2011-10-18 | Harris Corporation | Selective noise cancellation of a spread spectrum signal |
US8139764B2 (en) | 2008-05-06 | 2012-03-20 | Harris Corporation | Closed galois field cryptographic system |
US8320557B2 (en) | 2008-05-08 | 2012-11-27 | Harris Corporation | Cryptographic system including a mixed radix number generator with chosen statistical artifacts |
US8145692B2 (en) | 2008-05-29 | 2012-03-27 | Harris Corporation | Digital generation of an accelerated or decelerated chaotic numerical sequence |
US8064552B2 (en) | 2008-06-02 | 2011-11-22 | Harris Corporation | Adaptive correlation |
US8068571B2 (en) | 2008-06-12 | 2011-11-29 | Harris Corporation | Featureless coherent chaotic amplitude modulation |
US8325702B2 (en) | 2008-08-29 | 2012-12-04 | Harris Corporation | Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot |
US8165065B2 (en) | 2008-10-09 | 2012-04-24 | Harris Corporation | Ad-hoc network acquisition using chaotic sequence spread waveform |
US8351484B2 (en) | 2008-12-29 | 2013-01-08 | Harris Corporation | Communications system employing chaotic spreading codes with static offsets |
US8406276B2 (en) | 2008-12-29 | 2013-03-26 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |
US8457077B2 (en) | 2009-03-03 | 2013-06-04 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |
US8509284B2 (en) | 2009-06-08 | 2013-08-13 | Harris Corporation | Symbol duration dithering for secured chaotic communications |
US8428102B2 (en) | 2009-06-08 | 2013-04-23 | Harris Corporation | Continuous time chaos dithering |
US8428103B2 (en) | 2009-06-10 | 2013-04-23 | Harris Corporation | Discrete time chaos dithering |
US8385385B2 (en) | 2009-07-01 | 2013-02-26 | Harris Corporation | Permission-based secure multiple access communication systems |
US8379689B2 (en) | 2009-07-01 | 2013-02-19 | Harris Corporation | Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform |
US8406352B2 (en) | 2009-07-01 | 2013-03-26 | Harris Corporation | Symbol estimation for chaotic spread spectrum signal |
US8428104B2 (en) | 2009-07-01 | 2013-04-23 | Harris Corporation | Permission-based multiple access communications systems |
US8369376B2 (en) | 2009-07-01 | 2013-02-05 | Harris Corporation | Bit error rate reduction in chaotic communications |
US8363700B2 (en) | 2009-07-01 | 2013-01-29 | Harris Corporation | Rake receiver for spread spectrum chaotic communications systems |
US8340295B2 (en) | 2009-07-01 | 2012-12-25 | Harris Corporation | High-speed cryptographic system using chaotic sequences |
US8369377B2 (en) | 2009-07-22 | 2013-02-05 | Harris Corporation | Adaptive link communications using adaptive chaotic spread waveform |
US8848909B2 (en) | 2009-07-22 | 2014-09-30 | Harris Corporation | Permission-based TDMA chaotic communication systems |
US8345725B2 (en) | 2010-03-11 | 2013-01-01 | Harris Corporation | Hidden Markov Model detection for spread spectrum waveforms |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004279784A (ja) | 有限体上演算装置、及び有限体上演算プログラム | |
JP6629466B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
US8300810B2 (en) | Method for securely encrypting or decrypting a message | |
JP4682852B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
WO2018135566A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP2001526416A (ja) | 楕円曲線暗号化演算の最適化用変換方法 | |
JP4351987B2 (ja) | モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム | |
JP3542278B2 (ja) | モンゴメリ・リダクション装置及び記録媒体 | |
US20070053506A1 (en) | Elliptic curve encryption processor, processing method of the processor using elliptic curves, and program for causing a computer to execute point scalar multiplication on elliptic curves | |
US7177422B2 (en) | Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program | |
JP4184120B2 (ja) | 楕円曲線上スカラー倍演算装置、及び楕円曲線上スカラー倍演算プログラム | |
JP2000293507A (ja) | 有限体演算における表現データ生成装置および方法 | |
Graça et al. | Computational bounds on polynomial differential equations | |
KR100974624B1 (ko) | 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체 | |
JP2007218997A (ja) | 素数生成装置、プログラム及び方法 | |
JP2004177673A (ja) | ペアリング暗号装置、ペアリング暗号演算プログラム | |
Brüdern | Daniel’s twists of Hooley’s Delta function | |
CN102625298A (zh) | 一种基于ecc算法的安全ip核的实现方法及其装置 | |
JP2005258228A (ja) | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム | |
US20220239497A1 (en) | Digital data management | |
JP2001194996A (ja) | 多項式の除算装置 | |
JP5010508B2 (ja) | 楕円曲線暗号演算装置、方法及びプログラム並びに楕円曲線暗号演算システム及び方法 | |
Lloris Ruiz et al. | Two Galois Fields Cryptographic Applications | |
JP2004053814A (ja) | 楕円曲線暗号装置及び楕円曲線暗号演算方法 | |
JP2006235416A (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080108 |