JP3833412B2 - 有限体演算における表現データ生成装置および方法 - Google Patents

有限体演算における表現データ生成装置および方法 Download PDF

Info

Publication number
JP3833412B2
JP3833412B2 JP10292099A JP10292099A JP3833412B2 JP 3833412 B2 JP3833412 B2 JP 3833412B2 JP 10292099 A JP10292099 A JP 10292099A JP 10292099 A JP10292099 A JP 10292099A JP 3833412 B2 JP3833412 B2 JP 3833412B2
Authority
JP
Japan
Prior art keywords
polynomial
irreducible
prime
irreducible polynomial
prime number
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
JP10292099A
Other languages
English (en)
Other versions
JP2000293507A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10292099A priority Critical patent/JP3833412B2/ja
Priority to US09/503,205 priority patent/US7142668B1/en
Priority to CA002298995A priority patent/CA2298995C/en
Priority to EP00301488A priority patent/EP1043654A3/en
Publication of JP2000293507A publication Critical patent/JP2000293507A/ja
Application granted granted Critical
Publication of JP3833412B2 publication Critical patent/JP3833412B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、符号、暗号等に関する有限体演算を行う際に、有限体の表現データを自動的に設定するデータ生成装置およびその方法に関する。
【0002】
【従来の技術】
近年のコンピュータ技術およびネットワーク技術の発展に伴い、符号、暗号等を含む様々な分野において、有限体演算を行う局面が増えてきている。有限体(finite field)とは、四則演算が定義されている有限集合を指し、有限体演算とは、有限体上で定義されたこれらの演算を指す。
【0003】
特に、電子商取引等のインターネットを利用したビジネスにおいては、オープンネットワークのセキュリティを確保するための暗号理論が非常に重要な技術として脚光を浴びている。暗号技術を実現するためには有限体演算が必須であるが、データのセキュリティを保つために非常に大きなサイズの有限体を用いるケースが多く、その演算効率を上げることは、実用上重要なテーマである。
【0004】
有限体演算を実現するためには、まず、いくつかの表現データを決定して、有限体を表現しなければならない。有限体の要素(元)の個数は、pを素数とし、mを正整数として、pm となる。この正整数mは拡大次数と呼ばれる。一般に、有限体の要素を記述するためには、素数p、拡大次数m、およびm次の既約多項式F(x)を表現データとして設定しなければならないことが知られている。
【0005】
従来の有限体演算装置においては、装置自身があらかじめ内蔵している固定の表現データを用いるか、もしくは、ユーザがすべての表現データを指定することで、有限体を表現していた。
【0006】
【発明が解決しようとする課題】
しかしながら、従来の有限体の表現方法には、次のような問題がある。
固定の表現データのみを用いる場合、符号、暗号等のシステムにおける様々な局面に必要となる多様な表現データを得ることができず、表現の柔軟性に欠ける。また、非常に大きな有限体において、ユーザがすべての表現データを指定する場合、表現データの選択に多大な労力を要する。さらに、ユーザが不適切な表現データを選択すると、演算速度が低下し、システムの性能が低下するといった弊害が生じることもある。
【0007】
本発明の課題は、効率の良い有限体演算を実現するために、ユーザの負荷をなるべく軽減しながら、有限体の表現データを柔軟に設定するデータ生成装置およびその方法を提供することである。
【0008】
【課題を解決するための手段】
図1は、本発明のデータ生成装置の原理図である。図1のデータ生成装置は、入力手段1、生成手段2、および表現データ格納手段3を備える。入力手段1は、有限体を指定する条件を入力する。生成手段2は、入力された条件に基づいて、有限体の表現データを自動的に生成し、表現データ格納手段3は、生成された表現データを格納する。
【0009】
生成手段2は、入力手段1が入力した指定条件に基づいて、その条件に対応する有限体の表現データを自動的に生成し、生成された表現データを表現データ格納手段3に格納する。格納された表現データは、有限体演算を行う装置に供給され、その表現データを用いた有限体演算が行われる。
【0010】
ユーザは、入力手段1を介して、希望する有限体の条件を入力することができる。このとき、例えば、素数pのビット長や拡大次数mのような、直観的に思いつくことのできる最小限の条件さえ指定すれば、生成手段2が、素数pやm次の既約多項式F(x)のような、直観的に思いつくことの困難な表現データを自動的に生成する。
【0011】
したがって、有限体の表現データの選択におけるユーザの負荷が軽減され、生成手段2が生成可能な範囲内で、表現データを柔軟に設定することが可能になる。さらに、適切な条件が指定されれば、効率の良い有限体演算を実現する表現データが生成される。このように、本発明のポイントは、指定された条件に基づいて、有限体の表現データを自動的に生成することである。
【0012】
例えば、図1の入力手段1は、後述する図4の入出力装置11および自動条件指定インタフェース12に対応し、図1の生成手段2は、図4の表現データ生成器15に対応し、図1の表現データ格納手段3は、図4の表現データ格納域17に対応する。
【0013】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
まず、図2および図3を参照しながら、暗号技術に用いられる有限体演算の例を説明する。
【0014】
図2は、よく知られたDiffie-Hellmanの鍵交換の例を示している。例えば、ユーザAとユーザBの間で秘密鍵暗号を用いてデータ通信を行う場合、まず、両者が秘密鍵を共有する必要がある。このとき、第3者に知られることなく、ネットワーク上で秘密情報を交換するために、Diffie-Hellmanの鍵交換が用いられる。
【0015】
素数p、拡大次数mにより表される要素数pm の有限体をGF(pm )と記すことにすると、図2で用いられている有限体は、GF(11)と記される(m=1)。m=1の有限体は、素体(prime field )とも呼ばれる。
【0016】
ここでは、p=11、g=2が公開されており、ユーザAの秘密情報がx=4であり、ユーザBの秘密情報がy=6であり、共有すべき秘密情報がs=gxy mod p=224 mod 11=5である場合を考える。mod pは、pを法とする剰余演算を表し、gxy mod pは、GF(11)における有限体演算の一例を表している。
【0017】
このとき、ユーザAは、gx mod p=24 mod 11=5をユーザBに送信し、ユーザBは、gy mod p=26 mod 11=9をユーザAに送信する。次に、ユーザAは、ユーザBから受信したgy mod p=9を用いて、次式により共有秘密情報sを求める。
s=(gy x =94 =5 (mod p) (1)
また、ユーザBは、ユーザAから受信したgx mod p=5を用いて、次式により共有秘密情報sを求める。
s=(gx y =56 =5 (mod p) (2)
ここでは、簡単のためにp=11としたが、実際には、pとして非常に大きな値が用いられる。pが十分に大きければ、たとえ第3者がgx mod pとgy mod pを取得したとしても、これらの情報からxとyを求めることは極めて困難となり、秘密情報sを知ることは事実上不可能である。こうして、ユーザAとユーザBは、秘密情報sを安全に共有することができ、この情報を秘密鍵として用いて暗号通信を行うことができる。
【0018】
次に、図3は、Diffie-Hellmanの鍵交換において、有限体GF(2)={0,1}の要素(0または1)を係数とする3次既約多項式を用いて表される有限体GF(23 )を用いた例を示している。この場合、GF(23 )は、GF(2)の要素を係数とする項からなる23 個の2次以下の多項式を要素として持つ。
【0019】
ここでは、p=2、3次既約多項式f(x)=x3 +x+1、g=x modf(x)が公開されており、ユーザAの秘密情報がi=4であり、ユーザBの秘密情報がj=6であり、共有すべき秘密情報がs=gij mod f(x)である場合を考える。mod f(x)は、f(x)を法とする多項式の剰余演算を表し、gij mod f(x)は、GF(23 )における有限体演算の一例を表している。
【0020】
このとき、ユーザAは、gi mod f(x)=x4 mod (x3 +x+1)=x2 +xをユーザBに送信し、ユーザBは、gj mod f(x)=x6 mod (x3 +x+1)=x2 +1をユーザAに送信する。次に、ユーザAは、ユーザBから受信したgj mod f(x)=x2 +1を用いて、次式により共有秘密情報sを求める。
s=(gj i =(x2 +1)4 =x+1 (mod f(x)) (3)
また、ユーザBは、ユーザAから受信したgi mod f(x)=x2 +xを用いて、次式により共有秘密情報sを求める。
s=(gi j =(x2 +x)6 =x+1 (mod f(x)) (4)
ここでは、簡単のためにm=3としたが、実際には、mとして非常に大きな値が用いられる。mが十分に大きければ、たとえ第3者がgi mod f(x)とgj mod f(x)を取得したとしても、これらの情報からiとjを求めることは極めて困難となり、第3者が秘密情報sを知ることは事実上不可能である。こうして、ユーザAとユーザBは、秘密情報sを安全に共有することができ、この情報を秘密鍵として用いて暗号通信を行うことができる。
【0021】
上述したように、素体GF(p)を表現するためには、素数pを指定しなければならず、有限体GF(2m )を表現するためには、拡大次数mとm次の既約多項式を指定しなければならない。しかしながら、pやmとして非常に大きな数を用いる場合、ユーザが素数pやm次の既約多項式を陽に指定することは難しい。
【0022】
本実施形態のデータ生成装置は、ユーザが直観的に思いつくことのできる最小限の条件さえ指定すれば、自動的に素数pやm次の既約多項式等の表現データを生成する。このため、ユーザが表現データを指定する際の負荷が大きく軽減される。
【0023】
このとき、可能であれば、高速演算に適した表現データを選択することで、より高速な有限体演算が実現される。さらに、ユーザがすべての表現データを指定することのできるインタフェースを設けることにより、様々な局面に対応できる柔軟性が実現される。
【0024】
図4は、このようなデータ生成装置の基本構成図である。図4のデータ生成装置は、入出力装置11、自動条件指定インタフェース12、手動データ指定インタフェース13、固定データテーブル14、表現データ生成器15、表現データ検証器16、および表現データ格納域17を備え、有限体演算装置18が用いる有限体の表現データを生成する。
【0025】
ユーザは、入出力装置11を介して、自動条件指定インタフェース12または手動データ指定インタフェース13に対して必要な指示を入力する。自動条件指定インタフェース12は、ユーザが表現データ生成のための最小限の条件を指定する場合に用いられ、手動データ指定インタフェース13は、ユーザが表現データの任意のパラメータを自ら指定する場合に用いられる。
【0026】
固定データテーブル14は、あらかじめ決められた適切な表現データを格納し、表現データ生成器15は、自動条件指定インタフェース12による指定に従って、最終的に使用される表現データを決定する。表現データ検証器16は、手動データ指定インタフェース13により指定された表現データが有限体演算に適切なものかどうかを検証する。
【0027】
表現データ格納域17は、実際の演算時に使用される表現データを格納し、有限体演算装置18は、表現データ格納域17の表現データを参照して、有限体演算を行う。
【0028】
図5は、図4のデータ生成装置による処理のフローチャートである。ユーザは表現データ選択のための条件指定において、自動モードまたは手動モードのいずれかを選択することができ、データ生成装置は、自動条件指定インタフェース12および手動データ指定インタフェース13により、どちらのモードが選択されたかをチェックする(ステップS1)。自動モードにおいては、ユーザは最低限の条件を指定するだけで済み、手動モードにおいては、ユーザは表現データのすべてのパラメータを指定しなければならない。
【0029】
自動モードが選択された場合、表現データ生成器15は、まず、指定された条件が適切か否か(正当か否か)をチェックする(ステップS2)。そして、それが適切でなければ、自動条件指定インタフェース12を介して警告を発し、条件の再入力を要求して(ステップS3)、ステップS2以降の処理を繰り返す。
【0030】
適切な条件が入力されると、次に、固定データテーブル14を検索して、指定された条件を満たす表現データが存在するか否かをチェックする(ステップS4)。そのような表現データが固定データテーブル14に存在すれば、そのパラメータを表現データ格納域17に設定し(ステップS6)、処理を終了する。また、そのような表現データが存在しなければ、指定された条件に基づいて表現データを生成して(ステップS5)、表現データ格納域17に設定し(ステップS6)、処理を終了する。
【0031】
固定データテーブル14にあらかじめ保持された表現データは、例えば、高速な有限体演算を実現できるように選ばれたものであり、表現データ生成器15による表現データ生成のロジックは、例えば、高速な有限体演算を実現する表現データを生成するものである。
【0032】
ステップS1において手動モードが選択された場合、表現データ検証器16は、指定された表現データの正当性を検証し(ステップS7)、それが有限体演算を行うにあたって適切なものかどうかをチェックする(ステップS8)。
【0033】
そして、その表現データが適切であれば、それを表現データ格納域17に設定し(ステップS6)、処理を終了する。また、指定された表現データが適切でなければ、手動データ指定インタフェース13を介して警告を発し、再度、適切な表現データを指定するようにユーザに促し(ステップS9)、ステップS7以降の処理を繰り返す。
【0034】
表現データが表現データ格納域17に設定されると、有限体演算部18は、その値に基づいて有限体演算を行う。自動モードが選択された場合、自動的に高速な有限体演算を実現する表現データが設定されるため、演算の効率が向上する。
【0035】
次に、図6から図12までを参照しながら、図4の構成に基づく様々なデータ生成装置の実施形態について説明する。
図6は、素数pに関する条件に基づいて素体GF(p)の表現データを生成するデータ生成装置の構成図である。素体GF(p)の表現データとしては、素数pを設定すればよい。この数pは、標数(characteristic)とも呼ばれる。
【0036】
図6のデータ生成装置は、入出力装置11、自動条件指定インタフェース12、手動データ指定インタフェース13、素数表21、テーブル参照部22、乱数発生部23、素数判定部24、25、および素数格納域26を備え、有限体演算装置18が用いる素体の表現データを生成する。
【0037】
素数表21は、図4の固定データテーブル14に対応し、あらかじめ決められた素数とそのバイナリコードのビット長nの対応関係を格納する。例えば、図7に示す素数表においては、n=2,3,4,...に対応する素数3,7,11,...が順に格納されている。
【0038】
テーブル参照部22、乱数発生部23、および素数判定部24は、図4の表現データ生成器15に対応する。テーブル参照部22は、与えられたビット長nをキーとして素数表21を参照し、対応する素数を取得する。与えられたビット長nに対応する素数が素数表21に存在しないとき、乱数発生部23は、ビット長nの乱数を発生し、素数判定部24は、その乱数が素数か否かを判定する。
【0039】
素数判定部25は、図4の表現データ検証器16に対応し、ユーザが指定した素数pが本当に素数であるか否かを判定する。素数格納域26は、図4の表現データ格納域17に対応し、与えられた素数pを表現データとして格納する。
【0040】
図8は、図6のデータ生成装置による処理のフローチャートである。まず、データ生成装置は、自動モードと手動モードのいずれが選択されたかをチェックする(ステップS11)。自動モードにおいては、ユーザは自動条件指定インタフェース12を介して素数のビット長n(素体のビットサイズ)のみを入力し、手動モードにおいては、ユーザは自ら具体的な素数pを選択し、手動データ指定インタフェース13を介してそれを入力する。
【0041】
自動モードが選択された場合、テーブル参照部22は、指定されたビット長nがサポート範囲内のビット長か否かをチェックする(ステップS12)。そして、それがサポート範囲外であれば、自動条件指定インタフェース12を介して警告を発し、ビット長の再入力を要求して(ステップS13)、ステップS12以降の処理を繰り返す。
【0042】
サポート範囲内のビット長nが入力されると、次に、素数表21を検索して、ビット長nに対応する素数が存在するか否かをチェックする(ステップS14)。そのような素数が素数表21に存在すれば、それを素数pとして素数格納域26に設定し(ステップS16)、処理を終了する。
【0043】
また、そのような素数が存在しなければ、乱数発生部23は、指定されたビット長nの乱数を発生させ、素数判定部24は、発生した乱数が素数か否かを判定する(ステップS15)。そして、素数判定部24は、素数と判定された乱数を表現データとして採用し、それを素数pとして素数格納域26に設定して(ステップS16)、処理を終了する。
【0044】
素数判定部24による素数判定(primality test)のアルゴリズムとしては、例えば、以下の文献に記載されているようなものが用いられる。
文献[1]:情報処理学会 監修,岡本龍明(おかもと たつあき)・太田和夫(おおた かずお) 共編,“暗号・ゼロ知識証明・数論”,共立出版,pp.130−143,1995.
文献[2]:IEEE P1363 Annex A/Editorial Contribution,“Standard Specifications For Public Key Cryptography ”, pp.78-81, 1998. ステップS11において手動モードが選択された場合、素数判定部25は、素数判定部24と同様にして、指定された数pの素数判定を行い(ステップS17)、それが本当に素数であるか否かをチェックする(ステップS18)。
【0045】
そして、指定された数pが素数であれば、それを表現データとして採用して、素数格納域26に設定し(ステップS16)、処理を終了する。また、それが素数でなければ、手動データ指定インタフェース13を介して警告を発し、再度、正しい素数を入力するようにユーザに促し(ステップS19)、ステップS17以降の処理を繰り返す。
【0046】
素数pが素数格納域26に設定されると、有限体演算部18は、その値に基づいて素体GF(p)上の有限体演算を行う。このような構成によれば、ユーザがビット長さえ指定すれば自動的に素数pが生成されるため、ユーザが素数pを指定する際の負荷が軽減される。また、必要であれば、ユーザが素数pを直接指定することもでき、柔軟な操作性が実現される。
【0047】
図9は、拡大次数mに基づいて有限体GF(2m )の表現データを生成するデータ生成装置の構成図である。有限体GF(2m )の場合、素数pは2に決められているため、それ以外の表現データとしては、拡大次数mとm次の既約多項式F(x)を設定すればよい。m次の多項式は、例えば、各項xk(k=0,1,...,m)の係数(0または1)の集合により表すことができる。
【0048】
図9のデータ生成装置は、入出力装置11、自動条件指定インタフェース12、手動データ指定インタフェース13、既約多項式表31、テーブル参照部32、多項式発生部33、既約性判定部34、35、および既約多項式格納域36を備え、有限体演算装置18が用いる有限体の表現データを生成する。
【0049】
既約多項式表31は、図4の固定データテーブル14に対応し、あらかじめ決められた拡大次数mとm次の既約多項式F(x)の対応関係を格納する。例えば、図10に示す既約多項式表においては、m=2,3,4,...に対応する既約多項式として、x2 +x+1,x3 +x+1,x4 +x+1,...が格納されている。
【0050】
テーブル参照部32、多項式発生部33、および既約性判定部34は、図4の表現データ生成器15に対応する。テーブル参照部32は、与えられた拡大次数mをキーとして既約多項式表31を参照し、対応する既約多項式を取得する。与えられた拡大次数mに対応する既約多項式が既約多項式表31に存在しないとき、多項式発生部33は、m次の多項式を発生し、既約性判定部34は、その多項式が既約か否かを判定する。
【0051】
既約性判定部35は、図4の表現データ検証器16に対応し、ユーザが指定したm次の既約多項式が本当に既約であるか否かを判定する。既約多項式格納域36は、図4の表現データ格納域17に対応し、拡大次数mとm次の既約多項式F(x)を表現データとして格納する。
【0052】
図11は、図9のデータ生成装置による処理のフローチャートである。まず、データ生成装置は、自動モードと手動モードのいずれが選択されたかをチェックする(ステップS21)。自動モードにおいては、ユーザは自動条件指定インタフェース12を介して拡大次数mのみを入力し、手動モードにおいては、ユーザは自ら具体的なm次の既約多項式F(x)を選択し、それを拡大次数mとともに手動データ指定インタフェース13を介して入力する。
【0053】
自動モードが選択された場合、テーブル参照部32は、指定された拡大次数mがサポート範囲内の拡大次数か否かをチェックする(ステップS22)。そして、それがサポート範囲外であれば、自動条件指定インタフェース12を介して警告を発し、拡大次数の再入力を要求して(ステップS23)、ステップS22以降の処理を繰り返す。
【0054】
サポート範囲内の拡大次数mが入力されると、次に、既約多項式表31を検索して、拡大次数mに対応する既約多項式が存在するか否かをチェックする(ステップS24)。そのような既約多項式が既約多項式表31に存在すれば、それを既約多項式F(x)として、拡大次数mとともに既約多項式格納域36に設定し(ステップS26)、処理を終了する。
【0055】
また、そのような既約多項式が存在しなければ、多項式発生部33は、m次のの多項式を発生させ、既約性判定部34は、発生した多項式が既約か否かを判定する(ステップS25)。そして、既約性判定部34は、既約と判定された多項式を既約多項式F(x)として採用し、それを拡大次数mとともに既約多項式格納域36に設定して(ステップS26)、処理を終了する。
【0056】
ステップS21において手動モードが選択された場合、既約性判定部35は、既約性判定部34と同様にして、指定された多項式F(x)の既約性判定(irreducibility test )を行い(ステップS27)、それが本当に既約であるか否かをチェックする(ステップS28)。
【0057】
そして、指定された多項式F(x)が既約であれば、それを表現データとして採用して、拡大次数mとともに既約多項式格納域36に設定し(ステップS26)、処理を終了する。また、それが既約でなければ、手動データ指定インタフェース13を介して警告を発し、再度、正しい既約多項式を入力するようにユーザに促し(ステップS29)、ステップS27以降の処理を繰り返す。
【0058】
図12は、図11のステップS25における既約多項式生成処理のフローチャートである。まず、テーブル参照部32は、多項式発生部33に拡大次数mを入力し(ステップS31)、多項式発生部33は、(m+1)ビットの乱数(バイナリコード)を発生させる(ステップS32)。
【0059】
次に、多項式発生部33は、有限体GF(2)={0,1}の要素を係数とするm次の多項式を生成する(ステップS33)。ここでは、k=1,2,...,m+1のそれぞれの値について、発生した乱数のkビット目の値(0または1)をxk-1 の項の係数とし、それらの項からなるm次の多項式を生成する。
【0060】
次に、既約性判定部34は、生成された多項式の既約性判定を行い(ステップS34)、それが既約か否かをチェックする(ステップS35)。既約性判定のアルゴリズムとしては、例えば、上述した文献[2]の30ページに記載されているようなものが用いられる。生成された多項式が既約でなければ、ステップS32以降の処理を繰り返し、既約な多項式が得られれば、それを既約多項式格納域36に出力して(ステップS36)、処理を終了する。
【0061】
図11の処理により、拡大次数mと既約多項式F(x)が既約多項式格納域36に設定されると、有限体演算部18は、そのデータに基づいて有限体GF(2m )上の有限体演算を行う。このような構成によれば、ユーザが拡大次数mさえ指定すれば自動的にm次の既約多項式F(x)が生成されるため、ユーザが既約多項式F(x)を指定する際の負荷が軽減される。また、必要であれば、ユーザが既約多項式F(x)を直接指定することもでき、柔軟な操作性が実現される。
【0062】
ところで、有限体GF(2m )上の演算を高速化する方法の1つとして、最適化正規基底(optimal normal basis)を用いる方法が知られている(文献[1],pp.167−170/文献[2],pp.19−24)。一般に、有限体GF(2m )は、正規基底(normal basis)を生成元として表現することができ、特に、最適化正規基底に基づく表現データを用いれば、べき乗算および乗算を飛躍的に高速化することができる。
【0063】
そこで、図9のデータ生成装置において、最適化正規基底を用いた表現データを生成するオプションを設けることにする。ただし、最適化正規基底は、必ずしもすべての拡大次数について存在するわけではなく、これを利用するためには、拡大次数mを適切に指定する必要がある。例えば、暗号に用いられる160≦m≦2000の拡大次数のうち最適化正規基底が存在するものは、以下の文献にリストアップされている。
文献[3]:American National Standard, x9.62-199x, Public Key Cryptography For The Financial Services Industry: The Elliptic Curve Digital Signature Algorithm, p.41, Working Draft.
ユーザは、自動条件指定インタフェース12および手動データ指定インタフェース13を介して、最適化正規基底を使用するか否かをオプションとして指定することができる。この場合、既約多項式表31には、各拡大次数について、最適化正規基底が存在するか否かを表す情報が付加され、存在する場合は、必要に応じてその最適化正規基底用既約多項式の情報が付加される。最適化正規基底用既約多項式とは、最適化正規基底を用いて有限体を表現するために必要な特定の既約多項式を指す。
【0064】
図13は、このようなデータ生成装置による処理のフローチャートである。まず、データ生成装置は、自動モードと手動モードのいずれが選択されたかをチェックする(ステップS41)。自動モードにおいては、ユーザは、自動条件指定インタフェース12を介して、拡大次数mと最適化正規基底を使用する指示とを入力する。また、手動モードにおいては、ユーザは、自ら具体的なm次の最適化正規基底用既約多項式F(x)を選択し、それを拡大次数mとともに手動データ指定インタフェース13を介して入力する。
【0065】
自動モードが選択された場合、テーブル参照部32は、既約多項式表31を参照して、指定された拡大次数mの最適化正規基底が存在するか否かをチェックする(ステップS42)。そして、m次の最適化正規基底が存在しないか、あるいは拡大次数mがサポート範囲外であれば、自動条件指定インタフェース12を介して警告を発し、拡大次数の再入力を要求して(ステップS43)、ステップS42以降の処理を繰り返す。
【0066】
最適化正規基底を有する拡大次数mが入力されると、次に、既約多項式表31に最適化正規基底用既約多項式が存在するか否かをチェックする(ステップS44)。そのような既約多項式が既約多項式表31に存在すれば、それを最適化正規基底用既約多項式F(x)として、拡大次数mとともに既約多項式格納域36に設定し(ステップS46)、処理を終了する。
【0067】
また、そのような既約多項式が存在しなければ、多項式発生部33は、m次の最適化正規基底用既約多項式を生成する(ステップS45)。そして、それを最適化正規基底用既約多項式F(x)として、拡大次数mとともに既約多項式格納域36に設定し(ステップS46)、処理を終了する。最適化正規基底用既約多項式の生成アルゴリズムとしては、例えば、上述した文献[2]の37ページに記載されているようなものが用いられる。
【0068】
ステップS41において手動モードが選択された場合、既約性判定部35は、指定された多項式F(x)の最適化正規基底用既約性判定を行い(ステップS47)、それが本当に最適化正規基底用既約多項式であるか否かをチェックする(ステップS48)。
【0069】
最適化正規基底用既約性判定は、例えば、上述した文献[2]の20ページに記載されている最適化正規基底が存在するか否かの判定アルゴリズムと、最適化正規基底用既約多項式の生成アルゴリズムとを組み合わせて行われる。
【0070】
この場合、既約性判定部35は、まず、指定された多項式F(x)の拡大次数mにおいて、最適化正規基底が存在するか否かをチェックする。最適化正規基底が存在すれば、次に、m次の最適化正規基底用既約多項式を生成して、F(x)を生成された多項式と比較する。そして、両者が一致すれば、F(x)が最適化正規基底用既約多項式であると判定する。
【0071】
また、あらかじめこれらのアルゴリズムに基づいて、サポート範囲内のすべての最適化正規基底用既約多項式のテーブルを生成しておき、そのテーブルを参照しながら、最適化正規基底用既約性判定を行うこともできる。
【0072】
指定された多項式F(x)が最適化正規基底用既約多項式であれば、それを表現データとして採用して、拡大次数mとともに既約多項式格納域36に設定し(ステップS46)、処理を終了する。また、それが最適化正規基底用既約多項式でなければ、手動データ指定インタフェース13を介して警告を発し、再度、正しい最適化正規基底用既約多項式を入力するようにユーザに促し(ステップS49)、ステップS47以降の処理を繰り返す。
【0073】
拡大次数mと最適化正規基底用既約多項式F(x)が既約多項式格納域36に設定されると、有限体演算部18は、そのデータに基づいて有限体GF(2m )上の有限体演算を行う。
【0074】
このような構成によれば、ユーザが最適化正規基底を有する拡大次数mさえ指定すれば、自動的にm次の最適化正規基底用既約多項式F(x)が生成される。このため、ユーザが最適化正規基底用既約多項式F(x)を指定する際の負荷が軽減されるとともに、最適化正規基底に基づく高速な有限体演算が可能となる。また、必要であれば、ユーザが最適化正規基底用既約多項式F(x)を直接指定することもでき、柔軟な操作性が実現される。
【0075】
以上の実施形態においては、主として、有限体GF(p)およびGF(2m )の表現データを生成する場合について説明したが、一般の有限体GF(pm )の表現データを生成する場合も同様である。この場合、ユーザは、素数pまたはそのビット長nと拡大次数mさえ指定すれば、データ生成装置は、自動的にGF(pm )の表現データを生成する。
【0076】
ところで、本実施形態のデータ生成装置および有限体演算装置は、図14に示すような情報処理装置(コンピュータ)を用いて構成することができる。図14の情報処理装置は、CPU(中央処理装置)41、メモリ42、入力装置43、出力装置44、外部記憶装置45、媒体駆動装置46、およびネットワーク接続装置47を備え、それらはバス48により互いに接続されている。
【0077】
メモリ42は、例えば、ROM(read only memory)、RAM(random access memory)等を含み、処理に用いられるプログラムとデータを格納する。CPU41は、メモリ42を利用してプログラムを実行することにより、必要な処理を行う。
【0078】
この場合、図4の自動条件指定インタフェース12、手動データ指定インタフェース13、表現データ生成器15、および表現データ検証器16は、メモリ42の特定のプログラムコードセグメントに格納されたインストラクションの集合により実現されるソフトウェアコンポーネントに対応する。また、図4の固定データテーブル14と表現データ格納域17は、メモリ42内に設けられる。
【0079】
入力装置43は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置44は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへのメッセージや処理結果の出力に用いられる。
【0080】
外部記憶装置45は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク(magneto-optical disk)装置等である。情報処理装置は、この外部記憶装置45に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ42にロードして使用することができる。
【0081】
媒体駆動装置46は、可搬記録媒体49を駆動し、その記録内容にアクセスする。可搬記録媒体49としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体49に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ42にロードして使用することができる。
【0082】
ネットワーク接続装置47は、任意のネットワーク(回線)を介して外部の装置と通信し、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、ネットワーク接続装置47を介して上述のプログラムとデータを外部の装置から受け取り、それらをメモリ42にロードして使用することができる。
【0083】
図15は、図14の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体49や外部のデータベース50に保存されたプログラムとデータは、メモリ42にロードされる。そして、CPU41は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【0084】
【発明の効果】
本発明によれば、ユーザが最小限の条件さえ指定すれば自動的に有限体の表現データが生成されるため、ユーザの負荷が大きく軽減される。また、特定の表現データを選択的に生成することにより、高速な有限体演算を実現することができる。さらに、有限体演算の様々な局面に応じて、ユーザがすべての表現データを柔軟に指定することもできる。
【図面の簡単な説明】
【図1】本発明のデータ生成装置の原理図である。
【図2】第1の秘密情報の交換を示す図である。
【図3】第2の秘密情報の交換を示す図である。
【図4】第1のデータ生成装置の構成図である。
【図5】第1のデータ生成処理のフローチャートである。
【図6】第2のデータ生成装置の構成図である。
【図7】素数表を示す図である。
【図8】第2のデータ生成処理のフローチャートである。
【図9】第3のデータ生成装置の構成図である。
【図10】既約多項式表を示す図である。
【図11】第3のデータ生成処理のフローチャートである。
【図12】既約多項式生成処理のフローチャートである。
【図13】第4のデータ生成処理のフローチャートである。
【図14】情報処理装置の構成図である。
【図15】記録媒体を示す図である。
【符号の説明】
1 入力手段
2 生成手段
3 表現データ格納手段
11 入出力装置
12 自動条件指定インタフェース
13 手動データ指定インタフェース
14 固定データテーブル
15 表現データ生成器
16 表現データ検証器
17 表現データ格納域
18 有限体演算装置
21 素数表
22、32 テーブル参照部
23 乱数発生部
24、25 素数判定部
26 素数格納域
31 既約多項式表
33 多項式発生部
34、35 既約性判定部
36 既約多項式格納域
41 CPU
42 メモリ
43 入力装置
44 出力装置
45 外部記憶装置
46 媒体駆動装置
47 ネットワーク接続装置
48 バス
49 可搬記録媒体
50 データベース
//

Claims (11)

  1. 素数pを標数とする素体GF(p)を指定する条件として、前記素数pのビット長を入力する入力手段と、
    1つ以上のあらかじめ決められた素数について、該素数のバイナリコードのビット長と該素数との対応関係を格納し、与えられたビット長をキーとして対応する素数を検索できるよう構成した素数表と、
    前記入力手段により入力されたビット長nから、バイナリコードのビット長がnである素数pを生成する生成手段と、
    該生成した素数pを格納する表現データ格納手段と
    を備え、
    前記生成手段は、前記入力手段により入力されたビット長nをキーとして前記素数表を検索し、該ビット長nに対応する素数が前記素数表に存在する場合は該素数をpとして前記表現データ格納手段に格納し、該ビット長nに対応する素数が前記素数表に存在しない場合は、ビット長がnの乱数を発生させ、該乱数が素数か否か判定し、素数だと判定されれば該乱数をpとして前記表現データ格納手段に格納する、
    ことを特徴とするデータ生成装置。
  2. を指定する指定手段と、
    該指定手段により指定された前記数が素数か否かを検証する検証手段とをさらに備え、
    該検証手段は、該指定手段により指定された前記数が素数なら該数を素数pとして前記表現データ格納手段に格納し、該指定手段により指定された前記数が素数でなければ該指定手段に他のを要求することを特徴とする
    請求項1記載のデータ生成装置。
  3. 拡大次数mと、素数pを標数とする素体GF(p)の要素を係数とするm次の既約多項式F(x)により表現される有限体GF(p )を指定する条件として、前記拡大次数mを入力する入力手段と、
    GF(p)の要素を係数とする1つ以上のあらかじめ決められた既約多項式について、該既約多項式の拡大次数と該既約多項式との対応関係を格納し、与えられた拡大次数をキーとして対応する既約多項式を検索できるよう構成した既約多項式表と、
    前記入力手段により入力された拡大次数mから、GF(p)の要素を係数とするm次の既約多項式F(x)を生成する生成手段と、
    該生成した既約多項式F(x)を格納する表現データ格納手段と
    を備え、
    前記生成手段は、前記入力手段により入力された拡大次数mをキーとして前記既約多項式表を検索し、m次の既約多項式が前記既約多項式表に存在する場合は該既約多項式をF(x)として前記表現データ格納手段に格納し、m次の既約多項式が前記既約多項式表に存在しない場合は、p m+1 未満の乱数を発生させ、1≦k≦(m+1)なる全ての整数kに対して該乱数のp進展開のk桁目の値をx k−1 の係数としてm次の多項式を生成し、該多項式が既約か否か判定し、既約と判定されれば該多項式をF(x)として前記表現データ格納手段に格納し、既約と判定されなければp m+1 未満の乱数を発生させる過程から繰り返す、
    ことを特徴とするデータ生成装置。
  4. GF(p)の要素を係数とする多項式を指定する指定手段と、
    該指定手段により指定された前記多項式が既約か否かを検証する検証手段とをさらに備え、
    該検証手段は、該指定手段により指定された前記多項式が既約なら該多項式を既約多項式F(x)として前記表現データ格納手段に格納し、該指定手段により指定された前記多項式が既約でなければ該指定手段に他の多項式を要求することを特徴とする
    請求項記載のデータ生成装置。
  5. 最適化正規基底を使用するか否かを指定する第二の入力手段をさらに備え、
    前記既約多項式表は、格納している各拡大次数について、該拡大次数の最適化正規基底が存在するか否かの情報と、存在する場合は最適化正規基底用既約多項式の情報とをさらに格納し、
    前記生成手段は、最適化正規基底を使用すると前記第二の入力手段によって指定された場合、前記入力手段により入力された拡大次数mをキーとして前記既約多項式表を検索し、
    m次の最適化正規基底が存在し、m次の最適化正規基底用既約多項式が前記既約多項式表に存在する場合は、該最適化正規基底用既約多項式をF(x)として前記表現データ格納手段に格納し、
    m次の最適化正規基底が存在するが、m次の最適化正規基底用既約多項式が前記既約多項式表に存在しない場合は、m次の最適化正規基底用既約多項式を生成してF(x)として前記表現データ格納手段に格納し、
    m次の最適化正規基底が存在しない場合は、拡大次数の再入力を要求する、
    ことを特徴とする請求項3に記載のデータ生成装置。
  6. GF(p)の要素を係数とする多項式を指定する指定手段と、
    該指定手段により指定された前記多項式が最適化正規基底用既約多項式か否かを検証する検証手段とをさらに備え、
    該検証手段は、該指定手段により指定された前記多項式が最適化正規基底用既約多項式なら該多項式を最適化正規基底用既約多項式F(x)として前記表現データ格納手段に格納し、該指定手段により指定された前記多項式が最適化正規基底用既約多項式でなければ該指定手段に他の多項式を要求することを特徴とする
    請求項記載のデータ生成装置。
  7. 前記表現データ格納手段に格納された表現データに基づいて有限体演算を行う演算手段をさらに備えることを特徴とする請求項1、3、5のいずれか一項に記載のデータ生成装置。
  8. コンピュータのためのプログラムを記録した記録媒体であって、
    素数pを標数とする素体GF(p)を指定する条件として、前記素数pのビット長nが入力されたとき、
    1つ以上のあらかじめ決められた素数について、該素数のバイナリコードのビット長と該素数との対応関係を格納し、与えられたビット長をキーとして対応する素数を検索できるよう構成されている素数表を、前記入力されたビット長nをキーとして検索するステップと、
    前記検索ステップで該ビット長nに対応する素数が前記素数表に存在した場合は該素数を出力し、前記検索ステップで該ビット長nに対応する素数が前記素数表に存在しなかった場合は、ビット長がnの乱数を発生させ、該乱数が素数か否か判定し、素数だと判定されれば該乱数を出力するステップと
    を含む処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. コンピュータのためのプログラムを記録した記録媒体であって、
    拡大次数mと、素数pを標数とする素体GF(p)の要素を係数とするm次の既約多項式F(x)により表現される有限体GF(p )を指定する条件として、前記拡大次数mが入力されたとき、
    GF(p)の要素を係数とする1つ以上のあらかじめ決められた既約多項式について、該既約多項式の拡大次数と該既約多項式との対応関係を格納し、与えられた拡大次数をキーとして対応する既約多項式を検索できるよう構成した既約多項式表を、前記入力された拡大次数mをキーとして検索するステップと、
    前記検索ステップでm次の既約多項式が前記既約多項式表に存在した場合は該既約多項式を出力し、前記検索ステップでm次の既約多項式が前記既約多項式表に存在しなかった場合は、p m+1 未満の乱数を発生させ、1≦k≦(m+1)なる全ての整数kに対して該乱数のp進展開のk桁目の値をx k−1 の係数としてm次の多項式を生成し、該多項式 が既約か否か判定し、既約と判定されれば該多項式を出力し、既約と判定されなければp m+1 未満の乱数を発生させる過程から繰り返すステップと
    を含む処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. 入力手段が、素数pを標数とする素体GF(p)を指定する条件として、前記素数pのビット長n入力し、
    生成手段が、1つ以上のあらかじめ決められた素数について、該素数のバイナリコードのビット長と該素数との対応関係を格納し、与えられたビット長をキーとして対応する素数を検索できるよう構成されている素数表を、前記指定されたビット長nをキーとして検索し、
    前記生成手段が、該ビット長nに対応する素数が前記素数表に存在した場合は該素数をpとし、該ビット長nに対応する素数が前記素数表に存在しなかった場合は、ビット長がnの乱数を発生させ、該乱数が素数か否か判定し、素数だと判定されれば該乱数をpとして、生成された素数pを有限体演算装置に供給する
    ことを特徴とするデータ生成方法。
  11. 入力手段が、拡大次数mと、素数pを標数とする素体GF(p)の要素を係数とするm次の既約多項式F(x)により表現される有限体GF(p を指定する条件として、前記拡大次数m入力し、
    生成手段が、GF(p)の要素を係数とする1つ以上のあらかじめ決められた既約多項式について、該既約多項式の拡大次数と該既約多項式との対応関係を格納し、与えられた拡大次数をキーとして対応する既約多項式を検索できるよう構成した既約多項式表を、前記入力された拡大次数mをキーとして検索し、
    前記生成手段が、m次の既約多項式が前記既約多項式表に存在した場合は該既約多項式をF(x)とし、m次の既約多項式が前記既約多項式表に存在しなかった場合は、p m+1 未満の乱数を発生させ、1≦k≦(m+1)なる全ての整数kに対して該乱数のp進展開のk桁目の値をx k−1 の係数としてm次の多項式を生成し、該多項式が既約か否か判定し、既約と判定されれば該多項式をF(x)とし、既約と判定されなければp m+1 未満の乱数を発生させる過程から繰り返し、
    前記生成手段が、生成された既約多項式F(x)を有限体演算装置に供給する
    ことを特徴とするデータ生成方法。
JP10292099A 1999-04-09 1999-04-09 有限体演算における表現データ生成装置および方法 Expired - Fee Related JP3833412B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP10292099A JP3833412B2 (ja) 1999-04-09 1999-04-09 有限体演算における表現データ生成装置および方法
US09/503,205 US7142668B1 (en) 1999-04-09 2000-02-14 Apparatus and method for generating expression data for finite field operation
CA002298995A CA2298995C (en) 1999-04-09 2000-02-21 Apparatus and method for generating expression data for finite field operation
EP00301488A EP1043654A3 (en) 1999-04-09 2000-02-25 Apparatus and method for generating parameters for finite field operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10292099A JP3833412B2 (ja) 1999-04-09 1999-04-09 有限体演算における表現データ生成装置および方法

Publications (2)

Publication Number Publication Date
JP2000293507A JP2000293507A (ja) 2000-10-20
JP3833412B2 true JP3833412B2 (ja) 2006-10-11

Family

ID=14340303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10292099A Expired - Fee Related JP3833412B2 (ja) 1999-04-09 1999-04-09 有限体演算における表現データ生成装置および方法

Country Status (4)

Country Link
US (1) US7142668B1 (ja)
EP (1) EP1043654A3 (ja)
JP (1) JP3833412B2 (ja)
CA (1) CA2298995C (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2811093A1 (fr) * 2000-06-30 2002-01-04 St Microelectronics Sa Dispositif et procede d'evaluation d'algorithmes
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
GB0622553D0 (en) * 2006-11-11 2006-12-20 Ibm A method, apparatus or software for managing partitioning in a cluster of nodes
US8707042B2 (en) * 2008-08-28 2014-04-22 Red Hat, Inc. Sharing keys between cooperating parties
KR20120095210A (ko) * 2011-02-18 2012-08-28 삼성전자주식회사 반도체 칩의 타이밍 해석 시스템 및 그 방법
GB2584154A (en) * 2019-05-24 2020-11-25 Nchain Holdings Ltd Knowledge proof
KR102217928B1 (ko) * 2019-06-14 2021-02-19 광운대학교 산학협력단 랜덤 소수 생성 방법 및 그를 위한 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736423A (en) 1985-04-30 1988-04-05 International Business Machines Corporation Technique for reducing RSA Crypto variable storage
US4687988A (en) * 1985-06-24 1987-08-18 International Business Machines Corporation Weighted random pattern testing apparatus and method
US5189633A (en) * 1990-01-12 1993-02-23 Bonadio Allan R Apparatus and method for interactively manipulating mathematical equations
SE466822B (sv) 1990-06-15 1992-04-06 Mastrovito Edoardo Anordning foer multiplikation av tvaa element i en galoiskropp
DE69113245D1 (de) 1991-03-14 1995-10-26 Omnisec Ag Regensdorf Verschlüsselungssystem mit öffentlichem Schlüssel unter Verwendung elliptischer Kurven über Ringe.
JPH05181418A (ja) 1991-06-28 1993-07-23 Matsushita Electric Ind Co Ltd 楕円曲線を用いた公開鍵暗号通信方式
US5272755A (en) 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
JPH06295154A (ja) 1993-04-09 1994-10-21 Matsushita Electric Ind Co Ltd 楕円曲線を用いた署名、認証及び秘密通信方式
US5442707A (en) 1992-09-28 1995-08-15 Matsushita Electric Industrial Co., Ltd. Method for generating and verifying electronic signatures and privacy communication using elliptic curves
JP3292362B2 (ja) 1995-09-04 2002-06-17 日本電信電話株式会社 素数生成装置、素因数判定装置、および制限付き素数生成装置
US5933501A (en) * 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
JP4058152B2 (ja) 1998-01-27 2008-03-05 松下電器産業株式会社 楕円曲線演算装置
CA2257008C (en) 1998-12-24 2007-12-11 Certicom Corp. A method for accelerating cryptographic operations on elliptic curves

Also Published As

Publication number Publication date
US7142668B1 (en) 2006-11-28
CA2298995C (en) 2003-08-05
EP1043654A2 (en) 2000-10-11
JP2000293507A (ja) 2000-10-20
CA2298995A1 (en) 2000-10-09
EP1043654A3 (en) 2005-02-09

Similar Documents

Publication Publication Date Title
JP5328186B2 (ja) データ処理システム及びデータ処理方法
US6266688B1 (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
KR101594553B1 (ko) 암호화 키를 생성하는 방법, 이를 위한 네트워크 및 컴퓨터 프로그램
JP3833412B2 (ja) 有限体演算における表現データ生成装置および方法
CN108880807A (zh) 私钥签名处理方法、装置、设备和介质
JPH10240128A (ja) 暗号装置、暗号鍵生成方法及び暗号鍵管理方法、並びに素数生成装置及び素数生成方法
US6609141B1 (en) Method of performing modular inversion
JP2001051832A (ja) 乗算剰余演算方法および乗算剰余回路
JP3551853B2 (ja) αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体
JP4629300B2 (ja) 暗号学的擬似乱数発生装置及びプログラム
US20140105386A1 (en) Computing genus-2 curves using general isogenies
JP5603533B2 (ja) 素数生成プログラム、該プログラムを記録した記録媒体、素数生成装置および素数生成方法
JP2004004784A (ja) ハッシュ・アルゴリズムを実装するためのシステム及び方法
JP3292362B2 (ja) 素数生成装置、素因数判定装置、および制限付き素数生成装置
JP4861272B2 (ja) 楕円曲線暗号演算装置、方法、プログラム
KR102600166B1 (ko) 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템에서 사용되는 다항식의 역원을 생성하기 위한 역원 생성 장치 및 방법
JP2001154580A (ja) 素数生成方法及び装置及び素数生成プログラムを格納した記憶媒体
JP3881273B2 (ja) 暗号鍵生成装置、暗号鍵生成プログラムおよびそのプログラムを記録した記録媒体
JP2002358012A (ja) 情報セキュリティ装置、べき乗演算装置、べき乗剰余演算装置及び楕円べき倍演算装置
US7480380B2 (en) Method for efficient generation of modulo inverse for public key cryptosystems
JP2004205870A (ja) 超楕円曲線スカラー倍演算方法及び装置
JP2004248330A (ja) 暗号装置、暗号鍵生成方法、暗号鍵管理方法
JP2001194996A (ja) 多項式の除算装置
JP2003218858A (ja) 署名生成方法及び署名検証方法及び署名生成装置及び署名検証装置及び署名生成プログラム及び署名検証プログラム及び署名生成プログラムを格納した記憶媒体及び署名検証プログラムを格納した記憶媒体
JP3992883B2 (ja) 演算装置及び演算方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060719

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees