JP2000293507A - 有限体演算における表現データ生成装置および方法 - Google Patents
有限体演算における表現データ生成装置および方法Info
- Publication number
- JP2000293507A JP2000293507A JP11102920A JP10292099A JP2000293507A JP 2000293507 A JP2000293507 A JP 2000293507A JP 11102920 A JP11102920 A JP 11102920A JP 10292099 A JP10292099 A JP 10292099A JP 2000293507 A JP2000293507 A JP 2000293507A
- Authority
- JP
- Japan
- Prior art keywords
- expression data
- data
- finite field
- condition
- expression
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite 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)
Abstract
体の表現データを柔軟に設定することが課題である。 【解決手段】 ユーザが入出力装置11から自動条件指
定インタフェース12を介して指定条件を入力すると、
表現データ生成器15は、固定データテーブル14を参
照し、固定データテーブル14に条件を満たす表現デー
タがなければ、自動的に表現データを生成する。生成さ
れた表現データは表現データ格納域17に設定され、有
限体演算装置18は、その表現データを参照して、有限
体演算を行う。
Description
する有限体演算を行う際に、有限体の表現データを自動
的に設定するデータ生成装置およびその方法に関する。
ーク技術の発展に伴い、符号、暗号等を含む様々な分野
において、有限体演算を行う局面が増えてきている。有
限体(finite field)とは、四則演算が定義されている
有限集合を指し、有限体演算とは、有限体上で定義され
たこれらの演算を指す。
用したビジネスにおいては、オープンネットワークのセ
キュリティを確保するための暗号理論が非常に重要な技
術として脚光を浴びている。暗号技術を実現するために
は有限体演算が必須であるが、データのセキュリティを
保つために非常に大きなサイズの有限体を用いるケース
が多く、その演算効率を上げることは、実用上重要なテ
ーマである。
くつかの表現データを決定して、有限体を表現しなけれ
ばならない。有限体の要素(元)の個数は、pを素数と
し、mを正整数として、pm となる。この正整数mは拡
大次数と呼ばれる。一般に、有限体の要素を記述するた
めには、素数p、拡大次数m、およびm次の既約多項式
F(x)を表現データとして設定しなければならないこ
とが知られている。
身があらかじめ内蔵している固定の表現データを用いる
か、もしくは、ユーザがすべての表現データを指定する
ことで、有限体を表現していた。
有限体の表現方法には、次のような問題がある。固定の
表現データのみを用いる場合、符号、暗号等のシステム
における様々な局面に必要となる多様な表現データを得
ることができず、表現の柔軟性に欠ける。また、非常に
大きな有限体において、ユーザがすべての表現データを
指定する場合、表現データの選択に多大な労力を要す
る。さらに、ユーザが不適切な表現データを選択する
と、演算速度が低下し、システムの性能が低下するとい
った弊害が生じることもある。
実現するために、ユーザの負荷をなるべく軽減しなが
ら、有限体の表現データを柔軟に設定するデータ生成装
置およびその方法を提供することである。
生成装置の原理図である。図1のデータ生成装置は、入
力手段1、生成手段2、および表現データ格納手段3を
備える。入力手段1は、有限体を指定する条件を入力す
る。生成手段2は、入力された条件に基づいて、有限体
の表現データを自動的に生成し、表現データ格納手段3
は、生成された表現データを格納する。
条件に基づいて、その条件に対応する有限体の表現デー
タを自動的に生成し、生成された表現データを表現デー
タ格納手段3に格納する。格納された表現データは、有
限体演算を行う装置に供給され、その表現データを用い
た有限体演算が行われる。
有限体の条件を入力することができる。このとき、例え
ば、素数pのビット長や拡大次数mのような、直観的に
思いつくことのできる最小限の条件さえ指定すれば、生
成手段2が、素数pやm次の既約多項式F(x)のよう
な、直観的に思いつくことの困難な表現データを自動的
に生成する。
おけるユーザの負荷が軽減され、生成手段2が生成可能
な範囲内で、表現データを柔軟に設定することが可能に
なる。さらに、適切な条件が指定されれば、効率の良い
有限体演算を実現する表現データが生成される。このよ
うに、本発明のポイントは、指定された条件に基づい
て、有限体の表現データを自動的に生成することであ
る。
4の入出力装置11および自動条件指定インタフェース
12に対応し、図1の生成手段2は、図4の表現データ
生成器15に対応し、図1の表現データ格納手段3は、
図4の表現データ格納域17に対応する。
明の実施の形態を詳細に説明する。まず、図2および図
3を参照しながら、暗号技術に用いられる有限体演算の
例を説明する。
交換の例を示している。例えば、ユーザAとユーザBの
間で秘密鍵暗号を用いてデータ通信を行う場合、まず、
両者が秘密鍵を共有する必要がある。このとき、第3者
に知られることなく、ネットワーク上で秘密情報を交換
するために、Diffie-Hellmanの鍵交換が用いられる。
pm の有限体をGF(pm )と記すことにすると、図2
で用いられている有限体は、GF(11)と記される
(m=1)。m=1の有限体は、素体(prime field )
とも呼ばれる。
おり、ユーザAの秘密情報がx=4であり、ユーザBの
秘密情報がy=6であり、共有すべき秘密情報がs=g
xymod p=224 mod 11=5である場合を考
える。mod pは、pを法とする剰余演算を表し、g
xy mod pは、GF(11)における有限体演算の
一例を表している。
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とgymod
pを取得したとしても、これらの情報からxとyを求め
ることは極めて困難となり、秘密情報sを知ることは事
実上不可能である。こうして、ユーザAとユーザBは、
秘密情報sを安全に共有することができ、この情報を秘
密鍵として用いて暗号通信を行うことができる。
おいて、有限体GF(2)={0,1}の要素(0また
は1)を係数とする3次既約多項式を用いて表される有
限体GF(23 )を用いた例を示している。この場合、
GF(23 )は、GF(2)の要素を係数とする項から
なる23 個の2次以下の多項式を要素として持つ。
(x)=x3 +x+1、g=x modf(x)が公開
されており、ユーザAの秘密情報がi=4であり、ユー
ザBの秘密情報がj=6であり、共有すべき秘密情報が
s=gij mod f(x)である場合を考える。mo
d f(x)は、f(x)を法とする多項式の剰余演算
を表し、gij mod f(x)は、GF(23 )にお
ける有限体演算の一例を表している。
(x)=x4 mod (x3 +x+1)=x2 +xをユ
ーザBに送信し、ユーザBは、gj mod f(x)=
x6 mod (x3 +x+1)=x2 +1をユーザAに
送信する。次に、ユーザAは、ユーザBから受信したg
j 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 mo
d f(x)を取得したとしても、これらの情報からi
とjを求めることは極めて困難となり、第3者が秘密情
報sを知ることは事実上不可能である。こうして、ユー
ザAとユーザBは、秘密情報sを安全に共有することが
でき、この情報を秘密鍵として用いて暗号通信を行うこ
とができる。
るためには、素数pを指定しなければならず、有限体G
F(2m )を表現するためには、拡大次数mとm次の既
約多項式を指定しなければならない。しかしながら、p
やmとして非常に大きな数を用いる場合、ユーザが素数
pやm次の既約多項式を陽に指定することは難しい。
直観的に思いつくことのできる最小限の条件さえ指定す
れば、自動的に素数pやm次の既約多項式等の表現デー
タを生成する。このため、ユーザが表現データを指定す
る際の負荷が大きく軽減される。
た表現データを選択することで、より高速な有限体演算
が実現される。さらに、ユーザがすべての表現データを
指定することのできるインタフェースを設けることによ
り、様々な局面に対応できる柔軟性が実現される。
構成図である。図4のデータ生成装置は、入出力装置1
1、自動条件指定インタフェース12、手動データ指定
インタフェース13、固定データテーブル14、表現デ
ータ生成器15、表現データ検証器16、および表現デ
ータ格納域17を備え、有限体演算装置18が用いる有
限体の表現データを生成する。
条件指定インタフェース12または手動データ指定イン
タフェース13に対して必要な指示を入力する。自動条
件指定インタフェース12は、ユーザが表現データ生成
のための最小限の条件を指定する場合に用いられ、手動
データ指定インタフェース13は、ユーザが表現データ
の任意のパラメータを自ら指定する場合に用いられる。
められた適切な表現データを格納し、表現データ生成器
15は、自動条件指定インタフェース12による指定に
従って、最終的に使用される表現データを決定する。表
現データ検証器16は、手動データ指定インタフェース
13により指定された表現データが有限体演算に適切な
ものかどうかを検証する。
使用される表現データを格納し、有限体演算装置18
は、表現データ格納域17の表現データを参照して、有
限体演算を行う。
のフローチャートである。ユーザは表現データ選択のた
めの条件指定において、自動モードまたは手動モードの
いずれかを選択することができ、データ生成装置は、自
動条件指定インタフェース12および手動データ指定イ
ンタフェース13により、どちらのモードが選択された
かをチェックする(ステップS1)。自動モードにおい
ては、ユーザは最低限の条件を指定するだけで済み、手
動モードにおいては、ユーザは表現データのすべてのパ
ラメータを指定しなければならない。
生成器15は、まず、指定された条件が適切か否か(正
当か否か)をチェックする(ステップS2)。そして、
それが適切でなければ、自動条件指定インタフェース1
2を介して警告を発し、条件の再入力を要求して(ステ
ップS3)、ステップS2以降の処理を繰り返す。
ータテーブル14を検索して、指定された条件を満たす
表現データが存在するか否かをチェックする(ステップ
S4)。そのような表現データが固定データテーブル1
4に存在すれば、そのパラメータを表現データ格納域1
7に設定し(ステップS6)、処理を終了する。また、
そのような表現データが存在しなければ、指定された条
件に基づいて表現データを生成して(ステップS5)、
表現データ格納域17に設定し(ステップS6)、処理
を終了する。
された表現データは、例えば、高速な有限体演算を実現
できるように選ばれたものであり、表現データ生成器1
5による表現データ生成のロジックは、例えば、高速な
有限体演算を実現する表現データを生成するものであ
る。
れた場合、表現データ検証器16は、指定された表現デ
ータの正当性を検証し(ステップS7)、それが有限体
演算を行うにあたって適切なものかどうかをチェックす
る(ステップS8)。
それを表現データ格納域17に設定し(ステップS
6)、処理を終了する。また、指定された表現データが
適切でなければ、手動データ指定インタフェース13を
介して警告を発し、再度、適切な表現データを指定する
ようにユーザに促し(ステップS9)、ステップS7以
降の処理を繰り返す。
されると、有限体演算部18は、その値に基づいて有限
体演算を行う。自動モードが選択された場合、自動的に
高速な有限体演算を実現する表現データが設定されるた
め、演算の効率が向上する。
ら、図4の構成に基づく様々なデータ生成装置の実施形
態について説明する。図6は、素数pに関する条件に基
づいて素体GF(p)の表現データを生成するデータ生
成装置の構成図である。素体GF(p)の表現データと
しては、素数pを設定すればよい。この数pは、標数
(characteristic)とも呼ばれる。
1、自動条件指定インタフェース12、手動データ指定
インタフェース13、素数表21、テーブル参照部2
2、乱数発生部23、素数判定部24、25、および素
数格納域26を備え、有限体演算装置18が用いる素体
の表現データを生成する。
14に対応し、あらかじめ決められた素数とそのバイナ
リコードのビット長nの対応関係を格納する。例えば、
図7に示す素数表においては、n=2,3,4,...
に対応する素数3,7,11,...が順に格納されて
いる。
よび素数判定部24は、図4の表現データ生成器15に
対応する。テーブル参照部22は、与えられたビット長
nをキーとして素数表21を参照し、対応する素数を取
得する。与えられたビット長nに対応する素数が素数表
21に存在しないとき、乱数発生部23は、ビット長n
の乱数を発生し、素数判定部24は、その乱数が素数か
否かを判定する。
器16に対応し、ユーザが指定した素数pが本当に素数
であるか否かを判定する。素数格納域26は、図4の表
現データ格納域17に対応し、与えられた素数pを表現
データとして格納する。
のフローチャートである。まず、データ生成装置は、自
動モードと手動モードのいずれが選択されたかをチェッ
クする(ステップS11)。自動モードにおいては、ユ
ーザは自動条件指定インタフェース12を介して素数の
ビット長n(素体のビットサイズ)のみを入力し、手動
モードにおいては、ユーザは自ら具体的な素数pを選択
し、手動データ指定インタフェース13を介してそれを
入力する。
照部22は、指定されたビット長nがサポート範囲内の
ビット長か否かをチェックする(ステップS12)。そ
して、それがサポート範囲外であれば、自動条件指定イ
ンタフェース12を介して警告を発し、ビット長の再入
力を要求して(ステップS13)、ステップS12以降
の処理を繰り返す。
と、次に、素数表21を検索して、ビット長nに対応す
る素数が存在するか否かをチェックする(ステップS1
4)。そのような素数が素数表21に存在すれば、それ
を素数pとして素数格納域26に設定し(ステップS1
6)、処理を終了する。
乱数発生部23は、指定されたビット長nの乱数を発生
させ、素数判定部24は、発生した乱数が素数か否かを
判定する(ステップS15)。そして、素数判定部24
は、素数と判定された乱数を表現データとして採用し、
それを素数pとして素数格納域26に設定して(ステッ
プS16)、処理を終了する。
y test)のアルゴリズムとしては、例えば、以下の文献
に記載されているようなものが用いられる。 文献[1]:情報処理学会 監修,岡本龍明(おかもと
たつあき)・太田和夫(おおた かずお) 共編,
“暗号・ゼロ知識証明・数論”,共立出版,pp.13
0−143,1995. 文献[2]:IEEE P1363 Annex A/Editorial Contribut
ion,“Standard Specifications For Public Key Crypt
ography ”, pp.78-81, 1998. ステップS11において手動モードが選択された場合、
素数判定部25は、素数判定部24と同様にして、指定
された数pの素数判定を行い(ステップS17)、それ
が本当に素数であるか否かをチェックする(ステップS
18)。
それを表現データとして採用して、素数格納域26に設
定し(ステップS16)、処理を終了する。また、それ
が素数でなければ、手動データ指定インタフェース13
を介して警告を発し、再度、正しい素数を入力するよう
にユーザに促し(ステップS19)、ステップS17以
降の処理を繰り返す。
有限体演算部18は、その値に基づいて素体GF(p)
上の有限体演算を行う。このような構成によれば、ユー
ザがビット長さえ指定すれば自動的に素数pが生成され
るため、ユーザが素数pを指定する際の負荷が軽減され
る。また、必要であれば、ユーザが素数pを直接指定す
ることもでき、柔軟な操作性が実現される。
(2m )の表現データを生成するデータ生成装置の構成
図である。有限体GF(2m )の場合、素数pは2に決
められているため、それ以外の表現データとしては、拡
大次数mとm次の既約多項式F(x)を設定すればよ
い。m次の多項式は、例えば、各項xk(k=0,
1,...,m)の係数(0または1)の集合により表
すことができる。
1、自動条件指定インタフェース12、手動データ指定
インタフェース13、既約多項式表31、テーブル参照
部32、多項式発生部33、既約性判定部34、35、
および既約多項式格納域36を備え、有限体演算装置1
8が用いる有限体の表現データを生成する。
ーブル14に対応し、あらかじめ決められた拡大次数m
とm次の既約多項式F(x)の対応関係を格納する。例
えば、図10に示す既約多項式表においては、m=2,
3,4,...に対応する既約多項式として、x2 +x
+1,x3 +x+1,x4 +x+1,...が格納され
ている。
および既約性判定部34は、図4の表現データ生成器1
5に対応する。テーブル参照部32は、与えられた拡大
次数mをキーとして既約多項式表31を参照し、対応す
る既約多項式を取得する。与えられた拡大次数mに対応
する既約多項式が既約多項式表31に存在しないとき、
多項式発生部33は、m次の多項式を発生し、既約性判
定部34は、その多項式が既約か否かを判定する。
証器16に対応し、ユーザが指定したm次の既約多項式
が本当に既約であるか否かを判定する。既約多項式格納
域36は、図4の表現データ格納域17に対応し、拡大
次数mとm次の既約多項式F(x)を表現データとして
格納する。
理のフローチャートである。まず、データ生成装置は、
自動モードと手動モードのいずれが選択されたかをチェ
ックする(ステップS21)。自動モードにおいては、
ユーザは自動条件指定インタフェース12を介して拡大
次数mのみを入力し、手動モードにおいては、ユーザは
自ら具体的なm次の既約多項式F(x)を選択し、それ
を拡大次数mとともに手動データ指定インタフェース1
3を介して入力する。
照部32は、指定された拡大次数mがサポート範囲内の
拡大次数か否かをチェックする(ステップS22)。そ
して、それがサポート範囲外であれば、自動条件指定イ
ンタフェース12を介して警告を発し、拡大次数の再入
力を要求して(ステップS23)、ステップS22以降
の処理を繰り返す。
と、次に、既約多項式表31を検索して、拡大次数mに
対応する既約多項式が存在するか否かをチェックする
(ステップS24)。そのような既約多項式が既約多項
式表31に存在すれば、それを既約多項式F(x)とし
て、拡大次数mとともに既約多項式格納域36に設定し
(ステップS26)、処理を終了する。
れば、多項式発生部33は、m次のの多項式を発生さ
せ、既約性判定部34は、発生した多項式が既約か否か
を判定する(ステップS25)。そして、既約性判定部
34は、既約と判定された多項式を既約多項式F(x)
として採用し、それを拡大次数mとともに既約多項式格
納域36に設定して(ステップS26)、処理を終了す
る。
された場合、既約性判定部35は、既約性判定部34と
同様にして、指定された多項式F(x)の既約性判定
(irreducibility test )を行い(ステップS27)、
それが本当に既約であるか否かをチェックする(ステッ
プS28)。
であれば、それを表現データとして採用して、拡大次数
mとともに既約多項式格納域36に設定し(ステップS
26)、処理を終了する。また、それが既約でなけれ
ば、手動データ指定インタフェース13を介して警告を
発し、再度、正しい既約多項式を入力するようにユーザ
に促し(ステップS29)、ステップS27以降の処理
を繰り返す。
る既約多項式生成処理のフローチャートである。まず、
テーブル参照部32は、多項式発生部33に拡大次数m
を入力し(ステップS31)、多項式発生部33は、
(m+1)ビットの乱数(バイナリコード)を発生させ
る(ステップS32)。
(2)={0,1}の要素を係数とするm次の多項式を
生成する(ステップS33)。ここでは、k=1,
2,...,m+1のそれぞれの値について、発生した
乱数のkビット目の値(0または1)をxk-1 の項の係
数とし、それらの項からなるm次の多項式を生成する。
項式の既約性判定を行い(ステップS34)、それが既
約か否かをチェックする(ステップS35)。既約性判
定のアルゴリズムとしては、例えば、上述した文献
[2]の30ページに記載されているようなものが用い
られる。生成された多項式が既約でなければ、ステップ
S32以降の処理を繰り返し、既約な多項式が得られれ
ば、それを既約多項式格納域36に出力して(ステップ
S36)、処理を終了する。
項式F(x)が既約多項式格納域36に設定されると、
有限体演算部18は、そのデータに基づいて有限体GF
(2 m )上の有限体演算を行う。このような構成によれ
ば、ユーザが拡大次数mさえ指定すれば自動的にm次の
既約多項式F(x)が生成されるため、ユーザが既約多
項式F(x)を指定する際の負荷が軽減される。また、
必要であれば、ユーザが既約多項式F(x)を直接指定
することもでき、柔軟な操作性が実現される。
高速化する方法の1つとして、最適化正規基底(optima
l normal basis)を用いる方法が知られている(文献
[1],pp.167−170/文献[2],pp.1
9−24)。一般に、有限体GF(2m )は、正規基底
(normal basis)を生成元として表現することができ、
特に、最適化正規基底に基づく表現データを用いれば、
べき乗算および乗算を飛躍的に高速化することができ
る。
最適化正規基底を用いた表現データを生成するオプショ
ンを設けることにする。ただし、最適化正規基底は、必
ずしもすべての拡大次数について存在するわけではな
く、これを利用するためには、拡大次数mを適切に指定
する必要がある。例えば、暗号に用いられる160≦m
≦2000の拡大次数のうち最適化正規基底が存在する
ものは、以下の文献にリストアップされている。 文献[3]:American National Standard, x9.62-199
x, Public Key Cryptography For The Financial Servi
ces Industry: The Elliptic Curve Digital Signature
Algorithm, p.41, Working Draft. ユーザは、自動条件指定インタフェース12および手動
データ指定インタフェース13を介して、最適化正規基
底を使用するか否かをオプションとして指定することが
できる。この場合、既約多項式表31には、各拡大次数
について、最適化正規基底が存在するか否かを表す情報
が付加され、存在する場合は、必要に応じてその最適化
正規基底用既約多項式の情報が付加される。最適化正規
基底用既約多項式とは、最適化正規基底を用いて有限体
を表現するために必要な特定の既約多項式を指す。
る処理のフローチャートである。まず、データ生成装置
は、自動モードと手動モードのいずれが選択されたかを
チェックする(ステップS41)。自動モードにおいて
は、ユーザは、自動条件指定インタフェース12を介し
て、拡大次数mと最適化正規基底を使用する指示とを入
力する。また、手動モードにおいては、ユーザは、自ら
具体的なm次の最適化正規基底用既約多項式F(x)を
選択し、それを拡大次数mとともに手動データ指定イン
タフェース13を介して入力する。
照部32は、既約多項式表31を参照して、指定された
拡大次数mの最適化正規基底が存在するか否かをチェッ
クする(ステップS42)。そして、m次の最適化正規
基底が存在しないか、あるいは拡大次数mがサポート範
囲外であれば、自動条件指定インタフェース12を介し
て警告を発し、拡大次数の再入力を要求して(ステップ
S43)、ステップS42以降の処理を繰り返す。
されると、次に、既約多項式表31に最適化正規基底用
既約多項式が存在するか否かをチェックする(ステップ
S44)。そのような既約多項式が既約多項式表31に
存在すれば、それを最適化正規基底用既約多項式F
(x)として、拡大次数mとともに既約多項式格納域3
6に設定し(ステップS46)、処理を終了する。
れば、多項式発生部33は、m次の最適化正規基底用既
約多項式を生成する(ステップS45)。そして、それ
を最適化正規基底用既約多項式F(x)として、拡大次
数mとともに既約多項式格納域36に設定し(ステップ
S46)、処理を終了する。最適化正規基底用既約多項
式の生成アルゴリズムとしては、例えば、上述した文献
[2]の37ページに記載されているようなものが用い
られる。
された場合、既約性判定部35は、指定された多項式F
(x)の最適化正規基底用既約性判定を行い(ステップ
S47)、それが本当に最適化正規基底用既約多項式で
あるか否かをチェックする(ステップS48)。
上述した文献[2]の20ページに記載されている最適
化正規基底が存在するか否かの判定アルゴリズムと、最
適化正規基底用既約多項式の生成アルゴリズムとを組み
合わせて行われる。
定された多項式F(x)の拡大次数mにおいて、最適化
正規基底が存在するか否かをチェックする。最適化正規
基底が存在すれば、次に、m次の最適化正規基底用既約
多項式を生成して、F(x)を生成された多項式と比較
する。そして、両者が一致すれば、F(x)が最適化正
規基底用既約多項式であると判定する。
基づいて、サポート範囲内のすべての最適化正規基底用
既約多項式のテーブルを生成しておき、そのテーブルを
参照しながら、最適化正規基底用既約性判定を行うこと
もできる。
底用既約多項式であれば、それを表現データとして採用
して、拡大次数mとともに既約多項式格納域36に設定
し(ステップS46)、処理を終了する。また、それが
最適化正規基底用既約多項式でなければ、手動データ指
定インタフェース13を介して警告を発し、再度、正し
い最適化正規基底用既約多項式を入力するようにユーザ
に促し(ステップS49)、ステップS47以降の処理
を繰り返す。
F(x)が既約多項式格納域36に設定されると、有限
体演算部18は、そのデータに基づいて有限体GF(2
m )上の有限体演算を行う。
正規基底を有する拡大次数mさえ指定すれば、自動的に
m次の最適化正規基底用既約多項式F(x)が生成され
る。このため、ユーザが最適化正規基底用既約多項式F
(x)を指定する際の負荷が軽減されるとともに、最適
化正規基底に基づく高速な有限体演算が可能となる。ま
た、必要であれば、ユーザが最適化正規基底用既約多項
式F(x)を直接指定することもでき、柔軟な操作性が
実現される。
限体GF(p)およびGF(2m )の表現データを生成
する場合について説明したが、一般の有限体GF
(pm )の表現データを生成する場合も同様である。こ
の場合、ユーザは、素数pまたはそのビット長nと拡大
次数mさえ指定すれば、データ生成装置は、自動的にG
F(pm )の表現データを生成する。
よび有限体演算装置は、図14に示すような情報処理装
置(コンピュータ)を用いて構成することができる。図
14の情報処理装置は、CPU(中央処理装置)41、
メモリ42、入力装置43、出力装置44、外部記憶装
置45、媒体駆動装置46、およびネットワーク接続装
置47を備え、それらはバス48により互いに接続され
ている。
y memory)、RAM(random access memory)等を含
み、処理に用いられるプログラムとデータを格納する。
CPU41は、メモリ42を利用してプログラムを実行
することにより、必要な処理を行う。
ース12、手動データ指定インタフェース13、表現デ
ータ生成器15、および表現データ検証器16は、メモ
リ42の特定のプログラムコードセグメントに格納され
たインストラクションの集合により実現されるソフトウ
ェアコンポーネントに対応する。また、図4の固定デー
タテーブル14と表現データ格納域17は、メモリ42
内に設けられる。
インティングデバイス、タッチパネル等であり、ユーザ
からの指示や情報の入力に用いられる。出力装置44
は、例えば、ディスプレイ、プリンタ、スピーカ等であ
り、ユーザへのメッセージや処理結果の出力に用いられ
る。
ク装置、光ディスク装置、光磁気ディスク(magneto-op
tical disk)装置等である。情報処理装置は、この外部
記憶装置45に、上述のプログラムとデータを保存して
おき、必要に応じて、それらをメモリ42にロードして
使用することができる。
駆動し、その記録内容にアクセスする。可搬記録媒体4
9としては、メモリカード、フロッピーディスク、CD
−ROM(compact disk read only memory )、光ディ
スク、光磁気ディスク等、任意のコンピュータ読み取り
可能な記録媒体が用いられる。ユーザは、この可搬記録
媒体49に上述のプログラムとデータを格納しておき、
必要に応じて、それらをメモリ42にロードして使用す
ることができる。
トワーク(回線)を介して外部の装置と通信し、通信に
伴うデータ変換を行う。情報処理装置は、必要に応じ
て、ネットワーク接続装置47を介して上述のプログラ
ムとデータを外部の装置から受け取り、それらをメモリ
42にロードして使用することができる。
ラムとデータを供給することのできるコンピュータ読み
取り可能な記録媒体を示している。可搬記録媒体49や
外部のデータベース50に保存されたプログラムとデー
タは、メモリ42にロードされる。そして、CPU41
は、そのデータを用いてそのプログラムを実行し、必要
な処理を行う。
さえ指定すれば自動的に有限体の表現データが生成され
るため、ユーザの負荷が大きく軽減される。また、特定
の表現データを選択的に生成することにより、高速な有
限体演算を実現することができる。さらに、有限体演算
の様々な局面に応じて、ユーザがすべての表現データを
柔軟に指定することもできる。
る。
る。
る。
る。
る。
Claims (9)
- 【請求項1】 有限体を指定する条件を入力する入力手
段と、 入力された条件に基づいて、前記有限体の表現データを
自動的に生成する生成手段と、 生成された表現データを格納する表現データ格納手段と
を備えることを特徴とするデータ生成装置。 - 【請求項2】 前記表現データ格納手段に格納された表
現データに基づいて有限体演算を行う演算手段をさらに
備えることを特徴とする請求項1記載のデータ生成装
置。 - 【請求項3】 前記生成手段は、前記条件として前記有
限体を記述する素数のビット長が入力されたとき、該ビ
ット長に対応する素数データを自動的に生成し、前記表
現データ格納手段に格納することを特徴とする請求項1
記載のデータ生成装置。 - 【請求項4】 前記生成手段は、前記条件として前記有
限体を記述する拡大次数が入力されたとき、該拡大次数
に対応する既約多項式データを自動的に生成し、前記表
現データ格納手段に格納することを特徴とする請求項1
記載のデータ生成装置。 - 【請求項5】 前記生成手段は、最適化正規基底を使用
する指示が入力されたとき、前記拡大次数に対応する最
適化正規基底用既約多項式データを自動的に生成し、前
記表現データ格納手段に格納することを特徴とする請求
項4記載のデータ生成装置。 - 【請求項6】 あらかじめ決められた1つ以上の有限体
の表現データを格納する固定データ格納手段をさらに備
え、前記生成手段は、該固定データ格納手段に前記条件
に対応する有限体の表現データが存在するとき、該条件
に対応する有限体の表現データを前記表現データ格納手
段に格納し、該固定データ格納手段に前記条件に対応す
る有限体の表現データが存在しないとき、該条件に対応
する有限体の表現データを自動的に生成することを特徴
とする請求項1記載のデータ生成装置。 - 【請求項7】 有限体の表現データを指定する指定手段
と、指定された表現データが適切か否かを検証する検証
手段とをさらに備え、該検証手段は、該指定された表現
データが適切であれば、該指定された表現データを前記
表現データ格納手段に格納し、該指定された表現データ
が適切でなければ、該指定手段に他の表現データを要求
することを特徴とする請求項1記載のデータ生成装置。 - 【請求項8】 コンピュータのためのプログラムを記録
した記録媒体であって、 有限体を指定する条件が入力されたとき、入力された条
件に基づいて、該有限体の表現データを自動的に生成す
るステップと、 生成された表現データを出力するステップとを含む処理
を前記コンピュータに実行させるためのプログラムを記
録したコンピュータ読み取り可能な記録媒体。 - 【請求項9】 有限体を指定する条件を指定し、 指定された条件に基づいて、前記有限体の表現データを
自動的に生成し、 生成された表現データを有限体演算装置に供給すること
を特徴とするデータ生成方法。
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 true JP2000293507A (ja) | 2000-10-20 |
| JP3833412B2 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) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004533671A (ja) * | 2001-02-21 | 2004-11-04 | ミップス テクノロジーズ インコーポレイテッド | 多項式演算オペレーション |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7617388B2 (en) | 2001-02-21 | 2009-11-10 | Mips Technologies, Inc. | Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution |
| US7860911B2 (en) | 2001-02-21 | 2010-12-28 | Mips Technologies, Inc. | Extended precision accumulator |
Families Citing this family (8)
| 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 |
| 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 | 삼성전자주식회사 | 반도체 칩의 타이밍 해석 시스템 및 그 방법 |
| GB201907392D0 (en) | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | Proof-of-work |
| GB2584154A (en) * | 2019-05-24 | 2020-11-25 | Nchain Holdings Ltd | Knowledge proof |
| GB201907396D0 (en) | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | Hash function attacks |
| KR102217928B1 (ko) * | 2019-06-14 | 2021-02-19 | 광운대학교 산학협력단 | 랜덤 소수 생성 방법 및 그를 위한 장치 |
Family Cites Families (13)
| 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 |
| ATE128297T1 (de) | 1991-03-14 | 1995-10-15 | Omnisec Ag | 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 |
-
1999
- 1999-04-09 JP JP10292099A patent/JP3833412B2/ja not_active Expired - Fee Related
-
2000
- 2000-02-14 US US09/503,205 patent/US7142668B1/en not_active Expired - Fee Related
- 2000-02-21 CA CA002298995A patent/CA2298995C/en not_active Expired - Fee Related
- 2000-02-25 EP EP00301488A patent/EP1043654A3/en not_active Ceased
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004533671A (ja) * | 2001-02-21 | 2004-11-04 | ミップス テクノロジーズ インコーポレイテッド | 多項式演算オペレーション |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7617388B2 (en) | 2001-02-21 | 2009-11-10 | Mips Technologies, Inc. | Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution |
| JP2009282992A (ja) * | 2001-02-21 | 2009-12-03 | Mips Technologies Inc | 多項式演算オペレーション |
| US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
| US7860911B2 (en) | 2001-02-21 | 2010-12-28 | Mips Technologies, Inc. | Extended precision accumulator |
| US8447958B2 (en) | 2001-02-21 | 2013-05-21 | Bridge Crossing, Llc | Substituting portion of template instruction parameter with selected virtual instruction parameter |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1043654A3 (en) | 2005-02-09 |
| CA2298995A1 (en) | 2000-10-09 |
| CA2298995C (en) | 2003-08-05 |
| JP3833412B2 (ja) | 2006-10-11 |
| US7142668B1 (en) | 2006-11-28 |
| EP1043654A2 (en) | 2000-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5068176B2 (ja) | デジタル署名と公開鍵の促進された検証 | |
| EP0823802A2 (en) | Secret communication and authentication scheme based on public key cryptosystem using N-adic expansion | |
| US6266688B1 (en) | Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed | |
| KR101594553B1 (ko) | 암호화 키를 생성하는 방법, 이를 위한 네트워크 및 컴퓨터 프로그램 | |
| JP4282546B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
| US20060251247A1 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor | |
| JP3833412B2 (ja) | 有限体演算における表現データ生成装置および方法 | |
| JP3292107B2 (ja) | 2重ベクトル加算装置、2重ベクトル2倍装置及び2重ベクトル整数倍装置 | |
| JP5328993B2 (ja) | 署名生成装置及び署名生成方法及び記録媒体 | |
| US20020126838A1 (en) | Modular exponentiation calculation apparatus and modular exponentiation calculation method | |
| US6252960B1 (en) | Compression and decompression of elliptic curve data points | |
| JP2956709B2 (ja) | 公開鍵生成方法及び装置 | |
| JP3551853B2 (ja) | αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体 | |
| JP2002358012A (ja) | 情報セキュリティ装置、べき乗演算装置、べき乗剰余演算装置及び楕円べき倍演算装置 | |
| JP4802228B2 (ja) | 鍵生成装置及びプログラム | |
| JP4861272B2 (ja) | 楕円曲線暗号演算装置、方法、プログラム | |
| JPWO2006057171A1 (ja) | 署名および検証方法ならびに署名および検証装置 | |
| JP3881273B2 (ja) | 暗号鍵生成装置、暗号鍵生成プログラムおよびそのプログラムを記録した記録媒体 | |
| JP2003228285A (ja) | 楕円曲線スカラ倍演算装置 | |
| JPH1155244A (ja) | 鍵回復方法および装置 | |
| JP2001194996A (ja) | 多項式の除算装置 | |
| JPH06282226A (ja) | 楕円曲線に基づく公開鍵暗号方式 | |
| CN117595984A (zh) | 基于sm2的可验证随机函数构造方法、装置、设备及介质 | |
| JP4237306B2 (ja) | 超楕円曲線c生成装置、暗号管理装置、データ送信装置及びデータ受信装置 | |
| CN120910877A (zh) | 一种用于软件开发的计算机系统加密方法 |
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 |