JP2002207425A - 鍵生成装置、方法及びプログラム - Google Patents

鍵生成装置、方法及びプログラム

Info

Publication number
JP2002207425A
JP2002207425A JP2001004043A JP2001004043A JP2002207425A JP 2002207425 A JP2002207425 A JP 2002207425A JP 2001004043 A JP2001004043 A JP 2001004043A JP 2001004043 A JP2001004043 A JP 2001004043A JP 2002207425 A JP2002207425 A JP 2002207425A
Authority
JP
Japan
Prior art keywords
key
key generation
combination
calculation amount
limit values
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
Application number
JP2001004043A
Other languages
English (en)
Inventor
Koichiro Akiyama
浩一郎 秋山
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001004043A priority Critical patent/JP2002207425A/ja
Publication of JP2002207425A publication Critical patent/JP2002207425A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 公開鍵暗号方式の専門家でなくとも、公開鍵
暗号の公開鍵ペアを容易且つ確実に生成可能とする。 【解決手段】 鍵のビット長、時間計算量並びに空間計
算量のうち、1種類以上に関して指定された値に基づい
て、方式選択テーブルT1から該当する組合せを抽出す
る組合せ抽出ステップと、所定の方式優先条件に基づい
て、組合せ抽出ステップにより抽出された組合せに規定
された各鍵生成方式のうち、1つの鍵生成方式を選択す
る方式選択ステップと、第2の鍵生成方式が選択された
とき、所定のパラメータ優先条件に基づいて、組合せ抽
出ステップにより抽出された組合せに属する各生成パラ
メータのうち、1つの生成パラメータを選択するパラメ
ータ選択ステップと、方式選択ステップ並びにパラメー
タ選択ステップによる選択結果に基づいて、鍵を生成す
る鍵生成ステップとを含んでいる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、楕円曲線暗号やR
SA暗号などの公開鍵暗号の鍵生成装置、方法及びプロ
グラムに関する。
【0002】
【従来の技術】近年の情報化社会においては、従来から
の専用線によるアナログ信号の送信から、インターネッ
トのようにオープンなネットワークを利用したデジタル
情報の送信への移行に伴い、デジタル情報のセキュリテ
ィが重要な課題となっている。
【0003】例えば、デジタル情報の送信は、インター
ネットの場合、途中で幾つかのサイトと呼ばれるコンピ
ュータを経由して他のサイトへ送られる。このため、途
中のサイトで第三者によってデジタル情報が読出又は改
ざんされる可能性がある。これを防ぐセキュリティ技術
が暗号技術である。
【0004】暗号技術によれば、例えば送信者が、予め
受信者との間で共有した共通の鍵を使って送信データを
暗号化して送信する。よって、送信データ自体が途中の
サイトで盗まれても、送信内容は第三者に解読されずに
秘密が保たれる。係る送信者と受信者が共通の鍵を使っ
て秘密通信する方式を共通鍵暗号という。この共通鍵暗
号は、鍵自体には特徴がなく、固定長の乱数データを鍵
とすればよいので、鍵の生成技術や生成時間をあまり必
要としない利点をもつ。
【0005】さてインターネットでは、ネット上で商品
の注文と決済が可能な電子商取引と呼ばれるシステムが
出現している。多くの電子商取引は、決済をクレジット
カードベースで行なう。このため、注文の際に、購入者
が注文書と共にクレジットカード番号をネット上の販売
店のサーバと呼ばれるコンピュータに送信する必要があ
る。
【0006】共通鍵暗号によれば、カード番号や注文書
のデータを暗号化して送信することにより、送信内容を
第三者から保護できる。但し、共通鍵暗号は、販売店と
購入者とがそれぞれ共通の鍵を持つ必要上、一旦、鍵を
オフラインで販売店から購入者に配送する作業を伴うの
で、購入者が不特定多数である電子商取引には極めて煩
雑な方式となる。
【0007】そこで、電子商取引においては、共通鍵暗
号に代えて、公開鍵暗号と呼ばれる暗号技術が広く用い
られる。公開鍵暗号は、暗号化する鍵と復号する鍵が別
々に存在し、暗号化する鍵から復号する鍵が、復号する
鍵から暗号化する鍵がそれぞれ容易には算出できない特
徴を持つ暗号方式である。公開鍵暗号では、このような
特徴から、暗号化する鍵を公開しても安全である性質を
もつ。この性質により、暗号化する鍵が公開鍵と呼ば
れ、復号する鍵が秘密鍵と呼ばれて区別される。
【0008】係る公開鍵暗号によれば、販売店が公開鍵
と秘密鍵のペアを持ち、顧客が公開鍵で注文書やクレジ
ットカードを暗号化して販売店に送信すればよいので、
新規の顧客に対してもその場で安全に注文を受け決済が
可能となる。
【0009】但し、公開鍵暗号は、その特徴のゆえに公
開鍵と秘密鍵のペアを生成する際に、相当な技術を要す
る上、相当な生成時間を要する場合が多い。補足する
と、公開鍵暗号には、例えば楕円曲線暗号及びRSA暗
号があり、それぞれ図8に示すような特徴をもつ鍵生成
方式が知られている。次に、この図8に示された鍵生成
方式について順次説明するが、その前に楕円曲線と楕円
曲線暗号について簡単に述べる。
【0010】(楕円曲線)楕円曲線とは、定数a,bを
用いて次の(1)式のように表現され、図9に示すよう
な概形を有し、定数a,bの値により形状が様々に定義
される。
【0011】y=x+ax+b …(1) 係る楕円曲線は、曲線上の点同士の点演算を定義可能で
あるという面白い性質を有する。点演算は、図10のよ
うに定義される。すなわち、点Pと点Qとを足した点P
+Qは、まず点Pと点Qを結ぶ直線PQを引き、直線P
Qと楕円曲線がP,Q以外で交わる点をRとしたとき、
点Rをx軸に対称に移動した点R’として定義される。
【0012】ここで、点Pと点Qが同じ点の場合、直線
PQを点P(=点Q)の接線として同様に定義される。
更に、整数kにより、点Pをk回足すという演算がkP
として表現される。
【0013】また、楕円曲線上には無限遠点と呼ばれる
特殊な点Oが存在する。無限遠点Oは、任意の点Pに対
しP+O=Pとなる特徴を有し、整数の加法における0の
ような性質を持つ元である。また、点Pに対しnP=O
となる最小の自然数nを「点Pの位数」という。
【0014】さて、楕円曲線を実際に暗号として用いる
際には、各点をデジタル化する必要があり、その一つの
形態が素体Fpという有限体を用いる方法である。素体
Fpとは、整数α,βを素数pで割った余りの集合(剰
余系)に、次式で表される加法演算と乗法演算を導入し
たものである。
【0015】(α+β) mod p ≡α mod
p+β mod p (α*β) mod p ≡α mod p*β mo
d p すなわち、整数αをpで割った余り(α mod p)
と、整数βをpで割った余り(β mod p)との加
法を、整数α+βをpで割った余りと定義する。また、
整数αをpで割った余りと、整数βをpで割った余りと
の乗法を、整数α*βをpで割った余りと定義する。ま
た、素数pの剰余系では、任意の元同士の減算を定義で
きる上、0以外の任意の元を除数とする割算も定義でき
る。
【0016】すなわち、素体Fpでは、実数などと同様
に加減乗除を定義できるため、素体Fp上でも楕円曲線
上の点演算を実現できる。なお、素数pを素体Fpの標
数という。楕円曲線を素体Fp上で考えると(素体Fp
がp個の元からなる有限集合なので)、楕円曲線上の点
の数は有限になる。ここで、「楕円曲線上の点の数」
は、「楕円曲線の位数」と呼ばれる。
【0017】(楕円曲線暗号)楕円曲線暗号とは、楕円
曲線上の点Pと点Bとの間に「P=sB」の関係がある
とき、点Pと点Bが公開されても、整数sを算出するこ
とが計算理論上極めて困難である旨を根拠とした公開鍵
暗号である。
【0018】なお、この「P=sB」からsを求める問
題を楕円曲線上の離散対数問題という。すなわち、楕円
曲線暗号は、楕円曲線上の離散対数問題の難しさに安全
性の根拠をおいた暗号である。
【0019】ここで、楕円曲線暗号の公開鍵は、楕円曲
線Eと、ベースポイントと呼ばれる楕円曲線E上の無限
遠点O以外の点Bと、点Bをs倍した点P(=sB)
と、の三者(E,B,P)からなる。倍数sは秘密鍵で
ある。
【0020】「P=sB」を解く楕円曲線上の離散対数
問題の難しさは、ベースポイントBの位数に大きく依存
する。例えば、ベースポイントBの位数が小さいとき、
楕円曲線暗号の安全性が大きく低下する。
【0021】ここで、「楕円曲線上の任意の点の位数」
は、「楕円曲線の位数の約数」である。このため、楕円
曲線の位数が素数のとき、楕円曲線上の(無限遠点O以
外の)任意の点の位数は、楕円曲線の位数と一致する。
すなわち、当該楕円曲線上の任意の点の位数は、当該楕
円曲線上の点が持ち得る最大の位数をもつ。これは、ベ
ースポイントBの位数も最大の位数となり、楕円曲線暗
号の安全性を保証することを意味する。よって、楕円曲
線暗号としては、公開鍵の生成の際に、素数位数の楕円
曲線を生成することが(必須ではないが)望ましい。
【0022】他に安全性に関する条件として、既存の解
読法によれば、素体Fp上の楕円曲線Eの位数を#
(E)とし、次の(2)式に示すように、トレースtを
定めたとき、t=0,1,2となる楕円曲線を用いた楕
円曲線暗号は解読されることが知られている。
【0023】t=p+1−#(E) …(2) すなわち、トレースt=0,1,2となる楕円曲線を公
開鍵に用いないことが必須である。なお、楕円曲線のト
レースtは、次の(3)式の範囲の値を取ることが知ら
れている。
【0024】|t|≦2・p1/2 …(3) また、他には、楕円曲線の位数#(E)が小さな素数の
積だと解読されることが知られており、楕円曲線の位数
#(E)を小さな素数の積にしないことが必須である。
【0025】なお、現在安全と考えられている楕円曲線
暗号のビット数は、160ビットである。このため、1
60ビットの素数pを用い、xに約20バイトの平文を
埋込むことにより、約20バイトを1ブロックとする公
開鍵暗号系が実現される。
【0026】(楕円曲線暗号の鍵生成方法)楕円曲線暗
号の公開鍵として、素数位数の楕円曲線を求める鍵生成
方法は、例えば文献「I.F.Blake, G.Seroussi, and N.
P.Smart, :“Elliptic curves in Cryptography”. Lon
don Mathematical Society Lecture Note Series. 265,
Cambridge University Press, pages 109-158 (199
9)」及び「岡本龍明,大田和夫編:暗号・ゼロ知識証明
・数論,共立出版,p.189-193, p.234(1995)」に記載
されており、図8に示したように、現在2種類の方式が
存在する。
【0027】1つ目は、SEA(Schoof-Elkies-Atki
n:スクーフ・エルキス・アトキン)法と呼ばれる方式
であり、Fp上の楕円曲線をランダムなa,bにより生
成した後、楕円曲線の位数を計算し、位数の素数判定を
行なう鍵生成方法である。
【0028】2つ目は、CM(Complex Multiplicatio
n:虚数乗法)法と呼ばれる方式であり、位数とする素
数qと標数pの組合せを決め、素数qを位数とするFp
の楕円曲線を求める鍵生成方法である。
【0029】SEA法は計算量が膨大なため、リアルタ
イムな生成や大量の鍵の短時間の生成は困難であるが、
生成される鍵に何らの制限もないため、攻撃のための手
がかりが乏しく、安全性の面で優れた鍵を生成し得る特
徴がある。
【0030】一方、CM法は計算量が少ないため、リア
ルタイムな生成や大量の鍵の短時間の生成が可能である
が、生成される鍵にCM理論上の制限があるため、解読
のための手がかりが存在し、安全性の面でSEA法より
劣る特徴がある。
【0031】以下、これらの鍵生成方法について詳しく
説明する。 (SEA法)SEA法は、lを小さな素数(2,3,
5,7,…)としたとき、それぞれのlに対し、与えら
れた楕円曲線のトレースを“t≡tl(mod l)”
の合同式で求め、各々の合同式を中国剰余定理によって
組合せることにより、トレースtを求める方式である。
【0032】これは、lを小さな素数とすれば、以下に
述べる手段により、tlが比較的容易に求まることを利
用したものである。
【0033】まず、素体Fp上の楕円曲線上で次のよう
な写像を定義する。
【0034】
【数1】
【0035】この写像は、全射(上への写像)となり、
フロベニウス(Frobenius)全射準同型と呼ばれてい
る。更にこのフロベニウス全射準同型によって、次の
(4)式の成り立つ旨が知られている。
【0036】φ−tφ+p=0 …(4)
【数2】
【0037】E(Fp)の上でこの関係を考えると、
E(Fp)上には無いl分点(l−torsion points)が
現れ、それをE[l]とすると、次式の関係となること
が知られている。
【0038】
【数3】
【0039】いま、(l,p)=1となる素数lに対
し、E[l]上でフロベニウス全射準同型を考えると、
次の関係が成り立つ。
【0040】 φl −tlφl+p=0 tl≡t(mod l) すなわち、(l,p)=1となる素数lに対し、P∈E
[l]を考えると、次の関係が成り立つ。
【0041】(φl −tlφl+p)P=O tl≡
t(mod l) ここで、(3)式から、このような素数lを小さな値か
ら順に集めて次式を満足するLを定める。
【0042】
【数4】
【0043】続いて、各素数l(=3,5,7,11,
…,L)に対し、それぞれtl(≡t mod l)を
求め、それを中国剰余定理に掛ければtが一意的に求ま
る。これがSEA法の基本原理である。このtlを効果
的に求める際に、次に詳しく述べる分割多項式(divisi
on polynomial)を用いる。
【0044】分割多項式は、楕円曲線の基になった複素
数体C上定義されたペー関数の性質から導かれるが、こ
こではその部分を省略して漸化式として定義する。
【0045】[定義1]まず、C上定義された楕円曲線
「y=x+ax+b」に対し、l分点E[l]を表
現する以下のような2変数多項式Ψl(x,y)(l=1,
2,…)が存在する。
【0046】Ψ1(x、y)=1, Ψ2(x、y)=2y Ψ3(x、y)=3x+6ax+12bx−a Ψ4(x、y)=4y(x6+5ax4+20bx3−5a22−4
abx−8b2+a3)… これらのΨnは、次の漸化式で示される。
【0047】
【数5】
【0048】この漸化式で与えられるΨnに対し、下記
式で定義されるxの多項式fnを(整数Z上の)分割多
項式(division polynomial)という。
【0049】fn(x)=Ψn(x,y) (n:奇数) fn(x)=Ψn(x,y)/y (n:偶数) ここで、fn(x)の次数は(n,p)=1の時、 deg(fn)=(n−1)/2 (n:奇数) deg(fn)=(n−4)/2 (n:偶数) となる。さらにこれらの多項式は、C上定義されている
が、係数は全て整数なのでpの剰余をとれば、Fp上の
多項式として取扱い可能である。この分割多項式に関し
て以下の定理が成り立つ。
【0050】[定理1]楕円曲線E(Fq)上の任意
の点(x,y)でnP=O(n≧1)のとき、下記式が
成立する。
【0051】
【数6】
【0052】[定理2]楕円曲線E(Fq)上の任意
の点Pに対して次の関係が成り立つ。
【0053】
【数7】
【0054】以上のことを次の関係式に対して適用す
る。
【0055】 φl 2−tlφl+p=0 tl≡t mod l このとき、p≡k(mod l)において、次式が成り
立つ。
【0056】
【数8】 という関係式が成り立つので、tを1,2,…,l−1
の範囲で動かして、E[l]の全ての点で上記の式を満
たすようなtlを求めれば良い。
【0057】これは[定理2]から、H1(x),H2
(x)がfl(x)を割り切ることと同値であることが
分かる。更に上記の関係式は(1)式と、fl(x)の
定義により、Ψl(x)をfl(x)に変換できるの
で、xだけの式にできる。よって、必要な計算は、次の
2つのgcdの計算となる。
【0058】gcd(H1(x),fl(x)),gc
d(H2(x),fl(x)) しかし、多項式flの次数deg(fl)が下記式の大きさと
なるので、l>50程度になれば1000次以上の多項式の
計算となり、相当な計算量を必要とする。
【0059】deg(fl)=(l−1)/2 又は
(l−4)/2 例えば、現在安全と考えられる楕円曲線を求めるには、
l=73程度までの計算が必要であり、この計算には約
1時間を要する。しかも、得られたtから位数を求めて
も、その位数が素数でなければ、パラメータを変更して
再度同様の計算をする必要があるので、相当の時間が掛
かる。
【0060】このため、エルキス(Elkies)やアトキン
(Atkin)は、モジュラ方程式(modular equation)を
利用し、flの代わりに次数が(l−1)/2となるよ
うなglを開発し、高速化を図った。しかし、それでも
リアルタイムに処理するにはかなり難がある。
【0061】また、SEA法においては、Ψの分割多項
式やモジュラ方程式をメモリ上に展開する必要があるた
め、現在のパーソナルコンピュータ並みのメモリ容量が
必要となり、一般の情報機器では利用できない場合もあ
る。しかしながら、必要な計算量の見当や、使用したい
情報機器で利用可能か否かの判断は、専門家でなければ
困難となっている。
【0062】(CM法)CM法は、まず、素体Fp上の
楕円曲線Eの位数を#(E)と書き、tを楕円曲線のト
レースとし、D<0を(5)式で定義する。
【0063】t−ωD=4p …(5) ここで、このDに対し、虚2次体Q・D1/2を考える。
虚2次体Q・D1/2は、有理数Qと虚数D1/2を含む最小
の体であり、付随するヒルベルト類多項式HD(x)が
存在する。
【0064】ここで、ヒルベルト類多項式HD(x)の
Fp上での根jを用い、cをFp上の定数として下記
(6)式のように定数a,bを決定すると、生成された
楕円曲線は位数#(E)を持つことが知られている。
【0065】a=3c(j/(1728−j)) b=2c(j/(1728−j)) …(6) 一方、与えられたDに対して、(5)式のt,ω,pを
決定する必要がある。これに関して以下の方法が知られ
ている。まず、pを決定し、このpと、与えられたDと
を用い、(5)式を2元2次方程式と考えて解き、t,
ωを求める。
【0066】このような方程式の解法はコーナッチャ
(Cornacchia)のアルゴリズムとして知られており、計
算量はそれほどかからない。但し、解が求まらない場合
があるので、その場合はpを変更して再計算する必要が
ある。
【0067】このようにして、(6)式のa,bをパラ
メータに持つ楕円曲線の位数#(E)が(2)式から分
かる訳である。ここで素数位数の楕円曲線を求めたい場
合は、#(E)の素数判定を行い、素数でない場合はp
の決定からし直す。
【0068】以上のCM法のアルゴリズムにおいて、最
も計算量が掛かるプロセスはt,ω,pが決まった段階
で、HD(x)の根をFp上で求めるプロセスである。
【0069】ここで、HD(x)は、一般に付随する虚
2次体Q・D1/2の類数だけの次数があり、虚2次体Q
・D1/2の類数はDに比例して大きくなる傾向にあるこ
とが知られている。
【0070】これにより、ヒルベルト類多項式HD
(x)に付随する虚2次体Q・D1/2の類数が高くなる
に従い(HD(x)の次数が高くなり)、根を求める計
算の計算量が次第に大きくなる。すなわち、虚2次体Q
・D1/2の類数のうち、大きい値を選択すると、鍵生成
時間を増大させることになる。
【0071】しかし、低い類数を選択して生成された鍵
は、類数の制限がヒントとなり、将来的に解読法が作ら
れる可能性が残っている。従って、安全性を向上させる
観点から、類数の制限を減らすことが望まれる。
【0072】(RSA暗号の鍵生成方法)RSA暗号
は、楕円曲線暗号と同様に、鍵生成に相当の処理時間が
掛かる。RSA暗号の鍵生成方法は、楕円曲線暗号の鍵
生成ほど複雑ではないが、鍵の信頼性を上げようとする
と、前述同様に、リアルタイムで可能な方式と、リアル
タイムでは不可能な方式とが考えられる。
【0073】さて、RSA暗号の鍵生成は、二つの素数
p,qとそれらを掛け合わせたn=pqを基に、次の
(7)式を満たすe,dを求めることである。
【0074】 ed≡1(mod (p−1)(q−1)) …(7) ここで、e,dを求めるには、eを2から(p−1)
(q−1)−1の範囲で適当に定め、dを(7)式から
ユークリッドの互除法を用いて求めればよい。ユークリ
ッドの互除法は、少しの計算時間で済む。
【0075】ここで、例えばe,nを公開鍵,dを秘密
鍵とすると、RSA暗号系を構成できる。なお、e,n
を公開しているので、nの素因数分解n=pqが分かれ
ば(p−1)(q−1)が求まり、秘密鍵dが容易に分
かってしまう。このため、RSA暗号の安全性は、nの
素因数分解の困難性に依存している。
【0076】nの素因数分解の困難性は、素数p,qを
大きな値とすることや(p+1)又は(p−1)を小さ
な素数の積としないことにより保たれる。なお、素数
p,qは少なくとも512ビット以上でないと安全性に
問題があるので、鍵生成時間の殆どは素数判定のために
費やされる。
【0077】すなわち、RSA暗号の鍵生成は、素数判
定が主な処理となっており、図8に示したように、確定
的素数判定法と確率的素数判定法がある。これら両素数
判定法は、それぞれ素数であるための必要条件を確認す
る複数の判定基準から構成されている。このため合成数
を素数判定すると、途中のいずれかの判定基準を満たさ
なくなると期待される。
【0078】確定的素数判定法は、被判定数に従って判
定基準を適切に組むことにより、全ての判定基準を満た
せば被判定数が素数であることが数学的に証明された方
式である。
【0079】一方、確率的素数判定法は、素数と判定さ
れた数が合成数である確率(以下、失敗確率という)が
0には至らない方式である。信頼性は乏しいが、時間計
算量、空間計算量、共に少ない方式である。
【0080】一般に、確定的素数判定法は、確率的素数
判定法よりも時間計算量及び空間計算量の両方に数倍の
消費があるものの、高い信頼性を有している。但し、確
率的素数判定法であっても通過させる判定基準の数を増
やして失敗確率を下げて行くと、信頼性は向上するが、
次第に確定的素数判定法の時間計算量に近づいてしま
う。この意味でRSA暗号における確定的素数判定法と
確率的素数判定法との関係は、楕円曲線暗号におけるS
EA法とCM法の関係と同じである。
【0081】すなわち、RSA暗号と楕円曲線暗号は、
鍵の生成の際に、信頼性や安全性と、利用し得る計算量
とのトレードオフを考慮しつつ、専門の技術者もしくは
研究者などにより、最適な素数生成法を選択することが
必要である。
【0082】
【発明が解決しようとする課題】以上説明したように公
開鍵暗号の鍵生成方式では、様々な特徴をもつ複数の方
式が並存している。そのため、鍵生成の際には、各鍵生
成方式の特徴を熟知した専門の技術者もしくは研究者が
最適な方式を選択することが必要である。
【0083】これに反し、未熟練者が鍵を生成すると、
例えば長大な時間計算量をかけることにより、鍵生成を
途中で諦めるといった不具合や、膨大な空間計算量を消
費することにより、メモリ容量を不足させて鍵生成が不
可となるといった不具合の生じる可能性が多々ある。
【0084】本発明は上記実情を考慮してなされたもの
で、公開鍵暗号方式の専門家でなくとも、公開鍵暗号の
公開鍵ペアを容易且つ確実に生成し得る鍵生成装置、方
法及びプログラムを提供することを目的とする。
【0085】
【課題を解決するための手段】本発明の骨子は、それぞ
れ特徴をもつ複数の鍵生成方式を利用者の利用目的や利
用環境(鍵生成環境)に合わせて最適に自動選択する構
成により、利用目的や利用環境に適合した鍵生成方式を
提供することにある。更に1つの鍵生成方式の中でも生
成パラメータを最適に設定し、利用目的や利用環境に適
応させた鍵生成処理を提供することにある。なお、「最
適に」とは、「安全性又は信頼性を最も高くするよう
に」という意味である。
【0086】以上のような本発明の骨子に基づいて具体
的には以下のような手段が講じられる。なお、以下の各
発明は、「装置」を例に挙げて説明するが、これに限ら
ず、「方法」又は「プログラム」等としてもよい。ま
た、本発明は、楕円曲線暗号及びRSA暗号を例に挙げ
て述べるが、これに限らず、他の公開鍵暗号に関しても
複数の鍵生成方式を選択的に実行可能とするように、選
択テーブルの内容を予め設定しておくことにより、他の
公開鍵暗号にも同様に適用できる。
【0087】第1の発明は、複数の鍵生成方式のうち、
いずれかの鍵生成方式に基づいて鍵を生成する公開鍵暗
号の鍵生成装置であって、鍵生成装置本体の空間計算量
の上限値と、ユーザが指定する鍵ビット長及び時間計算
量の上限値とに基づいて、前記鍵生成方式を選択する選
択手段と、前記選択手段による選択結果に基づいて、前
記鍵を生成する鍵生成手段と、を備えた鍵生成装置であ
る。
【0088】以上のように、鍵ビット長の如き簡単なパ
ラメータを指定するだけで鍵生成方式が選択されるの
で、公開鍵暗号方式の専門家でなくとも、公開鍵暗号の
公開鍵ペアを容易且つ確実に生成することができる。
【0089】第2の発明は、公開鍵暗号に用いられ、複
数の鍵生成方式のうち、いずれかの鍵生成方式に基づい
て鍵を生成する鍵生成装置であって、鍵のビット長の複
数の下限値、時間計算量の複数の上限値並びに空間計算
量の複数の上限値のうち、1種類以上を組合せた組合せ
が規定された第1の鍵生成方式、および鍵のビット長の
複数の下限値、時間計算量の複数の上限値、空間計算量
の複数の上限値並びに鍵生成の複数の生成パラメータの
うち、1種類以上を組合せた組合せが規定された第2の
鍵生成方式が設定された選択テーブルと、鍵のビット
長、時間計算量並びに空間計算量のうち、1種類以上に
関して指定された値に基づいて、前記選択テーブルから
該当する組合せを抽出する組合せ抽出手段と、所定の方
式優先条件に基づいて、前記組合せ抽出手段により抽出
された組合せに規定された各鍵生成方式のうち、1つの
鍵生成方式を選択する方式選択手段と、前記方式選択手
段によって選択された鍵生成方式に基づいて、前記鍵を
生成する鍵生成手段と、を備えた鍵生成装置である。
【0090】ここで、選択テーブル内で第1の鍵選択方
式を規定する組合せは、「鍵のビット長の複数の下限
値」をAとし、「時間計算量の複数の上限値」をBと
し、「空間計算量の複数の上限値」をCとしたとき、
「A」「B」「C」「A,B」「A,C」「B,C」
「A,B,C」の7通りのうち、任意の1通りである。
【0091】また、第2の鍵選択方式を規定する組合せ
は、「鍵生成の複数の生成パラメータ」をDとしたと
き、前述した7通りの組合せに対し、「D」「A,D」
「B,D」「C,D」「A,B,D」「A,C,D」
「B,C,D」「A,B,C,D」の7通りを加えた合
計14通りのうち、任意の1通りである。
【0092】なお、これら組合せにおいて、組合せから
外れた要素(例、第1の鍵生成方式に係る組合せが
「B,C」の場合の「A」)は、固定値(例、1つの下
限値)として組合せ抽出手段に設定される。
【0093】以上のように、生成パラメータや計算量の
組合せを載せた選択テーブルを設けた構成により、指定
された値に基づいて該当する組合せが抽出され、しかる
後、この組合せのうち、方式優先条件に基づく最適な鍵
生成方式が選択される。従って、公開鍵暗号方式の専門
家でなくとも、公開鍵暗号の公開鍵ペアを容易且つ確実
に生成することができる。
【0094】第3の発明は、第2の発明において、前記
方式選択手段により第2の鍵生成方式が選択されたと
き、所定のパラメータ優先条件に基づいて、前記組合せ
抽出手段により抽出された組合せに属する各生成パラメ
ータのうち、1つの生成パラメータを選択するパラメー
タ選択手段を備えており、前記鍵生成手段が、前記方式
選択手段並びに前記パラメータ選択手段による選択結果
に基づいて、前記鍵を生成する鍵生成装置である。
【0095】これにより、第2の発明の作用に加え、パ
ラメータ優先条件により最適な生成パラメータが選択さ
れるので、公開鍵暗号の公開鍵ペアをより一層、容易且
つ確実に生成することができる。
【0096】なお、第2,第3の発明において、選択テ
ーブル内の第1の鍵生成方式を省略し、併せて、方式選
択手段を省略しても良い。この場合、第2,第3の発明
は、鍵生成方式の選択機能が省略された簡易な構成とな
り、第2の鍵生成方式に関して生成パラメータの選択機
能を有する鍵生成装置として機能する。
【0097】第4の発明は、第1〜第3の各発明におい
て、前記公開鍵暗号が楕円曲線暗号である鍵生成装置で
ある。これにより、楕円曲線暗号について、第1〜第3
の各発明の作用を得ることができる。
【0098】第5の発明は、第4の発明において、前記
第1の鍵生成方式がSEA法であり、前記第2の鍵生成
方式がCM法であり、前記各生成パラメータが類数であ
り、前記方式優先条件が前記CM法よりも前記SEA法
を優先する旨を示し、前記パラメータ優先条件が最大の
類数を優先する旨を示す鍵生成装置である。これによ
り、第4の発明の作用を極めて容易且つ確実に奏するこ
とができる。
【0099】第6の発明は、第1〜第3の各発明におい
て、前記公開鍵暗号がRSA暗号である鍵生成装置であ
る。これにより、RSA暗号について、第1〜第3の各
発明の作用を得ることができる。
【0100】なお、第6の発明の例として、前記第1の
鍵生成方式が確定的素数判定法を用いた方式であり、前
記第2の鍵生成方式が確率的素数判定法を用いた方式で
あり、前記各生成パラメータが失敗確率であり、前記方
式優先条件が前記確率的素数判定法よりも前記確定的素
数判定法を優先する旨を示し、前記パラメータ優先条件
が最小の失敗確率を優先する旨を示すものとした鍵生成
装置としてもよい。これにより、第6の発明の作用を極
めて容易且つ確実に奏することができる。
【0101】
【発明の実施の形態】以下、本発明の各実施形態につい
て図面を参照して説明する。 (第1の実施形態)図1は本発明の第1の実施形態に係
る鍵生成装置の構成を示すブロック図である。この鍵生
成装置は、楕円曲線暗号に適用されたものであり、方式
選択テーブル格納部1、ユーザI/F2、ビット長読取
部3、時間計算量読取部4、メモリ容量読取部5、制御
部6、SEA法実行部7、CM法実行部8及び鍵出力部
9を備えている。
【0102】ここで、方式選択テーブル格納部1は、S
EA法又はCM法を選択するための方式選択テーブルT
1が予め格納されたものであり、制御部6から読出可能
となっている。
【0103】方式選択テーブルT1は、図2に一例を示
すように、大きく分けて方式、パラメータ、計算量の3
つの欄から構成されている。
【0104】方式の欄は、SEA法又はCM法を示して
いる。パラメータの欄は、SEA法及びCM法の各方式
で取り得るパラメータを示している。SEA法のパラメ
ータは鍵のビット長であり、CM法のパラメータは鍵の
ビット長と許容する最大類数である。
【0105】計算量の欄は、各方式の各パラメータで鍵
生成する時に必要な時間計算量及び空聞計算量を示して
いる。例えば、SEA法により、200ビットの鍵を生
成する場合、時間計算量680秒、空間計算量100M
Bを要する旨を示している。また例えば、CM法によ
り、160ビットの鍵を類数5の虚2次体を基に生成す
る場合、時間計算量30秒、空間計算量30KBを要す
る旨を示している。
【0106】ユーザI/F2は、鍵生成の開始時にユー
ザにパラメータ及び時間計算量の入力を促す機能と、ユ
ーザにより入力された(鍵の)ビット長をビット長読取
部3に送出する機能と、ユーザにより入力された時間計
算量を時間計算量読取部4に送出する機能と、制御部6
から受けたメッセージ等を表示する機能と、ユーザによ
り入力された制御データ(例、鍵生成の開始、中止、再
実行など)を制御部6に入力する機能とをもっている。
【0107】すなわち、ユーザI/F2は、ユーザと装
置内部との間のインターフェイス機能部であり、例えば
キーボードやマウス等の入力デバイス、CRTや液晶デ
ィスプレイ等の表示デバイス及びGUI(Graphical Use
r Interface)等を備えた構成として実現してもよい。
【0108】ビット長読取部3は、ユーザI/F2から
読み込まれたビット長を制御部6に送出する機能をもっ
ている。
【0109】時間計算量読取部4は、ユーザI/F2か
ら読み込まれた時間計算量を制御部6に送出する機能を
もっている。
【0110】メモリ容量読取部5は、現在利用可能なメ
モリ容量を装置本体(コンピュータで動作するソフトウ
ェアの場合はコンピュータ本体)から読み込む機能と、
読み取った利用可能なメモリ容量を制御部6に送出する
機能とをもっている。
【0111】制御部6は、ユーザI/F2から受ける制
御データにより起動される機能と、ビット量読取部3か
ら受けるビット長、時間計算量読取部4から受ける時間
計算量、及びメモリ容量読取部5から受けるメモリ容量
に基づいて、方式選択テーブル格納部1内の方式選択テ
ーブルT1を参照しながら、後述するアルゴリズム(図
3、図4)を用いてSEA法又はCM法を選択する機能
と、選択した方式の実行部7(又は8)を起動して当該
ビット長を指定する機能と、起動した方式の実行部7
(又は8)により生成された公開鍵ペアを鍵出力部9に
送出する機能とをもっている。
【0112】なお、後述するアルゴリズムは、指定され
たパラメータ及び計算量に適合する鍵生成方式のうち、
最も安全性の高い鍵生成方式及びそのパラメータを選択
する内容が記述されている。一般に、公開鍵暗号の鍵は
ビット長の大きい方が安全性が高い。また、同じビット
長であれば、より多くの鍵を生成できる方式の方が解読
の手がかりが少ないので生成された鍵の安全性が高いと
考えられる。
【0113】このため、パラメータとしてはビット長が
優先され、最大ビット長をパラメータに持つ方式が採用
される。最大ビット長をパラメータに持つ方式が複数存
在した場合は鍵の選択範囲の最も広い方式が選択される
(方式優先条件)。
【0114】例えば、鍵の選択範囲の観点からは、任意
の鍵を生成できるSEA法が優先され、SEA法が不可
能な場合、生成される鍵に一定の制限を生ずるCM法が
選択されるが、CM法の中でも制限が最も緩い類数最大
のパラメータが優先される(パラメータ優先条件)。
【0115】なお、方式優先条件は、最も安全性の高い
方式(鍵の選択範囲の最も広い方式)を優先するという
条件であり、具体的には、CM法よりもSEA法を優先
させるという条件である。また、パラメータ優先条件
は、鍵の制限が最も緩いパラメータを優先させるという
条件であり、具体的には、最大の類数を優先させるとい
う条件である。
【0116】SEA法実行部7は、制御部6により起動
されると、制御部6から指定されたビット長に基づいて
SEA法により公開鍵ペアを生成し、得られた公開鍵ペ
アを制御部6に送出する機能をもっている。
【0117】CM法実行部8は、制御部6により起動さ
れると、制御部6から指定されたビット長に基づいてC
M法により公開鍵ペアを生成し、得られた公開鍵ペアを
制御部6に送出する機能をもっている。
【0118】鍵出力部9は、制御部6から受けた公開鍵
ペア(公開鍵と秘密鍵のペア)を出力するものである。
なお、鍵出力部9は、例えば、公開鍵ペアのうち、公開
鍵を通常のメモリに書込むと共に、秘密鍵を耐タンパー
性メモリに書込むといった個別の書込機能をもってい
る。
【0119】なお、このような鍵生成装置は、ハードウ
ェア、ソフトウェア又は両者の組合せのいずれでも実現
可能であるが、ソフトウェアにより実現される場合には
鍵生成装置のコンピュータに、記憶媒体又はネットワー
クからプログラムがインストールされた構成となる。
【0120】次に、以上のように構成された鍵生成装置
の動作を図3及び図4のフローチャートを用いて説明す
る。鍵生成装置においては、起動の際に、制御部6が、
方式選択テーブル格納部1から方式選択テーブルT1を
読み込み(ST1)、更に、現在利用可能なメモリ容量
を直接の計算を行う装置(CPUなど)からメモリ容量
読取部5を介して読み込む(ST2)。
【0121】次に、制御部6は、時間計算量(=生成処
理時間)及び鍵のビット長をユーザI/F2から時間計
算量読取部4及びビット長読取部3を介して読み込む
(ST3,ST4)。これにより、鍵生成に必要なパラ
メータ及び計算量の読込が完了した。
【0122】次に、制御部6は、これらの読込内容から
方式選択テーブルT1を用いて方式の絞込みを行なう。
まず、メモリ容量による絞込みを行い(ST5)、現在
利用可能なメモリ容量で実行可能な方式が有るか否かを
判定する(ST6)。
【0123】ステップST6の結果、可能な方式が無い
場合、制御部6は、鍵生成が不可能な旨の表示を行ない
(ST7)、処理を終了する。
【0124】一方、ステップST6の結果、可能な方式
が有る場合、制御部6は、ビット長による絞り込みを行
ない(ST10)、入力されたビット長で実行可能な方
式が有るか否かを判定する(ST11)。
【0125】ステップST11の結果、可能な方式が無
い場合、前述したメモリ容量のみの絞込み結果の中から
ビット長最大のものを検索し(ST12)、指定のビッ
ト長では不可能だが、検索結果のビット長なら鍵生成で
きる旨を表示して(ST13)、処理を終了する。
【0126】一方、ステップST11の結果、可能な方
式が有る場合、制御部6は、時間計算量(=生成時間)
による絞込みを行ない(ST14)、入力された時間計
算量で実行可能な方式が有るか否かを判定する(ST1
5)。
【0127】ステップST15の結果、可能な方式が無
い場合、入力された時間計算量では生成できない旨を表
示して(ST16)、処理を終了する。
【0128】一方、ステップST15の結果、可能な方
式が有る場合、制御部6は、可能な方式の中で最大のビ
ット長を持つ方式を方式選択テーブルT1から抽出し
(ST17)、抽出された候補の中にSEA法があるか
否かを判定する(ST18)。ステップST18の結
果、SEA法が有る場合、制御部6はSEA法実行部7
を起動し、且つビット長を指定する。SEA法実行部7
は、指定されたビット長でSEA法による鍵生成を行な
い(ST19)、生成された公開鍵ペアを制御部6に送
出する(ST20)。制御部6はこの公開鍵ペアを鍵出
力部9に送出し、鍵出力部9は、この公開鍵ペアを適宜
図示しないメモリに書込む。
【0129】一方、候補にSEA法が無い場合、制御部
6は、可能なCM法の候補の中で最も大きな類数を持つ
パラメータを選択し(ST21)、CM法実行部8を起
動し、且つビット長及び類数を指定する。CM法実行部
8は、指定されたビット長及び類数でCM法による鍵生
成を行ない(ST22)、生成された公開鍵ペアを制御
部6に送出する(ST23)。制御部6はこの公開鍵ペ
アを鍵出力部9に送出し、鍵出力部9は、この公開鍵ペ
アを適宜図示しないメモリに書込む。
【0130】次に、以上のような方式選択の動作を具体
例を挙げて説明する。メモリ容量1MBの装置におい
て、ユーザからビット長200、時間計算量40秒と指
定された場合、図2に示す方式選択テーブルT1を空間
計算量(=メモリ容量)で絞り込むとSEA法は全て不
可能だが、CM法は全て可能である。
【0131】更にこれをビット長で絞り込むとビット長
200以上のCM法が全て候補となる。更にこれを時間
計算量で絞り込むとビット長200で類数1、ビット長
240で類数1が候補として残る。ここで残った候補の
うち、最大ビット長を持つ候補を抽出すると、ビット長
240で類数1のCM法が抽出される。従って、類数1
のCM法しか選択はないため、ビット長240で類数1
のCM法で鍵を生成して出力する。
【0132】他の具体例を挙げる。メモリ容量800M
Bの装置において、ユーザからビット長240、時間計
算量1200秒と指定されたとする。図2に示す方式選
択テーブルT1を空間計算量(=メモリ容量)で絞り込
むと、全方式の全パラメータが利用可能である。更にこ
れをビット長で絞り込むと、ビット長240のパラメー
タのみが残る。更に、時間計算量で絞り込むと、SEA
法と、類数1,5,10,50のCM法とが残る。これ
らの候補の中で最大ビット長を持つ方式は(方式選択テ
ーブルT1に示されている最大ビット長は240なの
で)、候補の全てである。但し、それら候補の中にSE
A法があるので、SEA法で鍵を生成して出力する。
【0133】上述したように本実施形態によれば、生成
パラメータや計算量の組合せを載せた方式選択テーブル
T1を設けた構成により、指定された値に基づいて該当
する組合せが絞り込まれ、しかる後、この組合せのう
ち、方式優先条件やパラメータ優先条件に基づく最適な
鍵生成方式とその生成パラメータが選択される。従っ
て、楕円曲線暗号方式の専門家でなくとも、楕円曲線暗
号の公開鍵ペアを容易且つ確実に生成することができ
る。
【0134】また、楕円曲線暗号の鍵生成において、複
数の鍵生成方式を利用目的や利用環境に合わせて選択
し、鍵生成を実行できるので、より適合的な鍵の生成環
境を構築できる。
【0135】(第2の実施形態)図5は本発明の第2の
実施形態に係る鍵生成装置の構成を示すブロック図であ
り、図1と同一部分には同一符号を付してその詳しい説
明を省略し、ここでは異なる部分について主に述べる。
なお、以下の各動作や変形例なども同様にして重複した
説明を省略する。
【0136】すなわち、本実施形態は、楕円曲線暗号に
適用した第1の実施形態に代えて、RSA暗号に適用し
た例を示している。大まかには、技術内容を以下のよう
に変更した(読み替えた)適用例となっている。「楕円
曲線暗号」に代えて、「RSA暗号」を適用する。「S
EA法」に代えて、「確定的素数判定法」を適用する。
「CM法」に代えて、「確率的素数判定法」を適用す
る。「類数」に代えて、「失敗確率」を適用する。「最
大の類数」に代えて、「最小の失敗確率」を適用する。
具体的には、前述した方式選択テーブル1、SEA法実
行部7及びCM実行部8に代えて、確定的又は確率的な
素数判定法に関する方式選択テーブル10、確定的素数
判定部11及び確率的素数判定部12が制御部6aに接
続されている。
【0137】ここで、方式選択テーブル10は、図6に
一例を示すように、前述した3つの欄の内容が変更され
ている。
【0138】方式の欄は、確定的素数判定法又は確率的
素数判定法を示している。パラメータの欄は、確定的素
数判定法及び確率的素数判定法の各方式で取り得るパラ
メータを示している。確定的素数判定法のパラメータは
鍵のビット長であり、確率的素数判定法のパラメータは
鍵のビット長と失敗確率である。
【0139】計算量の欄は、各方式の各パラメータで鍵
生成する時に必要な時間計算量及び空聞計算量を示して
いる。例えば、確定的素数判定法により、1024ビッ
トの鍵を生成する場合、時間計算量8000秒、空間計
算量60KBを要する旨を示している。また例えば、確
率的素数判定法により、512ビットの鍵を1/2500
失敗確率で生成する場合、時間計算量10秒、空間計算
量1KBを要する旨を示している。
【0140】制御部6aは、ユーザI/F2から受ける
制御データにより起動される機能と、ビット量読取部3
から受けるビット長、時間計算量読取部4から受ける時
間計算量、及びメモリ容量読取部5から受けるメモリ容
量に基づいて、方式選択テーブル格納部10内の方式選
択テーブルT2を参照しながら、後述するアルゴリズム
(図3、図7)を用いて確定的素数判定法又は確率的素
数判定法を選択する機能と、選択した方式の実行部11
(又は12)を起動して当該ビット長を指定する機能
と、起動した方式の実行部11(又は12)により生成
された公開鍵ペアを鍵出力部9に送出する機能とをもっ
ている。
【0141】なお、後述するアルゴリズムは、前述同様
に、指定されたパラメータ及び計算量に適合する鍵生成
方式のうち、最も安全性と信頼性の高い鍵生成方式及び
そのパラメータを選択する内容が記述されている。よっ
て、パラメータとしては安全性の観点からビット長が優
先され、最大ビット長をパラメータに持つ方式が採用さ
れる。最大ビット長をパラメータに持つ方式が複数存在
した場合は最も信頼性の高い方式が選択される(方式優
先条件)。
【0142】例えば、信頼性の観点からは、失敗無しに
素数を生成できる確定的素数判定法が優先され、確定的
素数判定法が不可能な場合、生成される素数に一定の失
敗確率を有する確率的素数判定法が選択されるが、確率
的素数判定法の中でも失敗確率が最も低いパラメータが
優先される(パラメータ優先条件)。
【0143】なお、方式優先条件は、最も信頼性の高い
方式(確実に素数判定を行なう方式)を優先するという
条件であり、具体的には、確率的素数判定法よりも確定
的素数判定法を優先させるという条件である。また、パ
ラメータ優先条件は、素数判定の確実性が高いパラメー
タを優先させるという条件であり、具体的には、最小の
失敗確率を優先させるという条件である。
【0144】確定的素数判定部11は、制御部6aによ
り起動されると、制御部6aから指定されたビット長に
基づいて確定的素数判定法を用いて公開鍵ペアを生成
し、得られた公開鍵ペアを制御部6aに送出する機能を
もっている。なお、確定的素数判定法としては、例え
ば、ミラー法、アドルマン・ルメリ法、コーエン・レン
ストラ法又はポクリントン法などが適用可能となってい
る。
【0145】確率的素数判定部12は、制御部6aによ
り起動されると、制御部6aから指定されたビット長に
基づいて確率的素数判定法を用いて公開鍵ペアを生成
し、得られた公開鍵ペアを制御部6aに送出する機能を
もっている。なお、確率的素数判定法としては、例え
ば、フェルマー法、ソロベイ・ストラッセン法又はラビ
ン法などが適用可能となっている。また、両素数判定部
11,12は、素数判定に限らず、素数を発見するまで
自然数を順次生成し判定することにより、素数を生成す
る機能も持つため、所望により、それぞれ確定的素数生
成部11、確率的素数生成部12と呼んでも良い。
【0146】次に、以上のように構成された鍵生成装置
の動作を図3及び図7のフローチャートを用いて説明す
る。いま、前述同様に、パラメータ及び計算量の読込み
からメモリ容量及びビット長による絞り込みが完了し
(ST1〜ST13:図3,図7)、続いて、時間計算
量による絞り込みを行ない、入力された時間計算量で実
行可能な方式が有るか否かを判定するとする(ST14
〜ST15)。
【0147】制御部6aは、ステップST15の結果、
可能な方式が無い場合、入力された時間計算量では生成
できない旨を表示して(ST16)、処理を終了する。
【0148】一方、ステップST15の結果、可能な方
式が有る場合、制御部6aは、可能な方式の中で最大の
ビット長を持つ方式を方式選択テーブルT2から抽出し
(ST17a)、抽出された候補の中に確定的素数判定
法があるか否かを判定する(ST18a)。
【0149】ステップST18aの結果、確定的素数判
定法が有る場合、制御部6aは確定的素数判定部11を
起動し、且つビット長を指定する。確定的素数判定部1
1は、指定されたビット長で確定的素数判定法による鍵
生成を行ない(ST19a)、生成された公開鍵ペアを
制御部6aに送出する(ST20a)。制御部6aはこ
の公開鍵ペアを鍵出力部9に送出し、鍵出力部9は、こ
の公開鍵ペアを適宜図示しないメモリに書込む。
【0150】一方、候補に確定的素数判定法が無い場
合、制御部6aは、可能な確率的素数判定法の候補の中
で最も小さな失敗確率を持つパラメータを選択し(ST
21a)、確率的素数判定部12を起動し、且つビット
長及び失敗確率を指定する。確率的素数判定部12は、
指定されたビット長及び失敗確率で確率的素数判定法に
よる鍵生成を行ない(ST22a)、生成された公開鍵
ペアを制御部6aに送出する(ST23a)。制御部6
aはこの公開鍵ペアを鍵出力部9に送出し、鍵出力部9
は、この公開鍵ペアを適宜図示しないメモリに書込む。
【0151】次に、以上のような方式選択の動作を具体
例を挙げて説明する。メモリ容量10KBの装置におい
て、ユーザからビット長1024、時間計算量400秒
と指定された場合、図6に示す方式選択テーブルT2を
空間計算量(=メモリ容量)で絞り込むと確定的素数判
定法は全て不可能だが、確率的素数判定法は全て可能で
ある。
【0152】更にこれをビット長で絞り込むとビット長
1024ビット以上の確率的素数判定法が全て候補とな
る。更にこれを時間計算量で絞り込むとビット長102
4で失敗確率1/210、1/2100、1/2500、1/2
1000、ビット長2048で失敗確率1/210、1/2
100、1/2500が候補として残る。ここで残った候補の
うち、最大ビット長を持つ候補を抽出すると、ビット長
2048で失敗確率1/210、1/2100、1/2500
確率的素数判定法が抽出される。従って、その中で最小
の失敗確率1/2500を有する確率的素数判定法を選択
し、この方式で鍵を生成して出力する。
【0153】他の具体例を挙げる。メモリ容量200M
Bの装置において、ユーザからビット長2048、時間
計算量20000秒と指定されたとする。図6に示す方式選
択テーブルT2を空間計算量(=メモリ容量)で絞り込
むと、全方式の全パラメータが利用可能である。更にこ
れをビット長で絞り込むと、ビット長2048ビットの
パラメータのみが残る。更に、時間計算量で絞り込む
と、2048ビットの確定的素数判定法と、2048ビ
ットの確率的素数判定法の全てとが候補として残る。こ
れらの候補の中で最大ビット長を持つ方式は(方式選択
テーブルT2に示されている最大ビット長は2048な
ので、)、候補の全てである。但し、それら候補の中に
確定的素数判定法があるので、確定的素数判定法で鍵を
生成して出力する。
【0154】上述したように本実施形態によれば、RS
A暗号についても、第1の実施形態の効果を得ることが
できる。すなわち、RSA暗号方式の専門家でなくと
も、RSA暗号の公開鍵ペアを容易且つ確実に生成する
ことができる。
【0155】また、RSA暗号の鍵生成において、複数
の鍵生成方式を利用目的や利用環境に合わせて選択し、
鍵生成を実行できるので、より適合的な鍵の生成環境を
構築できる。
【0156】(他の実施形態)上記各実施形態では、可
変にし得るパラメータ及び計算量を全て可変とした場合
を説明したが、これに限らず、利用環境や利用目的に応
じて、パラメータ及び/又は計算量を不変にした構成に
変更して実施することが望ましい。
【0157】例えば、上記各実施形態では、鍵のビット
長を可変なパラメータとし、指定された以上のビット長
であれば(より安全であるので)許容したが、鍵のビッ
ト長を大きくすると、暗号化/復号化の処理、署名生成
検証の処理の処理時間が長くなるので、鍵のビット長は
固定して生成することが望ましい。
【0158】具体的には、本発明に係る鍵生成方式は、
現在安全と考えられている鍵長の暗号システム(例、鍵
長160ビットの楕円曲線暗号システム、鍵長1024
ビットのRSA暗号システム)に適用した場合、ビット
長を固定した構成であることが望ましい。このようにビ
ット長を固定した場合、方式選択テーブルT1,T2の
パラメータの欄及びビット長読取部3を省略でき、ま
た、図4及び図7において、ビット長最大のものの検索
(ST12)及び抽出(ST17,17a)を省略でき
る。
【0159】また、上記各実施形態では、方式設定テー
ブルT1,T2の各欄の値を固定とした場合について説
明したが、(本発明をソフトウェアによって実現する場
合はインストールする機器によって環境が異なるので)
これに限らず、利用環境に応じて、方式設定テーブルT
1,T2の各欄(特に時間計算量の欄)の値を設定する
ことが好ましい。
【0160】この設定は、例えば鍵生成起動時に鍵生成
で使う代表的な演算を少量行ない、その処理時間によっ
て換算予測を行ない、得られた予測値で方式選択テーブ
ルT1,T2を更新する方式としてもよい。このような
設定は、ソフトウェアを用いて容易に実施できる。
【0161】次に、上記第1(又は第2)の実施形態で
は、CM法で複数の類数(又は確率的素数判定法で複数
の失敗確率)を用いたが、これに限らず、CM法の類数
(又は確率的素数判定法の失敗確率)を固定してもよ
い。
【0162】さらに、この類数固定方式(又は失敗確率
固定方式)を「クイック生成」としてユーザI/F2が
表示し、前述した類数可変(又は失敗確率可変)の「通
常生成」との間で選択可能としてもよい。すなわち、ユ
ーザI/F2は、鍵生成開始前に、それぞれ「通常生
成」、「クイック生成」という表示を行ない、CM法の
類数(又は確率的素数判定法の失敗確率)の扱いをユー
ザに選択させてもよい。
【0163】このとき、立上げ時のメモリ容量読込みの
段階でSEA法(又は確定的素数判定法)の可能性が無
い場合、メニュー選択を省略して即座に鍵生成を行なう
変形例としてもよい。また、ユーザI/F2を簡単にす
るため、時間計算量の指定を省略し、ビット長のみをユ
ーザが指定する構成とし、鍵生成方式及びそのパラメー
タの選択を制御部6,6aが自動で行なうようにしても
よい。
【0164】この場合、時間計算量読取部4が省略さ
れ、時間計算量は固定値(例えば30秒)が制御部6,
6aに設定される構成となる。この構成の動作として
は、メモリ容量を読み込んだ後、方式選択テーブルT
1,T2をまず空間計算量で絞込み、残された候補を更
に時間計算量で絞り込んでSEA法(又は確定的素数判
定法)か、もしくはSEA法(又は確定的素数判定法)
が候補とならなければCM法(又は確率的素数判定法)
のパラメータのうち、類数最大の候補(又は失敗確率最
小の候補)で生成を行なう。
【0165】この時間計算量を固定した方式で更に、ビ
ット長まで固定すれば、ビット長読取部3及び時間読取
部4の両者を省略し、鍵生成の開始を入力した後は、ユ
ーザI/F2を介せずに完全に自動的に最適な鍵生成を
行なうことができる。また、上記第1の実施形態では、
SEA法とCM法とを有する鍵生成方式を説明したが、
これに限らず、CM法のみを有する方式でもそのパラメ
ータ(類数)を第1の実施形態の手法で決定することに
より、同様の効果を持つ鍵生成を実現することができ
る。
【0166】同様に、上記第2の実施形態では、確定的
素数判定法と確率的素数判定法とを有する鍵生成方式を
説明したが、これに限らず、確率的素数判定法のみを有
する方式でもそのパラメータ(失敗確率)を第2の実施
形態の手法で決定することにより、同様の効果を持つ鍵
生成を実現することができる。
【0167】また、上記各実施形態では、楕円曲線暗号
及びRSA暗号を例に挙げて説明したが、これに限ら
ず、他の公開鍵暗号に関しても鍵生成方式やその生成パ
ラメータを選択的に実行可能とするように、選択テーブ
ルの内容を予め設定しておくことにより、他の公開鍵暗
号にも同様に適用できる。
【0168】さらに、上記各実施形態では、2つの鍵生
成方式から1つの鍵生成方式を選択する場合について説
明したが、これに限らず、3つ以上の鍵生成方式から1
つの鍵生成方式を選択する構成に変形しても、本発明を
同様に実施して同様の効果を得ることができる。
【0169】これは例えば、第1の実施形態の場合、S
EA法、CM法、及び第3の方法が選択可能となるた
め、大分類として3つの方法が並存した変形形態とな
る。
【0170】具体的には佐藤の方法という第3の鍵生成
方式が知られている。この方式はSEA法と同じくラン
ダムに楕円曲線を生成し、その楕円曲線の位数を計算す
る方式である。しかし、佐藤の方法は拡大体上に適用す
ると効果的な方法であるものの、(本実施形態で述べて
いる)素体上生成された楕円曲線に適用してはSEA法
より低速となり利用価値が少ない。よって、拡大体上の
楕円曲線を生成する場合にはSEA法、CM法以外の第
3の方式として佐藤の方法を同様の方式で複数の鍵生成
方式の1つとして導入することが可能である。
【0171】尚、拡大体上の楕円曲線を生成する場合、
将来的にはSEA法を佐藤の方法に置き換えることも考
えられる。というのは佐藤の方法は拡大体上の楕円曲線
では時間計算量などの点でSEA法よりも優れていると
いう報告があり、将来の研究においてはSEA法よりも
空間計算量、時間計算量の点で優れていると証明される
可能性があるからである。
【0172】一方、第2の実施形態の場合、確定的素数
判定法の中で複数の方法が選択可能となり、確率的素数
判定法の中で複数の方法が選択可能となるため、中分類
として複数の方法が並存した変形形態となる。
【0173】但し、いずれの変形形態にしても、方式選
択テーブル、方式優先条件並びにパラメータ優先条件を
適切に設定することにより、3つ以上の鍵生成方式から
1つの鍵生成方式を選択する構成を容易且つ確実に実現
することができる。
【0174】なお、上記各実施形態に記載した手法は、
コンピュータに実行させることのできるプログラムとし
て、磁気ディスク(フロッピー(登録商標)ディスク、
ハードディスクなど)、光ディスク(CD−ROM、D
VDなど)、光磁気ディスク(MO)、半導体メモリな
どの記憶媒体に格納して頒布することもできる。
【0175】また、この記憶媒体としては、プログラム
を記憶でき、かつコンピュータが読み取り可能な記憶媒
体であれば、その記憶形式は何れの形態であっても良
い。
【0176】また、記憶媒体からコンピュータにインス
トールされたプログラムの指示に基づきコンピュータ上
で稼働しているOS(オペレーティングシステム)や、
データベース管理ソフト、ネットワークソフト等のMW
(ミドルウェア)等が本実施形態を実現するための各処
理の一部を実行しても良い。
【0177】さらに、本発明における記憶媒体は、コン
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶または一時記憶した記憶媒体も含まれる。
【0178】また、記憶媒体は1つに限らず、複数の媒
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。
【0179】尚、本発明におけるコンピュータは、記憶
媒体に記憶されたプログラムに基づき、本実施形態にお
ける各処理を実行するものであって、パソコン等の1つ
からなる装置、複数の装置がネットワーク接続されたシ
ステム等の何れの構成であっても良い。
【0180】また、本発明におけるコンピュータとは、
パソコンに限らず、情報処理機器に含まれる演算処理装
置、マイコン等も含み、プログラムによって本発明の機
能を実現することが可能な機器、装置を総称している。
【0181】なお、本願発明は、上記各実施形態に限定
されるものでなく、実施段階ではその要旨を逸脱しない
範囲で種々に変形することが可能である。また、各実施
形態は可能な限り適宜組み合わせて実施してもよく、そ
の場合、組み合わされた効果が得られる。さらに、上記
各実施形態には種々の段階の発明が含まれており、開示
される複数の構成用件における適宜な組み合わせにより
種々の発明が抽出され得る。例えば実施形態に示される
全構成要件から幾つかの構成要件が省略されることで発
明が抽出された場合には、その抽出された発明を実施す
る場合には省略部分が周知慣用技術で適宜補われるもの
である。
【0182】その他、本発明はその要旨を逸脱しない範
囲で種々変形して実施できる。
【0183】
【発明の効果】以上説明したように本発明によれば、公
開鍵暗号方式の専門家でなくとも、公開鍵暗号の公開鍵
ペアを容易且つ確実に生成することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る鍵生成装置の構
成を示すブロック図
【図2】同実施形態における方式選択テーブルの構成例
を示す模式図
【図3】同実施形態における動作を説明するためのフロ
ーチャート
【図4】同実施形態における動作を説明するためのフロ
ーチャート
【図5】本発明の第2の実施形態に係る鍵生成装置の構
成を示すブロック図
【図6】同実施形態における方式選択テーブルの構成例
を示す模式図
【図7】同実施形態における動作を説明するためのフロ
ーチャート
【図8】一般的な鍵生成方法の特徴を説明するための概
略図
【図9】一般的な楕円曲線の概形を示す模式図
【図10】一般的な楕円曲線の点演算を説明するための
模式図
【符号の説明】
1,10…方式選択テーブル格納部 2…ユーザI/F 3…ビット長読取部 4…時間計算量読取部 5…メモリ容量読取部 6,6a…制御部 7…SEA法実行部 8…CM法実行部 9…鍵出力部 11…確定的素数判定部 12…確率的素数判定部 T1,T2…方式選択テーブル

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数の鍵生成方式のうち、いずれかの鍵
    生成方式に基づいて鍵を生成する公開鍵暗号の鍵生成装
    置であって、 鍵生成装置本体の空間計算量の上限値と、ユーザが指定
    する鍵ビット長及び時間計算量の上限値とに基づいて、
    前記鍵生成方式を選択する選択手段と、 前記選択手段による選択結果に基づいて、前記鍵を生成
    する鍵生成手段と、 を備えたことを特徴とする鍵生成装置。
  2. 【請求項2】 公開鍵暗号に用いられ、複数の鍵生成方
    式のうち、いずれかの鍵生成方式に基づいて鍵を生成す
    る鍵生成装置であって、 鍵のビット長の複数の下限値、時間計算量の複数の上限
    値並びに空間計算量の複数の上限値のうち、1種類以上
    を組合せた組合せが規定された第1の鍵生成方式、およ
    び鍵のビット長の複数の下限値、時間計算量の複数の上
    限値、空間計算量の複数の上限値並びに鍵生成の複数の
    生成パラメータのうち、1種類以上を組合せた組合せが
    規定された第2の鍵生成方式が設定された選択テーブル
    と、 鍵のビット長、時間計算量並びに空間計算量のうち、1
    種類以上に関して指定された値に基づいて、前記選択テ
    ーブルから該当する組合せを抽出する組合せ抽出手段
    と、 所定の方式優先条件に基づいて、前記組合せ抽出手段に
    より抽出された組合せに規定された各鍵生成方式のう
    ち、1つの鍵生成方式を選択する方式選択手段と、 前記方式選択手段によって選択された鍵生成方式に基づ
    いて、前記鍵を生成する鍵生成手段と、 を備えたことを特徴とする鍵生成装置。
  3. 【請求項3】 公開鍵暗号に用いられ、複数の鍵生成方
    式のうち、いずれかの鍵生成方式に基づいて鍵を生成す
    る鍵生成装置であって、 鍵のビット長の複数の下限値、時間計算量の複数の上限
    値並びに空間計算量の複数の上限値のうち、1種類以上
    を組合せた組合せが規定された第1の鍵生成方式、およ
    び鍵のビット長の複数の下限値、時間計算量の複数の上
    限値、空間計算量の複数の上限値並びに鍵生成の複数の
    生成パラメータのうち、1種類以上を組合せた組合せが
    規定された第2の鍵生成方式が設定された選択テーブル
    と、 鍵のビット長、時間計算量並びに空間計算量のうち、1
    種類以上に関して指定された値に基づいて、前記選択テ
    ーブルから該当する組合せを抽出する組合せ抽出手段
    と、 所定の方式優先条件に基づいて、前記組合せ抽出手段に
    より抽出された組合せに規定された各鍵生成方式のう
    ち、1つの鍵生成方式を選択する方式選択手段と、 前記方式選択手段により第2の鍵生成方式が選択された
    とき、所定のパラメータ優先条件に基づいて、前記組合
    せ抽出手段により抽出された組合せに属する各生成パラ
    メータのうち、1つの生成パラメータを選択するパラメ
    ータ選択手段と、 前記方式選択手段並びに前記パラメータ選択手段による
    選択結果に基づいて、前記鍵を生成する鍵生成手段と、 を備えたことを特徴とする鍵生成装置。
  4. 【請求項4】 請求項1乃至請求項3のいずれか1項に
    記載の鍵生成装置において、 前記公開鍵暗号は楕円曲線暗号であることを特徴とする
    鍵生成装置。
  5. 【請求項5】 請求項4に記載の鍵生成装置において、 前記第1の鍵生成方式はSEA法であり、前記第2の鍵
    生成方式はCM法であり、前記各生成パラメータは類数
    であり、前記方式優先条件は前記CM法よりも前記SE
    A法を優先する旨を示し、前記パラメータ優先条件は最
    大の類数を優先する旨を示すことを特徴とする鍵生成装
    置。
  6. 【請求項6】 請求項1乃至請求項3のいずれか1項に
    記載の鍵生成装置において、 前記公開鍵暗号はRSA暗号であることを特徴とする鍵
    生成装置。
  7. 【請求項7】 公開鍵暗号に用いられ、複数の鍵生成方
    式のうち、いずれかの鍵生成方式に基づいて鍵を生成す
    る鍵生成方法であって、 鍵のビット長の複数の下限値、時間計算量の複数の上限
    値並びに空間計算量の複数の上限値のうち、1種類以上
    を組合せた組合せが規定された第1の鍵生成方式、およ
    び鍵のビット長の複数の下限値、時間計算量の複数の上
    限値、空間計算量の複数の上限値並びに鍵生成の複数の
    生成パラメータのうち、1種類以上を組合せた組合せが
    規定された第2の鍵生成方式が設定された選択テーブル
    を用い、 鍵のビット長、時間計算量並びに空間計算量のうち、1
    種類以上に関して指定された値に基づいて、前記選択テ
    ーブルから該当する組合せを抽出する組合せ抽出ステッ
    プと、 所定の方式優先条件に基づいて、前記組合せ抽出ステッ
    プにより抽出された組合せに規定された各鍵生成方式の
    うち、1つの鍵生成方式を選択する方式選択ステップ
    と、 前記方式選択ステップにより第2の鍵生成方式が選択さ
    れたとき、所定のパラメータ優先条件に基づいて、前記
    組合せ抽出ステップにより抽出された組合せに属する各
    生成パラメータのうち、1つの生成パラメータを選択す
    るパラメータ選択ステップと、 前記方式選択ステップ並びに前記パラメータ選択ステッ
    プによる選択結果に基づいて、前記鍵を生成する鍵生成
    ステップと、 を含んでいることを特徴とする鍵生成方法。
  8. 【請求項8】 請求項7に記載の鍵生成方法において、 前記公開鍵暗号は楕円曲線暗号であることを特徴とする
    鍵生成方法。
  9. 【請求項9】 請求項8に記載の鍵生成方法において、 前記第1の鍵生成方式はSEA法であり、前記第2の鍵
    生成方式はCM法であり、前記各生成パラメータは類数
    であり、前記方式優先条件は前記CM法よりも前記SE
    A法を優先する旨を示し、前記パラメータ優先条件は最
    大の類数を優先する旨を示すことを特徴とする鍵生成方
    法。
  10. 【請求項10】 請求項7に記載の鍵生成方法におい
    て、 前記公開鍵暗号はRSA暗号であることを特徴とする鍵
    生成方法。
  11. 【請求項11】 公開鍵暗号に用いられ、複数の鍵生成
    方式のうち、いずれかの鍵生成方式に基づいて鍵を生成
    する鍵生成装置に用いられる鍵生成プログラムであっ
    て、 前記鍵生成装置のコンピュータを、 鍵のビット長の複数の下限値、時間計算量の複数の上限
    値並びに空間計算量の複数の上限値のうち、1種類以上
    を組合せた組合せが規定された第1の鍵生成方式、およ
    び鍵のビット長の複数の下限値、時間計算量の複数の上
    限値、空間計算量の複数の上限値並びに鍵生成の複数の
    生成パラメータのうち、1種類以上を組合せた組合せが
    規定された第2の鍵生成方式が設定された選択テーブル
    を参照する参照手段、 鍵のビット長、時間計算量並びに空間計算量のうち、1
    種類以上に関して指定された値に基づいて、前記参照手
    段により前記選択テーブルから該当する組合せを抽出す
    る組合せ抽出手段、 所定の方式優先条件に基づいて、前記組合せ抽出手段に
    より抽出された組合せに規定された各鍵生成方式のう
    ち、1つの鍵生成方式を選択する方式選択手段、 前記方式選択手段により第2の鍵生成方式が選択された
    とき、所定のパラメータ優先条件に基づいて、前記組合
    せ抽出手段により抽出された組合せに属する各生成パラ
    メータのうち、1つの生成パラメータを選択するパラメ
    ータ選択手段、 前記方式選択手段並びに前記パラメータ選択手段による
    選択結果に基づいて、前記鍵を生成する鍵生成手段、 として機能させるための鍵生成プログラム。
JP2001004043A 2001-01-11 2001-01-11 鍵生成装置、方法及びプログラム Pending JP2002207425A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001004043A JP2002207425A (ja) 2001-01-11 2001-01-11 鍵生成装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001004043A JP2002207425A (ja) 2001-01-11 2001-01-11 鍵生成装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2002207425A true JP2002207425A (ja) 2002-07-26

Family

ID=18872285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001004043A Pending JP2002207425A (ja) 2001-01-11 2001-01-11 鍵生成装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2002207425A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020513169A (ja) * 2017-04-07 2020-04-30 株式会社トラストホールディングスTrusst Holdings Inc. 装置認証キーを利用したデータ暗号化方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020513169A (ja) * 2017-04-07 2020-04-30 株式会社トラストホールディングスTrusst Holdings Inc. 装置認証キーを利用したデータ暗号化方法およびシステム

Similar Documents

Publication Publication Date Title
JP4555859B2 (ja) 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体
Naccache et al. A new public key cryptosystem based on higher residues
EP1993086B1 (en) Elliptical curve encryption parameter generation device, elliptical curve encryption calculation device, elliptical curve encryption parameter generation program, and elliptical curve encryption calculation program
CA2212664C (en) Secret communication and authentication scheme based on public key cryptosystem using n-adic expansion
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
US6816594B1 (en) Elliptic curve generating method and device, elliptic encryption system and recording medium
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
CN109660338B (zh) 基于对称密钥池的抗量子计算数字签名方法和系统
US20080063193A1 (en) Crypto-communication method, recipient-side device, key management center-side device and program
CA2692817A1 (en) Method of compressing a cryptographic value
EP3729713B1 (en) Homomorphic encryption for password authentication
CN111325535A (zh) 基于椭圆曲线偏移的区块链私钥管理方法、系统及存储介质
JP2004512570A (ja) 非安全な暗号加速器を用いる方法と装置
JP3626340B2 (ja) 暗号装置及び暗号鍵生成方法、並びに素数生成装置及び素数生成方法
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
CN114142996B (zh) 一种基于sm9密码算法的可搜索加密方法
JPWO2012086076A1 (ja) 署名生成装置及び署名生成方法及び記録媒体
JP4690819B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置
JPWO2006030496A1 (ja) 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
US20120155641A1 (en) Non-interactive verifiable, delegated computation
JP5667969B2 (ja) 検索処理システムおよび部分一致検索方法
JP2002207425A (ja) 鍵生成装置、方法及びプログラム
JP2000293507A (ja) 有限体演算における表現データ生成装置および方法
AU2020101863A4 (en) IoT-Based Micropayment Protocol for Wearable Devices with Unique Verification

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060404