JP2956709B2 - 公開鍵生成方法及び装置 - Google Patents
公開鍵生成方法及び装置Info
- Publication number
- JP2956709B2 JP2956709B2 JP2324479A JP32447990A JP2956709B2 JP 2956709 B2 JP2956709 B2 JP 2956709B2 JP 2324479 A JP2324479 A JP 2324479A JP 32447990 A JP32447990 A JP 32447990A JP 2956709 B2 JP2956709 B2 JP 2956709B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- value
- public
- function
- public key
- 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
Links
Landscapes
- Storage Device Security (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、複数の端末と端末情報発行センターからな
るシステムにおいて、各端末が、センターの公開情報と
相手の端末の公開情報を用いて、相手端末の公開鍵を生
成する方式およびシステムに関する。
るシステムにおいて、各端末が、センターの公開情報と
相手の端末の公開情報を用いて、相手端末の公開鍵を生
成する方式およびシステムに関する。
従来の技術 公開鍵を利用した相手認証、暗号通信、鍵配送、およ
び署名などのプロトコル(以下では単に公開鍵暗号系プ
ロトコルと称する)は、大規模のネットワークに適して
いるため、近年特に注目を浴びている。しかし、公開鍵
暗号系プロトコルでは、公開鍵の完全性、すなわち、そ
の公開鍵がまさに当該の端末のものであるということが
保証されなければならない。公開鍵の完全性を保証する
手段として、信頼のおけるセンターが公開鍵を管理する
方法と、各端末がそれぞれの公開鍵を自分で管理し、暗
号プロトコルの開始に先だって、相手端末から公開鍵を
配送してもらう方法がある。
び署名などのプロトコル(以下では単に公開鍵暗号系プ
ロトコルと称する)は、大規模のネットワークに適して
いるため、近年特に注目を浴びている。しかし、公開鍵
暗号系プロトコルでは、公開鍵の完全性、すなわち、そ
の公開鍵がまさに当該の端末のものであるということが
保証されなければならない。公開鍵の完全性を保証する
手段として、信頼のおけるセンターが公開鍵を管理する
方法と、各端末がそれぞれの公開鍵を自分で管理し、暗
号プロトコルの開始に先だって、相手端末から公開鍵を
配送してもらう方法がある。
前者は、端末数の多い大規模ネットワークに使用する
場合に、センターへのアクセスが集中し、センターの鍵
管理の負担が大きくなるという問題点がある。
場合に、センターへのアクセスが集中し、センターの鍵
管理の負担が大きくなるという問題点がある。
一方、後者は、センターの負担が軽減される反面、そ
の公開鍵の完全性を保証するために、センター発行の署
名情報(証明書と呼ばれることがある)を必要とし、端
末はその署名情報を用いて公開鍵の完全性を確認しなけ
ればならない。
の公開鍵の完全性を保証するために、センター発行の署
名情報(証明書と呼ばれることがある)を必要とし、端
末はその署名情報を用いて公開鍵の完全性を確認しなけ
ればならない。
以上の方法とは別に、信頼のおけるセンターが各端末
の秘密鍵と公開可能な数値(以下では単に公開値と称す
る。この公開値は秘密鍵に対応する公開鍵そのものでは
ない)を端末情報として発行し、この端末情報を用いて
相手認証を行なうプロトコルが提案されている。ベスに
より提案されたこの方法は、公開値の完全性確認を単独
では行わず、相手端末を認証する時に同時に公開値の完
全性確認を行なう方式とみることができる。ただし、こ
の方法では相手認証プロトコルのみに限定される。
の秘密鍵と公開可能な数値(以下では単に公開値と称す
る。この公開値は秘密鍵に対応する公開鍵そのものでは
ない)を端末情報として発行し、この端末情報を用いて
相手認証を行なうプロトコルが提案されている。ベスに
より提案されたこの方法は、公開値の完全性確認を単独
では行わず、相手端末を認証する時に同時に公開値の完
全性確認を行なう方式とみることができる。ただし、こ
の方法では相手認証プロトコルのみに限定される。
ここでは、まずセンター発行の署名情報を用いて公開
鍵の完全性を確認する方法の一例としてエルガマル署名
法を用いた方法について述べ、次に、ベスの提案した相
手認証の方式について述べる、なお、エルガマル署名法
は離散対数問題の難しさをもとにした署名法であり、
“ア パブリック キー クリプトシステム アンド
ア シグニチャスキーム ベイスト オン ディスクリ
ート ロガリズムズ”アイイーイーイー トランザクシ
ョン オン インフォメイション セオリ(T.E.EIGama
l:“A public key cryptosystem and a signature sche
me based on discrete logarithms",IEEE Trans. on I
T,vol.IT−31.NO.4 PP469−472)に詳しい。また、ベス
の方法は、“エフィシェント ゼロナレッジ アイデン
ティフィケーション スキーム フォ スマートカー
ド”ユーロクリプト'88(Beth:“Efficient zero−know
ledge identification scheme for smart cards"Lect N
otes Comput Sci VOL330 P77−84 '88)に詳しい。た
だし、これは周知技術であるため、その詳細な説明は省
略する。
鍵の完全性を確認する方法の一例としてエルガマル署名
法を用いた方法について述べ、次に、ベスの提案した相
手認証の方式について述べる、なお、エルガマル署名法
は離散対数問題の難しさをもとにした署名法であり、
“ア パブリック キー クリプトシステム アンド
ア シグニチャスキーム ベイスト オン ディスクリ
ート ロガリズムズ”アイイーイーイー トランザクシ
ョン オン インフォメイション セオリ(T.E.EIGama
l:“A public key cryptosystem and a signature sche
me based on discrete logarithms",IEEE Trans. on I
T,vol.IT−31.NO.4 PP469−472)に詳しい。また、ベス
の方法は、“エフィシェント ゼロナレッジ アイデン
ティフィケーション スキーム フォ スマートカー
ド”ユーロクリプト'88(Beth:“Efficient zero−know
ledge identification scheme for smart cards"Lect N
otes Comput Sci VOL330 P77−84 '88)に詳しい。た
だし、これは周知技術であるため、その詳細な説明は省
略する。
[従来例1] ここでは、各端末が、各自の公開鍵を管理し、その公
開鍵の完全性をセンター発行の署名情報で保証する方法
について述べる。なお完全性の確認された公開鍵を用い
て、任意の公開鍵暗号系プロトコルを実現できる。以下
では、1)システム初期設定、2)端末の鍵生成、3)
署名情報の発行請求、4)署名情報の発行、5)公開鍵
の完全性確認の各ステップの順に述べる。なお、1)か
ら4)の各ステップは端末がこのシステムに加入する時
に一度だけ実行されるステップである。
開鍵の完全性をセンター発行の署名情報で保証する方法
について述べる。なお完全性の確認された公開鍵を用い
て、任意の公開鍵暗号系プロトコルを実現できる。以下
では、1)システム初期設定、2)端末の鍵生成、3)
署名情報の発行請求、4)署名情報の発行、5)公開鍵
の完全性確認の各ステップの順に述べる。なお、1)か
ら4)の各ステップは端末がこのシステムに加入する時
に一度だけ実行されるステップである。
1)システム初期設定 センターは以下の手順でシステムの初期設定を行な
う。
う。
[1]大きな素数もしくは該素数のべき乗値qと、GF
(q)の原始元gを公開する。
(q)の原始元gを公開する。
ここで、GF(q)はqを法とする有限体を示す。
[2]センターの秘密鍵Xを決め、 Y≡gx (mod q) (1.1) で定まるYをセンターの公開鍵として公開する。ここで
(mod q)はqで除したときの剰余の算出を示す。ま
た式(1.1)において、入力値Xから出力値Yを求める
ことは容易であるが、出力値Yから入力値Xを求めるこ
とは離散対数問題に依存し困難である。
(mod q)はqで除したときの剰余の算出を示す。ま
た式(1.1)において、入力値Xから出力値Yを求める
ことは容易であるが、出力値Yから入力値Xを求めるこ
とは離散対数問題に依存し困難である。
2)端末の鍵生成 端末iは秘密鍵xiを決定し、xiに対応する公開鍵 yi=gxi (mod q) (1.2) を決定する。
3)署名情報の発行請求 端末iは、公開鍵yiと端末iの識別情報IDiを、端末
の公開情報として、センターに通知し、センターの署名
情報の発行を請求する。
の公開情報として、センターに通知し、センターの署名
情報の発行を請求する。
なお、識別情報は名前や住所などの端末固有の公開情
報である。以降の変数における添字iは任意の端末i用
の変数であることを示す。
報である。以降の変数における添字iは任意の端末i用
の変数であることを示す。
4)署名情報の発行 センターは、端末iから受け取った端末の公開情報
(yi,IDi)に対して、エルガマル署名法を使ってセンタ
ー署名情報を発行する。センターによる署名情報の発行
手順は以下のとおりである。
(yi,IDi)に対して、エルガマル署名法を使ってセンタ
ー署名情報を発行する。センターによる署名情報の発行
手順は以下のとおりである。
[1]センターはなんらかの手段で端末iの正当性を確
認する。
認する。
[2]乱数kiを発生する。
[3]エルガマル署名法を用いて、端末iの公開情報
(識別情報IDiと公開鍵yi)に対する署名情報(ti,ui) ti≡gki (mod q) (1.3) ui≡(yi‖IDi−X×ti)/ki (mod φ)(1.4)
(‘‖’はデータの連結を示す。) を生成し、端末iに発行する。
(識別情報IDiと公開鍵yi)に対する署名情報(ti,ui) ti≡gki (mod q) (1.3) ui≡(yi‖IDi−X×ti)/ki (mod φ)(1.4)
(‘‖’はデータの連結を示す。) を生成し、端末iに発行する。
ここでφは、qのオイレル(EULER)の関数(φ
(q)、はqと互いに素かつq以下の自然数の個数を表
す。もし、q=2ならばφ(q)=1であり、q=3な
らばφ(q)=2である。)値を示す。ここにオイレル
の関数については、例えば“暗号と情報セキュリティ”
の第1章:基礎数学(照晃堂)に詳しいが、今本実施例
に関係する性質について少し説明する。全ての自然数
m、nについて、m^φ(n)−m≡0(mod n)。なお、発
行される署名情報(ti,ui)は公開可能な情報であり、
端末へは磁気カードなどを媒体として発行される。
(q)、はqと互いに素かつq以下の自然数の個数を表
す。もし、q=2ならばφ(q)=1であり、q=3な
らばφ(q)=2である。)値を示す。ここにオイレル
の関数については、例えば“暗号と情報セキュリティ”
の第1章:基礎数学(照晃堂)に詳しいが、今本実施例
に関係する性質について少し説明する。全ての自然数
m、nについて、m^φ(n)−m≡0(mod n)。なお、発
行される署名情報(ti,ui)は公開可能な情報であり、
端末へは磁気カードなどを媒体として発行される。
5)公開鍵の完全性確認 ここでは、端末jが端末iの公開鍵の完全性を確認す
る場合について述べる。
る場合について述べる。
[1]端末jは、端末iより端末iの公開情報(yi,ID
i)とセンター発行の署名情報(ti,ui)を受け取る。
i)とセンター発行の署名情報(ti,ui)を受け取る。
[2]端末jは、受け取った端末iの公開情報(yi,ID
i)とセンター発行の署名情報(ti,ui)が g(yi‖IDi)≡Yti×tiui(mod q) (1.5) を満たすか否か検査し、式(1.5)が成立する場合に
は、公開鍵yiがまさに端末iの公開鍵であると認識す
る。
i)とセンター発行の署名情報(ti,ui)が g(yi‖IDi)≡Yti×tiui(mod q) (1.5) を満たすか否か検査し、式(1.5)が成立する場合に
は、公開鍵yiがまさに端末iの公開鍵であると認識す
る。
この従来例によれば、次の(1)〜(4)に列挙のよ
うな特徴がある。
うな特徴がある。
(1)各端末が各自の秘密鍵xと公開鍵yiを生成し、端
末の公開情報(公開鍵yiと識別情報IDi) に対する署名情報をセンターが発行する。
末の公開情報(公開鍵yiと識別情報IDi) に対する署名情報をセンターが発行する。
(2)各端末は、相手端末の公開情報(yi,IDi)とセン
ター発行の署名情報(ti,ui)を用いて、相手端末の公
開鍵の完全性を確認する。
ター発行の署名情報(ti,ui)を用いて、相手端末の公
開鍵の完全性を確認する。
(3)完全性の確認された公開鍵を用いて任意の離散対
数演算ベースの公開鍵暗号系プロトコルを構成できる。
数演算ベースの公開鍵暗号系プロトコルを構成できる。
(4)公開鍵の完全性確認に、modq上のべき乗剰余演算
を3回行う必要がある。
を3回行う必要がある。
[従来法2] ベスが提案した相手認証プロトコルは、センターの公
開情報と、端末の公開情報(端末の識別情報とセンター
発行の公開値)を用いて相手の認証を行なう方式があ
る。なお、端末の秘密鍵と公開値は、センターが発行す
る。以下では、上述のベスの文献において推奨されてい
る方式について、1)システム初期設定、2)端末情報
の発行請求、3)端末情報の発行、4)相手端末の認証
各ステップの順に述べるが、1)から3)の各ステップ
は端末がこのシステムに加入する時に一度だけ実行され
るステップである。
開情報と、端末の公開情報(端末の識別情報とセンター
発行の公開値)を用いて相手の認証を行なう方式があ
る。なお、端末の秘密鍵と公開値は、センターが発行す
る。以下では、上述のベスの文献において推奨されてい
る方式について、1)システム初期設定、2)端末情報
の発行請求、3)端末情報の発行、4)相手端末の認証
各ステップの順に述べるが、1)から3)の各ステップ
は端末がこのシステムに加入する時に一度だけ実行され
るステップである。
1)システム初期設定 センターは以下の手順でシステムを構成する。
[1]大きな素数pまたは該素数のべき乗値qとGF
(q)の原始元gを公開する。
(q)の原始元gを公開する。
[2]センターの秘密鍵Xを決め、 Y≡gx (mod q) (2.1) を公開する。
2)端末情報の発行請求 端末iは、識別情報IDiにセンターを通知し、端末情
報として端末の秘密鍵xiと公開値yiの発行を請求する。
報として端末の秘密鍵xiと公開値yiの発行を請求する。
3)端末情報の発行 センターは、端末情報の発行を以下の手順で行なう。
[1]センターはなんらかの手段で端末iの正当性を確
認する。
認する。
[2]乱数kiを発生する。
[3]エルガマル署名法を用いて、識別情報IDiに対す
る署名情報(yi,xi) yi≡gki(mod q) (2.2) xi≡(IDi−X×yi)/ki (mod φ) (2.3) を生成し、xiは端末の秘密鍵として、yiは端末の公開値
として、端末iに発行する。
る署名情報(yi,xi) yi≡gki(mod q) (2.2) xi≡(IDi−X×yi)/ki (mod φ) (2.3) を生成し、xiは端末の秘密鍵として、yiは端末の公開値
として、端末iに発行する。
なお、端末の秘密鍵xiは、ICカードなどの物理的に安
全なメモリを媒体として発行される。
全なメモリを媒体として発行される。
4)相手端末の認証 端末iが端末jに自分の正当性を証明する場合につい
て説明する。
て説明する。
[1]端末iは、端末jに端末の公開情報として、識別
情報IDi及び端末の公開値yiを送付する。
情報IDi及び端末の公開値yiを送付する。
[2]端末jは受け取った(IDi,yi)を用いて ρi≡Yyi(mod q) (2.4) を得る。
[3]端末iは、乱数Riを用いて C1≡yi-Ri(mod q) (2.5) を計算し、端末jに送付する。
[4]端末jは、乱数Eを端末iに送付する。
[5]端末iは、自身の秘密鍵xiを用いて、 C2≡E×xi+Ri(mod φ) (2.6) を計算し、端末jに送付する。
[6]端末jは、v≡E×IDi (mod φ)を求め ρE×yC2×C1≡gV(mod q)(2.7)が成立するか
否かを検査し、式(2.7)が成り立つ場合に、相手端末
が、まさに端末iであると認識する。
否かを検査し、式(2.7)が成り立つ場合に、相手端末
が、まさに端末iであると認識する。
この従来例によれば、次の(1)〜(4)に列挙する
特徴がある。
特徴がある。
(1)センターが、各端末に対して、各端末の秘密鍵と
端末の公開値を生成する。
端末の公開値を生成する。
(2)各端末は、センターの公開情報と相手端末の公開
情報(公開値yiと識別情報IDi)を用いて、相手端末の
認証を行う。
情報(公開値yiと識別情報IDi)を用いて、相手端末の
認証を行う。
(3)任意の離散対数演算ベースの公開鍵暗号系プロト
コルを構成できない。
コルを構成できない。
(4)相手認証時に、modq上のべき乗剰余演算を3回行
う必要がある。
う必要がある。
発明が解決しようとする課題 しかしながら、上記従来例1によれば、相手端末の公
開鍵の完全性は、相手端末の公開情報(yi,IDi)とセン
ター発行の署名情報(ti,ui)を用いなければ確認でき
ないし、また、その確認に(mod q)上のべき乗剰余
演算を3回も行なわねばならず、計算量が大変多い。
開鍵の完全性は、相手端末の公開情報(yi,IDi)とセン
ター発行の署名情報(ti,ui)を用いなければ確認でき
ないし、また、その確認に(mod q)上のべき乗剰余
演算を3回も行なわねばならず、計算量が大変多い。
一方、従来例2によれば、任意の離散対数演算ベース
の公開鍵暗号系プロトコルを構成できないし、相手認証
時に、(mod q)上のべき乗剰余演算を3回行わねば
ならず、やはり計算量が多く煩瑣である。
の公開鍵暗号系プロトコルを構成できないし、相手認証
時に、(mod q)上のべき乗剰余演算を3回行わねば
ならず、やはり計算量が多く煩瑣である。
本発明は、以上の課題に鑑み、生成された公開鍵を用
いて任意の離散対数演算ベースの公開暗号系プロトコル
を構成を構成できると共に、公開鍵の完全性の確認をあ
えて行う必要がなく、また、べき乗剰余演算の計算量を
少なくすることのできる公開鍵生成方式および公開鍵生
成システムを提案することを目的としてなされたもので
ある。
いて任意の離散対数演算ベースの公開暗号系プロトコル
を構成を構成できると共に、公開鍵の完全性の確認をあ
えて行う必要がなく、また、べき乗剰余演算の計算量を
少なくすることのできる公開鍵生成方式および公開鍵生
成システムを提案することを目的としてなされたもので
ある。
課題を解決するための手段 上記目的を達成するため、本発明は、固有の識別情報
を有する第1の端末と第2の端末とこれらを接続するネ
ットワークと、端末情報発行センターで構成される公開
鍵生成方法であって、 前記端末情報発行センターは、一方向性関数部Fと、
端末情報発行センターの秘密鍵Xを格納する秘密鍵格納
部と、公開鍵生成関数Pを格納した生成関数格納部とを
備え、 センターの秘密鍵Xを前記一方向性関数部Fに入力し
たときの出力値Y=F(X)と公開鍵生成関数Pとを端
末情報発行センターの公開情報として通信路を介して前
記第1、第2の端末に通知し、 前記第1の端末は、第1の端末の識別情報iを端末情
報発行センターに通信路を介して通知し、 前記端末情報発行センターは、前記に加え、乱数発生
部と、端末の秘密鍵を生成するための秘密鍵生成部Sを
備え、 発生した乱数値kを前記一方向性関数部Fに入力しそ
の出力値y=f(k)を前記第1の端末の公開値として
求め、さらに、センターの秘密鍵Xと、前記第1の端末
の公開鍵yと、乱数値kと、第1の端末から通知された
第1の端末の識別子iを前記秘密鍵生成部Sに入力しそ
の出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、 前記第1の端末は、端末情報発行センターから受け取
った第1の端末の秘密鍵xを格納する秘密鍵格納部を備
え、第2の端末に前記第1の端末の公開値yと第1の端
末の識別情報iを通信路を介して第2の端末に通知し、 前記第2の端末は、センターから公開鍵情報として送
られてくる公開鍵生成関数Pを格納する生成関数格納部
を備え、その公開鍵生成関数Pに、前記第1の端末の公
開値yと第1の端末の識別情報iと前記端末情報発行セ
ンターの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、 これに続く第1、第2の端末間の通信路を介した公開
鍵暗号を利用した秘密通信または署名通信を、前記第1
の端末の秘密鍵xと前記第2の端末が生成した前記第1
の端末の公開鍵Cを用いて行なうようにしたことを特徴
としている。
を有する第1の端末と第2の端末とこれらを接続するネ
ットワークと、端末情報発行センターで構成される公開
鍵生成方法であって、 前記端末情報発行センターは、一方向性関数部Fと、
端末情報発行センターの秘密鍵Xを格納する秘密鍵格納
部と、公開鍵生成関数Pを格納した生成関数格納部とを
備え、 センターの秘密鍵Xを前記一方向性関数部Fに入力し
たときの出力値Y=F(X)と公開鍵生成関数Pとを端
末情報発行センターの公開情報として通信路を介して前
記第1、第2の端末に通知し、 前記第1の端末は、第1の端末の識別情報iを端末情
報発行センターに通信路を介して通知し、 前記端末情報発行センターは、前記に加え、乱数発生
部と、端末の秘密鍵を生成するための秘密鍵生成部Sを
備え、 発生した乱数値kを前記一方向性関数部Fに入力しそ
の出力値y=f(k)を前記第1の端末の公開値として
求め、さらに、センターの秘密鍵Xと、前記第1の端末
の公開鍵yと、乱数値kと、第1の端末から通知された
第1の端末の識別子iを前記秘密鍵生成部Sに入力しそ
の出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、 前記第1の端末は、端末情報発行センターから受け取
った第1の端末の秘密鍵xを格納する秘密鍵格納部を備
え、第2の端末に前記第1の端末の公開値yと第1の端
末の識別情報iを通信路を介して第2の端末に通知し、 前記第2の端末は、センターから公開鍵情報として送
られてくる公開鍵生成関数Pを格納する生成関数格納部
を備え、その公開鍵生成関数Pに、前記第1の端末の公
開値yと第1の端末の識別情報iと前記端末情報発行セ
ンターの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、 これに続く第1、第2の端末間の通信路を介した公開
鍵暗号を利用した秘密通信または署名通信を、前記第1
の端末の秘密鍵xと前記第2の端末が生成した前記第1
の端末の公開鍵Cを用いて行なうようにしたことを特徴
としている。
ここで、一方向性関数部における関数Fを、素数もし
くは素数のべき乗値qと、前記qを法とする剰余体の原
始元gを用い、入力値uをべきとし、前記qを法とする
前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、センターの秘密鍵Xと第1の端末公開鍵yの積
と、センターの生成した乱数値kと第1の端末の識別情
報iの積との和 x=S(X,y,k,i) =X×y+k×i mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yをべき
とした前記センターの公開情報Yのべき乗剰余値と、前
記第1の端末の識別情報iをべきとした前記第1の端末
の公開値yのべき乗剰余値との積 C=P(Y,y,i) ≡(Yy)×(yi)mod q を出力する関数とするようにしたことを特徴としてい
る。
くは素数のべき乗値qと、前記qを法とする剰余体の原
始元gを用い、入力値uをべきとし、前記qを法とする
前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、センターの秘密鍵Xと第1の端末公開鍵yの積
と、センターの生成した乱数値kと第1の端末の識別情
報iの積との和 x=S(X,y,k,i) =X×y+k×i mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yをべき
とした前記センターの公開情報Yのべき乗剰余値と、前
記第1の端末の識別情報iをべきとした前記第1の端末
の公開値yのべき乗剰余値との積 C=P(Y,y,i) ≡(Yy)×(yi)mod q を出力する関数とするようにしたことを特徴としてい
る。
また、ここで前記一方向性関数部における関数Fを、
素数もしくは素数のべき乗値qと、前記qを法とする剰
余体の原始元gを用いて、入力値uをべきとし、前記q
を法とする前記gのべき乗剰余値 v=F(u)≡gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、前記第1の端末の公開値yと前記第1の端末の
識別情報iをある公開の関数Hに入力したときに得られ
る出力値hと、前記センターの秘密鍵Xの積と、前記セ
ンターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k mod φ =h×X+k mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yと前記
第1の端末の識別情報iを前記関数Hに入力したときに
得られる出力値hをべきとした前記センターの公開情報
Yのべき乗剰余値と、前記第1の端末の公開値yとの積 C=P(Y,y,i) =(YH(y,i))×y mod q =(Yh)×y mod q を出力する関数とするようにしたことを特徴としてい
る。
素数もしくは素数のべき乗値qと、前記qを法とする剰
余体の原始元gを用いて、入力値uをべきとし、前記q
を法とする前記gのべき乗剰余値 v=F(u)≡gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、前記第1の端末の公開値yと前記第1の端末の
識別情報iをある公開の関数Hに入力したときに得られ
る出力値hと、前記センターの秘密鍵Xの積と、前記セ
ンターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k mod φ =h×X+k mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yと前記
第1の端末の識別情報iを前記関数Hに入力したときに
得られる出力値hをべきとした前記センターの公開情報
Yのべき乗剰余値と、前記第1の端末の公開値yとの積 C=P(Y,y,i) =(YH(y,i))×y mod q =(Yh)×y mod q を出力する関数とするようにしたことを特徴としてい
る。
また、ここで第1の端末は、前記に加え前記一方向性
関数部Fを備え、前記第1の端末の秘密鍵xを前記一方
向性関数部Fに入力した出力値Vを第1の端末の検証用
公開鍵として求め、第2の端末にこの検証用公開鍵Vと
前記第1の端末の公開値yと第1の端末の識別情報iを
前記ネットワークを介して第2の端末に通知し、 第2の端末は公開鍵検証手段を備え第1の端末の公開
鍵Cを生成した後、生成されたCと、第1の端末から通
知された検証用公開鍵Vを比較し、一致するか否かを確
認し、一致する場合、これに続く第1、第2の端末間の
公開鍵暗号通信または認証通信を、前記第1の端末の秘
密鍵xと前記第2の端末が生成した前記第1の端末の公
開鍵Cを用いて行なうようにしたことを特徴としてい
る。
関数部Fを備え、前記第1の端末の秘密鍵xを前記一方
向性関数部Fに入力した出力値Vを第1の端末の検証用
公開鍵として求め、第2の端末にこの検証用公開鍵Vと
前記第1の端末の公開値yと第1の端末の識別情報iを
前記ネットワークを介して第2の端末に通知し、 第2の端末は公開鍵検証手段を備え第1の端末の公開
鍵Cを生成した後、生成されたCと、第1の端末から通
知された検証用公開鍵Vを比較し、一致するか否かを確
認し、一致する場合、これに続く第1、第2の端末間の
公開鍵暗号通信または認証通信を、前記第1の端末の秘
密鍵xと前記第2の端末が生成した前記第1の端末の公
開鍵Cを用いて行なうようにしたことを特徴としてい
る。
本発明は上記目的を達成するために、固有の識別情報
を有する第1の端末と第2の端末とこれらを接続するネ
ットワークと、端末情報発行センターで構成される公開
鍵生成装置であって、前記端末情報発行センターは、一
方向性関数処理手段Fと、端末情報発行センターの秘密
鍵Xを格納する秘密鍵格納手段と、公開鍵生成関数Pを
格納した生成関数格納手段とを備え、センターの秘密鍵
Xを前記一方向性関数処理手段Fに入力した出力値Y=
(X)と公開鍵生成関数Pとを端末情報発行センターの
公開鍵として通信路を介して前記第1、2の端末に通知
し、前記第1の端末は、第1の端末の識別情報iを端末
情報発行センターに通信路を介して通知し、前記端末情
報発行センターは、前記に加え乱数発生手段と、端末の
秘密鍵を生成するための秘密鍵生成手段Sを備え、発生
した乱数値kを前記一方向性関数処理手段Fに入力しそ
の出力値y=f(k)を前記第1の端末の公開値として
求め、さらに、センターの秘密鍵Xと、前記第1の端末
の公開値yと、乱数値kと、第1の端末から通知された
第1の端末の識別個iを前記秘密鍵生成手段Sに入力し
その出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、前記第1の端末は、端末情報発行セン
ターから受け取った第1の端末の秘密鍵xを格納する秘
密鍵格納手段を備え、第2の端末に前記第1の端末の公
開値yと第1の端末の識別情報iを通信路を介して第2
の端末に通知し、前記第2の端末は、センターから公開
情報として送られてくる公開鍵生成関数Pを格納する生
成関数格納手段を備え、その公開鍵生成関数Pに前記第
1の端末の公開値yと第1の端末の識別情報iと前記端
末情報発行センターの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、これに続く第1、第
2の端末間の通信路を介した公開鍵暗号通信または署名
通信を、前記第1の端末の秘密鍵xと前記第2の端末が
生成した前記第1の公開鍵Cを用いて行なうようにした
ことを特徴としている。
を有する第1の端末と第2の端末とこれらを接続するネ
ットワークと、端末情報発行センターで構成される公開
鍵生成装置であって、前記端末情報発行センターは、一
方向性関数処理手段Fと、端末情報発行センターの秘密
鍵Xを格納する秘密鍵格納手段と、公開鍵生成関数Pを
格納した生成関数格納手段とを備え、センターの秘密鍵
Xを前記一方向性関数処理手段Fに入力した出力値Y=
(X)と公開鍵生成関数Pとを端末情報発行センターの
公開鍵として通信路を介して前記第1、2の端末に通知
し、前記第1の端末は、第1の端末の識別情報iを端末
情報発行センターに通信路を介して通知し、前記端末情
報発行センターは、前記に加え乱数発生手段と、端末の
秘密鍵を生成するための秘密鍵生成手段Sを備え、発生
した乱数値kを前記一方向性関数処理手段Fに入力しそ
の出力値y=f(k)を前記第1の端末の公開値として
求め、さらに、センターの秘密鍵Xと、前記第1の端末
の公開値yと、乱数値kと、第1の端末から通知された
第1の端末の識別個iを前記秘密鍵生成手段Sに入力し
その出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、前記第1の端末は、端末情報発行セン
ターから受け取った第1の端末の秘密鍵xを格納する秘
密鍵格納手段を備え、第2の端末に前記第1の端末の公
開値yと第1の端末の識別情報iを通信路を介して第2
の端末に通知し、前記第2の端末は、センターから公開
情報として送られてくる公開鍵生成関数Pを格納する生
成関数格納手段を備え、その公開鍵生成関数Pに前記第
1の端末の公開値yと第1の端末の識別情報iと前記端
末情報発行センターの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、これに続く第1、第
2の端末間の通信路を介した公開鍵暗号通信または署名
通信を、前記第1の端末の秘密鍵xと前記第2の端末が
生成した前記第1の公開鍵Cを用いて行なうようにした
ことを特徴としている。
ここで、前記一方向性関数処理手段における関数F
を、素数もしくは素数のべき乗値qと、前記qを法とす
る剰余体の原始元gを用い、入力値uをべきとし、前記
qを法とする前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成手段における関数Sを前記φを
法とし、センターの秘密鍵Xと第1の端末の公開値yの
積と、センターの生成した乱数値kと第1の端末の識別
情報iの積との和 x=S(X,y,k,i) =X×y+k×i mod φ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yをべ
きとした前記センターの公開情報Yのべき乗剰余値と、
前記第1の端末の識別情報iをべきとした前記第1の端
末の公開値yのべき乗剰余値との積 C=P(Y,y,i) =(Yy)×(yi)mod q を出力する関数とするようにしたことを特徴としてい
る。
を、素数もしくは素数のべき乗値qと、前記qを法とす
る剰余体の原始元gを用い、入力値uをべきとし、前記
qを法とする前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成手段における関数Sを前記φを
法とし、センターの秘密鍵Xと第1の端末の公開値yの
積と、センターの生成した乱数値kと第1の端末の識別
情報iの積との和 x=S(X,y,k,i) =X×y+k×i mod φ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yをべ
きとした前記センターの公開情報Yのべき乗剰余値と、
前記第1の端末の識別情報iをべきとした前記第1の端
末の公開値yのべき乗剰余値との積 C=P(Y,y,i) =(Yy)×(yi)mod q を出力する関数とするようにしたことを特徴としてい
る。
また、ここで前記一方向性関数処理手段における関数
Fを、素数もしくは素数のべき乗値qと、前記qを法と
する剰余体の原始元gを用いて、入力値uをべきとし、
前記qを法とする前記gのべし乗剰余値 v=F(u)=gumod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記鍵生成手段における関数Sを、前記φを法
とし、前記第1の端末の公開値yと前記第1の端末の識
別情報iをある公開の関数Hに入力したときに得られる
出力値hと、前記センターの秘密鍵Xの積と、前記セン
ターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k modφ =h×X+k modφ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yと前
記第1の端末の識別情報iを前記関数Hに入力したとき
に得られる出力値hをべきとした前記センターの公開情
報Yのべき乗剰余値と、前記第1の端末の公開値yとの
積 C=P(Y,y,i) =(YH(Y,I))×ymod q (Yh)×y mod q を出力する関数とするようにしたことを特徴としてい
る。
Fを、素数もしくは素数のべき乗値qと、前記qを法と
する剰余体の原始元gを用いて、入力値uをべきとし、
前記qを法とする前記gのべし乗剰余値 v=F(u)=gumod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記鍵生成手段における関数Sを、前記φを法
とし、前記第1の端末の公開値yと前記第1の端末の識
別情報iをある公開の関数Hに入力したときに得られる
出力値hと、前記センターの秘密鍵Xの積と、前記セン
ターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k modφ =h×X+k modφ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yと前
記第1の端末の識別情報iを前記関数Hに入力したとき
に得られる出力値hをべきとした前記センターの公開情
報Yのべき乗剰余値と、前記第1の端末の公開値yとの
積 C=P(Y,y,i) =(YH(Y,I))×ymod q (Yh)×y mod q を出力する関数とするようにしたことを特徴としてい
る。
また、ここで第1の端末は、前記に加え前記一方向性
関数手段Fを備え、前記第1の端末の秘密鍵xを前記一
方向性関数部Fに入力した出力値Vを第1の端末の検証
用公開鍵として求め、第2の端末にこの検証用公開鍵V
と前記鍵第1の端末の公開値yと第1の端末の識別情報
iを通信路を介して第2の端末に通知し、 第2の端末は、公開鍵検証手段を備え、第1の端末の
公開鍵Cを生成した後、生成されたCと、第1の端末か
ら通知された検証用公開鍵Vを比較し、一致するか否か
を確認し、一致する場合、これに続く第1、第2の端末
間の公開鍵暗号通信または認証通信を、前記第1の端末
の秘密鍵xと前記第2の端末が生成した前記第1の端末
の公開鍵Cを用いて行なうようにしたことを特徴として
いる。
関数手段Fを備え、前記第1の端末の秘密鍵xを前記一
方向性関数部Fに入力した出力値Vを第1の端末の検証
用公開鍵として求め、第2の端末にこの検証用公開鍵V
と前記鍵第1の端末の公開値yと第1の端末の識別情報
iを通信路を介して第2の端末に通知し、 第2の端末は、公開鍵検証手段を備え、第1の端末の
公開鍵Cを生成した後、生成されたCと、第1の端末か
ら通知された検証用公開鍵Vを比較し、一致するか否か
を確認し、一致する場合、これに続く第1、第2の端末
間の公開鍵暗号通信または認証通信を、前記第1の端末
の秘密鍵xと前記第2の端末が生成した前記第1の端末
の公開鍵Cを用いて行なうようにしたことを特徴として
いる。
作用 上記構成により、本発明による公開鍵生成方法及び公
開鍵生成装置では、第2の端末は、センターの公開鍵Y
と第1の端末の公開値y及び識別情報iを用いて第1の
端末の公開鍵Cを生成する。このうち第1の端末の公開
値yはセンターの秘密鍵Xを用いないかぎり、都合の良
いように改竄や変更ができない情報である。このことに
より、第2の端末で生成した第1の端末の公開鍵Cの完
全性は自動的に保証され、あえて独立に公開鍵の完全性
を確認する必要はない。従って、公開鍵の完全性の確認
のために本来必要であった、公開鍵に対するセンターの
署名情報の転送が不要となり、通信効率が改善されると
ともに、暗号通信や署名通信を行なう前に、本来必要で
あった公開鍵の完全性確認のステップを省略することが
でき、このステップの省略により、従来に比べて処理が
高速になる。
開鍵生成装置では、第2の端末は、センターの公開鍵Y
と第1の端末の公開値y及び識別情報iを用いて第1の
端末の公開鍵Cを生成する。このうち第1の端末の公開
値yはセンターの秘密鍵Xを用いないかぎり、都合の良
いように改竄や変更ができない情報である。このことに
より、第2の端末で生成した第1の端末の公開鍵Cの完
全性は自動的に保証され、あえて独立に公開鍵の完全性
を確認する必要はない。従って、公開鍵の完全性の確認
のために本来必要であった、公開鍵に対するセンターの
署名情報の転送が不要となり、通信効率が改善されると
ともに、暗号通信や署名通信を行なう前に、本来必要で
あった公開鍵の完全性確認のステップを省略することが
でき、このステップの省略により、従来に比べて処理が
高速になる。
また、請求項2及び5においては、第2の端末が、第
1の端末の公開鍵の生成に必要な計算量が、べき乗剰余
演算2回となる。また、請求項3及び6においては、さ
らに公開鍵の生成に必要な計算量が、べき乗剰余演算1
回となる。
1の端末の公開鍵の生成に必要な計算量が、べき乗剰余
演算2回となる。また、請求項3及び6においては、さ
らに公開鍵の生成に必要な計算量が、べき乗剰余演算1
回となる。
また、請求項4及び請求項8においては、公開鍵の完
全性を独立に確認することができる。
全性を独立に確認することができる。
実 施 例 以下、本発明を実施例に基づいて説明する。
(第1実施例) 第1図は、本発明の第1実施例のシステム構成の概略
図である。本図において、10は端末情報発行センターで
あり、20は第1の端末であり、30は第2の端末であり、
40はセンターと端末間で設定されている通信路であり、
50は第1の端末と第2の端末間で設定されている通信路
である。
図である。本図において、10は端末情報発行センターで
あり、20は第1の端末であり、30は第2の端末であり、
40はセンターと端末間で設定されている通信路であり、
50は第1の端末と第2の端末間で設定されている通信路
である。
第2図は、本実施例の鍵生成方式における、1)シス
テム初期設定ステップ、2)端末情報請求ステップ、
3)端末情報発行ステップの各ステップの概略を示し、
第3図は、4)端末情報転送ステップ、5)公開鍵生成
ステップの各ステップの概略図である。
テム初期設定ステップ、2)端末情報請求ステップ、
3)端末情報発行ステップの各ステップの概略を示し、
第3図は、4)端末情報転送ステップ、5)公開鍵生成
ステップの各ステップの概略図である。
次に、本実施例の鍵生成方式の動作について第2図及
び第3図を使用して、詳細に説明する。
び第3図を使用して、詳細に説明する。
1)システム初期設定ステップ センターは以下の手順でシステムを構成する。
[1]大きな素数または素数のべき乗値qとGF(q)の
原始元gを生成し、qを11の法格納部に、gを12の原始
根格納部に格納する。
原始元gを生成し、qを11の法格納部に、gを12の原始
根格納部に格納する。
[2]センターの秘密鍵Xを決定し、13の秘密鍵格納部
に格納し、14の一方向性関数部Fにセンターの秘密鍵X
を入力して Y≡F(X)≡gx (mod q) (1) を生成する。この上で、(q,g,Y)と第2図に18で示す
格納部に格納されている公開鍵生成ステップにおいて使
用する公開鍵生成関数Pをセンターの公開情報として各
端末に公開する。
に格納し、14の一方向性関数部Fにセンターの秘密鍵X
を入力して Y≡F(X)≡gx (mod q) (1) を生成する。この上で、(q,g,Y)と第2図に18で示す
格納部に格納されている公開鍵生成ステップにおいて使
用する公開鍵生成関数Pをセンターの公開情報として各
端末に公開する。
2)端末情報請求ステップ 端末iは21の識別情報格納部に格納された端末i固有
の識別情報IDiを41の端末情報の請求用の通信路を通じ
てセンターに通知し、端末情報の発行を請求する。な
お、この場合、41の端末情報の請求用の通信路は、相手
の正当性を確認できる通信路(認証可能な通信路)であ
る。
の識別情報IDiを41の端末情報の請求用の通信路を通じ
てセンターに通知し、端末情報の発行を請求する。な
お、この場合、41の端末情報の請求用の通信路は、相手
の正当性を確認できる通信路(認証可能な通信路)であ
る。
3)端末情報発行ステップ 端末iからの端末情報発行の請求に対して、センター
は端末情報の発行を以下の手順で行なう。
は端末情報の発行を以下の手順で行なう。
[1]センターは端末iの正当性を確認する。
[2]15の乱数生成装置を用いて乱数kiを発生する。
[3]乱数kiを14の一方向性関数に入力して端末の公開
値 yi≡gki (mod q) (2) を生成し、センターの秘密鍵Xと端末iの公開値yiと乱
数kiと端末iの識別情報IDiを秘密鍵生成部16の第1の
秘密鍵生成関数S保有部に入力して端末の秘密鍵 xi≡S(X,yi,ki,IDi)≡X×yi+ki×IDi (mod
φ) (3) を生成し、42の端末情報発行用通信路を通じて端末iに
発行する。ここでφはqのオイラーの関数の値である。
値 yi≡gki (mod q) (2) を生成し、センターの秘密鍵Xと端末iの公開値yiと乱
数kiと端末iの識別情報IDiを秘密鍵生成部16の第1の
秘密鍵生成関数S保有部に入力して端末の秘密鍵 xi≡S(X,yi,ki,IDi)≡X×yi+ki×IDi (mod
φ) (3) を生成し、42の端末情報発行用通信路を通じて端末iに
発行する。ここでφはqのオイラーの関数の値である。
なお、42の端末情報発行用通信路は、外部に対して安
全な通信路とする。例えばICカードなどの物理的に安全
なメモリを媒体とする。
全な通信路とする。例えばICカードなどの物理的に安全
なメモリを媒体とする。
以上のステップは端末がこのシステムに加入するとき
に一度だけ実行されるステップである。
に一度だけ実行されるステップである。
4)端末公開情報転送ステップ 端末iは、端末jに、21の格納部に格納された識別情
報IDiと22の格納部格納されたセンター発行の端末iの
公開値yiを、51の端末情報転送用通信路を通じて送付す
る。
報IDiと22の格納部格納されたセンター発行の端末iの
公開値yiを、51の端末情報転送用通信路を通じて送付す
る。
5)公開鍵生成ステップ 端末jは、受け取った(IDi,yi)を、31の第1の公開
鍵生成関数Pに入力して、端末iの公開鍵 Pi≡P(Y,yi,IDi)≡(Yyi)×(yiIDi) (mod
q) (4) を生成する。
鍵生成関数Pに入力して、端末iの公開鍵 Pi≡P(Y,yi,IDi)≡(Yyi)×(yiIDi) (mod
q) (4) を生成する。
このようにして、センターの公開情報と端末の公開情
報を用いて、相手端末の公開鍵を生成する。なお上述の
手順で、相手端末の公開鍵を生成したのち、次のステッ
プとして、その公開鍵を用いて、さまざまな公開鍵暗号
系プロトコルを作製の上実施できる。ここでは、一例と
して相手認証プロトコルの例について説明するが、他の
公開鍵を用いた暗号プロトコルであってもよいのは勿論
である。
報を用いて、相手端末の公開鍵を生成する。なお上述の
手順で、相手端末の公開鍵を生成したのち、次のステッ
プとして、その公開鍵を用いて、さまざまな公開鍵暗号
系プロトコルを作製の上実施できる。ここでは、一例と
して相手認証プロトコルの例について説明するが、他の
公開鍵を用いた暗号プロトコルであってもよいのは勿論
である。
ここで示す相手認証プロトコルは、チャウムと木崎に
よって提案された相手認証方式をもとにし構成される例
であり、第6図にその概略を示す。なお、チャウムの木
崎が提案した認証方式については“アン インプルーブ
ド プロトコル フォー デモンストレーティング ポ
ゼション オブ ディスクリート ロガリズムズ アン
ド サム ジェネラリゼイションズ”ユーロクリプト87
(D.Chaum:“An improved protocol for demonstratin
g possession of discrete logarithms and some gener
alizations",EUROCRYPT87)、または、“ア ノート
オン ゼロノレジ プルーフ フォー ザ ディスクリ
ート ロガリズム プロブレム”、ザ トランザクショ
ン オブ ザ アイイーアイシーイー1988(K.Kizaki:
“A note on zero−knowledge proof for the discrete
logarithm problem",The Trans.of the IEICE,Vol.E7
1,No.1,January,1988)に詳しい。
よって提案された相手認証方式をもとにし構成される例
であり、第6図にその概略を示す。なお、チャウムの木
崎が提案した認証方式については“アン インプルーブ
ド プロトコル フォー デモンストレーティング ポ
ゼション オブ ディスクリート ロガリズムズ アン
ド サム ジェネラリゼイションズ”ユーロクリプト87
(D.Chaum:“An improved protocol for demonstratin
g possession of discrete logarithms and some gener
alizations",EUROCRYPT87)、または、“ア ノート
オン ゼロノレジ プルーフ フォー ザ ディスクリ
ート ロガリズム プロブレム”、ザ トランザクショ
ン オブ ザ アイイーアイシーイー1988(K.Kizaki:
“A note on zero−knowledge proof for the discrete
logarithm problem",The Trans.of the IEICE,Vol.E7
1,No.1,January,1988)に詳しい。
端末iが端末jに自分の正当性を証明する場合につい
て説明する。なお端末jは、既に端末iの公開鍵Piを上
述の手順で生成しているものとする。
て説明する。なお端末jは、既に端末iの公開鍵Piを上
述の手順で生成しているものとする。
6)相手認証ステップ [1]端末iは、乱数Riを発生し、 C1≡gRi (mod q) を計算し、端末jに送付する。
[2]端末jは、乱数Eを端末iに送付する。
[3]端末iは、自身の秘密鍵xiを用いて、 C2≡E×xi+Ri (mod φ) を計算し、端末jに送付する。
[4]端末jは、検証式 gC2≡(PiE)×C1 (mod q) が成立するか否かを検査し、検証式が成立する場合に
は、相手端末がまさに端末iであると認識する。
は、相手端末がまさに端末iであると認識する。
本第1実施例の特徴は以下のとおりである。
(1)センターが、各端末に対して、各端末の秘密鍵x
と端末の公開値yi(公開鍵ではない)を生成する。
と端末の公開値yi(公開鍵ではない)を生成する。
(2)各端末は、センターの公開情報Yと相手端末の公
開情報(公開値yiと識別情報IDi)を用いて、相手端末
の公開鍵Piを生成する。
開情報(公開値yiと識別情報IDi)を用いて、相手端末
の公開鍵Piを生成する。
(3)生成された公開鍵Piを用いて、任意の離散対数演
算ベースの公開鍵暗号系プロトコルを構成できる。
算ベースの公開鍵暗号系プロトコルを構成できる。
(4)公開鍵の生成に必要となる計算量は、mod q上
のべき乗剰余演算2回である。なお、端末iが自身の秘
密鍵xiを用いて、自分の公開鍵 Vi≡gxi (mod q) を求め、端末jに送付し、端末jはViを第1の公開鍵生
成関数Pで求めた公開鍵Piと比較することによって公開
鍵の完全性を単独に確認することもできる。
のべき乗剰余演算2回である。なお、端末iが自身の秘
密鍵xiを用いて、自分の公開鍵 Vi≡gxi (mod q) を求め、端末jに送付し、端末jはViを第1の公開鍵生
成関数Pで求めた公開鍵Piと比較することによって公開
鍵の完全性を単独に確認することもできる。
また、第1の秘密鍵の生成関数を次式の関数に置き換
えてもよい。
えてもよい。
xi≡S(X,yi,ki,IDi)≡X×IDi+yi×ki (mod
φ) この時、第1の公開鍵生成関数は、 Pi≡P(Y,yi,IDi)≡(YIDi)×(yiyi) (mod
q)となる。
φ) この時、第1の公開鍵生成関数は、 Pi≡P(Y,yi,IDi)≡(YIDi)×(yiyi) (mod
q)となる。
第4図は本発明の第2の実施例により鍵生成方式にお
ける、1)システム初期設定ステップ、2)端末情報請
求ステップ、3)端末情報発行ステップの各ステップの
概略を示し、第5図は、4)端末情報転送ステップ、
5)公開鍵生成ステップの各ステップの概略を示してい
る。
ける、1)システム初期設定ステップ、2)端末情報請
求ステップ、3)端末情報発行ステップの各ステップの
概略を示し、第5図は、4)端末情報転送ステップ、
5)公開鍵生成ステップの各ステップの概略を示してい
る。
(第2実施例) 次に、本発明の第2実施例の鍵生成方式について第4
図及び第5図を使用してその動作、内容を詳細に説明す
る。なお、本実施例は、第1実施例にハッシュ(hash)
関数を導入することにより、公開鍵生成における計算量
を削減せんとするものである。ここでハッシュ関数と
は、複数のデータに対してそれらに依存した圧縮データ
を出力する関数のことである。具体的には、1又は0よ
りなる偶数個の入力データを先頭より順に2個づつ区切
って、各区切った2個のデータの排他的な論理和をとる
ことにより、データの個数を半分にするような関数であ
る。ここに、ハッシュ関数の計算量は、べき乗剰余演算
に比べて極めて小ないものである。
図及び第5図を使用してその動作、内容を詳細に説明す
る。なお、本実施例は、第1実施例にハッシュ(hash)
関数を導入することにより、公開鍵生成における計算量
を削減せんとするものである。ここでハッシュ関数と
は、複数のデータに対してそれらに依存した圧縮データ
を出力する関数のことである。具体的には、1又は0よ
りなる偶数個の入力データを先頭より順に2個づつ区切
って、各区切った2個のデータの排他的な論理和をとる
ことにより、データの個数を半分にするような関数であ
る。ここに、ハッシュ関数の計算量は、べき乗剰余演算
に比べて極めて小ないものである。
1)システム処理設定ステップ センターは以下の手順でシステムを構成する。
[1]大きな素数または素数のべき乗値qとGF(q)の
原始元gを生成し、qを11の法格納部に格納し、gを12
の原始元格納部に格納する。
原始元gを生成し、qを11の法格納部に格納し、gを12
の原始元格納部に格納する。
[2]センターの秘密鍵Xを決定し、13の秘密鍵格納部
に格納し、14の一方向性関数Fにセンターの秘密鍵Xを
入力して Y≡F(X)≡gx (mod q) (5) を生成する。
に格納し、14の一方向性関数Fにセンターの秘密鍵Xを
入力して Y≡F(X)≡gx (mod q) (5) を生成する。
[3]ハッシュ関数( )を決定し、公開する。センタ
ーの公開情報として(q,g,Y)と、ハッシュ関数( )
と、第4図に18で示す格納部に格納されている、公開鍵
生成ステップにおいて使用する公開鍵生成関数Pを各端
末に公開する。
ーの公開情報として(q,g,Y)と、ハッシュ関数( )
と、第4図に18で示す格納部に格納されている、公開鍵
生成ステップにおいて使用する公開鍵生成関数Pを各端
末に公開する。
2)端末情報請求ステップ 端末iは21の識別情報格納部に格納された端末i固有
の識別情報IDiを41の端末情報の請求用の通信路を通じ
て、センターに通知し、端末情報の発行を請求する。な
お、41の端末情報の請求用の通信路は、相手端末の正当
性を確認できる通信路(認証可能な通信路)である。
の識別情報IDiを41の端末情報の請求用の通信路を通じ
て、センターに通知し、端末情報の発行を請求する。な
お、41の端末情報の請求用の通信路は、相手端末の正当
性を確認できる通信路(認証可能な通信路)である。
3)端末情報発行ステップ 端末iからの端末情報発行の請求に対して、センター
は端末情報の発行を以下の手順で行なう。
は端末情報の発行を以下の手順で行なう。
[1]センターは端末iの正当性を確認する。
[2]15の乱数生成装置を用いて乱数kiを発生する。
[3]乱数kiを14の一方向性関数に入力して端末の公開
値 yi≡gki (mod q) (6) を生成し、識別情報IDiと乱数kiとセンターの秘密鍵X
と端末の公開値yiを17の第2の秘密鍵生成関数Sに入力
して端末の秘密鍵 xi≡S(X,yi,ki,IDi)≡hash(IDi,yi)×X+ki (mod φ) ≡X×hi+ki (mod φ)
(7) を生成し、42の端末情報発行用通信路を通じて端末iに
発行する。ここでφはオイレルの関数の値である。
値 yi≡gki (mod q) (6) を生成し、識別情報IDiと乱数kiとセンターの秘密鍵X
と端末の公開値yiを17の第2の秘密鍵生成関数Sに入力
して端末の秘密鍵 xi≡S(X,yi,ki,IDi)≡hash(IDi,yi)×X+ki (mod φ) ≡X×hi+ki (mod φ)
(7) を生成し、42の端末情報発行用通信路を通じて端末iに
発行する。ここでφはオイレルの関数の値である。
なお、42の端末情報発行用通信路は、外部に対して安
全な通信路とする。例えばICカードなどの物理的に安全
なメモリを媒体として発行される。
全な通信路とする。例えばICカードなどの物理的に安全
なメモリを媒体として発行される。
以上のステップは、端末がこのシステムに加入すると
きに一度だけ実行されるステップである。
きに一度だけ実行されるステップである。
4)端末公開情報転送ステップ 端末iは、端末jに、21の識別情報格納部に格納され
た識別情報IDiの22の格納部格納されたセンター発行の
端末iの公開値yiを、51の端末情報転送用通信路を通じ
て送付する。
た識別情報IDiの22の格納部格納されたセンター発行の
端末iの公開値yiを、51の端末情報転送用通信路を通じ
て送付する。
5)公開鍵生成ステップ 端末iは、受け取った(IDi,yi)を、32の第2の公開
鍵生成関数Pに入力して、端末の公開鍵 Pi≡P(yi,IDi,Y)≡Yhash(IDi,yi)×yi≡
(Yhi) ×yi(mod q) (8) を生成する。
鍵生成関数Pに入力して、端末の公開鍵 Pi≡P(yi,IDi,Y)≡Yhash(IDi,yi)×yi≡
(Yhi) ×yi(mod q) (8) を生成する。
このようにして、センターの公開情報と端末の公開情
報を用いて、相手端末の公開鍵を生成する。なお上述の
手順で、相手端末の公開鍵を生成したのち、第1実施例
と同様に、次のステップとして、その公開鍵を用いて、
さまざまな公開鍵暗号系プロトコルを作成の上、秘密通
信号が実施される。
報を用いて、相手端末の公開鍵を生成する。なお上述の
手順で、相手端末の公開鍵を生成したのち、第1実施例
と同様に、次のステップとして、その公開鍵を用いて、
さまざまな公開鍵暗号系プロトコルを作成の上、秘密通
信号が実施される。
以上の第2の実施例における特徴は、第1の実施例の
(1)〜(4)の特徴に加え、(5)公開鍵生成までの
計算量が、べき乗剰余演算1回とハッシュ関数の演算1
回で済むという点もある。
(1)〜(4)の特徴に加え、(5)公開鍵生成までの
計算量が、べき乗剰余演算1回とハッシュ関数の演算1
回で済むという点もある。
なお、端末iが自身の秘密鍵xiを用いて、自分の公開
鍵 Vi≡gxi (mod q) を求め、端末jに送付し、端末jは、このViと、第2の
公開鍵生成関数Pを用いて生成した公開鍵Piを比較する
ことによって公開鍵の完全性を単独に確認することもで
きる。
鍵 Vi≡gxi (mod q) を求め、端末jに送付し、端末jは、このViと、第2の
公開鍵生成関数Pを用いて生成した公開鍵Piを比較する
ことによって公開鍵の完全性を単独に確認することもで
きる。
また、第2の秘密鍵の生成関数を次式の関数に置き換
えてもよい。
えてもよい。
xi≡S(X,yi,ki,IDi)≡X+hash(IDi,yi)×ki ≡X+hi×ki (mod φ) このとき、第2の公開鍵生成関数は、 Pi≡P(Y,yi,IDi)≡Y×yihash(IDi,yi) ≡Y×(yihi) (mod q) となる。
発明の効果 以上説明してきたように、本発明においては、第2の
端末は、第1の端末との間でネットワークを介した公開
鍵暗号通信、または署名通信を行なう際に必要となる第
1の公開鍵を、端末情報発行センターの公開鍵Yと、第
1の端末の公開値yと識別情報iを用いて、生成でき
る。
端末は、第1の端末との間でネットワークを介した公開
鍵暗号通信、または署名通信を行なう際に必要となる第
1の公開鍵を、端末情報発行センターの公開鍵Yと、第
1の端末の公開値yと識別情報iを用いて、生成でき
る。
また、端末情報発行センターは、自己のみが知りうる
センターの秘密鍵Xを用いて、第1の端末の秘密鍵x
と、この第1の端末の秘密鍵xに対応する第1の端末の
公開鍵Cを生成するために使用する第1の端末の公開値
yを発行し、第2の端末が、端末情報発行センターの公
開鍵Yと、第1の端末から通知された第1の端末の公開
値yと、識別情報を用いて、第1の端末の公開鍵Cを生
成する構成により、端末情報発行センター以外は、例え
ば第1の端末用の偽の公開鍵を生成するような偽の第1
の端末の公開鍵を発行することは事実上不可能となる。
このため、従来独立に必要であった、公開鍵の完全性の
確認、すなわち、相手端末の公開鍵が本物か否かの確認
手順は不必要となり、処理効率が改善される。また、従
来例1では必要であった、公開鍵の完全性を確認するた
めの署名情報を転送する必要がなくなり、通信効率が改
善される。
センターの秘密鍵Xを用いて、第1の端末の秘密鍵x
と、この第1の端末の秘密鍵xに対応する第1の端末の
公開鍵Cを生成するために使用する第1の端末の公開値
yを発行し、第2の端末が、端末情報発行センターの公
開鍵Yと、第1の端末から通知された第1の端末の公開
値yと、識別情報を用いて、第1の端末の公開鍵Cを生
成する構成により、端末情報発行センター以外は、例え
ば第1の端末用の偽の公開鍵を生成するような偽の第1
の端末の公開鍵を発行することは事実上不可能となる。
このため、従来独立に必要であった、公開鍵の完全性の
確認、すなわち、相手端末の公開鍵が本物か否かの確認
手順は不必要となり、処理効率が改善される。また、従
来例1では必要であった、公開鍵の完全性を確認するた
めの署名情報を転送する必要がなくなり、通信効率が改
善される。
また、端末情報発行センターの公開鍵から端末情報発
行センターの秘密鍵を解読する攻撃は、一方向性関数の
逆演算を求める攻撃に帰着される。従って、一方向性関
数Fを、要求される安全性のレベルや、その時点での解
読攻撃に対する技術レベルなどに応じて、選択すること
ができる。
行センターの秘密鍵を解読する攻撃は、一方向性関数の
逆演算を求める攻撃に帰着される。従って、一方向性関
数Fを、要求される安全性のレベルや、その時点での解
読攻撃に対する技術レベルなどに応じて、選択すること
ができる。
また、第2の端末は、第1の端末から通知された、検
証用の公開鍵Vと、第1の端末から通知された第1の端
末の公開値yと第1の端末の識別情報iと端末情報発行
センターの公開鍵Yを用いて生成した第1の端末の公開
鍵Pを比較することで公開鍵の完全性を独立に確認でき
る。
証用の公開鍵Vと、第1の端末から通知された第1の端
末の公開値yと第1の端末の識別情報iと端末情報発行
センターの公開鍵Yを用いて生成した第1の端末の公開
鍵Pを比較することで公開鍵の完全性を独立に確認でき
る。
また、公開鍵の生成に必要な計算量が、べき乗剰余2
回に、さらにハッシュ関数を導入することによって1回
に削減することができる。
回に、さらにハッシュ関数を導入することによって1回
に削減することができる。
第1図は、本発明の第1実施例による鍵生成方式のシス
テムの構成図である。 第2図は、本発明の第1実施例の構成図(1)である。 第3図は、本発明の第1実施例の構成図(2)である。 第4図は、本発明の第2実施例の構成図(1)である。 第5図は、本発明の第2実施例の構成図(2)である。 第6図は、従来の技術による相手認証プロトコルであ
る。 10……端末情報発行センター、 11……法格納部、 12……原始元格納部、 13……秘密鍵格納部、 14……一方向性関数、 15……乱数生成装置、 16……第1の秘密鍵生成関数、 17……第2の秘密鍵生成関数、 20……第1の端末、 21……識別情報格納部。 22……公開値格納部、 30……第2の端末、 31……第1の公開鍵生成関数、 32……第2の公開鍵生成関数、 40……センター・端末間通信路、 41……端末情報発行請求用通信路、 42……端末情報発行用通信路、 50……第1の端末・第2の端末間通信路、 51……端末情報転送用通信路、
テムの構成図である。 第2図は、本発明の第1実施例の構成図(1)である。 第3図は、本発明の第1実施例の構成図(2)である。 第4図は、本発明の第2実施例の構成図(1)である。 第5図は、本発明の第2実施例の構成図(2)である。 第6図は、従来の技術による相手認証プロトコルであ
る。 10……端末情報発行センター、 11……法格納部、 12……原始元格納部、 13……秘密鍵格納部、 14……一方向性関数、 15……乱数生成装置、 16……第1の秘密鍵生成関数、 17……第2の秘密鍵生成関数、 20……第1の端末、 21……識別情報格納部。 22……公開値格納部、 30……第2の端末、 31……第1の公開鍵生成関数、 32……第2の公開鍵生成関数、 40……センター・端末間通信路、 41……端末情報発行請求用通信路、 42……端末情報発行用通信路、 50……第1の端末・第2の端末間通信路、 51……端末情報転送用通信路、
───────────────────────────────────────────────────── フロントページの続き (72)発明者 館林 誠 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 電子情報通信学会技術研究報告 vo l.90 No.31 ISEC90−5 (1990.5.17)「公開暗号文の復号能 力に基づく暗号方式について」川村信 一,新保淳
Claims (8)
- 【請求項1】固有の識別情報を有する第1の端末と第2
の端末とこれらを接続するネットワークと、端末情報発
行センターで構成される公開鍵生成方法であって、 前記端末情報発行センターは、一方向性関数部Fと、端
末情報発行センターの秘密鍵Xを格納する秘密鍵格納部
と、公開鍵生成関数Pを格納した生成関数格納部とを備
え、 センターの秘密鍵Xを前記一方向性関数部Fに入力した
ときの出力値Y=F(X)と公開鍵生成関数Pとを端末
情報発行センターの公開情報として通信路を介して前記
第1、第2の端末に通知し、 前記第1の端末は、第1の端末の識別情報iを端末情報
発行センターに通信路を介して通知し、 前記端末情報発行センターは、前記に加え乱数発生部
と、端末の秘密鍵を生成するための秘密鍵生成部Sとを
備え、 発生した乱数値kを前記一方向性関数部Fに入力しその
出力値y=f(k)を前記第1の端末の公開値とし求
め、さらに、センターの秘密鍵Xと、前記第1の端末の
公開鍵yと、乱数値kと、第1の端末から通知された第
1の端末の識別子iを前記秘密鍵生成部Sに入力しその
出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、 前記第1の端末は、端末情報発行センターから受け取っ
た第1の端末の秘密鍵xを格納する秘密鍵格納部を備
え、第2の端末に前記第1の端末の公開値yと第1の端
末の識別情報iを通信路を介して第2の端末に通知し、 前記第2の端末は、センターから公開情報として送られ
てくる公開鍵生成関数Pを格納する生成関数格納部を備
え、その公開鍵生成関数Pに、前記第1の端末の公開値
yと第1の端末の識別情報iと前記端末情報発行センタ
ーの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、 これに続く第1、第2の端末間の通信路を介した公開鍵
暗号を利用した秘密通信または署名通信を、前記第1の
端末の秘密鍵xと前記第2の端末が生成した前記第1の
端末の公開鍵Cを用いて行なうようにしたことを特徴と
する公開鍵生成方法。 - 【請求項2】一方向性関数部における関数Fを、素数も
しくは素数のべき乗値qと、前記qを法とする剰余体の
原始元gを用い、入力値uをべきとし、前記qを法とす
る前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、センターの秘密鍵Xと第1の端末の公開鍵yの
積と、センターの生成した乱数値kと第1の端末の識別
情報iの積との和 x=S(X,y,k,i) =X×y+k×1 mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yをべき
とした前記センターの公開情報Yのべき乗剰余値と、前
記第1の端末の識別情報iをべきとした前記第1の端末
の公開値yのべき乗剰余値との積 C=P(Y,y,i) ≡(Yy)×(Yi)mod q を出力する関数とするようにしたことを特徴とする請求
項1記載の公開鍵生成方法。 - 【請求項3】前記一方向性関数部における関数Fを、素
数もしくは素数のべき乗値qと、前記qを法とする剰余
体の原始元gを用いて、入力値uをべきとし、前記qを
法とする前記gのべき乗剰余値 v=F(u)≡gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成部における関数Sを、前記φを
法とし、前記第1の端末の公開値yと前記第1の端末の
識別情報iをある公開の関数Hに入力したときに得られ
る出力値hと、前記センターの秘密鍵Xの積と、前記セ
ンターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k mod φ =h×X+k mod φ を出力する関数とし、前記公開鍵生成部における関数P
を、前記qを法とし、前記第1の端末の公開値yと前記
第1の端末の識別情報iを前記関数Hに入力したときに
得られる出力値hをべきとした前記センターの公開情報
Yのべき乗剰余値と、前記第1の端末の公開値yとの積 C=P(Y,y,i) =(YH(y,i))×y mod q =(Yh)×y mod q を出力する関数とするようにしたことを特徴とする請求
項1記載の公開鍵生成方法。 - 【請求項4】第1の端末は、前記に加え前記一方向性関
数部Fを備え、前記第1の端末の秘密鍵xを前記一方向
性関数部Fに入力した出力値Vを第1の端末の検証用公
開鍵として求め、第2の端末にこの検証用公開鍵Vと前
記第1の端末の公開値yと第1の端末の識別情報iを前
記ネットワークを介して第2の端末に通知し、 第2の端末は公開鍵検証手段を備え第1の端末の公開鍵
Cを生成した後、生成されたCと、第1の端末から通知
された検証用公開鍵Vを比較し、一致するか否かを確認
し、一致する場合、これに続く第1、第2の端末間の公
開鍵暗号通信または認証通信を、前記第1の端末の秘密
鍵xと前記第2の端末が生成した前記第1の端末の公開
鍵Cを用いて行なうようにしたことを特徴とする請求項
1記載の公開鍵生成方法。 - 【請求項5】固有の識別情報を有する第1の端末と第2
の端末とこれらを接続するネットワークと、端末情報発
行センターで構成される公開鍵生成装置であって、 前記端末情報発行センターは、一方向性関数処理手段F
と、端末情報発行センターの秘密鍵Xを格納する秘密鍵
格納手段と、公開鍵生成関数Pを格納した生成関数格納
手段とを備え、 センターの秘密鍵Xを前記一方向性関数処理手段Fに入
力した出力値Y=(X)と公開鍵生成関数Pとを端末情
報発行センターの公開鍵として通信路を介して前記第
1、2の端末に通知し、 前記第1の端末は、第1の端末の識別情報iを端末情報
発行センターに通信路を介して通知し、 前記端末情報発行センターは、前記に加え乱数発生手段
と、端末の秘密鍵を生成するための秘密鍵生成手段Sを
備え、 発生した乱数値kを前記一方向性関数処理手段Fに入力
しその出力値y=f(k)を前記第1の端末の公開値と
して求め、さらに、センターの秘密鍵Xと、前記第1の
端末の公開値yと、乱数値kと、第1の端末から通知さ
れた第1の端末の識別個iを前記秘密鍵生成手段Sに入
力しその出力値x x=S(X,y,k,i) を第1の端末の秘密鍵として求め、以上のxとyを第1
の端末に通知し、 前記第1の端末は、端末情報発行センターから受け取っ
た第1の端末の秘密鍵xを格納する秘密鍵格納手段を備
え、第2の端末に前記第1の端末の公開値yと第1の端
末の識別情報iを通信路を介して第2の端末に通知し、 前記第2の端末は、センターから公開情報として送られ
てくる公開鍵生成関数Pを格納する生成関数格納手段を
備え、その公開鍵生成関数Pに前記第1の端末の公開値
yと第1の端末の識別情報iと前記端末情報発行センタ
ーの公開鍵Yを入力しその出力値C C=P(Y,y,i) を第1の端末の公開鍵として求め、 これに続く第1、第2の端末間の通信路を介した公開鍵
暗号通信または署名通信を、前記第1の端末の秘密鍵x
と前記第2の端末が生成した前記第1の公開鍵Cを用い
て行なうようにしたことを特徴とする公開鍵生成装置。 - 【請求項6】前記一方向性関数処理手段における関数F
を、素数もしくは素数のべき乗値qと、前記qを法とす
る剰余体の原始元gを用い、入力値uをべきとし、前記
qを法とする前記gのべき乗剰余値v v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成手段における関数Sを前記φを
法とし、センターの秘密鍵Xと第1の端末の公開値yの
積と、センターの生成した乱数値kと第1の端末の識別
情報iの積との和 x=S(X,y,k,i) =X×y+K×i mod φ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yをべ
きとした前記センターの公開情報Yのべき乗剰余値と、
前記第1の端末の識別情報iをべきとした前記第1の端
末の公開値yのべき乗剰余値との積 C=P(Y,y,i) =(Yy)×(yi)mod q を出力する関数とするようにしたことを特徴とする請求
項5記載の公開鍵生成装置。 - 【請求項7】前記一方向性関数処理手段における関数F
を、素数もしくは素数のべき乗値qと、前記qを法とす
る剰余体の原始元gを用いて、入力値uのべきとし、前
記qを法とする前記gのべき乗剰余値 v=F(u)=gu mod q を出力する関数とし、φを前記qのオイラー関数値とし
たとき、前記秘密鍵生成手段における関数Sを、前記φ
を法とし、前記第1の端末の公開値yと前記第1の端末
の識別情報iをある公開の関数に入力したときに得られ
る出力値hと、前記センターの秘密鍵Xの積と、前記セ
ンターの生成した乱数値kとの和 x=S(X,y,k,i) =H(y,i)×X+k modφ =h×X+K modφ を出力する関数とし、前記公開鍵生成手段における関数
Pを、前記qを法とし、前記第1の端末の公開値yと前
記第1の端末の識別情報iを前記関数Hに入力したとき
に得られる出力値hをべきとした前記センターの公開情
報Yのべき乗剰余値と、前記第1の端末の公開値yとの
積 C=P(Y,y,i) =(YH(Y,I))×y mod q =(Yh)×y mod q を出力する関数とするようにしたことを特徴とする請求
項5記載の公開鍵生成装置。 - 【請求項8】第1の端末は、前記に加え前記一方向性関
数手段Fを備え、前記第1の端末の秘密鍵xを前記一方
向性関数手段Fに入力した出力値Vを第1の端末の検証
用公開鍵として求め、第2の端末にこの検証用公開鍵V
と前記第1の端末の公開値yと第1の端末の識別情報i
を通信路を介して第2の端末に通知し、 第2の端末は、公開鍵検証手段を備え、第1の端末の公
開鍵Cを生成した後、生成されたCと、第1の端末から
通知された検証用公開鍵Vを比較し、一致するか否かを
確認し、一致する場合、これに続く第1、第2の端末間
の公開鍵暗号通信または認証通信を、前記第1の端末の
秘密鍵xと前記第2の端末が生成した前記第1の端末の
公開鍵Cを用いて行なうようにしたことを特徴とする請
求項5記載の公開鍵生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2324479A JP2956709B2 (ja) | 1990-11-26 | 1990-11-26 | 公開鍵生成方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2324479A JP2956709B2 (ja) | 1990-11-26 | 1990-11-26 | 公開鍵生成方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04191787A JPH04191787A (ja) | 1992-07-10 |
JP2956709B2 true JP2956709B2 (ja) | 1999-10-04 |
Family
ID=18166264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2324479A Expired - Fee Related JP2956709B2 (ja) | 1990-11-26 | 1990-11-26 | 公開鍵生成方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2956709B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881524B1 (ko) | 2001-04-17 | 2009-02-05 | 소니 가부시끼 가이샤 | 데이터 기록 장치, 데이터 기록 방법, 및 데이터 전송시스템 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3485221B2 (ja) * | 1996-03-27 | 2004-01-13 | 日本電信電話株式会社 | 計算機システムの認証方法 |
US7567669B2 (en) | 1996-05-17 | 2009-07-28 | Certicom Corp. | Strengthened public key protocol |
AU9426598A (en) * | 1997-10-14 | 1999-05-03 | Certicom Corp. | Key validation scheme |
CA2235359C (en) * | 1998-03-23 | 2012-04-10 | Certicom Corp. | Implicit certificate scheme with ca chaining |
US6195433B1 (en) * | 1998-05-08 | 2001-02-27 | Certicom Corp. | Private key validity and validation |
US7215773B1 (en) | 1998-10-14 | 2007-05-08 | Certicom.Corp. | Key validation scheme |
US6886095B1 (en) | 1999-05-21 | 2005-04-26 | International Business Machines Corporation | Method and apparatus for efficiently initializing secure communications among wireless devices |
PL354839A1 (en) * | 1999-05-21 | 2004-02-23 | Ibm | Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices |
JP2018170642A (ja) * | 2017-03-30 | 2018-11-01 | 株式会社アクセル | 復号装置、鍵作成装置、暗号化装置、暗号処理システム、復号方法及び復号プログラム |
JP2020195100A (ja) * | 2019-05-29 | 2020-12-03 | 株式会社bitFlyer Blockchain | 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム |
JP6719789B2 (ja) * | 2019-07-09 | 2020-07-08 | 株式会社アクセル | 暗号処理システム、暗号処理方法及び暗号処理プログラム |
-
1990
- 1990-11-26 JP JP2324479A patent/JP2956709B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
電子情報通信学会技術研究報告 vol.90 No.31 ISEC90−5(1990.5.17)「公開暗号文の復号能力に基づく暗号方式について」川村信一,新保淳 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881524B1 (ko) | 2001-04-17 | 2009-02-05 | 소니 가부시끼 가이샤 | 데이터 기록 장치, 데이터 기록 방법, 및 데이터 전송시스템 |
Also Published As
Publication number | Publication date |
---|---|
JPH04191787A (ja) | 1992-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989053B (zh) | 一种基于椭圆曲线的无证书公钥密码体制实现方法 | |
US6178507B1 (en) | Data card verification system | |
US6446207B1 (en) | Verification protocol | |
US20180359097A1 (en) | Digital signing by utilizing multiple distinct signing keys, distributed between two parties | |
JP4588874B2 (ja) | 内在的証明書方式 | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
WO1998034202A9 (en) | Data card verification system | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
JPH07502346A (ja) | ディジタル署名アルゴリズム | |
CN106921638A (zh) | 一种基于非对称加密的安全装置 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
JP2956709B2 (ja) | 公開鍵生成方法及び装置 | |
CN101697513A (zh) | 数字签名方法、验证方法、数字签名装置及数字签名系统 | |
NL1043779B1 (en) | Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge | |
JP4307589B2 (ja) | 認証プロトコル | |
GB2421407A (en) | Generating a shared symmetric key using identifier based cryptography | |
CN111740837B (zh) | 一种基于sm9的分布式签名方法及系统 | |
Andreevich et al. | On Using Mersenne Primes in Designing Cryptoschemes | |
JPH11234263A (ja) | 相互認証方法および装置 | |
JPH07118709B2 (ja) | 秘密情報通信方式 | |
NL1044483B1 (en) | Method for electronic signing with multiple signing keys allowing proof of using same possession factor | |
JPH02273779A (ja) | ディジタル署名装置 | |
CN117611162A (zh) | 基于椭圆曲线密码算法的交易认证方法及装置 | |
JPH04191788A (ja) | 公開鍵生成方式及び公開鍵生成装置 | |
Wu et al. | Toward efficient convertible authenticated encryption schemes using self-certified public key system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |