JP3622072B2 - 暗号通信方法 - Google Patents

暗号通信方法 Download PDF

Info

Publication number
JP3622072B2
JP3622072B2 JP33819098A JP33819098A JP3622072B2 JP 3622072 B2 JP3622072 B2 JP 3622072B2 JP 33819098 A JP33819098 A JP 33819098A JP 33819098 A JP33819098 A JP 33819098A JP 3622072 B2 JP3622072 B2 JP 3622072B2
Authority
JP
Japan
Prior art keywords
entity
key
vector
public
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33819098A
Other languages
English (en)
Other versions
JP2000165372A (ja
Inventor
正雄 笠原
恭通 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP33819098A priority Critical patent/JP3622072B2/ja
Priority to US09/397,983 priority patent/US6788788B1/en
Publication of JP2000165372A publication Critical patent/JP2000165372A/ja
Application granted granted Critical
Publication of JP3622072B2 publication Critical patent/JP3622072B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、情報の内容が当事者以外にはわからないように情報を暗号化して通信する安全性が高い暗号通信方法に関する。
【0002】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
【0003】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【0004】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号系は、共通鍵暗号系と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。また、両者の鍵が異なる暗号系の一例として、公開鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗号系は、暗号系を利用する各ユーザ(エンティティ)が暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開し、復号鍵のみを秘密に保持するという暗号系である。公開鍵暗号系では、この一対となる暗号化鍵と復号鍵とが異なり、一方向性関数を利用することによって暗号化鍵から復号鍵を割り出せないという特徴を持たせている。
【0005】
公開鍵暗号系は、暗号化鍵を公開するという画期的な暗号系であって、高度情報化社会の確立に必要な上述した3つの要素に適合するものであり、情報通信技術の分野等での利用を図るべく、その研究が活発に行われ、典型的な公開鍵暗号系としてRSA暗号系が提案された。このRSA暗号系は、一方向性関数として素因数分解の困難さを利用して実現されている。また、離散対数問題を解くことの困難さ(離散対数問題)を利用した公開鍵暗号系も種々の手法が提案されてきた。
【0006】
また、各エンティティの住所,氏名等の個人を特定するID(Identity)情報を利用する暗号系が提案された。この暗号系では、ID情報に基づいて送受信者間で共通の暗号化鍵を生成する。また、このID情報に基づく暗号技法には、(1)暗号文通信に先立って送受信者間での予備通信を必要とする方式と、(2)暗号文通信に先立って送受信者間での予備通信を必要としない方式とがある。特に、(2)の手法は予備通信が不要であるので、エンティティの利便性が高く、将来の暗号系の中枢をなすものと考えられている。
【0007】
この(2)の手法による暗号系は、ID−NIKS(ID−based non−interactive key sharing scheme)と呼ばれており、通信相手のID情報を用いて予備通信を行うことなく暗号化鍵を共有する方式を採用している。ID−NIKSは、送受信者間で公開鍵,秘密鍵を交換する必要がなく、また鍵のリスト及び第三者によるサービスも必要としない方式であり、任意のエンティティ間で安全に通信を行える。
【0008】
図3は、このID−NIKSのシステムの原理を示す図である。信頼できるセンタの存在を仮定し、このセンタを中心にして共有鍵生成システムを構成している。図3において、エンティティXの特定情報であるエンティティXの名前,住所,電話番号等のID情報は、ハッシュ関数h(・)を用いてh(ID)で表す。センタは任意のエンティティXに対して、センタ公開情報{PC},センタ秘密情報{SC}及びエンティティXのID情報h(ID)に基づいて、以下のように秘密情報SXiを計算し、秘密裏にエンティティXへ配布する。
Xi=F({SC},{PC},h(ID))
【0009】
エンティティXは他の任意のエンティティYとの間で、暗号化,復号のための共有鍵KXYを、エンティティX自身の秘密情報{SXi},センタ公開情報{PC}及び相手先のエンティティYのID情報h(ID)を用いて以下のように生成する。
XY=f({SXi},{PC},h(ID))
また、エンティティYも同様にエンティティXへの鍵を共有鍵KYXを生成する。もし常にKXY=KYXの関係が成立すれば、この鍵KXY,KYXをエンティティX,Y間で暗号化鍵,復号鍵として使用できる。
【0010】
上述した公開鍵暗号系では、例えばRSA暗号系の場合にその公開鍵の長さは現在の電話番号の十数倍となり、極めて煩雑である。これに対して、ID−NIKSでは、各ID情報を名簿という形式で登録しておけば、この名簿を参照して任意のエンティティとの間で共有鍵を生成することができる。従って、図3に示すようなID−NIKSのシステムが安全に実現されれば、多数のエンティティが加入するコンピュータネットワーク上で便利な暗号系を構築できる。このような理由により、ID−NIKSが将来の暗号系の中心になると期待されている。
【0011】
【発明が解決しようとする課題】
通信相手のID情報を用いて予備通信を行うことなく暗号化鍵及び復号鍵となる共有鍵を互いに共有するようなID−NIKSにあっては、複数のエンティティの結託等の攻撃に対して十分に安全であることが望まれる。しかしながら、以上のようなID−NIKSにおいては、攻撃法が検討されて、適当な人数のエンティティが結託すればセンタの秘密パラメータが露呈するという問題を含んでいる。暗号学的に安全なID−NIKSを構築できるか否かは、高度情報化社会に重要な問題であり、より理想的な暗号方式の探究が進められている。
【0012】
そこで、本発明者等は、秘密鍵生成関数及び鍵共有関数が分離不可能であり、確率的に鍵共有が可能であり、安全性が高い新規のID−NIKSによる暗号通信方法及び暗号通信システムを提案している(特願平10−262035号)。特願平10−262035号で提案したこのID−NIKS(以下、先行例という)は、2つの有限体上での演算により、1組の鍵ペアを計算し、この鍵ペアの双方を整数環上で加算することにより、乱数部を消去するようにしたものである。以下、先行例について簡単に説明する。
【0013】
〔センタでの準備処理〕
センタは以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
Figure 0003622072
また、エンティティの特定情報であるエンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する一方向性関数ベクトルh(・)も同時に公開する。但し、乱数ベクトルγと任意のエンティティの公開鍵ベクトルvとの内積がP及びQを超えないように設定する。ここでは、議論を簡単にするために、パラメータbを下記式(1)のように設定し、b>0の場合について考える。
b=k−(l+m+ logn) …(1)
【0014】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタは、準備した鍵とエンティティiの公開鍵ベクトルv(=ベクトルh(ID))とを用いて以下の式(2)と式(3)とに従って、エンティティiの秘密鍵ベクトルsと秘密鍵ベクトルtとを求め、求めたベクトルs及びベクトルtをエンティティiへ秘密裏に送って、登録を完了する。但し、modは、二項演算子のmodである。即ち、a mod P はaをPで割った剰余を求める演算を表すとする。
【0015】
【数7】
Figure 0003622072
【0016】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法P及び法Qによる式(4)及び式(5)に従って、それぞれAij′及びBij′を求め、次に整数環上で式(6)の計算によりKijを得る。
【0017】
【数8】
Figure 0003622072
【0018】
この先行例では、bを充分大きくした場合、約(1−1/2という極めて高い確率で互いに鍵を共有することが可能である。
【0019】
本発明は斯かる事情に鑑みてなされたものであって、先行例を改良したものであり、より安全性を高くできるID−NIKSによる暗号通信方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
請求項1に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における4個の前記秘密鍵を生成する演算式は下記式(A)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(B)であることを特徴とする。
【0021】
【数9】
Figure 0003622072
【0022】
但し、
ベクトルs 11,i :エンティティiの第1の秘密鍵
ベクトルs 22,i :エンティティiの第2の秘密鍵
ベクトルs 21,i :エンティティiの第3の秘密鍵
ベクトルs 12,i :エンティティiの第4の秘密鍵
ベクトルv 1,i :エンティティiの第1の公開鍵
ベクトルv 2,i :エンティティiの第2の公開鍵
1 ,P 2 ,P 3 :公開された素数
1 ,A 2 :センタ装置秘密の乱数からなる対称行列
3 :センタ装置秘密の乱数からなる行列
ベクトルγ 1,i :乱数からなる第1の個人乱数ベクトル
ベクトルγ 2,i :乱数からなる第2の個人乱数ベクトル
【0023】
【数10】
Figure 0003622072
【0024】
但し、
ij :一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルv 1,j :エンティティjの第1の公開鍵
ベクトルv 2,j :エンティティjの第2の公開鍵
11,ij ′,A 22,ij ′,A 21,ij ′,A 12,ij ′:共有鍵K ij を生成するため の中間値
【0028】
請求項に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、各エンティティの公開鍵はd個であり、前記センタ装置におけるd2 個の前記秘密鍵を生成する演算式が下記式(C)であり、各エンティティ装置における前記共有鍵を生成する演算式が下記式(D)であることを特徴とする。
【0029】
【数11】
Figure 0003622072
【0030】
但し、
yz(y,z=1,2,…,d):n×nの対称行列Aを行方向,列方向共にn,n,…,n毎に区切った小行列(但し、n=n+n +…+n
ベクトルsyz,i:エンティティiのd個の秘密鍵
ベクトルvz,i :エンティティiの公開鍵の列ベクトルvをn,n ,…,nの大きさで列方向に分割したベクトル
ベクトルγyz,i:エンティティiの個人乱数の列ベクトルγz,i をn,n,…,nの大きさで列方向に分割したベクトル
yz:公開された素数
【0031】
【数12】
Figure 0003622072
【0032】
但し、
ij:一方のエンティティ装置iが他方のエンティティ装置jに対して 生成する共有鍵
ベクトルvy,j :エンティティjの公開鍵の行ベクトルvj をn1 ,n2 ,…, nd の大きさで行方向に分割したベクトル
yz,ij ′:共有鍵Kijを生成するためのd2 個の中間値
【0033】
請求項に係る暗号通信方法は、請求項記載の各エンティティの公開鍵がd個、各エンティティの秘密鍵がd2 個となる組を複数組用いることを特徴とする。
【0034】
請求項に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における2d個の前記秘密鍵を生成する演算式は下記式(E)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(F)であることを特徴とする。
【0035】
【数13】
Figure 0003622072
【0036】
但し、
ベクトルsr,i :エンティティiのd個の秘密鍵
ベクトルtr,i :エンティティiのd個の秘密鍵
r :センタ装置秘密の乱数からなる行列
r tr
ベクトルvr,i :エンティティiのd個の公開鍵
ベクトルγr,i :乱数からなるd個の個人乱数ベクトル
r :公開された素数
【0037】
【数14】
Figure 0003622072
【0038】
但し、
ij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルvr,j :エンティティjのd個の公開鍵
r,ij′,Br,ij′:共有鍵Kijを生成するための中間値
【0039】
請求項に係る暗号通信方法は、請求項1〜の何れかにおいて、各エンティティの特定情報をハッシュ関数を利用して計算することにより、各エンティティの前記複数の公開鍵を求めることを特徴とする。
【0042】
本発明では、各エンティティの公開鍵を複数個用いるようにしており、これらの複数の公開鍵を組み合わせて乱数を消去するようにしたので、乱数消去の複雑さが増して、先行例よりも安全性の向上を図れる。また、乱数を分割したので、桁の繰り上がり問題をより軽減できる。
【0043】
【発明の実施の形態】
図1は、本発明の暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できるセンタ1が設定されており、このセンタ1としては、例えば社会の公的機関を該当できる。このセンタ1と、この暗号系システムを利用するユーザとしての複数の各エンティティa,b,…,zとは秘密通信路2a,2b,…,2zにより接続されており、この秘密通信路2a,2b,…,2zを介してセンタ1から秘密の鍵情報が各エンティティa,b,…,zへ伝送されるようになっている。また、2人のエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【0044】
(第1実施の形態)
以下に、本発明のID−NIKSの第1実施の形態(各エンティティで2つの公開鍵を使用する方式)について説明する。
【0045】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
Figure 0003622072
また、エンティティの特定情報であるエンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する2通りの一方向性関数ベクトルh(・),h(・)も同時に公開する。但し、パラメータbを下記式のように設定し、b>0の場合について考える。
b=k−(l+m+ logn)
【0046】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルv1,i (=ベクトルh(ID))及び公開鍵ベクトルv2,i (=ベクトルh(ID))とを用いて以下の式(7)〜式(10)に従って、エンティティiの秘密鍵ベクトルs11,i,秘密鍵ベクトルs12,i,秘密鍵ベクトルs21,i,秘密鍵ベクトルs22,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。なお、modは、二項演算子のmodである。即ち、a mod P はaをPで割った剰余を求める演算を表すとする。
【0047】
【数15】
Figure 0003622072
【0048】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法P及び法Pにおいて式(11)及び式(12)に従って、それぞれA11,ij ′及びA22,ij ′を求め、次に、法Pにおいて式(13)及び式(14)に従って、それぞれA21,ij ′及びA12,ij ′を求め、次に、整数環上で式(15)の計算によりKijを得る。
【0049】
【数16】
Figure 0003622072
【0050】
ここで、先行例と同様に、bを十分大きくとる場合には、圧倒的に高い確率でKij=Kjiが成立する。
【0051】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図2は、2人のエンティティa,b間における情報の通信状態を示す模式図である。図2の例は、エンティティaが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティbへ伝送し、エンティティbがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0052】
エンティティa側には、エンティティbの個人識別情報IDを入力し、ハッシュ関数を利用してベクトルv1,b 及びv2,b (公開鍵)を得る公開鍵生成器11と、センタ1から送られる秘密のベクトルs11,a,s22,a,s21,a及びs12,aと公開鍵生成器11からの公開鍵であるベクトルv1,b 及びv2,b とに基づいてエンティティaが求めるエンティティbとの共有鍵Kabを生成する共有鍵生成器12と、共有鍵Kabを用いて平文(メッセージ)Mを暗号文Cに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【0053】
また、エンティティb側には、エンティティaの個人識別情報IDを入力し、ハッシュ関数を利用してベクトルv1,a 及びv2,a (公開鍵)を得る公開鍵生成器21と、センタ1から送られる秘密のベクトルs11,b,s22,b,s21,b及びs12,bと公開鍵生成器21からの公開鍵であるベクトルv1,a 及びv2,a とに基づいてエンティティbが求めるエンティティaとの共有鍵Kbaを生成する共有鍵生成器22と、共有鍵Kbaを用いて通信路30から入力した暗号文Cを平文(メッセージ)Mに復号して出力する復号器23とが備えられている。
【0054】
次に、動作について説明する。エンティティaからエンティティbへ情報を伝送しようとする場合、まず、エンティティbの個人識別情報IDが公開鍵生成器11に入力されてベクトルv1,b 及びv2,b (公開鍵)が得られ、得られたベクトルv1,b 及びv2,b が共有鍵生成器12へ送られる。また、センタ1から式(7)〜(10)に従って求められたベクトルs11,a,s22,a,s21,a及びs12,aが共有鍵生成器12へ入力される。そして、式(11)〜(15)に従って共有鍵Kabが求められ、暗号化器13へ送られる。暗号化器13において、この共有鍵Kabを用いて平文(メッセージ)Mが暗号文Cに暗号化され、暗号文Cが通信路30を介して伝送される。
【0055】
通信路30を伝送された暗号文Cはエンティティbの復号器23へ入力される。エンティティaの個人識別情報IDが公開鍵生成器21に入力されてベクトルv1,a 及びv2,a (公開鍵)が得られ、得られたベクトルv1,a 及びv2,a が共有鍵生成器22へ送られる。また、センタ1から式(7)〜(10)に従って求められたベクトルs11,b,s22,b,s21,b及びs12,bが共有鍵生成器22へ入力される。そして、式(11)〜(15)に従って共有鍵Kbaが求められ、復号器23へ送られる。復号器23において、この共有鍵Kbaを用いて暗号文Cが平文(メッセージ)Mに復号される。
【0056】
次に、この暗号化方式の形式的表現について説明する。第1実施の形態における暗号化方式の理解を容易にするために、上記(7)〜(10)の各式を、以下のように各小行列に対応させて表現するものと定義する。この形式的表現における行列とベクトルとの積演算は、各小行列間の区切りを越えて加算を行わない点について通常の行列の積演算と若干異なっている。また、( )内は法を表す。
【0057】
【数17】
Figure 0003622072
【0058】
また、上記式(11)〜(14)は以下のように表される。
【0059】
【数18】
Figure 0003622072
【0060】
行列Aについて、Aの全ての小行列の和を求める操作をΣAで表現すれば、共有鍵Kijは以下のように表すことができる。
【0061】
【数19】
Figure 0003622072
【0062】
この形式的表現によると、第1実施の形態は法まで含めた場合に対称行列を用いた方式と考えられ、乱数項を除けば従来の積和型NIKSと類似していることが分かる。従って、法まで含んだ対称行列を用いれば、先行例のNIKSは一般的に表記できることになる。
【0063】
(第2実施の形態)
以下に、本発明のID−NIKSの第2実施の形態(各エンティティでd個の公開鍵を使用する一般化方式)について説明する。第2実施の形態では、n,n,…,nの大きさのd個の公開鍵を用いる。n×nの対称行列Aを用意し、行方向及び列方向にそれぞれn,n,…,n毎に区切った小行列をAyz(y,z=1,2,…,d)で表す。但し、n=n+n+…+nとする。
【0064】
Aが対称行列であるので、行列Aの(y,z)−小行列に関して、Ayzzyが成立する。また、各小行列内では法は同一のものとし、法に関してPyz=Pzyが満たされるものとする。更に、乱数項は共有鍵生成時に消去される必要があるので、ベクトルoを零ベクトルとして、以下の式(16)を満たすものとする。この場合、エンティティiの秘密鍵はd個の式によって表現される。
【0065】
【数20】
Figure 0003622072
【0066】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
Figure 0003622072
また、エンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する一方向性関数ベクトルh(・)も同時に公開する。但し、パラメータb(r=1,2,…,d)を下記式のように設定し、b>0の場合について考える。
=k−(l+m+ log
【0067】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルv(=ベクトルh(ID))とを用いて以下の式(17)に従って、エンティティiのd個の秘密鍵ベクトルsyz,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、ベクトルvz,i 及びベクトルγyz,iは、それぞれ、列ベクトルv及びベクトルγz,i をn,n,…,nの大きさで列方向に分割したベクトルを表す。また、modは、二項演算子のmodである。
【0068】
【数21】
Figure 0003622072
【0069】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、それぞれの法Pyzについて式(18)に従って、Ayz,ij ′を求め、次に、整数環上で式(19)の計算によりKijを得る。
【0070】
【数22】
Figure 0003622072
【0071】
第2実施の形態における鍵共有(Kij=Kjiが成立する)について検証する。式(17)を式(18)に代入すると、以下の式(20),(21)のようになる。すべてのbを十分大きくとる場合には、高い確率で式(21)の第1式が成立する。この場合、式(19)を計算すると、式(16)より乱数項が消去されるので、高い確率でKij=Kjiが成立する。
【0072】
【数23】
Figure 0003622072
【0073】
なお、エンティティ間の情報の通信動作については、第1実施の形態と同様であるので、その説明は省略する。
【0074】
第2実施の形態に対して前述の形式的表現を用いると、エンティティiのd個の秘密鍵をまとめて以下のように表現できる。
【0075】
【数24】
Figure 0003622072
【0076】
また、共有鍵Kijは以下のように表現できる。
【0077】
【数25】
Figure 0003622072
【0078】
(第3実施の形態)
以下に、本発明のID−NIKSの第3実施の形態(第2実施の形態での公開鍵を複数組使用する一般化方式)について説明する。第3実施の形態は、第2実施の形態における公開鍵を複数組(c組)準備し、これらのc組全体の和をとって初めて乱数が消去されるようにした一般化方式である。以下の例では、c=2とし、n,n,…,nの大きさのd個の公開鍵と、n″,n″,…,n″の大きさのe個の公開鍵とを用いる場合について説明する。
【0079】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
Figure 0003622072
【0080】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルv(=ベクトルh(ID))とを用いて以下の式(22)及び(23)に従って、エンティティiのd個の秘密鍵ベクトルsyz,i及びe個の秘密鍵ベクトルtyz,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、ベクトルvz,i 及びベクトルγyz,iは、それぞれ、列ベクトルv及びベクトルγz,i をn,n,…,nの大きさで列方向に分割したベクトルを表し、ベクトルvz,i ″及びベクトルδyz,iは、それぞれ、列ベクトルv及びベクトルδz,i をn″,n″,…,n″の大きさで列方向に分割したベクトルを表し、また、modは、二項演算子のmodである。ここで、ベクトルvについては、分割の方法が異なるだけで、式(22),(23)共に同一のベクトルを使用している。
【0081】
【数26】
Figure 0003622072
【0082】
なお、乱数項については、これらの2組の鍵を用いて初めて消去されるように、下記式(24)を満たすように設定する。
【0083】
【数27】
Figure 0003622072
【0084】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、それぞれの法Pyz,Qyzについて式(25),式(26)に従って、Ayz,ij ′,Byz,ij ′を求め、次に、整数環上で式(27)の計算によりKijを得る。
【0085】
【数28】
Figure 0003622072
【0086】
式(24)よりすべての項の和をとれば乱数項は消去されるので、第2実施の形態と同様に、すべてのbを十分大きくとる場合には、高い確率でKij=Kjiが成立する。
【0087】
なお、先行例は、この第3実施の形態において、c=2,d=e=1とした場合に相当することが分かる。
【0088】
なお、エンティティ間の情報の通信動作については、第1実施の形態と同様であるので、その説明は省略する。
【0089】
(第4実施の形態)
以下に、本発明のID−NIKSの第4実施の形態(秘密鍵の使用を2d個に制限した方式)について説明する。第2実施の形態ではd(d+1)/2個の多くの秘密鍵を持たねばならず、また、第3実施の形態では第2実施の形態の更に約c倍の秘密鍵を持つ必要があり、それらの方式をそのまま利用することは実用的でない。そこで、第4実施の形態として、使用する秘密鍵の個数を2d個に抑えた実用的な方式を説明する。
【0090】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
Figure 0003622072
また、エンティティのIDからmビットの正整数からなるd個のn次元の公開鍵ベクトルvr,i =ベクトルh(ID)(r=1,2,…,d)を生成するd通りの一方向性関数ベクトルh(・),h(・),…,h(・)も同時に公開する。但し、パラメータbを下記式のように設定し、b>0の場合について考える。
b=k−(l+m+ logn)
【0091】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiのd個の公開鍵ベクトルv1,i ,v2,i ,…,vd,i とを用いて以下の式(28)及び(29)に従って、エンティティiの各d個の秘密鍵ベクトルsr,i 及びtr,i を求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、Bと置き、また、添字がd+1になる場合は1に変換して扱うものとする。
【0092】
【数29】
Figure 0003622072
【0093】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法Pについて式(30),式(31)に従って、Ar,ij′,Br,ij′を求め、次に、整数環上で式(32)の計算によりKijを得る。
【0094】
【数30】
Figure 0003622072
【0095】
なお、エンティティ間の情報の通信動作については、第1実施の形態と同様であるので、その説明は省略する。
【0096】
この第4実施の形態における形式的表現を以下に表す。
〔d=2の場合(第3実施の形態に該当)〕
【0097】
【数31】
Figure 0003622072
【0098】
〔d≧3の場合(第2実施の形態に該当)〕
【0099】
【数32】
Figure 0003622072
【0100】
【発明の効果】
以上詳述したように、本発明では、大きな素数を法とする有限体上の演算をした後に、整数環上の加算により乱数を消去するようにしており、実用的に十分高い確率で鍵を共有できる。また、先行例を改良し、複数の公開鍵を用いて公開鍵ベクトルのサイズをより大きくするようにしたので、先行例と比べてよりより安全性を高くできる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】2人のエンティティ間における情報の通信状態を示す模式図である。
【図3】ID−NIKSのシステムの原理構成図である。
【符号の説明】
1 センタ
11,21 公開鍵生成器
12,22 共有鍵生成器
13 暗号化器
23 復号器
30 通信路

Claims (5)

  1. センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における4個の前記秘密鍵を生成する演算式は下記式(A)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(B)であることを特徴とする暗号通信方法。
    Figure 0003622072
    但し、
    ベクトルs 11,i :エンティティiの第1の秘密鍵
    ベクトルs 22,i :エンティティiの第2の秘密鍵
    ベクトルs 21,i :エンティティiの第3の秘密鍵
    ベクトルs 12,i :エンティティiの第4の秘密鍵
    ベクトルv 1,i :エンティティiの第1の公開鍵
    ベクトルv 2,i :エンティティiの第2の公開鍵
    1 ,P 2 ,P 3 :公開された素数
    1 ,A 2 :センタ装置秘密の乱数からなる対称行列
    3 :センタ装置秘密の乱数からなる行列
    ベクトルγ 1,i :乱数からなる第1の個人乱数ベクトル
    ベクトルγ 2,i :乱数からなる第2の個人乱数ベクトル
    Figure 0003622072
    但し、
    ij :一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
    ベクトルv 1,j :エンティティjの第1の公開鍵
    ベクトルv 2,j :エンティティjの第2の公開鍵
    11,ij ′,A 22,ij ′,A 21,ij ′,A 12,ij ′:共有鍵K ij を生成するため の中間値
  2. センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、各エンティティの公開鍵はd個であり、前記センタ装置におけるd2 個の前記秘密鍵を生成する演算式が下記式(C)であり、各エンティティ装置における前記共有鍵を生成する演算式が下記式(D)であることを特徴とする暗号通信方法。
    Figure 0003622072
    但し、
    yz(y,z=1,2,…,d):n×nの対称行列Aを行方向,列方向共にn 1 ,n2 ,…,nd 毎に区切った小行列(但し、n=n1 +n2 +…+nd
    ベクトルsyz,i:エンティティiのd2 個の秘密鍵
    ベクトルvz,i :エンティティiの公開鍵の列ベクトルvi をn1 ,n2 ,…, nd の大きさで列方向に分割したベクトル
    ベクトルγyz,i:エンティティiの個人乱数の列ベクトルγz,i をn1 ,n2 , …,nd の大きさで列方向に分割したベクトル
    yz:公開された素数
    Figure 0003622072
    但し、
    ij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
    ベクトルvy,j :エンティティjの公開鍵の行ベクトルvj をn1 ,n2 ,…, nd の大きさで行方向に分割したベクトル
    yz,ij ′:共有鍵Kijを生成するためのd2 個の中間値
  3. 請求項記載の各エンティティの公開鍵がd個、各エンティティの秘密鍵がd2 個となる組を複数組用いることを特徴とする暗号通信方法。
  4. センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の 秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における2d個の前記秘密鍵を生成する演算式は下記式(E)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(F)であることを特徴とする暗号通信方法。
    Figure 0003622072
    但し、
    ベクトルsr,i :エンティティiのd個の秘密鍵
    ベクトルtr,i :エンティティiのd個の秘密鍵
    r :センタ装置秘密の乱数からなる行列
    r tr
    ベクトルvr,i :エンティティiのd個の公開鍵
    ベクトルγr,i :乱数からなるd個の個人乱数ベクトル
    r :公開された素数
    Figure 0003622072
    但し、
    ij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
    ベクトルvr,j :エンティティjのd個の公開鍵
    r,ij′,Br,ij′:共有鍵Kijを生成するための中間値
  5. 各エンティティの特定情報をハッシュ関数を利用して計算することにより、各エンティティの前記複数の公開鍵を求めることを特徴とする請求項1〜の何れかに記載の暗号通信方法。
JP33819098A 1998-09-16 1998-11-27 暗号通信方法 Expired - Fee Related JP3622072B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33819098A JP3622072B2 (ja) 1998-11-27 1998-11-27 暗号通信方法
US09/397,983 US6788788B1 (en) 1998-09-16 1999-09-16 Cryptographic communication method, encryption method, and cryptographic communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33819098A JP3622072B2 (ja) 1998-11-27 1998-11-27 暗号通信方法

Publications (2)

Publication Number Publication Date
JP2000165372A JP2000165372A (ja) 2000-06-16
JP3622072B2 true JP3622072B2 (ja) 2005-02-23

Family

ID=18315781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33819098A Expired - Fee Related JP3622072B2 (ja) 1998-09-16 1998-11-27 暗号通信方法

Country Status (1)

Country Link
JP (1) JP3622072B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114079560B (zh) * 2020-07-31 2024-05-07 中移(苏州)软件技术有限公司 一种通信加密方法及飞行器、计算机可读存储介质
CN113904808B (zh) * 2021-09-08 2024-07-19 北京信安世纪科技股份有限公司 一种私钥分发、解密方法、装置、设备及介质

Also Published As

Publication number Publication date
JP2000165372A (ja) 2000-06-16

Similar Documents

Publication Publication Date Title
US5815573A (en) Cryptographic key recovery system
JP2001211153A (ja) 秘密鍵生成方法
CN110011995A (zh) 多播通信中的加密和解密方法及装置
US7783045B2 (en) Secure approach to send data from one system to another
Nunez Umbral: a threshold proxy re-encryption scheme
JP4450969B2 (ja) 鍵共有システム,秘密鍵生成装置,共通鍵生成システム,暗号通信方法,暗号通信システム及び記録媒体
WO2022167163A1 (en) Threshold key exchange
JP2001211154A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
US20070183600A1 (en) Secure Cryptographic Communication System Using Kem-Dem
JP4485122B2 (ja) 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム
JP2000047581A (ja) 暗号化方法,暗号化・復号装置及び暗号通信システム
JP3622072B2 (ja) 暗号通信方法
US20010010721A1 (en) Common key generating method, common key generating apparatus, encryption method, cryptographic communication method and cryptographic communication system
JP3464153B2 (ja) 暗号通信方法及び暗号通信システム
JP3953235B2 (ja) 暗号通信方法及び暗号通信システム
JP3587746B2 (ja) 秘密鍵生成器,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体
JP3283202B2 (ja) 暗号通信方法
JP3884593B2 (ja) 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体
JP2007325318A (ja) 署名システム
JP3657803B2 (ja) 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム,共通鍵生成装置及び記録媒体
JP3546943B2 (ja) 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体
JP2001053738A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
JP2000216768A (ja) 暗号化方法及び暗号通信方法並びに暗号通信システム
JPH11317733A (ja) 暗号通信方法及び暗号化方法並びに暗号通信システム
JP3592118B2 (ja) 暗号化装置,暗号通信方法,暗号通信システム及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041109

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees