JPH04216587A - 公開鍵生成方法と鍵共有方法 - Google Patents

公開鍵生成方法と鍵共有方法

Info

Publication number
JPH04216587A
JPH04216587A JP2403058A JP40305890A JPH04216587A JP H04216587 A JPH04216587 A JP H04216587A JP 2403058 A JP2403058 A JP 2403058A JP 40305890 A JP40305890 A JP 40305890A JP H04216587 A JPH04216587 A JP H04216587A
Authority
JP
Japan
Prior art keywords
terminal
center
information
public
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.)
Granted
Application number
JP2403058A
Other languages
English (en)
Other versions
JP2629452B2 (ja
Inventor
Natsume Matsuzaki
なつめ 松崎
Toshiharu Harada
俊治 原田
Makoto Tatebayashi
誠 館林
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2403058A priority Critical patent/JP2629452B2/ja
Priority to US07/809,134 priority patent/US5199070A/en
Publication of JPH04216587A publication Critical patent/JPH04216587A/ja
Application granted granted Critical
Publication of JP2629452B2 publication Critical patent/JP2629452B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】データの秘匿や認証のために用い
られる暗号方法の1つに公開鍵暗号方式がある。公開鍵
暗号方式においては、公開鍵の完全性を確保することが
セキュリティ上重要である。本発明は端末の識別情報を
用いて公開鍵の完全性を確保する方法に関する。
【0002】
【従来の技術】暗号方式の1つである公開鍵暗号方式は
、秘密に保持する鍵の種類が少ないため、端末数の多い
大規模ネットワークに適し、近年特に注目されている。 公開鍵暗号方式においては、公開鍵の完全性を確保する
ことが重要である。即ち、端末Aの公開鍵として使用す
るデータが、間違いなくAの公開鍵であることが保証さ
れていなければならない。
【0003】ここでは、端末の識別情報(以降では、I
Dと称する)を用いて公開鍵の完全性を確保する方法に
ついて述べる。なお、IDとは氏名、住所など誰でも知
っているその端末独自の識別情報で、いちいちリストに
して保持しなくても見るだけで相手がわかる情報である
。 (第1の従来例) IDを用いて公開鍵の完全性を確保する第1の従来例と
して、公開情報とIDの対の情報に信頼のおける管理機
関(センター)が署名する方法がある。図3は、この種
の従来例であり、特にセンターの署名としてエルガマル
署名を用いた場合の手順を示したものである。なお、エ
ルガマル署名は離散対数問題の難しさをもとにした署名
法で、”ア  パブリック  キー  クリプトシステ
ム  アンド  シグニチャスキーム  ベイスト  
オン  ディスクリート  ロガリズム”プロシーディ
ング  オブ  クリプト84(T.E.ElGama
l:”A public key cryptosys
tem and signature scheme 
based on discrete logarit
hm”,Proc.Crypto84)に詳しい。同図
において、1は端末i、2はセンター、3は端末jであ
る。以下同図に沿ってこの従来例の手順を説明する。 <センターのセットアップのステップ>(1)センター
は大きな素数pを決め、GF(p)の原始元gを公開す
る。なお、GF(p)はpを法とする有限体である。 (2)センターの秘密情報Xを決め、Y=gX mod
pを公開する。なお、modpはpで除したときの剰余
の算出を示す。 また、この式においてXからYを求めることは容易であ
るが、YからXを求めることはpが十分に大きいとき困
難である。このことは、離散対数問題としてよく知られ
ている。
【0004】以上の情報のうち、(X)をセンターの秘
密情報、(p,g,Y)をセンターの公開情報とする。 <端末による秘密鍵/公開鍵生成のステップ>端末iは
秘密鍵xiを決め、それに対する公開鍵yi=gxim
odp を求める。このyiと自分の識別情報IDiを
センターに通知して、公開鍵yiに対するセンターの署
名の発行を請求する。なお、これ以降の変数における添
字iは、任意の端末i用の変数であることを示す。 <端末の公開鍵に対するセンターの署名発行のステップ
> (1)センターは端末iの正当性を確認する。 (2)センターは乱数kiを発生する。 (3)センターは以下の(ti,si)を求め、公開鍵
yiに対する署名として端末iに配送する。ここでの署
名は公開可能な情報である。
【0005】 ti=gki  modp si=(yi||IDi−X×ti)/ki  mod
p−1 (ここで、’ || ’ は情報の結合を示す
)<公開鍵の確認のステップ> 端末jは、端末iより、公開鍵yiと共に上記署名(t
i,si)を得る。そして gyi||IDi=Yti ×tisi  modp…
[1]が成り立つことにより公開鍵yiの正当性を確認
する。
【0006】ここで、yiに対して上記式を満たす(t
i,si)は、Xを知っているセンターしか作ることが
できない。従って、公開鍵yiの完全性が確保できる。
【0007】以上説明した公開鍵の完全性確保のための
第1の従来例は、以下のような課題を有する。 (1)端末iは公開鍵yiと、それに対するセンターの
署名ti,siを常に対にして、相手端末に送る必要が
ある。 (2)[1]式に見られるように、端末jはセンターの
署名の正当性確認にGF(p)上のべき乗剰余演算を3
回行なう必要がある。離散対数問題が困難であるために
はpは例えば500ビット程度の数にしなければならな
い。この時この3回のべき乗剰余演算には多大な計算労
力が伴う。 (3)この公開鍵を用いて相手の認証や署名の確認を行
なう場合、まず、公開鍵の正当性確認を行なってから相
手や署名の正当性確認を行なう必要がある。すなわち、
2段構えの確認が必要となる。 (第2の従来例) 上述の第1の実施例の課題を改善する1つの手法として
従来から提案されている方法に、公開鍵生成方法がある
。公開鍵生成方法は、通信相手の公開鍵を、センターの
公開情報と通信相手のIDと通信相手からの情報を用い
て生成することによって、生成した公開鍵の完全性を確
保する方法である。ここで生成される公開鍵はIDによ
る間接的な認証機能を含んでいるため、完全性を確認せ
ずに用いることができる。
【0008】公開鍵生成方法の例としては、特開昭63
−314586で提案されている方法がある。  この
従来例の手順を第4図に示す。同図において、1は端末
i、2はセンター、3は端末jである。以下同図に沿っ
てこの従来例の手順を説明する。 <センターのセットアップのステップ>(1)センター
は大きな秘密の素数p,qを定め、n=p×qを求める
。GF(p),GF(q)の共通原始元gを決定する。 (2)センターの秘密情報dを定め、e×d=1 mo
dLを満たすeを求める。なお、LはLCM(p−1,
q−1)即ち、p−1とq−1の最小公倍数である。ま
た、ここで公開のeからdを求めることはnの素因数分
解に依存して困難である。センターは、(d,p,q)
をセンターの秘密情報、(n,e,g)をセンターの公
開情報とする。 <端末の秘密鍵生成のステップ> 端末iはセンターに自分の識別情報IDiを示して、秘
密鍵の生成を請求する。これに対し、センターは端末i
の正当性を確認し、センターの秘密情報dを用いて端末
iの秘密鍵si=IDi−d  modnを生成し、秘
密の通信路を用いて端末iに配送する。 <端末の公開鍵生成のステップ> 端末jが端末iの公開鍵を生成する場合について説明す
る。 (1)端末iは乱数ri を生成し、以下の送信データ
xiを生成し、自身のIDとともに端末jに配送する。
【0009】 xi=si×gri  modn (2)上記xiと端末iのIDを受け取った端末jは、
以下の計算を行なう。
【0010】 yi=xie×IDi  modn ここで、 上記右辺=(si×gri  modn)e×IDi 
 modn=IDi−1×IDi× ge*ri  m
odn=ge*ri  modnが成り立つため、この
値を離散対数をもとにした暗号系における、端末iの秘
密鍵e×riに対する公開鍵yiと考えることができる
【0011】
【発明が解決しようとする課題】しかしながらここに示
した従来の公開鍵生成方法(第2の従来例)では、セン
ターが端末の秘密鍵を生成して配送するため、次のよう
な課題を有する。 (1)センターが端末の秘密鍵を生成するため、センタ
ーによる端末の秘密鍵を用いた攻撃が可能となる。その
ため、この公開鍵生成方法はセンターが完全に信頼でき
る場合にしか用いることができない。 (2)センターが端末に秘密鍵を配送する際、秘密の通
信路が必要である。例えばICカードを配送時の媒体と
して用いることが必要である。 (3)端末が秘密鍵を紛失したときに、新たな秘密鍵の
再発行が困難である。これは、端末の秘密鍵が端末のI
Dとセンターの固定の秘密鍵から一意的に決定されるか
らである。そのため、ある端末の秘密鍵を再発行するに
はセンターの秘密鍵を変更し、他の端末の秘密鍵をも再
発行する必要がある。
【0012】本発明は、従来例における上述の課題に鑑
みて試されたもので、以下の特徴を持つ公開鍵生成方法
を提供することを目的とする。 (a)センターが端末の秘密鍵を知りえない。 (b)センターが端末に端末情報を配送する際、公開の
通信路を用いることができる。 (c)端末の秘密鍵の更新が容易である。
【0013】
【課題を解決するための手段】本発明は、固有の識別情
報を有する第1の端末と第2の端末とこれらを接続する
ネットワークと端末情報発行センターを用いた公開鍵生
成方法であって、センターが、素数もしくは素数のべき
乗値pと、pを法とする剰余体の原始元gと、公開の関
数hを決定し、pを法とし、センターの秘密鍵Xをべき
とする前記gのべき乗剰余値Yをセンターの公開鍵とし
て決定し、p,g,hおよびYをセンターの公開情報と
して第1、第2の端末に通知するシステム初期設定ステ
ップと、第1の端末が乱数xを発生し、pを法として乱
数xをべきとするgのべき乗剰余値yと第1の端末の識
別情報をセンターに通知し、端末情報を請求する端末情
報請求ステップと、センターが、乱数rを発生し、pを
法として乱数rをべきとするgのべき乗剰余値と第1の
端末からの送信データyの積tを求め、このtと第1の
端末の識別情報を公開の関数hに入力し、pのオイラー
関数値を法としてhの出力値とセンターの秘密鍵Xの積
と乱数rの和sを求め、このt,sを第1の端末の第1
、第2の端末情報として、第1の端末に発行する端末情
報発行ステップと、第1の端末が、pのオイラー関数値
を法として第2の端末情報sと乱数xの和を第1の端末
の秘密鍵uとする秘密鍵生成ステップと、第1の端末が
、第2の端末に第1の端末情報tと第1の端末の識別情
報を送信し、第2の端末が、第1の端末情報tと第1の
端末の識別情報を公開の関数hに入力し、pを法として
hの出力値をべきとするYのべき乗剰余値と第1の端末
情報tの積を第1の端末の公開鍵とする公開鍵生成ステ
ップから構成されることを特徴とした公開鍵生成方法で
ある。
【0014】また、公開鍵生成ステップにおいて、pを
法とするYのべき乗剰余値を、あらかじめ計算しておい
た剰余値を用いて求める構成も含んでいる。また、シス
テム初期設定ステップにおいてセンターの複数の秘密鍵
とそれに対する公開鍵を決定し、公開鍵生成ステップに
おいて、このセンターの複数の公開鍵からhの出力値に
対応した1個以上の公開鍵を選び、pを法としてこれら
の積と第1の端末情報tの積を第1の端末の公開鍵とす
る構成も含んでいる。
【0015】
【作用】本発明による公開鍵生成方法では、上述の構成
によって、第2の端末は端末情報発行センターの公開情
報p,g,Yと、第1の端末の識別情報と、第1の端末
の端末情報tを用いて第1の端末の公開鍵を生成する。 このうち第1の端末の端末情報tは端末情報発行センタ
ーの秘密鍵Xなしでは都合の良いように改竄や変更がで
きないことが保証されている。従って生成された第1の
端末の公開鍵の完全性が確保され、確認せずにこれを用
いることができる。
【0016】ここで第2の端末が公開鍵を生成するため
に必要となるべき乗剰余演算は、pを法として公開の関
数hの出力値をべきとする演算の1回だけである。
【0017】さらに上述の構成において、センターおよ
び他の端末は第1の端末が秘密に発生した乱数xを知り
えない。そのため、センターおよび他の端末はこのxと
センター生成の端末情報sを用いて生成した、第1の端
末の秘密鍵uを知りえない。このことによりセンターは
端末情報sを、公開の通信路を用いて配送することがで
きる。
【0018】さらに、端末の秘密鍵生成ステップにおい
て、センターはその場その場で異なった乱数を用いてい
る。そのため、この乱数を変更することによって端末の
秘密鍵の再発行に対応することができる。
【0019】また、公開鍵生成ステップにおいて、あら
かじめ求めておいた剰余値を用いることによって、べき
乗剰余値をより高速に求めることができる。
【0020】さらに、べき乗剰余演算部を、平均すると
べき数のビット数の半分の回数の乗算剰余演算で置き換
えることによって、安全性を損なわずに処理を高速にす
ることもできる。
【0021】
【実施例】図1は本発明の第1の実施例における公開鍵
生成方法の構成を示すものである。同図において1は端
末i、2はセンター、3は端末jである。以下同図を参
照しながら第1の実施例の手順を説明する。 <センターのセットアップのステップ>(1)センター
は、素数pを生成し、pを法とする有限体上の原始元g
を生成する。また、あるハッシュ関数hを決定する。こ
こで、ハッシュ関数とは入力データを圧縮する一方向性
の関数であって、出力が一致する入力ペアを求めること
が困難な関数である。 (2)センターは秘密鍵Xを決定し、Y=gX mod
pを生成する。 (3)(p,g,h,Y)をセンターの公開鍵としてシ
ステムに公開する。 <センターによる端末の秘密鍵生成のステップ>以下で
は、端末iの秘密鍵を生成する場合を説明する。 (1)端末iは発生した乱数xiを用いて、次のyiを
計算し、この生成値yiと自分のIDiをセンターに示
し、端末情報の生成を請求する。
【0022】 yi=gxi modp      …[2](2)セ
ンターは各端末ごとに異なる乱数riを発生し、端末か
ら送られた端末の生成値yiとセンターの秘密鍵Xを用
いて、次の端末情報si,tiを生成する。
【0023】 ti=gri ×yi modp …[3]Hi=h(
ti,IDi)     …[4]si=Hi×X+r
i  modp−1      …[5](3)センタ
ーは端末情報si,tiを公開の通信路を用いて端末i
に配付する。 (4)センターからsiを受け取った端末iは、センタ
ーへの公開情報の請求時に生成した乱数xiを用いて、
次式により自分の秘密鍵 uiを生成する。
【0024】 ui=si+xi modp−1  …[6]<相手の
公開鍵の生成のステップ> 端末jが端末iの公開鍵を生成する場合を説明する。 (1)端末jは端末iから端末情報tiとIDiを受け
取る。 (2)次の計算をして端末iの公開鍵Piを求める。
【0025】 Hi=h(ti,IDi)     …[7]Pi=Y
Hi×ti modp  …[8]なお、[8]式右辺
=YHi×ti modp=gX*Hi×g ri ×
yi modp  (Yの定義と[3]より)=gHi
*X×g ri ×gxi  modp  ([2]よ
り) =gHi*X+ri+xi modp=gsi+xi 
 modp   ([5]より)=gui  modp
  ([6]より)が成り立つため、[8]式右辺を離
散対数をもとにした暗号系における、秘密鍵uiに対応
する公開鍵Piと考えてよい。以下では、第1の実施例
の安全性について説明する。 (1)センターの秘密鍵の安全性 本実施例では、センターは端末iが送ってきた端末の生
成値yiに対して、自分の秘密鍵Xを用いて公開情報s
iを生成する。そこで、端末iが自分の都合のよいyi
を送り、それに対するsiからセンターの秘密鍵を得よ
うとする攻撃が考えられる。ところが、センターは端末
iの生成値yiとセンターの秘密鍵Xを端末ごとに相異
なる秘密の乱数riで撹乱してsiを生成するため、s
i,yiよりセンターの秘密鍵Xを求めることはできな
い。
【0026】また、センターの公開鍵Yから秘密鍵Xを
求める攻撃が考えられる。しかしながら、法の数pを5
12ビット程度の大きな素数とし、p−1が大きな素数
を約数にもつようにとると、このことは莫大な計算量を
必要とする。従って、この攻撃に対しては計算量的に安
全であるといえる。
【0027】次に複数の端末が結託してセンターの秘密
鍵を得ようとする攻撃を考える。もしセンターが同一の
riを用いて端末i,jの秘密鍵si,sjを生成して
いる場合、iとjが結託することによってX=(si−
sj)/(Hi−Hj) modp−1の式でセンター
の秘密鍵が求められる。しかしながら、センターは端末
の秘密鍵生成ステップにおいて、乱数riを秘密鍵の生
成のたびに変更しているので以上のような攻撃は成立し
ない。また、任意の端末i,jの秘密鍵の生成に用いる
センターの秘密情報であるri,rj間の関係、つまり
ri=c×rj modp−1のcがもし求まると、X
=(si−c×sj) /(Hi−c×Hj) mod
p−1によってセンターの秘密鍵を求めることができる
。しかし、他の端末が公開情報ti,tjからこのcを
求めるにはti=tjc modpをcについて解く必
要があり、これは自明な場合を除き離散対数問題に依存
して困難である。 (2)端末の秘密鍵の安全性 端末の秘密鍵uiはセンターの生成した公開情報siと
端末の秘密xiの和になっている。そして、たとえセン
ターであっても端末の秘密xiを端末の生成値yiから
求めることは、法pを大きく取れば離散対数問題に依存
して困難である。そのため、センターまたは他の端末が
端末iの秘密鍵uiを求めることは困難である。
【0028】また、端末jが端末iの公開鍵Piから秘
密鍵siを求める攻撃も同様に、離散対数問題に依存し
て困難である。
【0029】さらに、センターから端末に配送する値s
i,tiはこれらより端末の秘密鍵uiを求められない
ため、公開の通信路を用いて配送することが可能である
。 (3)端末による公開鍵の偽造に対する安全性センター
の秘密鍵Xを用いずに、端末xの公開鍵を偽造するため
には、次の[9]式を満たすtx,sxを求める必要が
ある。
【0030】 sx=Yh(tx,IDx)×tx  modp …[
9]これは[7][8]式を用いて、tx,IDxから
算出されるPxを、偽造した端末xの秘密鍵sxに対応
する公開鍵とするためである。
【0031】ここで偽造者がtxを任意に決定し、[9
]式を満足するsxを求める困難さは離散対数問題に依
存して困難である。また、sxを任意に決定し、[9]
式を満足するtxを求めることは少なくとも離散対数問
題と同程度に困難であると予測される。次に第1の実施
例を実現する際の処理速度やメモリ容量等について述べ
る。
【0032】まず、公開鍵を生成するために必要となる
べき乗剰余演算は、pを法としてハッシュ関数の出力値
をべきとする演算の1回だけである。従って、べき乗剰
余演算が3回必要であった第1の従来例に比べ、計算量
を削減している。ハッシュ関数の出力値をkビットとす
ると、この計算は高速指数演算法を用いて平均3×k/
2回の乗算剰余演算に相当する。この計算量はハッシュ
関数の出力値を安全性を劣化させない限度(例えばk=
128ビット)まで小さく取ることによって、より軽減
される。
【0033】また、各端末ごとの公開情報はtiだけで
あり、1端末につき1ワード(1ワード=log2pビ
ット)である。
【0034】さらに、端末の秘密鍵生成においてセンタ
ーはその場その場で異なる乱数を用いているため、端末
が秘密鍵を紛失してこれを更新する場合も、新しい乱数
を用いて鍵を生成し、この乱数を登録しておくことによ
って容易に対応できる。
【0035】ところで、第1の実施例におき、pを法と
し、べきとして取りうる値に対応したYのべき乗剰余値
をあらかじめ求めてテーブルに格納しておき、このテー
ブルを参照することによって、公開鍵生成の処理を高速
化する方法を考えることができる。例えば、Y2 mo
dp,Y4 modp,Y8 modp,…,Y2^(
kー1) modp (’^’はべき乗を示す)をあら
かじめ求めてテーブルに格納しておく場合、YHi  
modpを求めるにはHiを2進展開しその各ビットに
対応する上記テーブル値をGF(p)上で乗算すればよ
い。 この場合の乗算剰余演算の回数は平均してk/2回であ
り、テーブル値を用いない場合に比べて3倍の高速化が
実現できる。
【0036】図2は、本発明の第2の実施例における公
開鍵生成方法の構成を示すものである。同図を参照しな
がら第2の実施例における公開鍵生成の手順について説
明する。 <センターのセットアップのステップ>(1)センター
は、素数pを生成し、pを法とする有限体上の原始元g
を生成する。(2)センターはk個の秘密鍵X1,X2
,…,Xkを決定し、以下のY1,Y2,…,Ykを生
成する。 ここで、kは前記ハッシュ関数の出力のビット数とする
【0037】 Yj=gXj modp(j=1〜k)(3)(p,g
,h,Y1,Y2,…,Yk)をセンターの公開鍵とし
てシステムに公開する。 <端末の秘密鍵生成のステップ> 端末iの秘密鍵を生成する場合について説明する。 (1)端末iは発生した乱数xiを用いて、次のyiを
計算し、このyiと自分のIDiをセンターに示し、端
末情報の生成を請求する。
【0038】 yi=gxi modp      …[10](2)
センターは各端末ごとに異なる乱数riを発生し、端末
から送られたyiとセンターの秘密鍵Xを用いて、次の
si,tiを生成する。
【0039】 ti=gri ×yi modp …[11]Hi=h
(ti,IDi) このHiを2進展開して{h1,h2,…,hk} h
j=1又は0 (j=1〜k)…[12]  と表わす
【0040】 si=h1×X1+h2×X2+…+hk×Xk+ri
  modp−1    …[13](3)センターは
端末情報si,tiを公開の通信路を用いて端末iに配
付する。 (4)センターからsiを受け取った端末iは、センタ
ーへの公開情報の請求時に生成した乱数xiを用いて、
以下のとおり自分の秘密鍵 uiを生成する。
【0041】 ui=si+xi modp−1  …[14]<相手
の公開鍵の生成のステップ> 端末jが端末iの公開鍵を生成する場合について説明す
る。 (1)端末jは端末iから端末情報tiとIDiを受け
取る。 (2)次の計算をして端末iの公開鍵Piを求める。
【0042】         Hi=h(ti,IDi)={h1,
h2,…,hk}  hj=1又は0 (j=1〜k)
 …[15]        Pi=Y1h1×Y2h
2×…×Ykhk×ti modp …[16]  な
お、[16]式右辺=Y1h1×Y2h2×…×Ykh
k×ti  modp        =gh1*X1
+h2*X2+…+hk*Xk+ri ×yi mod
p  (Yの定義と[11]より)        =
gsi+xi  modp   ([10][13]よ
り)=gui  modp  ([14]より)が成り
立つため、[16]式右辺を離散対数をもとにした暗号
系における、秘密鍵uiに対応する公開鍵Piと考えて
よい。
【0043】この第2の実施例では第1の実施例と比較
して、公開鍵生成の計算量をさらに削減できる。ハッシ
ュ関数の出力のビット数をkとすると、第1の実施例で
は、公開鍵の生成に平均で3×k/2回の乗算剰余演算
が必要である(高速指数演算法使用)。一方第2の実施
例は、平均でk/2回の乗算剰余演算で実現できる。従
って、第1の実施例に比べて平均で3倍の速度アップが
実現できる。
【0044】ただし、第2の実施例は第1の実施例と比
較して、センターの公開情報が増加する。第1の実施例
においては、センターの公開鍵Yは1ワード(1ワード
は法pのビット数)である。一方第2の実施例において
は、kワードの公開鍵が必要となる(Y1,Y2,…,
Yk)。従って、第1の実施例に比べてk倍の、センタ
ーの公開鍵格納メモリが必要となる。
【0045】以上に示した計算の高速化手法は、この第
2の実施例に対してのみ適用されるものではなく、シス
テムで固定の数のべき乗剰余演算を行なう場合に広く適
用することができる。以下ではこの手法をDH鍵配送方
式に用いる場合について説明する。DH鍵配送方式につ
いては、”ニュー  ディレクション  インクリプト
グラフィ”,アイイーイーイー  トランザクション 
 オン  インフォメーションセオリー(W.Diff
ie and M.Hellman,”New dir
ection in cryptography”,I
EEE Trans.Inf.Theory,IT−2
2,6,pp644−654(Nov.1976))に
詳しい。
【0046】まず、センターは大きな素数p、GF(p
)の原始元g、生成数X1,…,Xn、Y1,…,Yn
を公開する。ここで、Yj=gXj  modp(j=
1〜n)である。端末iと端末jが鍵共有する場合につ
いて述べる。
【0047】端末iはnビットの乱数xiを生成し、こ
れを2進展開する(xi={xi1,xi2.…,xi
n})。端末iはこの2進展開した乱数を用いて次のP
i,Siを求め、このうちPiを端末jに配送する。な
お、Yjの生成の方法より明らかにPi=gSi  m
odpが成り立つ。
【0048】 Pi=Y1xi1×Y2xi2×…×Ynxin  m
odpSi=X1×xi1+X2×xi2+…+Xn×
xin  modp−1端末jはnビットの乱数xjを
生成し、これを2進展開する(xj={xj1,xj2
.…,xjn})。端末jはこの2進展開した乱数を用
いて次のPj,Sjを求め、このうちPjを端末iに配
送する。なお、Yjの生成の方法より明らかにPj=g
Sj  modpが成り立つ。
【0049】 Pj=Y1xj1×Y2xj2×…×Ynxjn  m
odp    Sj=X1×xj1+X2×xj2+…
+Xn×xjn  modp−1端末i,jはそれぞれ
、次の計算を行なって共有鍵Kij=Kjiを得る。
【0050】 Kij=PjSi  modp          K
ji=PiSj  modpこの例においては、従来の
DH鍵配送方式では、べき乗剰余演算を行なって求めて
いたPi,Pjを、より少ない乗算剰余演算の繰り返し
で実現している。
【0051】なお、ここではxiまたはxjを2進展開
する場合について説明したが、これを一般的なm進展開
(m=2,4,8,…)して同様の処理を行なってもよ
い。
【0052】なお、ここでは離散対数に基づいた公開鍵
生成方法について説明したが、一般的に一方向性関数f
と4つの2項演算op1,op2,op3,op4が次
の関係式を満たす場合に、同様の公開鍵生成方法を構成
することができる。
【0053】 f( a op1 b ) = f(a) op2 b
f( a op3 b ) = f(a) op4 f
(b)
【0054】
【発明の効果】以上の説明から明らかなように本発明に
おいては、各端末はセンターの公開情報と相手端末の公
開情報と識別情報を用いて公開鍵を生成する。このうち
相手端末の公開情報は端末情報発行センターの秘密鍵を
用いない限り、都合の良いように改竄や変更ができない
情報である。従って、生成された端末の公開鍵の完全性
が確保される。即ち、本発明による公開鍵生成法を用い
れば、公開鍵を用いた相手認証、暗号通信、署名などの
公開鍵暗号系プロトコルを実現する際に本来必要であっ
た、公開鍵の完全性確認のステップを省略することがで
きる。
【0055】ここで、公開鍵を生成するまでに必要とな
るべき乗剰余演算も1回であり、従来に比べて削減して
いる。本発明の他の効果として、各端末は自身の秘密情
報を用いてセンターが発行した端末情報を変換し、自身
の秘密鍵を生成するため、他の端末はもちろんセンター
ですら端末の秘密鍵を求めることはできない。また、こ
のことによりセンターの発行する端末情報は公開可能と
なり、公開の通信路を用いて配送することができる。
【0056】また、端末が秘密鍵を紛失して新しい鍵を
再発行する場合も、センターが新しい乱数を発生し、こ
れを用いて鍵を生成し、用いた乱数を登録しておくこと
によって容易に対応できる。
【0057】さらに、公開鍵生成の部分の計算は、あら
かじめ求めておいた剰余値を用いたり、べき乗剰余演算
を乗算の繰り返しに置き換えることによって、安全性を
損なうことなく処理の高速化を実現することが可能であ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例による公開鍵生成方法の
構成図
【図2】本発明の第2の実施例による公開鍵生成方法の
構成図
【図3】センターによる署名を用いることによって公開
鍵の完全を保証する第1の従来例の構成図
【図4】公開
鍵生成方法の1例であって第2の従来例の構成図
【符号の説明】
1  端末i 2  センター 3  端末j

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】固有の識別情報を有する第1の端末と第2
    の端末とこれらを接続するネットワークと端末情報発行
    センターを用いた公開鍵生成方法であって、前記端末情
    報発行センターが、公開の一方向性関数fと公開の関数
    hを決定し、前記一方向性関数fは第1、第2のデータ
    の第1の演算の結果を入力とするfの出力値が、前記第
    1のデータのfの出力値と前記第2のデータとを入力と
    する第2の演算の結果と等しくなり、第1、第2のデー
    タの第3の演算の結果を入力とするfの出力値が、前記
    第1のデータのfの出力値と前記第2のデータのfの出
    力値とを入力とする第4の演算の結果と等しくなる関数
    であって、端末情報発行センターの秘密鍵Xを入力とす
    る前記一方向性関数fの出力値Yを前記端末情報発行セ
    ンターの公開鍵として決定し、前記f,hおよびYを前
    記端末情報発行センターの公開情報として前記第1、第
    2の端末に通知するシステム初期設定ステップと、前記
    第1の端末が乱数xを発生し、乱数xを入力とする前記
    一方向性関数fの出力値yと第1の端末の識別情報を前
    記端末情報発行センターに通知し、前記第1の端末の端
    末情報を請求する端末情報請求ステップと、前記端末情
    報発行センターが、乱数rを発生し、前記乱数rを入力
    とする前記一方向性関数fの出力値と前記第1の端末か
    らの送信データyを入力とする第1の演算の結果tを求
    め、前記tと第1の端末の識別情報を前記公開の関数h
    に入力し、端末情報発行センターの秘密鍵Xと前記関数
    hの出力値を入力とする第2の演算の結果を求め、前記
    第2の演算の結果と前記乱数rを入力とする第3の演算
    の結果sを求め、前記t,sを第1の端末の第1、第2
    の端末情報として、第1の端末に発行する端末情報発行
    ステップと、前記第1の端末が、前記第2の端末情報s
    と前記乱数xを入力とする第3の演算の結果を求め、こ
    れを第1の端末の秘密鍵uとする秘密鍵生成ステップと
    、前記第1の端末が、前記第2の端末に第1の端末情報
    tと第1の端末の識別情報を送信し、第2の端末が、第
    1の端末情報tと第1の端末の識別情報を前記公開の関
    数hに入力し、前記端末情報発行センターの公開鍵Yと
    前記関数hの出力を入力とする第4の演算の結果を求め
    、前記第4の演算の結果と前記端末情報tを入力とする
    第1の演算の結果を第1の端末の公開鍵とする公開鍵生
    成ステップから構成されることを特徴とした公開鍵生成
    方法。
  2. 【請求項2】  固有の識別情報を有する第1の端末と
    第2の端末とこれらを接続するネットワークと端末情報
    発行センターを用いた公開鍵生成方法であって、前記端
    末情報発行センターが、素数もしくは素数のべき乗値p
    と、前記pを法とする剰余体の原始元gと、公開の関数
    hを決定し、前記pを法とし、端末情報発行センターの
    秘密鍵Xをべきとする前記gのべき乗剰余値Yを前記端
    末情報発行センターの公開鍵として決定し、前記p,g
    ,hおよびYを前記端末情報発行センターの公開情報と
    して前記第1、第2の端末に通知するシステム初期設定
    ステップと、前記第1の端末が乱数xを発生し、前記p
    を法として前記乱数xをべきとするgのべき乗剰余値y
    と第1の端末の識別情報を前記端末情報発行センターに
    通知し、前記第1の端末の端末情報を請求する端末情報
    請求ステップと、前記端末情報発行センターが、乱数r
    を発生し、前記pを法として乱数rをべきとするgのべ
    き乗剰余値と前記第1の端末からの送信データyの積t
    を求め、前記tと第1の端末の識別情報を前記公開の関
    数hに入力し、前記pのオイラー関数値を法としてhの
    出力値と前記端末情報発行センターの秘密鍵Xの積と前
    記乱数rの和sを求め、前記t,sを第1の端末の第1
    、第2の端末情報として、第1の端末に発行する端末情
    報発行ステップと、前記第1の端末が、前記pのオイラ
    ー関数値を法として第2の端末情報sと前記乱数xの和
    を求め、これを第1の端末の秘密鍵uとする秘密鍵生成
    ステップと、前記第1の端末が、前記第2の端末に第1
    の端末情報tと第1の端末の識別情報を送信し、第2の
    端末が、第1の端末情報tと第1の端末の識別情報を前
    記公開の関数hに入力し、pを法としてhの出力値をべ
    きとする前記端末情報発行センターの公開鍵Yのべき乗
    剰余値と前記第1の端末情報tの積を第1の端末の公開
    鍵とする公開鍵生成ステップから構成されることを特徴
    とした公開鍵生成方法。
  3. 【請求項3】  請求項2記載の公開鍵生成方法であっ
    て、公開鍵生成ステップにおいて前記pを法とする前記
    端末情報発行センターの公開鍵Yのべき乗剰余値を、あ
    らかじめ計算しておいた前記pを法とする剰余値を用い
    て求めることを特徴とした公開鍵生成方法。
  4. 【請求項4】  固有の識別情報を有する第1の端末と
    第2の端末とこれらを含むネットワークと端末情報発行
    センターを用いた公開鍵生成方法であって、前記端末情
    報発行センターが、素数もしくは素数のべき乗値pと、
    前記pを法とする剰余体の原始元gと、公開の関数hを
    求め、前記pを法とし端末情報発行センターの複数の秘
    密鍵をそれぞれべきとする前記gの複数のべき乗剰余値
    を前記端末情報発行センターの公開鍵として求め、前記
    p,g,hおよび複数の公開鍵を前記端末情報発行セン
    ターの公開情報として前記第1、第2の端末に通知する
    システム初期設定ステップと、前記第1の端末が乱数x
    を発生し、前記pを法として乱数xをべきとするgのべ
    き乗剰余値yと第1の端末の識別情報を前記端末情報発
    行センターに通知し、前記第1の端末の端末情報を請求
    する端末情報請求ステップと、前記端末情報発行センタ
    ーが、乱数rを発行し、前記pを法として乱数rをべき
    とするgのべき乗剰余値と前記第1の端末からの送信デ
    ータyの積tを求め、前記tと第1の端末の識別情報を
    前記公開の関数hに入力し、前記端末情報発行センター
    の複数の秘密鍵からhの出力値に対応した1個以上の秘
    密鍵を選び、前記pのオイラー関数値を法としてこれら
    の和と前記乱数rの和sを求め、前記t,sを第1の端
    末の第1、第2の端末情報として、第1の端末に発行す
    る端末情報発行ステップと、前記第1の端末が、前記p
    のオイラー関数値を法とし、第2の端末情報sと前記乱
    数xの和を求め、これを第1の端末の秘密鍵uとする秘
    密鍵生成ステップと、前記第1の端末が、前記第2の端
    末に第1の端末情報tと第1の端末の識別情報を送信し
    、第2の端末が、第1の端末情報tと第1の端末の識別
    情報を前記公開の関数hに入力し、前記端末情報発行セ
    ンターの複数の公開鍵からhの出力値に対応した1個以
    上の公開鍵を選び、pを法としてこれらの積と前記第1
    の端末情報tの積を第1の端末の公開鍵とする公開鍵生
    成ステップから構成されることを特徴とした公開鍵生成
    方法。
  5. 【請求項5】  第1の端末と第2の端末とこれらを含
    むネットワークとセンターを用いた鍵共有方法であって
    、前記センターが、素数もしくは素数のべき乗値pと、
    前記pを法とする剰余体の原始元gと、前記pを法とし
    センターの複数の生成データXと、前記pを法とし、前
    記生成データXのそれぞれをべきとする前記gの複数の
    べき乗剰余値Yを前記センターの公開情報として前記第
    1、第2の端末に通知するシステム初期設定ステップと
    、前記第1の端末が乱数xを発生し、前記センターの公
    開情報Yから前記乱数xに対応した1個以上のデータを
    選び、前記pを法としてこれらの積Pを求め、前記セン
    ターの公開情報Xから前記乱数xに対応した1個以上の
    データを選び、前記pのオイラー関数値を法としてこれ
    らの和Sを求め、前記Pを前記第2の端末に送信し、前
    記第2の端末が乱数yを発生し、前記センターの公開情
    報Yから前記乱数yに対応した1個以上のデータを選び
    、前記pを法としてこれらの積Qを求め、前記センター
    の公開情報Xから前記乱数yに対応した1個以上のデー
    タを選び、前記pのオイラー関数値を法としてこれらの
    和Tを求め、前記Qを前記第1の端末に送信し、前記第
    1の端末は、前記pを法とし前記Sをべきとする前記Q
    のべき乗剰余値を第2の端末との共有鍵とし、前記第2
    の端末は、前記pを法とし前記Tをべきとする前記Pの
    べき乗剰余値を第1の端末との共有鍵とする鍵共有方法
JP2403058A 1990-12-18 1990-12-18 公開鍵生成方法と鍵共有方法 Expired - Fee Related JP2629452B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2403058A JP2629452B2 (ja) 1990-12-18 1990-12-18 公開鍵生成方法と鍵共有方法
US07/809,134 US5199070A (en) 1990-12-18 1991-12-18 Method for generating a public key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2403058A JP2629452B2 (ja) 1990-12-18 1990-12-18 公開鍵生成方法と鍵共有方法

Publications (2)

Publication Number Publication Date
JPH04216587A true JPH04216587A (ja) 1992-08-06
JP2629452B2 JP2629452B2 (ja) 1997-07-09

Family

ID=18512808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2403058A Expired - Fee Related JP2629452B2 (ja) 1990-12-18 1990-12-18 公開鍵生成方法と鍵共有方法

Country Status (1)

Country Link
JP (1) JP2629452B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510336A (ja) * 2003-10-28 2007-04-19 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510336A (ja) * 2003-10-28 2007-04-19 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置
JP4741503B2 (ja) * 2003-10-28 2011-08-03 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置
US8713321B2 (en) 2003-10-28 2014-04-29 Certicom Corp. Method and apparatus for verifiable generation of public keys
US9160530B2 (en) 2003-10-28 2015-10-13 Certicom Corp. Method and apparatus for verifiable generation of public keys
US9240884B2 (en) 2003-10-28 2016-01-19 Certicom Corp. Method and apparatus for verifiable generation of public keys
US9967239B2 (en) 2003-10-28 2018-05-08 Certicom Corp. Method and apparatus for verifiable generation of public keys

Also Published As

Publication number Publication date
JP2629452B2 (ja) 1997-07-09

Similar Documents

Publication Publication Date Title
US7036015B2 (en) Verification protocol
US5442707A (en) Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US8832438B2 (en) Digital signature generation apparatus, digital signature verification apparatus, and key generation apparatus
GB2321741A (en) Verification of electronic transactions
JP2002533787A (ja) 楕円曲線上での暗号操作の速度を高める方法
WO2004102918A2 (en) Key agreement and transport protocol
WO1998007253A9 (en) Accelerating public-key cryptography by precomputing randomly generated pairs
EP2309670B1 (en) Method for providing information security for wireless transmissions
US7330549B2 (en) Method of producing a cryptographic unit for an asymmetric cryptography system using a discrete logarithm function
Du et al. A provably-secure outsourced revocable certificateless signature scheme without bilinear pairings
US20050089173A1 (en) Trusted authority for identifier-based cryptography
JP2956709B2 (ja) 公開鍵生成方法及び装置
JPH04216587A (ja) 公開鍵生成方法と鍵共有方法
JPH11174957A (ja) 認証プロトコル
Manajaih Modular arithmetic in RSA cryptography
Hwang et al. An enhanced authentication key exchange protocol
WO2010086803A1 (en) Verification of data items in data processing systems
CN110752931A (zh) 一种sm2椭圆曲线公钥密码体制优化方法
Lal et al. A scheme for obtaining a warrant message from the digital proxy signatures
TWI710987B (zh) 具多重簽章的錢包服務系統及其方法
Bene et al. Public Key Infrastructure in the Post-Quantum Era
CN114710273A (zh) 一种通信系统的密钥产生方法
JPH02273779A (ja) ディジタル署名装置
Tripathi et al. An Extension to Modified Harn Digital Signature Scheme with the Feature of Message Recovery
Anisimov et al. Authentication for Coalition Groups

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees