JP3622072B2 - 暗号通信方法 - Google Patents
暗号通信方法 Download PDFInfo
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、情報の内容が当事者以外にはわからないように情報を暗号化して通信する安全性が高い暗号通信方法に関する。
【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(IDX )で表す。センタは任意のエンティティXに対して、センタ公開情報{PCi },センタ秘密情報{SCi }及びエンティティXのID情報h(IDX )に基づいて、以下のように秘密情報SXiを計算し、秘密裏にエンティティXへ配布する。
SXi=Fi ({SCi },{PCi },h(IDX ))
【0009】
エンティティXは他の任意のエンティティYとの間で、暗号化,復号のための共有鍵KXYを、エンティティX自身の秘密情報{SXi},センタ公開情報{PCi }及び相手先のエンティティYのID情報h(IDY )を用いて以下のように生成する。
KXY=f({SXi},{PCi },h(IDY ))
また、エンティティ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】
〔センタでの準備処理〕
センタは以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
また、エンティティの特定情報であるエンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する一方向性関数ベクトルh(・)も同時に公開する。但し、乱数ベクトルγi と任意のエンティティの公開鍵ベクトルvj との内積がP及びQを超えないように設定する。ここでは、議論を簡単にするために、パラメータbを下記式(1)のように設定し、b>0の場合について考える。
b=k−(l+m+ log2 n) …(1)
【0014】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタは、準備した鍵とエンティティiの公開鍵ベクトルvi (=ベクトルh(IDi ))とを用いて以下の式(2)と式(3)とに従って、エンティティiの秘密鍵ベクトルsi と秘密鍵ベクトルti とを求め、求めたベクトルsi 及びベクトルti をエンティティiへ秘密裏に送って、登録を完了する。但し、modは、二項演算子のmodである。即ち、a mod P はaをPで割った剰余を求める演算を表すとする。
【0015】
【数7】
【0016】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法P及び法Qによる式(4)及び式(5)に従って、それぞれAij′及びBij′を求め、次に整数環上で式(6)の計算によりKijを得る。
【0017】
【数8】
【0018】
この先行例では、bを充分大きくした場合、約(1−1/2b )4 という極めて高い確率で互いに鍵を共有することが可能である。
【0019】
本発明は斯かる事情に鑑みてなされたものであって、先行例を改良したものであり、より安全性を高くできるID−NIKSによる暗号通信方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
請求項1に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における4個の前記秘密鍵を生成する演算式は下記式(A)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(B)であることを特徴とする。
【0021】
【数9】
【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の公開鍵
P 1 ,P 2 ,P 3 :公開された素数
A 1 ,A 2 :センタ装置秘密の乱数からなる対称行列
A 3 :センタ装置秘密の乱数からなる行列
ベクトルγ 1,i :乱数からなる第1の個人乱数ベクトル
ベクトルγ 2,i :乱数からなる第2の個人乱数ベクトル
【0023】
【数10】
【0024】
但し、
K ij :一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルv 1,j :エンティティjの第1の公開鍵
ベクトルv 2,j :エンティティjの第2の公開鍵
A 11,ij ′,A 22,ij ′,A 21,ij ′,A 12,ij ′:共有鍵K ij を生成するため の中間値
【0028】
請求項2に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、各エンティティの公開鍵はd個であり、前記センタ装置におけるd2 個の前記秘密鍵を生成する演算式が下記式(C)であり、各エンティティ装置における前記共有鍵を生成する演算式が下記式(D)であることを特徴とする。
【0029】
【数11】
【0030】
但し、
Ayz(y,z=1,2,…,d):n×nの対称行列Aを行方向,列方向共にn1 ,n2 ,…,nd 毎に区切った小行列(但し、n=n1 +n 2 +…+nd )
ベクトルsyz,i:エンティティiのd2 個の秘密鍵
ベクトルvz,i :エンティティiの公開鍵の列ベクトルvi をn1 ,n 2 ,…,nd の大きさで列方向に分割したベクトル
ベクトルγyz,i:エンティティiの個人乱数の列ベクトルγz,i をn1 ,n2 ,…,nd の大きさで列方向に分割したベクトル
Pyz:公開された素数
【0031】
【数12】
【0032】
但し、
Kij:一方のエンティティ装置iが他方のエンティティ装置jに対して 生成する共有鍵
ベクトルvy,j :エンティティjの公開鍵の行ベクトルvj をn1 ,n2 ,…, nd の大きさで行方向に分割したベクトル
Ayz,ij ′:共有鍵Kijを生成するためのd2 個の中間値
【0033】
請求項3に係る暗号通信方法は、請求項2記載の各エンティティの公開鍵がd個、各エンティティの秘密鍵がd2 個となる組を複数組用いることを特徴とする。
【0034】
請求項4に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における2d個の前記秘密鍵を生成する演算式は下記式(E)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(F)であることを特徴とする。
【0035】
【数13】
【0036】
但し、
ベクトルsr,i :エンティティiのd個の秘密鍵
ベクトルtr,i :エンティティiのd個の秘密鍵
Ar :センタ装置秘密の乱数からなる行列
Br = tAr
ベクトルvr,i :エンティティiのd個の公開鍵
ベクトルγr,i :乱数からなるd個の個人乱数ベクトル
Pr :公開された素数
【0037】
【数14】
【0038】
但し、
Kij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルvr,j :エンティティjのd個の公開鍵
Ar,ij′,Br,ij′:共有鍵Kijを生成するための中間値
【0039】
請求項5に係る暗号通信方法は、請求項1〜4の何れかにおいて、各エンティティの特定情報をハッシュ関数を利用して計算することにより、各エンティティの前記複数の公開鍵を求めることを特徴とする。
【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は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
また、エンティティの特定情報であるエンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する2通りの一方向性関数ベクトルh1 (・),h2 (・)も同時に公開する。但し、パラメータbを下記式のように設定し、b>0の場合について考える。
b=k−(l+m+ log2 n)
【0046】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルv1,i (=ベクトルh1 (IDi ))及び公開鍵ベクトルv2,i (=ベクトルh2 (IDi ))とを用いて以下の式(7)〜式(10)に従って、エンティティiの秘密鍵ベクトルs11,i,秘密鍵ベクトルs12,i,秘密鍵ベクトルs21,i,秘密鍵ベクトルs22,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。なお、modは、二項演算子のmodである。即ち、a mod P はaをPで割った剰余を求める演算を表すとする。
【0047】
【数15】
【0048】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法P1 及び法P2 において式(11)及び式(12)に従って、それぞれA11,ij ′及びA22,ij ′を求め、次に、法P3 において式(13)及び式(14)に従って、それぞれA21,ij ′及びA12,ij ′を求め、次に、整数環上で式(15)の計算によりKijを得る。
【0049】
【数16】
【0050】
ここで、先行例と同様に、bを十分大きくとる場合には、圧倒的に高い確率でKij=Kjiが成立する。
【0051】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図2は、2人のエンティティa,b間における情報の通信状態を示す模式図である。図2の例は、エンティティaが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティbへ伝送し、エンティティbがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0052】
エンティティa側には、エンティティbの個人識別情報IDb を入力し、ハッシュ関数を利用してベクトル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の個人識別情報IDa を入力し、ハッシュ関数を利用してベクトル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の個人識別情報IDb が公開鍵生成器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の個人識別情報IDa が公開鍵生成器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】
【0058】
また、上記式(11)〜(14)は以下のように表される。
【0059】
【数18】
【0060】
行列Aについて、Aの全ての小行列の和を求める操作をΣAで表現すれば、共有鍵Kijは以下のように表すことができる。
【0061】
【数19】
【0062】
この形式的表現によると、第1実施の形態は法まで含めた場合に対称行列を用いた方式と考えられ、乱数項を除けば従来の積和型NIKSと類似していることが分かる。従って、法まで含んだ対称行列を用いれば、先行例のNIKSは一般的に表記できることになる。
【0063】
(第2実施の形態)
以下に、本発明のID−NIKSの第2実施の形態(各エンティティでd個の公開鍵を使用する一般化方式)について説明する。第2実施の形態では、n1 ,n2 ,…,nd の大きさのd個の公開鍵を用いる。n×nの対称行列Aを用意し、行方向及び列方向にそれぞれn1 ,n2 ,…,nd 毎に区切った小行列をAyz(y,z=1,2,…,d)で表す。但し、n=n1 +n2 +…+nd とする。
【0064】
Aが対称行列であるので、行列Aの(y,z)−小行列に関して、Ayz= tAzyが成立する。また、各小行列内では法は同一のものとし、法に関してPyz=Pzyが満たされるものとする。更に、乱数項は共有鍵生成時に消去される必要があるので、ベクトルoを零ベクトルとして、以下の式(16)を満たすものとする。この場合、エンティティiの秘密鍵はd2 個の式によって表現される。
【0065】
【数20】
【0066】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
また、エンティティのIDからmビットの正整数からなるn次元の公開鍵ベクトルを生成する一方向性関数ベクトルh(・)も同時に公開する。但し、パラメータbr (r=1,2,…,d)を下記式のように設定し、br >0の場合について考える。
br =k−(l+m+ log2 nr )
【0067】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルvi (=ベクトルh(IDi ))とを用いて以下の式(17)に従って、エンティティiのd2 個の秘密鍵ベクトルsyz,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、ベクトルvz,i 及びベクトルγyz,iは、それぞれ、列ベクトルvi 及びベクトルγz,i をn1 ,n2 ,…,nd の大きさで列方向に分割したベクトルを表す。また、modは、二項演算子のmodである。
【0068】
【数21】
【0069】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、それぞれの法Pyzについて式(18)に従って、Ayz,ij ′を求め、次に、整数環上で式(19)の計算によりKijを得る。
【0070】
【数22】
【0071】
第2実施の形態における鍵共有(Kij=Kjiが成立する)について検証する。式(17)を式(18)に代入すると、以下の式(20),(21)のようになる。すべてのbr を十分大きくとる場合には、高い確率で式(21)の第1式が成立する。この場合、式(19)を計算すると、式(16)より乱数項が消去されるので、高い確率でKij=Kjiが成立する。
【0072】
【数23】
【0073】
なお、エンティティ間の情報の通信動作については、第1実施の形態と同様であるので、その説明は省略する。
【0074】
第2実施の形態に対して前述の形式的表現を用いると、エンティティiのd2 個の秘密鍵をまとめて以下のように表現できる。
【0075】
【数24】
【0076】
また、共有鍵Kijは以下のように表現できる。
【0077】
【数25】
【0078】
(第3実施の形態)
以下に、本発明のID−NIKSの第3実施の形態(第2実施の形態での公開鍵を複数組使用する一般化方式)について説明する。第3実施の形態は、第2実施の形態における公開鍵を複数組(c組)準備し、これらのc組全体の和をとって初めて乱数が消去されるようにした一般化方式である。以下の例では、c=2とし、n1 ,n2 ,…,nd の大きさのd個の公開鍵と、n1 ″,n2 ″,…,ne ″の大きさのe個の公開鍵とを用いる場合について説明する。
【0079】
〔センタ1での準備処理〕
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
【0080】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiの公開鍵ベクトルvi (=ベクトルh(IDi ))とを用いて以下の式(22)及び(23)に従って、エンティティiのd2 個の秘密鍵ベクトルsyz,i及びe2 個の秘密鍵ベクトルtyz,iを求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、ベクトルvz,i 及びベクトルγyz,iは、それぞれ、列ベクトルvi 及びベクトルγz,i をn1 ,n2 ,…,nd の大きさで列方向に分割したベクトルを表し、ベクトルvz,i ″及びベクトルδyz,iは、それぞれ、列ベクトルvi 及びベクトルδz,i をn1 ″,n2 ″,…,ne ″の大きさで列方向に分割したベクトルを表し、また、modは、二項演算子のmodである。ここで、ベクトルvi については、分割の方法が異なるだけで、式(22),(23)共に同一のベクトルを使用している。
【0081】
【数26】
【0082】
なお、乱数項については、これらの2組の鍵を用いて初めて消去されるように、下記式(24)を満たすように設定する。
【0083】
【数27】
【0084】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、それぞれの法Pyz,Qyzについて式(25),式(26)に従って、Ayz,ij ′,Byz,ij ′を求め、次に、整数環上で式(27)の計算によりKijを得る。
【0085】
【数28】
【0086】
式(24)よりすべての項の和をとれば乱数項は消去されるので、第2実施の形態と同様に、すべてのbr を十分大きくとる場合には、高い確率で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は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
また、エンティティのIDからmビットの正整数からなるd個のn次元の公開鍵ベクトルvr,i =ベクトルhr (IDi )(r=1,2,…,d)を生成するd通りの一方向性関数ベクトルh1 (・),h2 (・),…,hd (・)も同時に公開する。但し、パラメータbを下記式のように設定し、b>0の場合について考える。
b=k−(l+m+ log2 n)
【0091】
〔エンティティの登録処理〕
エンティティiに登録を依頼されたセンタ1は、準備した鍵とエンティティiのd個の公開鍵ベクトルv1,i ,v2,i ,…,vd,i とを用いて以下の式(28)及び(29)に従って、エンティティiの各d個の秘密鍵ベクトルsr,i 及びtr,i を求め、求めたこれらの各ベクトルをエンティティiへ秘密裏に送って、登録を完了する。但し、Br = tAr と置き、また、添字がd+1になる場合は1に変換して扱うものとする。
【0092】
【数29】
【0093】
〔エンティティ間の共有鍵の生成処理〕
エンティティiは、以下の計算を行って、エンティティjとの共有鍵Kijを求める。まず、法Pr について式(30),式(31)に従って、Ar,ij′,Br,ij′を求め、次に、整数環上で式(32)の計算によりKijを得る。
【0094】
【数30】
【0095】
なお、エンティティ間の情報の通信動作については、第1実施の形態と同様であるので、その説明は省略する。
【0096】
この第4実施の形態における形式的表現を以下に表す。
〔d=2の場合(第3実施の形態に該当)〕
【0097】
【数31】
【0098】
〔d≧3の場合(第2実施の形態に該当)〕
【0099】
【数32】
【0100】
【発明の効果】
以上詳述したように、本発明では、大きな素数を法とする有限体上の演算をした後に、整数環上の加算により乱数を消去するようにしており、実用的に十分高い確率で鍵を共有できる。また、先行例を改良し、複数の公開鍵を用いて公開鍵ベクトルのサイズをより大きくするようにしたので、先行例と比べてよりより安全性を高くできる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】2人のエンティティ間における情報の通信状態を示す模式図である。
【図3】ID−NIKSのシステムの原理構成図である。
【符号の説明】
1 センタ
11,21 公開鍵生成器
12,22 共有鍵生成器
13 暗号化器
23 復号器
30 通信路
Claims (5)
- センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における4個の前記秘密鍵を生成する演算式は下記式(A)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(B)であることを特徴とする暗号通信方法。
ベクトル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の公開鍵
P 1 ,P 2 ,P 3 :公開された素数
A 1 ,A 2 :センタ装置秘密の乱数からなる対称行列
A 3 :センタ装置秘密の乱数からなる行列
ベクトルγ 1,i :乱数からなる第1の個人乱数ベクトル
ベクトルγ 2,i :乱数からなる第2の個人乱数ベクトル
K ij :一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルv 1,j :エンティティjの第1の公開鍵
ベクトルv 2,j :エンティティjの第2の公開鍵
A 11,ij ′,A 22,ij ′,A 21,ij ′,A 12,ij ′:共有鍵K ij を生成するため の中間値 - センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、各エンティティの公開鍵はd個であり、前記センタ装置におけるd2 個の前記秘密鍵を生成する演算式が下記式(C)であり、各エンティティ装置における前記共有鍵を生成する演算式が下記式(D)であることを特徴とする暗号通信方法。
Ayz(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 の大きさで列方向に分割したベクトル
Pyz:公開された素数
Kij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルvy,j :エンティティjの公開鍵の行ベクトルvj をn1 ,n2 ,…, nd の大きさで行方向に分割したベクトル
Ayz,ij ′:共有鍵Kijを生成するためのd2 個の中間値 - 請求項2記載の各エンティティの公開鍵がd個、各エンティティの秘密鍵がd2 個となる組を複数組用いることを特徴とする暗号通信方法。
- センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の 秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、前記各エンティティ固有の秘密鍵は、各エンティティの複数の公開鍵と各エンティティ固有の複数の乱数とを用い、複数個の各数それぞれを法として生成した複数の秘密鍵であり、各エンティティ装置は、生成した複数の秘密鍵と相手のエンティティの複数の公開鍵とを用いて前記共有鍵を生成するようにしており、前記センタ装置における2d個の前記秘密鍵を生成する演算式は下記式(E)であり、各エンティティ装置における前記共有鍵を生成する演算式は下記式(F)であることを特徴とする暗号通信方法。
ベクトルsr,i :エンティティiのd個の秘密鍵
ベクトルtr,i :エンティティiのd個の秘密鍵
Ar :センタ装置秘密の乱数からなる行列
Br = tAr
ベクトルvr,i :エンティティiのd個の公開鍵
ベクトルγr,i :乱数からなるd個の個人乱数ベクトル
Pr :公開された素数
Kij:一方のエンティティ装置iが他方のエンティティ装置jに対して生成する 共有鍵
ベクトルvr,j :エンティティjのd個の公開鍵
Ar,ij′,Br,ij′:共有鍵Kijを生成するための中間値 - 各エンティティの特定情報をハッシュ関数を利用して計算することにより、各エンティティの前記複数の公開鍵を求めることを特徴とする請求項1〜4の何れかに記載の暗号通信方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114079560B (zh) * | 2020-07-31 | 2024-05-07 | 中移(苏州)软件技术有限公司 | 一种通信加密方法及飞行器、计算机可读存储介质 |
CN113904808B (zh) * | 2021-09-08 | 2024-07-19 | 北京信安世纪科技股份有限公司 | 一种私钥分发、解密方法、装置、设备及介质 |
-
1998
- 1998-11-27 JP JP33819098A patent/JP3622072B2/ja not_active Expired - Fee Related
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) | 秘密鍵生成方法 | |
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) | 暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
JP2002290388A (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 |