JP3884593B2 - 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 - Google Patents
秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 Download PDFInfo
- Publication number
- JP3884593B2 JP3884593B2 JP13928599A JP13928599A JP3884593B2 JP 3884593 B2 JP3884593 B2 JP 3884593B2 JP 13928599 A JP13928599 A JP 13928599A JP 13928599 A JP13928599 A JP 13928599A JP 3884593 B2 JP3884593 B2 JP 3884593B2
- Authority
- JP
- Japan
- Prior art keywords
- entity
- vector
- secret
- component
- division
- 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
【0001】
【発明の属する技術分野】
本発明は、エンティティ固有の秘密鍵を生成する秘密鍵生成装置、情報の内容が当事者以外には判らないように情報を暗号化する暗号化装置、これらの装置を利用して暗号通信を行う暗号通信方法及び暗号通信システム、並びに、エンティティ固有の秘密鍵を生成するためのコンピュータプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
【0003】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【0004】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号方式は、共通鍵暗号方式と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。このような共通鍵暗号方式の従来例は、次のような3種の方法に分類できる。
【0005】
▲1▼ 第1の方法
暗号通信を行う可能性がある相手との共通鍵をすべて秘密保管しておく方法。
▲2▼ 第2の方法
暗号通信の都度、予備通信により鍵を共有し合う方法(Diffie-Hellmanによる鍵共有方式,公開鍵方式による鍵配送方式など)。
▲3▼ 第3の方法
各ユーザ(エンティティ)の氏名,住所などの個人を特定する公開された特定情報(ID(Identity)情報)を利用して、予備通信を行うことなく、送信側のエンティティ,受信側のエンティティが独立に同一の共通鍵を生成する方法(KPS(Key Predistribution System),ID−NIKS(ID-based Non-Interactive Key Sharing Schemes) など)。
【0006】
このような従来の3種の方法には、以下に述べるような問題がある。第1の方法では、すべての共通鍵を保管しておくようにするので、不特定多数のユーザがエンティティとなって暗号通信を行うネットワーク社会には適さない。また、第2の方法は、鍵共有のための予備通信が必要である点が問題である。
【0007】
第3の方法は、予備通信が不要であり、公開された相手の特定情報(ID情報)とセンタから予め配布されている固有の秘密パラメータとを用いて、任意の相手との共通鍵を生成できるので、便利な方法である。しかしながら、次のような2つの問題点がある。一つは、センタがBig Brother となる(すべてのエンティティの秘密を握っており、Key Escrow System になってしまう)点である。もう一つは、ある数のエンティティが結託するとセンタの秘密を演算できる可能性がある点である。この結託問題については、これを計算量的に回避するための工夫が多数なされているが、完全な解決は困難である。
【0008】
この結託問題の難しさは、特定情報(ID情報)に基づく秘密パラメータがセンタ秘密と個人秘密との二重構造になっていることに起因する。第3の方法では、センタの公開パラメータと個人の公開された特定情報(ID情報)とこの2種類の秘密パラメータとにて暗号系が構成され、しかも各エンティティが各自に配布された個人秘密を見せ合ってもセンタ秘密が露呈されないようにする必要がある。よって、その暗号系の構築の実現には解決すべき課題が多い。
【0009】
【発明が解決しようとする課題】
そこで、本発明者等は、特定情報(ID情報)をいくつかに分割し、複数の各センタからその分割した特定情報(ID情報)に基づくすべての秘密鍵をエンティティに配布することにより、数学的構造を最小限に抑えることができて、結託問題の回避を可能にし、その暗号系の構築が容易であるID−NIKSによる秘密鍵生成方法,暗号化方法及び暗号通信方法を提案している{特願平11−16257 号,特願平11−59049 号(以下、これらを先行例という)}。
【0010】
結託問題を解決することを目的として提案されてきたエンティティの特定情報(ID情報)に基づく種々の暗号系が不成功となった理由は、エンティティの結託情報からセンタ秘密を割り出せないようにするための工夫を数学的構造に求め過ぎていたためである。数学的構造が複雑過ぎると、安全性を証明するための方法も困難となる。そこで、先行例の提案方法では、エンティティの特定情報(ID情報)をいくつかに分割し、分割した各特定情報(各ID情報)についてすべての秘密鍵をエンティティに配布することにより、数学的構造を最小限に抑えるようにする。
【0011】
この先行例の提案方法では、信頼される複数のセンタが設けられ、各センタは各エンティティの分割した1つの特定情報(ID情報)に対応する数学的構造を持たない秘密鍵を生成して、各エンティティへ送付する。各エンティティは、各センタから送られてきたこれらの秘密鍵と通信相手の公開されている特定情報(ID情報)とから共通鍵を、予備通信を行わずに生成する。よって、すべてのエンティティの秘密を1つのセンタが握るようなことはなく、各センタがBig Brother にならない。
【0012】
そして、本発明者等は、エンティティの特定情報(ID情報)の分割を利用したこの提案方法の改良を研究し続けている。特に、複数のエンティティが結託して彼らの秘密鍵のすべてを用いて特定のエンティティを攻撃するという結託攻撃に強い改良方法を研究している。
【0013】
本発明は斯かる事情に鑑みてなされたものであり、上記提案方法を改良して結託攻撃に対してより強くした秘密鍵生成装置、暗号化装置、暗号通信方法及び暗号通信システム、並びに、エンティティ固有の秘密鍵を生成するためのコンピュータプログラムを記録した記録媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
請求項1に係る暗号化装置は、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化する暗号化装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す成分選出器、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する共通鍵生成器、及び生成した共通鍵を用いて平文を暗号文に暗号化する暗号化器を備えることを特徴とする。
【0015】
請求項2に係る秘密鍵生成装置は、エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、前記エンティティ固有の秘密鍵を生成する装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせた前記個人秘密乱数を設定する手段と、設定した個人秘密乱数と前記分割ベクトルとを用いて前記秘密鍵を生成する手段とを備えており、前記分割ベクトルの分割ブロック数をJ、前記分割ベクトルの各サイズをMj (j=1,2,・・・,J)、エンティティeの個人秘密乱数をβej (v) (v=0,1,・・・,Mj −1)とした場合に、全J個の分割ブロックを1または複数個のブロックを1組としてK組に組分けしており、γeR1 +γeR2 +・・・+γeRK =nλ(N)(n:整数、λ(・):カーマイケル関数、N=PQ(P,Qは素数))を満たすようにしたことを特徴とする。
但し、Rk :J以下の自然数を要素とする全体集合(U)の部分集合
(任意のp,qにおいてRp ∩Rq は空集合、R1 ∪R2 ∪・・・∪RK
は全体集合(U))
γeRk :R k に該当する分割ベクトル内の各成分における個人秘密乱数と補正項
とを演算して得られる一定値
請求項3に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行うこととし、前記センタ装置が複数設けられており、その複数のセンタ装置夫々は、秘密鍵生成器にて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成し、各エンティティ装置は、共通鍵生成器にて、自身固有の秘密鍵に含まれている、相手のエンティティの分割特定情報に対応する成分を用いて前記共通鍵を生成するようにした暗号通信方法において、前記センタ装置にて、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせた前記個人秘密乱数を設定し、その設定した個人秘密乱数と前記分割ベクトルとを用いて各エンティティ固有の秘密鍵を生成し、前記エンティティ装置にて、前記センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出し、選び出した成分の演算により前記個人秘密乱数を消去して前記共通鍵を生成することを特徴とする。
請求項4に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと該分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成して各エンティティ装置へ送付する複数のセンタ装置と、該センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出す成分選出器、及び選出した成分の演算により前記個人秘密乱数を消去して前記暗号化処理及び復号処理に用いる共通鍵を生成する共通鍵生成器を備えた複数のエンティティ装置とを有することを特徴とする。
請求項5に係る記録媒体は、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化させるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、コンピュータに、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す処理を成分選出器が行うように該成分選出器を制御させる手順と、コンピュータに、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する処理を共通鍵生成器が行うように該共通鍵生成器を制御させる手順と、生成した共通鍵を用いて平文を暗号文に暗号化する処理を暗号化器が行うように該暗号化器を制御させる手順とを含むコンピュータプログラムを記録してあることを特徴とする。
【0016】
請求項6に係る暗号化装置は、請求項1において、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
請求項7に係る暗号通信方法は、請求項3において、前記秘密鍵生成器にて、前記分割ベクトルを誤り訂正符号の符号語で構成することを特徴とする。
請求項8に係る暗号通信システムは、請求項4において、前記センタ装置は、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
請求項9に係る記録媒体は、請求項5において、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
【0017】
先行例の提案方法では、エンティティの特定情報(ID情報)を分割した分割特定情報(分割ID情報)を示す各分割ベクトルにおいて個人秘密乱数が一定であって、その分割ベクトル内の各成分における個人秘密乱数の値が同じであるので、結託攻撃を受ける可能性があった。そこで、本発明では、各分割ベクトルにおいて個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数を設定しており、結託攻撃に対してより強くできる。
【0018】
また、本発明では、分割特定情報(分割ID情報)を示す各分割ベクトルを誤り訂正符号の符号語で構成する。よって、この符号語に基づく特定情報(ID情報)の分割を、上記の個人秘密乱数の多様化方式に組み合わせることにより、結託攻撃に対して更なる強化を図れる。
【0019】
【発明の実施の形態】
図1は、各エンティティの特定情報(ID情報)を複数のブロックに分割した分割特定情報を利用するID−NIKS方式を採用した本発明及び先行例における暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できる複数(J個)のセンタ1が設定されており、これらのセンタ1としては、例えば社会の公的機関を該当できる。
【0020】
これらの各センタ1と、この暗号系システムを利用するユーザとしての複数の各エンティティa,b,…,zとは、秘密通信路2a1,…,2aJ、2b1,…,2bJ、・・・、2z1,…,2zJにより接続されており、これらの秘密通信路を介して各センタ1から秘密の鍵情報が各エンティティa,b,…,zへ伝送されるようになっている。また、2人のエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【0021】
まず、本発明による改良対象の一例となる先行例の1つ(特願平11−59049 号)に示されている暗号通信方式について説明する。
【0022】
(センタ1での準備処理)
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
【0023】
各エンティティの氏名,住所などを示す特定情報であるIDベクトルをL次元2進ベクトルとし、図2に示すようにそのIDベクトルをブロックサイズM1 ,M2 ,・・・,MJ 毎にJ個のブロックに分割する。例えば、エンティティeのIDベクトル(ベクトルIe )を式(1)のように分割する。分割特定情報である各ベクトルIej(j=1,2,・・・,J)をID分割ベクトルと呼ぶ。
【0024】
【数1】
【0025】
(エンティティの登録処理)
エンティティeに登録を依頼された各センタ1は、準備した鍵とエンティティeのJ個のID分割ベクトルについて、それぞれに対応するJ個の秘密鍵ベクトルsej(j=1,2,・・・,J)を以下の式(2-1),(2-2),・・・,(2-j),・・・,(2-J)に従って計算する。
【0026】
【数2】
【0027】
但し、ベクトル1は、すべての成分が1であるJ次元のベクトルを表す。また、Hj [ベクトルIej]は対称行列Hj =(kem (j) )からベクトルIejに対応した行を1行抜き出したものを表し、[・]の操作を参照と定義する。
【0028】
次に、第1ブロックに関して、(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を以下の式(3-0),(3-1),(3-2),・・・,(3-t),・・・,(3-T)に従って計算する。
【0029】
【数3】
【0030】
但し、cをスカラー、(4),(5)に示すA,Bを行列とした場合、B=cA 及びB=〈A〉c は、それぞれ(6)及び(7)を表す。
【0031】
【数4】
【0032】
そして、1つのセンタ1は、第1ブロックに関する(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を秘密裏にエンティティeへ送り、残りの(J−1)の各センタ1は、第2ブロック以降に関する(J−1)個の秘密鍵ベクトルsej(j=2,3,・・・,J)を秘密裏にエンティティeへ送る。
【0033】
(エンティティ間の共通鍵の生成処理)
エンティティeは、第1ブロックに関して、自身の(T+1)個の秘密鍵ベクトルgetの中から、通信相手のエンティティmのID分割ベクトルであるベクトルIm1に対応する成分のベクトルget[ベクトルIm1]を選び出す。この選び出したものを(8-0),(8-1),・・・,(8-t),・・・,(8-T)に示す。
【0034】
【数5】
【0035】
次に、エンティティeは、j=2,3,・・・,Jの第2,第3,・・・,第Jの各ブロックに関して、自身の秘密鍵ベクトルsejの中から、エンティティmのID分割ベクトルであるベクトルImjに対応する成分のベクトルsej[ベクトルImj]を各ブロック毎に選び出す。この選び出したものを(9-2),・・・,(9-j),・・・,(9-J)に示す。
【0036】
【数6】
【0037】
更に、(10)のように整数環上でこれらのすべての和yemを求める。
【0038】
【数7】
【0039】
そして、Nを法として以下の(11)のような計算を行うことにより、共通鍵Kemを求める。この(11)の計算において、全ブロックの計算を完了することにより、個人秘密乱数αe はその逆元との乗算にて消去され、J個の個人秘密乱数βejはそれらの加算にて消去される。このKemはエンティティm側から求めた共通鍵Kmeと一致する。
【0040】
【数8】
【0041】
なお、上式においてx1em =ベクトルse1[ベクトルIm1]と置いたが、これは、エンティティe自身にもわからない。また、Tは比較的小さな数であるので、指数部分はべき乗を順次繰り返し行うことにより計算することができる。
【0042】
なお、上記例において、各ブロックのサイズMj は全ブロックにおいて一定であっても良いし、その一部または全部のブロックで異なっていても良い。しかし、第1ブロックに関して秘密鍵ベクトルgetを求めるので、全ブロックについてそのサイズを一定にした場合、第1ブロックについての秘密が大きくなってしまう。よって、第1ブロックのサイズを他のブロックのサイズよりも小さくするようにした方が良い。特に、M1 =1とした場合、配布する秘密を最小限にすることができ、最も安全性が高くなる。
【0043】
以下、上記先行例と対比しながら、本発明の特徴部分について説明する。上述した先行例では、各ID分割ベクトル(各ブロック)においてエンティティeの個人秘密乱数βej(j=1,2,・・・,J)が一定であり、その各ID分割ベクトル内の各成分における個人秘密乱数βejの値を同じに設定している。よって、各ブロック内で隣合ったもの同士を減算することによって、この個人秘密乱数βejを消去できる攻撃が考えられる。
【0044】
そこで、本発明では、各分割ベクトル(各ブロック)において個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数βej (v) (j=1,2,・・・,J、v=0,1,・・・,2Mj−1)を設定する。
【0045】
本発明では、センタ1で、以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
【0046】
なお、部分集合RK の作り方は、各エンティティにおいて異なっていても良いことは勿論である。また、1つの部分集合RK における要素の個数も任意であって良い。
【0047】
上述した先行例と同様、前記式(1)のように、エンティティeのIDベクトル(ベクトルIe )を分割する。そして、各センタ1は、準備した鍵とエンティティeのJ個のID分割ベクトルについて、それぞれに対応するJ個の秘密鍵ベクトルsej(j=1,2,・・・,J)を計算する。ここで、本発明では、j番目のセンタからエンティティeへ配布される秘密鍵ベクトルsejにおいて、各成分毎に異なる乱数を用いており、2ブロック目以降のベクトルsejは、一般化した形で以下の式(12-2),(12-3),・・・,(12-J)で与える。なお、以下の例では、各ブロックのサイズをMj =1としている。本発明の式(12-2),(12-J)は、先行例の式(2-2),(2-J)にそれぞれ対応している。
【0048】
【数9】
【0049】
このようにした場合、乱数の総和βe2+βe3+・・・+βeJは2J-1 通りの値をとるので、比較的小さなJ、例えばJ=21としても、その数は220≒106 となり、実用上の大きな障害になってしまう。そこで、Sブロック毎に2S 通りに広がる乱数値βei+・・・+βe,i+S-1 を一定値に変換することを考える。
【0050】
体F2 上のIDベクトルを一般的に以下(13)のように表す。
ID2 =(b1 ,b2 ,・・・,bJ ) …(13)
ここで、S=2とし、2ビットでペアを考える。なお、任意のペアを一般に(bi ,bj )と表記する。また、すべてのペアで重複なく全体を覆うものとし、ペアの組合せ(上記Rk のパターン)はエンティティeに教えることとする。
【0051】
そして、部分和Sbibjに対し、乱数値を一定値γeij に変換するために補正項Cbibjを以下のように加算する。但し、すべてのペア(i,j)について、γeij を加算するとλ(N)となるようにγeij を決める。まず、Sbibj,Cbibjは(bi bj )の値により、それぞれ以下の式(14),(15)のように4通りで与えられる。
【0052】
【数10】
【0053】
従って、Sbibj+Cbibjは以下の式(16)のように与えられる。
【0054】
【数11】
【0055】
第1ブロックに関しては、上述した先行例と同様に、(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を計算する。そして、1つのセンタ1は、第1ブロックに関する(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を秘密裏にエンティティeへ送り、残りの(J−1)の各センタ1は、第2ブロック以降に関する(J−1)個の秘密鍵ベクトルsej(j=2,3,・・・,J)を秘密裏にエンティティeへ送る。
【0056】
エンティティeは、上述した先行例と同様に、第1ブロックに関して、自身の(T+1)個の秘密鍵ベクトルgetの中から、通信相手のエンティティmのID分割ベクトルであるベクトルIm1に対応する成分のベクトルget[ベクトルIm1]を選び出す。次に、エンティティeは、第2,第3,・・・,第Jの各ブロックに関して、自身の秘密鍵ベクトルsejの中から、エンティティmのID分割ベクトルであるベクトルImjに対応する成分のベクトルsej[ベクトルImj]を各ブロック毎に選び出し、整数環上でこれらのすべての和yemを求める。
【0057】
そして、上述した先行例と同様に、Nを法として共通鍵Kemを求める。この際、個人秘密乱数αe がその逆元との乗算にて消去されることは先行例と同じであり、また、本発明ではγeR1 +γeR2 +・・・+γeRK =nλ(N)に設定されているので、個人秘密乱数βej (v) はそれらの加算にて消去される。
【0058】
このように秘密鍵を生成した場合に、本発明が結託攻撃に強いことを以下に説明する。上記式(16)からγeij を消去すると、de1〜de3を適当な定数として、以下の式(17)で示される関係が得られる。式(17)において独立な式は明らかに2個である。
【0059】
【数12】
【0060】
ここで、ペア(bi ,bj )に関わる行列の要素kei1 (i) ,kei2 (i) ,kej1 (j) ,kej2 (j) を知るためにNT 人が結託したとする。独立な式は(4NT +2)個であり、これに対する未知数は、αe を定数と考えたとしても、(4NT +4)個となって、未知数の個数が方程式の個数を上回る。この結果、各要素kei1 (i) ,kei2 (i) ,kej1 (j) ,kej2 (j) は露呈しない。
【0061】
また、本発明の方式における安全性について説明する。安全なID−NIKSの必要条件として、秘密鍵生成関数及び鍵共有関数が多項式時間で分離できないことが知られている。以下に、この方式がこれらの安全性の必要条件を満たすことを示す。
【0062】
(秘密鍵生成関数)
本発明の方式は、式(18),(19)に示すJ個の秘密鍵生成関数を有する。
【0063】
【数13】
【0064】
Hを任意の対称行列した場合、式(20),(21)に示すように、参照関数[・]は明らかに分離不可能である。
【0065】
【数14】
【0066】
従って、前記式(18),(19)で表されるJ個の秘密鍵生成関数は、式(22)に示すように、分離不可能である。
【0067】
【数15】
【0068】
(鍵共有関数)
この方式における鍵共有関数を、式(23)に示す。
【0069】
【数16】
【0070】
秘密鍵生成関数の場合と同様に、式(23)で表される鍵共有関数は、式(24)に示すように、分離不可能である。
【0071】
【数17】
【0072】
ところで、上述した方式にあっては、αe (kei1 (i) −kei2 (i) ),αe (kej1 (j) −kej2 (j) )の形は露呈する。そこで、αe (kei1 (i) −kei2 (i) )などの形では露呈しないような手法について、以下に説明する。
【0073】
この手法では、分割IDベクトルを誤り訂正符号の符号語で構成している。例えば、2次元IDベクトルID2 の連続する2つの成分b 2n-1 ,b 2n (n=1,2,・・・,J)に対し、以下の式(25)を満たす成分cn ′をb 2n の後に挿入し、b 2n-1 ,b 2n ,cn ′で符号語を構成するようにする。cn ′挿入後のベクトルを以下の(26)のようにID2 ′と表記する。
b 2n-1 +b 2n =cn ′ (mod 2) …(25)
ID2 ′=(b1 ,b2 ,c1 ′,b3 ,b4 ,c2 ′,b5 ,
・・・,b 2J-1 ,b 2J ,cJ ′) …(26)
【0074】
{(b 2n-1 ,b 2n ,cn ′)}は符号長n=3,情報記号数k=2,最小距離d=2の線形符号となる。よって、上述した方式の場合と同様の議論により、de4〜de6を適当な定数として、以下の式(27)が導かれる。これらの中で独立な式は2個しかない。従って、個々のαe (kei1 (i) −kei2 (i) )などは明らかに露呈しない。
【0075】
【数18】
【0076】
よって、ID分割ベクトルを誤り訂正符号の符号語で構成するこのようなID分割ベクトル作成方式に、個人秘密乱数をID分割ベクトルの各成分毎に異ならせる上述したような乱数多様化方式を組み合わせることにより、より安全な暗号通信システムを構築することが可能である。
【0077】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図3は、2人のエンティティa,b間における情報の通信状態を示す模式図である。図3の例は、エンティティaが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティbへ伝送し、エンティティbがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0078】
1番目のセンタ1には、各エンティティa,b固有の秘密鍵ベクトルsa1,sb1と(T+1)個の秘密鍵ベクトルgat,gbt(t=0,1,2,・・・,T)とを計算する秘密鍵生成器1aが備えられている。そして、各エンティティa,bから登録が依頼されると、そのエンティティa,bの秘密鍵ベクトルgat,gbtがエンティティa,bへ送付される。
【0079】
j(j=2,3,・・・,J)番目のセンタ1には、各エンティティa,b固有の秘密鍵ベクトルsaj,sbjを計算する秘密鍵生成器1aが備えられている。そして、各エンティティa,bから登録が依頼されると、そのエンティティa,bの秘密鍵ベクトルsaj,sbjがエンティティa,bへ送付される。
【0080】
エンティティa側には、各センタ1から送られるこれらの秘密鍵ベクトルgat(t=0,1,2,・・・,T),saj(j=2,3,・・・,J)をテーブル形式で格納しているメモリ10と、これらの秘密鍵ベクトルの中からエンティティbに対応する成分であるベクトルgat[ベクトルIb1](t=0,1,2,・・・,T),ベクトルsaj[ベクトルIbj](j=2,3,・・・,J)を選び出す成分選出器11と、選び出されたこれらの成分を使用してエンティティaが求めるエンティティbとの共通鍵Kabを生成する共通鍵生成器12と、共通鍵Kabを用いて平文(メッセージ)Mを暗号文Cに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【0081】
また、エンティティb側には、各センタ1から送られるこれらの秘密鍵ベクトルgbt(t=0,1,2,・・・,T),sbj(j=2,3,・・・,J)をテーブル形式で格納しているメモリ20と、これらの秘密ベクトルの中からエンティティaに対応する成分であるベクトルgbt[ベクトルIa1](t=0,1,2,・・・,T),ベクトルsbj[ベクトルIaj](j=2,3,・・・,J)を選び出す成分選出器21と、選び出されたこれらの成分を使用してエンティティbが求めるエンティティaとの共通鍵Kbaを生成する共通鍵生成器22と、共通鍵Kbaを用いて通信路30から入力した暗号文Cを平文Mに復号して出力する復号器23とが備えられている。
【0082】
エンティティaからエンティティbへ情報を伝送しようとする場合、まず、各センタ1で求められて、予めメモリ10に格納されている秘密鍵ベクトルgat(t=0,1,2,・・・,T),saj(j=2,3,・・・,J)が成分選出器11へ読み出される。そして、成分選出器11にて、エンティティbに対応する成分であるベクトルgat[ベクトルIb1](t=0,1,2,・・・,T),ベクトルsaj[ベクトルIbj](j=2,3,・・・,J)が選び出されて共通鍵生成器12へ送られる。共通鍵生成器12にて、これらの成分を使用して(11)に従って共通鍵Kabが求められ、暗号化器13へ送られる。暗号化器13において、この共通鍵Kabを用いて平文Mが暗号文Cに暗号化され、暗号文Cが通信路30を介して伝送される。
【0083】
通信路30を伝送された暗号文Cはエンティティbの復号器23へ入力される。各センタ1で求められて、予めメモリ20に格納されている秘密鍵ベクトルsbj(j=2,3,・・・,J),gbt(t=0,1,2,・・・,T)が成分選出器21へ読み出される。そして、成分選出器21にて、エンティティaに対応する成分であるベクトルgbt[ベクトルIa1](t=0,1,2,・・・,T),ベクトルsbj[ベクトルIaj](j=2,3,・・・,J)が選び出されて共通鍵生成器22へ送られる。共通鍵生成器22にて、これらの成分を使用して(11)に従って共通鍵Kbaが求められ、復号器23へ送られる。復号器23において、この共通鍵Kbaを用いて暗号文Cが平文Mに復号される。
【0084】
このような例では、複数のセンタが設けられ、各センタはエンティティの分割した1つのID情報に対応する鍵を生成するようにしたので、すべてのエンティティの秘密を1つのセンタが握るようなことはなく、各センタがBig Brother にならない。また、各エンティティ固有の秘密鍵ベクトルが予めエンティティ側のメモリに格納されているので、共通鍵生成に要する時間が短くて済む。
【0085】
図4は、本発明の記録媒体の実施の形態の構成を示す図である。ここに例示するプログラムは、各エンティティの特定情報(ID情報)を分割してID分割ベクトルを得る分割処理と、各エンティティにおける秘密鍵ベクトルsej,getを求める秘密鍵生成処理とを含んでおり、以下に説明する記録媒体に記録されている。なお、コンピュータ40は、各センタ側に設けられている。
【0086】
図4において、コンピュータ40とオンライン接続する記録媒体41は、コンピュータ40の設置場所から隔たって設置される例えばWWW(World Wide Web)のサーバコンピュータを用いてなり、記録媒体41には前述の如きプログラム41aが記録されている。記録媒体41から読み出されたプログラム41aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0087】
コンピュータ40の内部に設けられた記録媒体42は、内蔵設置される例えばハードディスクドライブまたはROMなどを用いてなり、記録媒体42には前述の如きプログラム42aが記録されている。記録媒体42から読み出されたプログラム42aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0088】
コンピュータ40に設けられたディスクドライブ40aに装填して使用される記録媒体43は、運搬可能な例えば光磁気ディスク,CD−ROMまたはフレキシブルディスクなどを用いてなり、記録媒体43には前述の如きプログラム43aが記録されている。記録媒体43から読み出されたプログラム43aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0089】
なお、上述した例では、特願平11−59049 号に示された秘密鍵の生成方式に本発明を適用する場合について説明したが、ID分割ベクトルと個人秘密乱数βとを用いて秘密鍵を生成するようにした他のID−NIKS方式(例えば特願平11−16257 号で開示した方式)についても、本発明を同様に適用できることは勿論である。
【0090】
【発明の効果】
以上のように、本発明では、各分割ベクトルにおいて個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数を設定するようにしたので、結託攻撃に対してより強くできる。
【0091】
また、本発明では、各分割ベクトルを誤り訂正符号の符号語で構成するようにしたので、このような分割ベクトルの形成方式を上記の個人秘密乱数の多様化方式に組み合わせることにより、結託攻撃に対して更なる強化を図れる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】エンティティのIDベクトルの分割例を示す模式図である。
【図3】2人のエンティティ間における情報の通信状態を示す模式図である。
【図4】記録媒体の実施の形態の構成を示す図である。
【符号の説明】
1 センタ
1a 秘密鍵生成器
10,20 メモリ
11,21 成分選出器
12,22 共通鍵生成器
13 暗号化器
23 復号器
30 通信路
40 コンピュータ
41,42,43 記録媒体
【発明の属する技術分野】
本発明は、エンティティ固有の秘密鍵を生成する秘密鍵生成装置、情報の内容が当事者以外には判らないように情報を暗号化する暗号化装置、これらの装置を利用して暗号通信を行う暗号通信方法及び暗号通信システム、並びに、エンティティ固有の秘密鍵を生成するためのコンピュータプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
【0003】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【0004】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号方式は、共通鍵暗号方式と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。このような共通鍵暗号方式の従来例は、次のような3種の方法に分類できる。
【0005】
▲1▼ 第1の方法
暗号通信を行う可能性がある相手との共通鍵をすべて秘密保管しておく方法。
▲2▼ 第2の方法
暗号通信の都度、予備通信により鍵を共有し合う方法(Diffie-Hellmanによる鍵共有方式,公開鍵方式による鍵配送方式など)。
▲3▼ 第3の方法
各ユーザ(エンティティ)の氏名,住所などの個人を特定する公開された特定情報(ID(Identity)情報)を利用して、予備通信を行うことなく、送信側のエンティティ,受信側のエンティティが独立に同一の共通鍵を生成する方法(KPS(Key Predistribution System),ID−NIKS(ID-based Non-Interactive Key Sharing Schemes) など)。
【0006】
このような従来の3種の方法には、以下に述べるような問題がある。第1の方法では、すべての共通鍵を保管しておくようにするので、不特定多数のユーザがエンティティとなって暗号通信を行うネットワーク社会には適さない。また、第2の方法は、鍵共有のための予備通信が必要である点が問題である。
【0007】
第3の方法は、予備通信が不要であり、公開された相手の特定情報(ID情報)とセンタから予め配布されている固有の秘密パラメータとを用いて、任意の相手との共通鍵を生成できるので、便利な方法である。しかしながら、次のような2つの問題点がある。一つは、センタがBig Brother となる(すべてのエンティティの秘密を握っており、Key Escrow System になってしまう)点である。もう一つは、ある数のエンティティが結託するとセンタの秘密を演算できる可能性がある点である。この結託問題については、これを計算量的に回避するための工夫が多数なされているが、完全な解決は困難である。
【0008】
この結託問題の難しさは、特定情報(ID情報)に基づく秘密パラメータがセンタ秘密と個人秘密との二重構造になっていることに起因する。第3の方法では、センタの公開パラメータと個人の公開された特定情報(ID情報)とこの2種類の秘密パラメータとにて暗号系が構成され、しかも各エンティティが各自に配布された個人秘密を見せ合ってもセンタ秘密が露呈されないようにする必要がある。よって、その暗号系の構築の実現には解決すべき課題が多い。
【0009】
【発明が解決しようとする課題】
そこで、本発明者等は、特定情報(ID情報)をいくつかに分割し、複数の各センタからその分割した特定情報(ID情報)に基づくすべての秘密鍵をエンティティに配布することにより、数学的構造を最小限に抑えることができて、結託問題の回避を可能にし、その暗号系の構築が容易であるID−NIKSによる秘密鍵生成方法,暗号化方法及び暗号通信方法を提案している{特願平11−16257 号,特願平11−59049 号(以下、これらを先行例という)}。
【0010】
結託問題を解決することを目的として提案されてきたエンティティの特定情報(ID情報)に基づく種々の暗号系が不成功となった理由は、エンティティの結託情報からセンタ秘密を割り出せないようにするための工夫を数学的構造に求め過ぎていたためである。数学的構造が複雑過ぎると、安全性を証明するための方法も困難となる。そこで、先行例の提案方法では、エンティティの特定情報(ID情報)をいくつかに分割し、分割した各特定情報(各ID情報)についてすべての秘密鍵をエンティティに配布することにより、数学的構造を最小限に抑えるようにする。
【0011】
この先行例の提案方法では、信頼される複数のセンタが設けられ、各センタは各エンティティの分割した1つの特定情報(ID情報)に対応する数学的構造を持たない秘密鍵を生成して、各エンティティへ送付する。各エンティティは、各センタから送られてきたこれらの秘密鍵と通信相手の公開されている特定情報(ID情報)とから共通鍵を、予備通信を行わずに生成する。よって、すべてのエンティティの秘密を1つのセンタが握るようなことはなく、各センタがBig Brother にならない。
【0012】
そして、本発明者等は、エンティティの特定情報(ID情報)の分割を利用したこの提案方法の改良を研究し続けている。特に、複数のエンティティが結託して彼らの秘密鍵のすべてを用いて特定のエンティティを攻撃するという結託攻撃に強い改良方法を研究している。
【0013】
本発明は斯かる事情に鑑みてなされたものであり、上記提案方法を改良して結託攻撃に対してより強くした秘密鍵生成装置、暗号化装置、暗号通信方法及び暗号通信システム、並びに、エンティティ固有の秘密鍵を生成するためのコンピュータプログラムを記録した記録媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
請求項1に係る暗号化装置は、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化する暗号化装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す成分選出器、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する共通鍵生成器、及び生成した共通鍵を用いて平文を暗号文に暗号化する暗号化器を備えることを特徴とする。
【0015】
請求項2に係る秘密鍵生成装置は、エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、前記エンティティ固有の秘密鍵を生成する装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせた前記個人秘密乱数を設定する手段と、設定した個人秘密乱数と前記分割ベクトルとを用いて前記秘密鍵を生成する手段とを備えており、前記分割ベクトルの分割ブロック数をJ、前記分割ベクトルの各サイズをMj (j=1,2,・・・,J)、エンティティeの個人秘密乱数をβej (v) (v=0,1,・・・,Mj −1)とした場合に、全J個の分割ブロックを1または複数個のブロックを1組としてK組に組分けしており、γeR1 +γeR2 +・・・+γeRK =nλ(N)(n:整数、λ(・):カーマイケル関数、N=PQ(P,Qは素数))を満たすようにしたことを特徴とする。
但し、Rk :J以下の自然数を要素とする全体集合(U)の部分集合
(任意のp,qにおいてRp ∩Rq は空集合、R1 ∪R2 ∪・・・∪RK
は全体集合(U))
γeRk :R k に該当する分割ベクトル内の各成分における個人秘密乱数と補正項
とを演算して得られる一定値
請求項3に係る暗号通信方法は、センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行うこととし、前記センタ装置が複数設けられており、その複数のセンタ装置夫々は、秘密鍵生成器にて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成し、各エンティティ装置は、共通鍵生成器にて、自身固有の秘密鍵に含まれている、相手のエンティティの分割特定情報に対応する成分を用いて前記共通鍵を生成するようにした暗号通信方法において、前記センタ装置にて、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせた前記個人秘密乱数を設定し、その設定した個人秘密乱数と前記分割ベクトルとを用いて各エンティティ固有の秘密鍵を生成し、前記エンティティ装置にて、前記センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出し、選び出した成分の演算により前記個人秘密乱数を消去して前記共通鍵を生成することを特徴とする。
請求項4に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと該分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成して各エンティティ装置へ送付する複数のセンタ装置と、該センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出す成分選出器、及び選出した成分の演算により前記個人秘密乱数を消去して前記暗号化処理及び復号処理に用いる共通鍵を生成する共通鍵生成器を備えた複数のエンティティ装置とを有することを特徴とする。
請求項5に係る記録媒体は、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化させるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、コンピュータに、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す処理を成分選出器が行うように該成分選出器を制御させる手順と、コンピュータに、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する処理を共通鍵生成器が行うように該共通鍵生成器を制御させる手順と、生成した共通鍵を用いて平文を暗号文に暗号化する処理を暗号化器が行うように該暗号化器を制御させる手順とを含むコンピュータプログラムを記録してあることを特徴とする。
【0016】
請求項6に係る暗号化装置は、請求項1において、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
請求項7に係る暗号通信方法は、請求項3において、前記秘密鍵生成器にて、前記分割ベクトルを誤り訂正符号の符号語で構成することを特徴とする。
請求項8に係る暗号通信システムは、請求項4において、前記センタ装置は、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
請求項9に係る記録媒体は、請求項5において、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする。
【0017】
先行例の提案方法では、エンティティの特定情報(ID情報)を分割した分割特定情報(分割ID情報)を示す各分割ベクトルにおいて個人秘密乱数が一定であって、その分割ベクトル内の各成分における個人秘密乱数の値が同じであるので、結託攻撃を受ける可能性があった。そこで、本発明では、各分割ベクトルにおいて個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数を設定しており、結託攻撃に対してより強くできる。
【0018】
また、本発明では、分割特定情報(分割ID情報)を示す各分割ベクトルを誤り訂正符号の符号語で構成する。よって、この符号語に基づく特定情報(ID情報)の分割を、上記の個人秘密乱数の多様化方式に組み合わせることにより、結託攻撃に対して更なる強化を図れる。
【0019】
【発明の実施の形態】
図1は、各エンティティの特定情報(ID情報)を複数のブロックに分割した分割特定情報を利用するID−NIKS方式を採用した本発明及び先行例における暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できる複数(J個)のセンタ1が設定されており、これらのセンタ1としては、例えば社会の公的機関を該当できる。
【0020】
これらの各センタ1と、この暗号系システムを利用するユーザとしての複数の各エンティティa,b,…,zとは、秘密通信路2a1,…,2aJ、2b1,…,2bJ、・・・、2z1,…,2zJにより接続されており、これらの秘密通信路を介して各センタ1から秘密の鍵情報が各エンティティa,b,…,zへ伝送されるようになっている。また、2人のエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【0021】
まず、本発明による改良対象の一例となる先行例の1つ(特願平11−59049 号)に示されている暗号通信方式について説明する。
【0022】
(センタ1での準備処理)
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
【0023】
各エンティティの氏名,住所などを示す特定情報であるIDベクトルをL次元2進ベクトルとし、図2に示すようにそのIDベクトルをブロックサイズM1 ,M2 ,・・・,MJ 毎にJ個のブロックに分割する。例えば、エンティティeのIDベクトル(ベクトルIe )を式(1)のように分割する。分割特定情報である各ベクトルIej(j=1,2,・・・,J)をID分割ベクトルと呼ぶ。
【0024】
【数1】
【0025】
(エンティティの登録処理)
エンティティeに登録を依頼された各センタ1は、準備した鍵とエンティティeのJ個のID分割ベクトルについて、それぞれに対応するJ個の秘密鍵ベクトルsej(j=1,2,・・・,J)を以下の式(2-1),(2-2),・・・,(2-j),・・・,(2-J)に従って計算する。
【0026】
【数2】
【0027】
但し、ベクトル1は、すべての成分が1であるJ次元のベクトルを表す。また、Hj [ベクトルIej]は対称行列Hj =(kem (j) )からベクトルIejに対応した行を1行抜き出したものを表し、[・]の操作を参照と定義する。
【0028】
次に、第1ブロックに関して、(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を以下の式(3-0),(3-1),(3-2),・・・,(3-t),・・・,(3-T)に従って計算する。
【0029】
【数3】
【0030】
但し、cをスカラー、(4),(5)に示すA,Bを行列とした場合、B=cA 及びB=〈A〉c は、それぞれ(6)及び(7)を表す。
【0031】
【数4】
【0032】
そして、1つのセンタ1は、第1ブロックに関する(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を秘密裏にエンティティeへ送り、残りの(J−1)の各センタ1は、第2ブロック以降に関する(J−1)個の秘密鍵ベクトルsej(j=2,3,・・・,J)を秘密裏にエンティティeへ送る。
【0033】
(エンティティ間の共通鍵の生成処理)
エンティティeは、第1ブロックに関して、自身の(T+1)個の秘密鍵ベクトルgetの中から、通信相手のエンティティmのID分割ベクトルであるベクトルIm1に対応する成分のベクトルget[ベクトルIm1]を選び出す。この選び出したものを(8-0),(8-1),・・・,(8-t),・・・,(8-T)に示す。
【0034】
【数5】
【0035】
次に、エンティティeは、j=2,3,・・・,Jの第2,第3,・・・,第Jの各ブロックに関して、自身の秘密鍵ベクトルsejの中から、エンティティmのID分割ベクトルであるベクトルImjに対応する成分のベクトルsej[ベクトルImj]を各ブロック毎に選び出す。この選び出したものを(9-2),・・・,(9-j),・・・,(9-J)に示す。
【0036】
【数6】
【0037】
更に、(10)のように整数環上でこれらのすべての和yemを求める。
【0038】
【数7】
【0039】
そして、Nを法として以下の(11)のような計算を行うことにより、共通鍵Kemを求める。この(11)の計算において、全ブロックの計算を完了することにより、個人秘密乱数αe はその逆元との乗算にて消去され、J個の個人秘密乱数βejはそれらの加算にて消去される。このKemはエンティティm側から求めた共通鍵Kmeと一致する。
【0040】
【数8】
【0041】
なお、上式においてx1em =ベクトルse1[ベクトルIm1]と置いたが、これは、エンティティe自身にもわからない。また、Tは比較的小さな数であるので、指数部分はべき乗を順次繰り返し行うことにより計算することができる。
【0042】
なお、上記例において、各ブロックのサイズMj は全ブロックにおいて一定であっても良いし、その一部または全部のブロックで異なっていても良い。しかし、第1ブロックに関して秘密鍵ベクトルgetを求めるので、全ブロックについてそのサイズを一定にした場合、第1ブロックについての秘密が大きくなってしまう。よって、第1ブロックのサイズを他のブロックのサイズよりも小さくするようにした方が良い。特に、M1 =1とした場合、配布する秘密を最小限にすることができ、最も安全性が高くなる。
【0043】
以下、上記先行例と対比しながら、本発明の特徴部分について説明する。上述した先行例では、各ID分割ベクトル(各ブロック)においてエンティティeの個人秘密乱数βej(j=1,2,・・・,J)が一定であり、その各ID分割ベクトル内の各成分における個人秘密乱数βejの値を同じに設定している。よって、各ブロック内で隣合ったもの同士を減算することによって、この個人秘密乱数βejを消去できる攻撃が考えられる。
【0044】
そこで、本発明では、各分割ベクトル(各ブロック)において個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数βej (v) (j=1,2,・・・,J、v=0,1,・・・,2Mj−1)を設定する。
【0045】
本発明では、センタ1で、以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
【0046】
なお、部分集合RK の作り方は、各エンティティにおいて異なっていても良いことは勿論である。また、1つの部分集合RK における要素の個数も任意であって良い。
【0047】
上述した先行例と同様、前記式(1)のように、エンティティeのIDベクトル(ベクトルIe )を分割する。そして、各センタ1は、準備した鍵とエンティティeのJ個のID分割ベクトルについて、それぞれに対応するJ個の秘密鍵ベクトルsej(j=1,2,・・・,J)を計算する。ここで、本発明では、j番目のセンタからエンティティeへ配布される秘密鍵ベクトルsejにおいて、各成分毎に異なる乱数を用いており、2ブロック目以降のベクトルsejは、一般化した形で以下の式(12-2),(12-3),・・・,(12-J)で与える。なお、以下の例では、各ブロックのサイズをMj =1としている。本発明の式(12-2),(12-J)は、先行例の式(2-2),(2-J)にそれぞれ対応している。
【0048】
【数9】
【0049】
このようにした場合、乱数の総和βe2+βe3+・・・+βeJは2J-1 通りの値をとるので、比較的小さなJ、例えばJ=21としても、その数は220≒106 となり、実用上の大きな障害になってしまう。そこで、Sブロック毎に2S 通りに広がる乱数値βei+・・・+βe,i+S-1 を一定値に変換することを考える。
【0050】
体F2 上のIDベクトルを一般的に以下(13)のように表す。
ID2 =(b1 ,b2 ,・・・,bJ ) …(13)
ここで、S=2とし、2ビットでペアを考える。なお、任意のペアを一般に(bi ,bj )と表記する。また、すべてのペアで重複なく全体を覆うものとし、ペアの組合せ(上記Rk のパターン)はエンティティeに教えることとする。
【0051】
そして、部分和Sbibjに対し、乱数値を一定値γeij に変換するために補正項Cbibjを以下のように加算する。但し、すべてのペア(i,j)について、γeij を加算するとλ(N)となるようにγeij を決める。まず、Sbibj,Cbibjは(bi bj )の値により、それぞれ以下の式(14),(15)のように4通りで与えられる。
【0052】
【数10】
【0053】
従って、Sbibj+Cbibjは以下の式(16)のように与えられる。
【0054】
【数11】
【0055】
第1ブロックに関しては、上述した先行例と同様に、(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を計算する。そして、1つのセンタ1は、第1ブロックに関する(T+1)個の秘密鍵ベクトルget(t=0,1,2,・・・,T)を秘密裏にエンティティeへ送り、残りの(J−1)の各センタ1は、第2ブロック以降に関する(J−1)個の秘密鍵ベクトルsej(j=2,3,・・・,J)を秘密裏にエンティティeへ送る。
【0056】
エンティティeは、上述した先行例と同様に、第1ブロックに関して、自身の(T+1)個の秘密鍵ベクトルgetの中から、通信相手のエンティティmのID分割ベクトルであるベクトルIm1に対応する成分のベクトルget[ベクトルIm1]を選び出す。次に、エンティティeは、第2,第3,・・・,第Jの各ブロックに関して、自身の秘密鍵ベクトルsejの中から、エンティティmのID分割ベクトルであるベクトルImjに対応する成分のベクトルsej[ベクトルImj]を各ブロック毎に選び出し、整数環上でこれらのすべての和yemを求める。
【0057】
そして、上述した先行例と同様に、Nを法として共通鍵Kemを求める。この際、個人秘密乱数αe がその逆元との乗算にて消去されることは先行例と同じであり、また、本発明ではγeR1 +γeR2 +・・・+γeRK =nλ(N)に設定されているので、個人秘密乱数βej (v) はそれらの加算にて消去される。
【0058】
このように秘密鍵を生成した場合に、本発明が結託攻撃に強いことを以下に説明する。上記式(16)からγeij を消去すると、de1〜de3を適当な定数として、以下の式(17)で示される関係が得られる。式(17)において独立な式は明らかに2個である。
【0059】
【数12】
【0060】
ここで、ペア(bi ,bj )に関わる行列の要素kei1 (i) ,kei2 (i) ,kej1 (j) ,kej2 (j) を知るためにNT 人が結託したとする。独立な式は(4NT +2)個であり、これに対する未知数は、αe を定数と考えたとしても、(4NT +4)個となって、未知数の個数が方程式の個数を上回る。この結果、各要素kei1 (i) ,kei2 (i) ,kej1 (j) ,kej2 (j) は露呈しない。
【0061】
また、本発明の方式における安全性について説明する。安全なID−NIKSの必要条件として、秘密鍵生成関数及び鍵共有関数が多項式時間で分離できないことが知られている。以下に、この方式がこれらの安全性の必要条件を満たすことを示す。
【0062】
(秘密鍵生成関数)
本発明の方式は、式(18),(19)に示すJ個の秘密鍵生成関数を有する。
【0063】
【数13】
【0064】
Hを任意の対称行列した場合、式(20),(21)に示すように、参照関数[・]は明らかに分離不可能である。
【0065】
【数14】
【0066】
従って、前記式(18),(19)で表されるJ個の秘密鍵生成関数は、式(22)に示すように、分離不可能である。
【0067】
【数15】
【0068】
(鍵共有関数)
この方式における鍵共有関数を、式(23)に示す。
【0069】
【数16】
【0070】
秘密鍵生成関数の場合と同様に、式(23)で表される鍵共有関数は、式(24)に示すように、分離不可能である。
【0071】
【数17】
【0072】
ところで、上述した方式にあっては、αe (kei1 (i) −kei2 (i) ),αe (kej1 (j) −kej2 (j) )の形は露呈する。そこで、αe (kei1 (i) −kei2 (i) )などの形では露呈しないような手法について、以下に説明する。
【0073】
この手法では、分割IDベクトルを誤り訂正符号の符号語で構成している。例えば、2次元IDベクトルID2 の連続する2つの成分b 2n-1 ,b 2n (n=1,2,・・・,J)に対し、以下の式(25)を満たす成分cn ′をb 2n の後に挿入し、b 2n-1 ,b 2n ,cn ′で符号語を構成するようにする。cn ′挿入後のベクトルを以下の(26)のようにID2 ′と表記する。
b 2n-1 +b 2n =cn ′ (mod 2) …(25)
ID2 ′=(b1 ,b2 ,c1 ′,b3 ,b4 ,c2 ′,b5 ,
・・・,b 2J-1 ,b 2J ,cJ ′) …(26)
【0074】
{(b 2n-1 ,b 2n ,cn ′)}は符号長n=3,情報記号数k=2,最小距離d=2の線形符号となる。よって、上述した方式の場合と同様の議論により、de4〜de6を適当な定数として、以下の式(27)が導かれる。これらの中で独立な式は2個しかない。従って、個々のαe (kei1 (i) −kei2 (i) )などは明らかに露呈しない。
【0075】
【数18】
【0076】
よって、ID分割ベクトルを誤り訂正符号の符号語で構成するこのようなID分割ベクトル作成方式に、個人秘密乱数をID分割ベクトルの各成分毎に異ならせる上述したような乱数多様化方式を組み合わせることにより、より安全な暗号通信システムを構築することが可能である。
【0077】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図3は、2人のエンティティa,b間における情報の通信状態を示す模式図である。図3の例は、エンティティaが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティbへ伝送し、エンティティbがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0078】
1番目のセンタ1には、各エンティティa,b固有の秘密鍵ベクトルsa1,sb1と(T+1)個の秘密鍵ベクトルgat,gbt(t=0,1,2,・・・,T)とを計算する秘密鍵生成器1aが備えられている。そして、各エンティティa,bから登録が依頼されると、そのエンティティa,bの秘密鍵ベクトルgat,gbtがエンティティa,bへ送付される。
【0079】
j(j=2,3,・・・,J)番目のセンタ1には、各エンティティa,b固有の秘密鍵ベクトルsaj,sbjを計算する秘密鍵生成器1aが備えられている。そして、各エンティティa,bから登録が依頼されると、そのエンティティa,bの秘密鍵ベクトルsaj,sbjがエンティティa,bへ送付される。
【0080】
エンティティa側には、各センタ1から送られるこれらの秘密鍵ベクトルgat(t=0,1,2,・・・,T),saj(j=2,3,・・・,J)をテーブル形式で格納しているメモリ10と、これらの秘密鍵ベクトルの中からエンティティbに対応する成分であるベクトルgat[ベクトルIb1](t=0,1,2,・・・,T),ベクトルsaj[ベクトルIbj](j=2,3,・・・,J)を選び出す成分選出器11と、選び出されたこれらの成分を使用してエンティティaが求めるエンティティbとの共通鍵Kabを生成する共通鍵生成器12と、共通鍵Kabを用いて平文(メッセージ)Mを暗号文Cに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【0081】
また、エンティティb側には、各センタ1から送られるこれらの秘密鍵ベクトルgbt(t=0,1,2,・・・,T),sbj(j=2,3,・・・,J)をテーブル形式で格納しているメモリ20と、これらの秘密ベクトルの中からエンティティaに対応する成分であるベクトルgbt[ベクトルIa1](t=0,1,2,・・・,T),ベクトルsbj[ベクトルIaj](j=2,3,・・・,J)を選び出す成分選出器21と、選び出されたこれらの成分を使用してエンティティbが求めるエンティティaとの共通鍵Kbaを生成する共通鍵生成器22と、共通鍵Kbaを用いて通信路30から入力した暗号文Cを平文Mに復号して出力する復号器23とが備えられている。
【0082】
エンティティaからエンティティbへ情報を伝送しようとする場合、まず、各センタ1で求められて、予めメモリ10に格納されている秘密鍵ベクトルgat(t=0,1,2,・・・,T),saj(j=2,3,・・・,J)が成分選出器11へ読み出される。そして、成分選出器11にて、エンティティbに対応する成分であるベクトルgat[ベクトルIb1](t=0,1,2,・・・,T),ベクトルsaj[ベクトルIbj](j=2,3,・・・,J)が選び出されて共通鍵生成器12へ送られる。共通鍵生成器12にて、これらの成分を使用して(11)に従って共通鍵Kabが求められ、暗号化器13へ送られる。暗号化器13において、この共通鍵Kabを用いて平文Mが暗号文Cに暗号化され、暗号文Cが通信路30を介して伝送される。
【0083】
通信路30を伝送された暗号文Cはエンティティbの復号器23へ入力される。各センタ1で求められて、予めメモリ20に格納されている秘密鍵ベクトルsbj(j=2,3,・・・,J),gbt(t=0,1,2,・・・,T)が成分選出器21へ読み出される。そして、成分選出器21にて、エンティティaに対応する成分であるベクトルgbt[ベクトルIa1](t=0,1,2,・・・,T),ベクトルsbj[ベクトルIaj](j=2,3,・・・,J)が選び出されて共通鍵生成器22へ送られる。共通鍵生成器22にて、これらの成分を使用して(11)に従って共通鍵Kbaが求められ、復号器23へ送られる。復号器23において、この共通鍵Kbaを用いて暗号文Cが平文Mに復号される。
【0084】
このような例では、複数のセンタが設けられ、各センタはエンティティの分割した1つのID情報に対応する鍵を生成するようにしたので、すべてのエンティティの秘密を1つのセンタが握るようなことはなく、各センタがBig Brother にならない。また、各エンティティ固有の秘密鍵ベクトルが予めエンティティ側のメモリに格納されているので、共通鍵生成に要する時間が短くて済む。
【0085】
図4は、本発明の記録媒体の実施の形態の構成を示す図である。ここに例示するプログラムは、各エンティティの特定情報(ID情報)を分割してID分割ベクトルを得る分割処理と、各エンティティにおける秘密鍵ベクトルsej,getを求める秘密鍵生成処理とを含んでおり、以下に説明する記録媒体に記録されている。なお、コンピュータ40は、各センタ側に設けられている。
【0086】
図4において、コンピュータ40とオンライン接続する記録媒体41は、コンピュータ40の設置場所から隔たって設置される例えばWWW(World Wide Web)のサーバコンピュータを用いてなり、記録媒体41には前述の如きプログラム41aが記録されている。記録媒体41から読み出されたプログラム41aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0087】
コンピュータ40の内部に設けられた記録媒体42は、内蔵設置される例えばハードディスクドライブまたはROMなどを用いてなり、記録媒体42には前述の如きプログラム42aが記録されている。記録媒体42から読み出されたプログラム42aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0088】
コンピュータ40に設けられたディスクドライブ40aに装填して使用される記録媒体43は、運搬可能な例えば光磁気ディスク,CD−ROMまたはフレキシブルディスクなどを用いてなり、記録媒体43には前述の如きプログラム43aが記録されている。記録媒体43から読み出されたプログラム43aがコンピュータ40を制御することにより、各センタにおいて上述の分割処理と秘密鍵生成処理とを実行する。
【0089】
なお、上述した例では、特願平11−59049 号に示された秘密鍵の生成方式に本発明を適用する場合について説明したが、ID分割ベクトルと個人秘密乱数βとを用いて秘密鍵を生成するようにした他のID−NIKS方式(例えば特願平11−16257 号で開示した方式)についても、本発明を同様に適用できることは勿論である。
【0090】
【発明の効果】
以上のように、本発明では、各分割ベクトルにおいて個人秘密乱数を一定とせず、その分割ベクトル内の各成分に対して相異なる個人秘密乱数を設定するようにしたので、結託攻撃に対してより強くできる。
【0091】
また、本発明では、各分割ベクトルを誤り訂正符号の符号語で構成するようにしたので、このような分割ベクトルの形成方式を上記の個人秘密乱数の多様化方式に組み合わせることにより、結託攻撃に対して更なる強化を図れる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】エンティティのIDベクトルの分割例を示す模式図である。
【図3】2人のエンティティ間における情報の通信状態を示す模式図である。
【図4】記録媒体の実施の形態の構成を示す図である。
【符号の説明】
1 センタ
1a 秘密鍵生成器
10,20 メモリ
11,21 成分選出器
12,22 共通鍵生成器
13 暗号化器
23 復号器
30 通信路
40 コンピュータ
41,42,43 記録媒体
Claims (9)
- 各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化する暗号化装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す成分選出器、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する共通鍵生成器、及び生成した共通鍵を用いて平文を暗号文に暗号化する暗号化器を備えることを特徴とする暗号化装置。
- エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、前記エンティティ固有の秘密鍵を生成する装置において、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて前記個人秘密乱数を設定する手段と、設定した個人秘密乱数と前記分割ベクトルとを用いて前記秘密鍵を生成する手段とを備えており、前記分割ベクトルの分割ブロック数をJ、前記分割ベクトルの各サイズをMj (j=1,2,・・・,J)、エンティティeの個人秘密乱数をβej (v) (v=0,1,・・・,Mj −1)とした場合に、全J個の分割ブロックを1または複数個のブロックを1組としてK組に組分けしており、γeR1 +γeR2 +・・・+γeRK =nλ(N)(n:整数、λ(・):カーマイケル関数、N=PQ(P,Qは素数))を満たすようにしたことを特徴とする秘密鍵生成装置。
但し、Rk :J以下の自然数を要素とする全体集合(U)の部分集合
(任意のp,qにおいてRp ∩Rq は空集合、R1 ∪R2 ∪・・・∪RK
は全体集合(U))
γeRk :R k に該当する分割ベクトル内の各成分における個人秘密乱数と補正項
とを演算して得られる一定値 - センタ装置から複数のエンティティ装置夫々へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行うこととし、前記センタ装置が複数設けられており、その複数のセンタ装置夫々は、秘密鍵生成器にて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、
分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成し、各エンティティ装置は、共通鍵生成器にて、自身固有の秘密鍵に含まれている、相手のエンティティの分割特定情報に対応する成分を用いて前記共通鍵を生成するようにした暗号通信方法において、前記センタ装置にて、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせた前記個人秘密乱数を設定し、その設定した個人秘密乱数と前記分割ベクトルとを用いて各エンティティ固有の秘密鍵を生成し、前記エンティティ装置にて、前記センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出し、選び出した成分の演算により前記個人秘密乱数を消去して前記共通鍵を生成することを特徴とする暗号通信方法。 - 送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、
送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと該分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した個人秘密乱数とを用いて、各エンティティ固有の秘密鍵を生成して各エンティティ装置へ送付する複数のセンタ装置と、該センタ装置から送付された自身の秘密鍵に含まれている、通信対象のエンティティの分割特定情報に対応する成分を選び出す成分選出器、及び選出した成分の演算により前記個人秘密乱数を消去して前記暗号化処理及び復号処理に用いる共通鍵を生成する共通鍵生成器を備えた複数のエンティティ装置とを有することを特徴とする暗号通信システム。 - 各エンティティの特定情報を複数のブロックに分割した分割特定情報を示す分割ベクトルと、分割された各ブロック毎に設定された各エンティティ固有の個人秘密乱数とを用いて生成した各エンティティ固有の秘密鍵を用いて平文を暗号文に暗号化させるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、コンピュータに、前記分割ベクトルの各成分毎に、夫々の成分毎で値を異ならせて設定した前記個人秘密乱数と前記分割ベクトルとを用いて生成した各エンティティ固有の秘密鍵に含まれている、暗号文の送信先である相手のエンティティの分割特定情報に対応する成分を選び出す処理を成分選出器が行うように該成分選出器を制御させる手順と、コンピュータに、選び出した成分の演算により前記個人秘密乱数を消去して共通鍵を生成する処理を共通鍵生成器が行うように該共通鍵生成器を制御させる手順と、生成した共通鍵を用いて平文を暗号文に暗号化する処理を暗号化器が行うように該暗号化器を制御させる手順とを含むコンピュータプログラムを記録してあることを特徴とする記録媒体。
- 前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする請求項1記載の暗号化装置。
- 前記秘密鍵生成器にて、前記分割ベクトルを誤り訂正符号の符号語で構成することを特徴とする請求項3記載の暗号通信方法。
- 前記センタ装置は、前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする請求項4記載の暗号通信システム。
- 前記分割ベクトルを誤り訂正符号の符号語で構成するようにしたことを特徴とする請求項5記載の記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13928599A JP3884593B2 (ja) | 1999-05-19 | 1999-05-19 | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 |
US09/573,915 US7080255B1 (en) | 1999-05-19 | 2000-05-18 | Secret key generation method, encryption method, and cryptographic communications method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13928599A JP3884593B2 (ja) | 1999-05-19 | 1999-05-19 | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000332744A JP2000332744A (ja) | 2000-11-30 |
JP3884593B2 true JP3884593B2 (ja) | 2007-02-21 |
Family
ID=15241728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13928599A Expired - Fee Related JP3884593B2 (ja) | 1999-05-19 | 1999-05-19 | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3884593B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001211153A (ja) | 2000-01-25 | 2001-08-03 | Murata Mach Ltd | 秘密鍵生成方法 |
-
1999
- 1999-05-19 JP JP13928599A patent/JP3884593B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000332744A (ja) | 2000-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
JP3872107B2 (ja) | 暗号キー回復システム | |
US6487661B2 (en) | Key agreement and transport protocol | |
US5850443A (en) | Key management system for mixed-trust environments | |
US8687812B2 (en) | Method and apparatus for public key cryptography | |
EP1526676A1 (en) | Conference session key distribution method on an id-based cryptographic system | |
JP2001211153A (ja) | 秘密鍵生成方法 | |
JP4010766B2 (ja) | メッセージの公開型且つ非可換性の符号化方法及び暗号化方法 | |
JP2003521197A (ja) | 鍵暗号化の供託および回復システムによる通信方法 | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
JP2001211154A (ja) | 秘密鍵生成方法,暗号化方法及び暗号通信方法 | |
US6724893B1 (en) | Method of passing a cryptographic key that allows third party access to the key | |
JP3884593B2 (ja) | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
US20010010721A1 (en) | Common key generating method, common key generating apparatus, encryption method, cryptographic communication method and cryptographic communication system | |
JP3590284B2 (ja) | 暗号通信方法,暗号通信システム,共通鍵生成装置及び記録媒体 | |
JP3546943B2 (ja) | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
JP3657803B2 (ja) | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム,共通鍵生成装置及び記録媒体 | |
JP3622072B2 (ja) | 暗号通信方法 | |
Galindo et al. | On the security of public key cryptosystems with a double decryption mechanism | |
JP3587763B2 (ja) | 暗号化装置,復号装置,暗号通信システム及び記録媒体 | |
JP3587746B2 (ja) | 秘密鍵生成器,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
Purohit et al. | Implementation of Double Encrypted MAC based on Diffie-Hellman Key Exchange for Improved integrity and Authentication | |
Nabil | ECEN 227-Introduction to Finite Automata and Discrete Mathematics | |
JP3592118B2 (ja) | 暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
Abikoye et al. | Object Oriented Paradigm for implementing Elgamal Algorithm. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040813 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061011 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061117 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |