(57)【特許請求の範囲】
【請求項１】
センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、暗号文通信に先立ってエンティティ装置間での予備通信を必要としない方式にて、エンティティ装置間で情報の通信を行う暗号通信方法において、前記センタ装置は、前記各エンティティ毎に固有の法を設定し、前記各エンティティ毎に設定した固有の法により前記各エンティティ固有の秘密鍵を生成し、前記一方及び他方のエンティティ装置は、前記各エンティティ毎に設定した固有の法に基づいて共通の法を求め、求めた共通の法により前記共有鍵を生成することを特徴とする暗号通信方法。
【請求項２】
前記センタ装置は、各エンティティの公開鍵を用いて各エンティティの秘密ベクトルを求め、求めた各エンティティの秘密ベクトルと各エンティティ固有の個人秘密乱数ベクトルとを用いて、前記各エンティティ毎に設定した固有の法により前記各エンティティ固有の秘密鍵を生成する請求項１記載の暗号通信方法。
【請求項３】
前記センタ装置は、前記各エンティティの公開鍵を、各エンティティの特定情報に基づいて求める請求項１又は２記載の暗号通信方法。
【請求項４】
送信すべき情報である平文を暗号文に暗号化する処理、及び、送信された暗号文を元の平文に復号する処理を、暗号文通信に先立って複数のエンティティ装置間での予備通信を必要としない方式にて、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、各エンティティ毎に固有の法を設定する手段、設定した法により各エンティティ固有の秘密鍵を生成する手段、及び、生成した秘密鍵を各エンティティ装置へ送付する手段を備えるセンタ装置と、各エンティティ毎に設定した固有の法に基づいて共通の法を求める手段、及び、求めた共通の法により、前記センタ装置から送付された自身固有の秘密鍵と通信対象のエンティティの公開鍵とを用いて、前記暗号化する処理及び復号する処理を行うための共有鍵を生成する手段を備える複数のエンティティ装置とを有することを特徴とする暗号通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号文にて通信を行う暗号通信方法及び暗号通信システムに関する。
【０００２】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」，「マルチアクセス」，「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事，外交面で用いられてきた暗号技術が注目されている。
【０００３】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文（平文）を第三者には意味がわからない文（暗号文）に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【０００４】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号系は、共通鍵暗号系と呼ばれ、米国商務省標準局が採用したＤＥＳ（Data Encryption Standards)はその典型例である。また、両者の鍵が異なる暗号系の一例として、公開鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗号系は、暗号系を利用する各ユーザ（エンティティ）が暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開し、復号鍵のみを秘密に保持するという暗号系である。公開鍵暗号系では、この一対となる暗号化鍵と復号鍵とが異なり、一方向性関数を利用することによって暗号化鍵から復号鍵を割り出せないという特徴を持たせている。
【０００５】
公開鍵暗号系は、暗号化鍵を公開するという画期的な暗号系であって、高度情報化社会の確立に必要な上述した３つの要素に適合するものであり、情報通信技術の分野等での利用を図るべく、その研究が活発に行われ、典型的な公開鍵暗号系としてＲＳＡ暗号系が提案された。このＲＳＡ暗号系は、一方向性関数として素因数分解の困難さを利用して実現されている。また、離散対数問題を解くことの困難さ（離散対数問題）を利用した公開鍵暗号系も種々の手法が提案されてきた。
【０００６】
また、各エンティティの住所，氏名等の個人を特定するＩＤ（Identity）情報を利用する暗号系が提案された。この暗号系では、ＩＤ情報に基づいて送受信者間で共通の暗号化鍵を生成する。また、このＩＤ情報に基づく暗号技法には、（１）暗号文通信に先立って送受信者間での予備通信を必要とする方式と、（２）暗号文通信に先立って送受信者間での予備通信を必要としない方式とがある。特に、（２）の手法は予備通信が不要であるので、エンティティの利便性が高く、将来の暗号系の中枢をなすものと考えられている。
【０００７】
この（２）の手法による暗号系は、ＩＤ−ＮＩＫＳ（ID-based non-interactive key sharing scheme)と呼ばれており、通信相手のＩＤ情報を用いて予備通信を行うことなく暗号化鍵を共有する方式を採用している。ＩＤ−ＮＩＫＳは、送受信者間で公開鍵，秘密鍵を交換する必要がなく、また鍵のリスト及び第三者によるサービスも必要としない方式であり、任意のエンティティ間で安全に通信を行える。
【０００８】
図４は、このＩＤ−ＮＩＫＳのシステムの原理を示す図である。信頼できるセンタの存在を仮定し、このセンタを中心にして共有鍵生成システムを構成している。図４において、エンティティＸの特定情報であるエンティティＸの名前，住所，電話番号等のＩＤ情報は、ハッシュ関数ｈ（・）を用いてｈ（ＩＤX ）で表す。センタは任意のエンティティＸに対して、センタ公開情報｛ＰＣi ｝，センタ秘密情報｛ＳＣi ｝及びエンティティＸのＩＤ情報ｈ（ＩＤX ）に基づいて、以下のように秘密情報ＳXiを計算し、秘密裏にエンティティＸへ配布する。
ＳXi＝Ｆi （｛ＳＣi ｝，｛ＰＣi ｝，ｈ（ＩＤX ））
【０００９】
エンティティＸは他の任意のエンティティＹとの間で、暗号化，復号のための共有鍵ＫXYを、エンティティＸ自身の秘密情報｛ＳXi｝，センタ公開情報｛ＰＣi ｝及び相手先のエンティティＹのＩＤ情報ｈ（ＩＤY ）を用いて以下のように生成する。
ＫXY＝ｆ（｛ＳXi｝，｛ＰＣi ｝，ｈ（ＩＤY ））
また、エンティティＹも同様にエンティティＸに対する共有鍵ＫYXを生成する。もし常にＫXY＝ＫYXの関係が成立すれば、この鍵ＫXY，ＫYXをエンティティＸ，Ｙ間で暗号化鍵，復号鍵として使用できる。
【００１０】
上述した公開鍵暗号系では、例えばＲＳＡ暗号系の場合にその公開鍵の長さは現在の電話番号の十数倍となり、極めて煩雑である。これに対して、ＩＤ−ＮＩＫＳでは、各ＩＤ情報を名簿という形式で登録しておけば、この名簿を参照して任意のエンティティとの間で共有鍵を生成することができる。従って、図４に示すようなＩＤ−ＮＩＫＳのシステムが安全に実現されれば、多数のエンティティが加入するコンピュータネットワーク上で便利な暗号系を構築できる。このような理由により、ＩＤ−ＮＩＫＳが将来の暗号系の中心になると期待されている。
【００１１】
【発明が解決しようとする課題】
通信相手のＩＤ情報を用いて予備通信を行うことなく暗号化鍵及び復号鍵となる共有鍵を互いに共有するようなＩＤ−ＮＩＫＳにあっては、複数のエンティティの結託等の攻撃に対して十分に安全であることが望まれる。しかしながら、以上のようなＩＤ−ＮＩＫＳにおいては、攻撃法が検討されて、適当な人数のエンティティが結託すればセンタの秘密パラメータが露呈するという問題を含んでいる。暗号学的に安全なＩＤ−ＮＩＫＳを構築できるか否かは、高度情報化社会に重要な問題であり、より理想的な暗号方式の探究が進められている。
【００１２】
上述したような結託攻撃に対して安全性を高めるために、センタから各エンティティへ配布される秘密鍵に予め乱数成分を加えておき、鍵共有の際の非線形操作によってこの乱数成分を除去して共有鍵を得るようにした方式（以下、先行例１という），２つの有限体上での演算により各エンティティ毎に乱数成分を含む複数個１組の秘密鍵を生成し、鍵共有の際に整数環上でこれらの秘密鍵を加算することにより乱数成分を除去して共有鍵を得るようにした方式（特願平10−262035号，特願平10−338190号等、以下、先行例２という）等が、本発明者等によって考案されている。
【００１３】
このような先行例１，先行例２は何れも、秘密鍵生成関数及び鍵共有関数が分離不可能であり、鍵共有が十分に高い確率で成功するという特徴があり、従来のＩＤ−ＮＩＫＳに比較して結託攻撃に対して強い。しかしながら、ＩＤベクトルの次元が比較的小さい場合には、ＬＬＬ（Lenstra-Lenstra-Lovasz）アルゴリズムの適用によって、第三者の秘密鍵を偽造する攻撃ばかりでなく、センタの秘密行列を導く攻撃も行える可能性があるということが解明された。
【００１４】
本発明は斯かる事情に鑑みてなされたものであり、ＬＬＬアルゴリズムに基づく攻撃に対して安全性が高い暗号通信方法及び暗号通信システムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
請求項１に係る暗号通信方法は、センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された他方のエンティティの公開鍵とから求めた共有鍵を利用して平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵と公開された前記一方のエンティティの公開鍵とから求めた、前記共有鍵と同一の共有鍵を利用して元の平文に復号することにより、暗号文通信に先立ってエンティティ装置間での予備通信を必要としない方式にて、エンティティ装置間で情報の通信を行う暗号通信方法において、前記センタ装置は、前記各エンティティ毎に固有の法を設定し、前記各エンティティ毎に設定した固有の法により前記各エンティティ固有の秘密鍵を生成し、前記一方及び他方のエンティティ装置は、前記各エンティティ毎に設定した固有の法に基づいて共通の法を求め、求めた共通の法により前記共有鍵を生成することを特徴とする。
【００１７】
請求項２に係る暗号通信方法は、請求項１において、前記センタ装置は、各エンティティの公開鍵を用いて各エンティティの秘密ベクトルを求め、求めた各エンティティの秘密ベクトルと各エンティティ固有の個人秘密乱数ベクトルとを用いて、前記各エンティティ毎に設定した固有の法により前記各エンティティ固有の秘密鍵を生成することを特徴とする。
請求項３に係る暗号通信方法は、請求項１又は請求項２において、前記センタ装置は、前記各エンティティの公開鍵を、各エンティティの特定情報に基づいて求めることを特徴とする。
請求項４に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する処理、及び、送信された暗号文を元の平文に復号する処理を、暗号文通信に先立って複数のエンティティ装置間での予備通信を必要としない方式にて、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、各エンティティ毎に固有の法を設定する手段、設定した法により各エンティティ固有の秘密鍵を生成する手段、及び、生成した秘密鍵を各エンティティ装置へ送付する手段を備えるセンタ装置と、各エンティティ毎に設定した固有の法に基づいて共通の法を求める手段、及び、求めた共通の法により、前記センタ装置から送付された自身固有の秘密鍵と通信対象のエンティティの公開鍵とを用いて、前記暗号化する処理及び復号する処理を行うための共有鍵を生成する手段を備える複数のエンティティ装置とを有することを特徴とする。
【００１８】
本発明では、、各エンティティ毎に各エンティティ固有の法を設定し、設定した法により各エンティティ固有の秘密鍵を生成する。よって、先行例１，２も含めた従来のＩＤ−ＮＩＫＳのように、秘密鍵を生成する際に全エンティティで共通の法を用いることがないので、ＬＬＬアルゴリズムを用いた攻撃に対して強力となる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態について具体的に説明する。
図１は、本発明の暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できる１個の統括センタ１とｄg 個の分割センタ10とが設定されている。これらの統括センタ１及び分割センタ10としては、例えば社会の公的機関を該当できる。この統括センタ１と、この暗号系システムを利用するユーザとしての複数の各エンティティａ，ｂ，…，ｚとは秘密通信路２ａ，２ｂ，…，２ｚにより接続されており、この秘密通信路２ａ，２ｂ，…，２ｚを介してセンタ１から秘密の鍵情報が各エンティティａ，ｂ，…，ｚへ伝送されるようになっている。また、２人のエンティティの間には通信路３ab，３az，３bz，…が設けられており、この通信路３ab，３az，３bz，…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【００２０】
本発明は、先行例１の手法を基本とした方式及び先行例２の手法を基本とした方式の何れにも適用可能であるが、以下の例では先行例１の手法を基本とした方式に本発明を適用した場合について説明する。
【００２１】
（統括センタ１での準備処理）
▲１▼  第１ＩＤベクトル（ｄf 次元，各成分はＬf ビット）を生成するための一方向性関数ｆ（・）を公開する。
▲２▼  第２ＩＤベクトル（ｄg 次元，各成分はＧＦ（２）の元）を生成するための一方向性関数ｇ（・）を公開する。
▲３▼  エンティティｉの固有の乱数ベクトルｒi （ｄr 次元，各成分はＬr ビット）を生成する。
【００２２】
但し、エンティティｉの第１ＩＤベクトル，第２ＩＤベクトルは夫々、下記（１），（２）で表すものとし、第２ＩＤベクトルｗi に対して成分が１となるインデックスの集合をＷi ＝｛ｊ｜ｗij＝１｝とする。
【００２３】
【数１】
0003953235.tif 000002
【００２４】
（ｊ番目（ｊ＝１，２，・・・，ｄg ）の分割センタ10での準備処理）
▲１▼  素数Ｐ(j) を生成して、これを公開する。
▲２▼  秘密対称行列Ｔ(j) を生成する。
【００２５】
（エンティティの登録処理）
エンティティｉに登録を依頼された統括センタ１及び各分割センタ10は、以下のような処理を行う。
▲１▼  統括センタ１は、ｊ∈Ｗi なるｊ番目の分割センタ10に対して、エンティティｉ用の秘密ベクトルｘi の計算を依頼する。
▲２▼  ｊ番目の分割センタ10は、ベクトルｖi を用いて、エンティティｉ用の秘密ベクトルｘi (j) を下記（３）に従って計算し、これを統括センタ１へ送付する。
ベクトルｘi (j) ≡Ｔ(j) ベクトルｖi （mod Ｐ(j) ）  …（３）
▲３▼  統括センタ１は、エンティティｉに固有の法Ｐi を下記（４）に従って求めた後、中国人の剰余定理を用いて秘密ベクトルｘi を下記（５）に従って計算する。ここで、秘密ベクトルｘi はＰi を法として一意に定まる。
【００２６】
【数２】
0003953235.tif 000003
【００２７】
▲４▼  統括センタ１は、更に、個人秘密乱数ベクトルｒi を用いてエンティティｉの秘密鍵ｓi を下記（６）に従って計算し、これをエンティティｉへ秘密裏に送る。
【００２８】
【数３】
0003953235.tif 000004
【００２９】
（エンティティ間の共有鍵の生成処理）
エンティティｉは、以下のような計算手順によって、通信対象のエンティティｍとの共有鍵Ｋimを求める。
▲１▼  エンティティｉとエンティティｍとの間での共通の法Ｐimを下記（７）に従って求める。
【００３０】
【数４】
0003953235.tif 000005
【００３１】
▲２▼  下記（８）に従ってＫim′を計算する。
【００３２】
【数５】
0003953235.tif 000006
【００３３】
▲３▼  下記（９）に従って共有鍵Ｋimを計算する。但し、Ｄは統括センタ１が予め公開している自然数であり、下記（10）の条件を満たす。
【００３４】
【数６】
0003953235.tif 000007
【００３５】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図２は、２人のエンティティｉ，ｍ間における情報の通信状態を示す模式図である。図２の例は、エンティティｉが平文（メッセージ）Ｍを暗号文Ｃに暗号化してそれをエンティティｍへ伝送し、エンティティｍがその暗号文Ｃを元の平文（メッセージ）Ｍに復号する場合を示している。
【００３６】
エンティティｉ側には、エンティティｍの個人識別情報ＩＤm を入力し、関数ｈ（・）を利用してベクトルｖm （公開鍵）を得る公開鍵生成器11と、統括センタ１から送られる秘密鍵ベクトルｓi と公開鍵生成器11からの公開鍵であるベクトルｖm と公開された自然数Ｄとに基づいてエンティティｉが求めるエンティティｍとの共有鍵Ｋimを生成する共有鍵生成器12と、共有鍵Ｋimを用いて平文（メッセージ）Ｍを暗号文Ｃに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【００３７】
また、エンティティｍ側には、エンティティｉの個人識別情報ＩＤi を入力し、関数ｈ（・）を利用してベクトルｖi （公開鍵）を得る公開鍵生成器21と、統括センタ１から送られる秘密のベクトルｓm と公開鍵生成器21からの公開鍵であるベクトルｖi と公開された自然数Ｄとに基づいてエンティティｍが求めるエンティティｉとの共有鍵Ｋmiを生成する共有鍵生成器22と、共有鍵Ｋmiを用いて通信路30から入力した暗号文Ｃを平文（メッセージ）Ｍに復号して出力する復号器23とが備えられている。
【００３８】
次に、動作について説明する。エンティティｉからエンティティｍへ情報を伝送しようとする場合、まず、エンティティｍの個人識別情報ＩＤm が公開鍵生成器11に入力されてベクトルｖm （公開鍵）が得られ、得られたベクトルｖm が共有鍵生成器12へ送られる。また、統括センタ１及び分割センタ10にて上記（３）〜（６）に従って求められたベクトルｓi が共有鍵生成器12へ入力される。そして、上記式（７）〜（９）に従って共有鍵Ｋimが求められ、暗号化器13へ送られる。暗号化器13において、この共有鍵Ｋimを用いて平文（メッセージ）Ｍが暗号文Ｃに暗号化され、暗号文Ｃが通信路30を介して伝送される。
【００３９】
通信路30を伝送された暗号文Ｃはエンティティｍの復号器23へ入力される。エンティティｉの個人識別情報ＩＤi が公開鍵生成器21に入力されてベクトルｖi （公開鍵）が得られ、得られたベクトルｖi が共有鍵生成器22へ送られる。また、統括センタ１及び分割センタ10にて上記（３）〜（６）に従って求められたベクトルｓm が共有鍵生成器22へ入力される。そして、上記式（７）〜（９）に従って共有鍵Ｋmiが求められ、復号器23へ送られる。復号器23において、この共有鍵Ｋmiを用いて暗号文Ｃが平文（メッセージ）Ｍに復号される。
【００４０】
なお、先行例１の手法を基本とした方式に本発明を適用した場合について説明したが、本発明は先行例２の手法を基本とした方式にも適用できる。この場合には、例えば、上記（６）に加えて下記（11）のような秘密鍵ベクトルｓi ′を用いて、鍵共有を行うようにすれば良い。但し、Ｑi はエンティティｉ固有の法である。この場合には、鍵共有の段階で個人秘密乱数ベクトルｒi が消去されるので、そのベクトルｒi の成分を大きく設定することが可能である。
【００４１】
【数７】
0003953235.tif 000008
【００４２】
以下、本発明の方式におけるエンティティ間での鍵共有に必要な諸条件について説明する。
【００４３】
（各要素のビット数）
十分に高い確率で鍵共有を成功させるためには、エンティティｉに固有の秘密乱数ベクトルｒi の各成分の大きさＬr を log 2（Ｐim），Ｄよりも十分小さく設定する必要がある。即ち、下記（12）とし、更に下記（13）となるようにすれば良い。また、ＬＬＬ法による結託攻撃に対してより安全にするためには、下記（14）を満たすようにＬr を設定する。なお、ｅは桁上がりのための余裕、ｋは設計値である。
【００４４】
【数８】
0003953235.tif 000009
【００４５】
（関数ｇ）
関数ｇにより、第２ＩＤベクトルｗi が定まるが、ベクトルｗi は、秘密鍵ベクトルｘi の法Ｐi 及び鍵共有の際に用いる法Ｐimの設定に用いられる。従って、法Ｐi 及び法Ｐimがある程度以上の大きさになるように、ベクトルｗi の成分が１となる個数（ベクトルｗi の重み＝＃Ｗi ）及び＃｛Ｗi ∩Ｗm ｝の大きさを適切に与える必要がある。
【００４６】
＃Ｗi 及び＃｛Ｗi ∩Ｗm ｝がある一定の大きさよりも必ず大きくなるようなベクトルｗi ，ベクトルｗm を生成するためには、例えばＩＤ情報をある一方向性関数ｈ（・）に通したデータをＭ系列符号のような定重み符号で符号化すれば良い。符号長ｎビット，重み２ｄの定重み符号語を第２ＩＤベクトルとした場合、異なる２つの符号語の１の位置はｄ箇所で必ず一致する。従って、この定重み２ｄの符号語を用いることにより、法Ｐimの大きさをある大きさ以上にすることが可能である。
【００４７】
例えば、３ビットの情報記号に対して、符号長ｎ＝２3 −１＝７，重み２ｄ＝２k-1 ＝４となる定重み符号を考える。この場合、情報記号は（０，０，０）を除いて３ビットで表せるので、７種類存在する。エンティティｉの第２ＩＤベクトルが符号語（１，１，１，０，０，１，０）、エンティティｍの第２ＩＤベクトルが符号語（１，０，０，１，０，１，１）で与えられた場合、Ｐim＝Ｐ(1) Ｐ(6) となる。
【００４８】
（定重み符号による第２ＩＤベクトルの生成）
後述するように、第２ＩＤベクトルの０の成分の割合が高ければ高い程、ＬＬＬ法を用いた結託攻撃に対する安全性は高くなるが、０の成分の割合を高くすれば、＃｛Ｗi ∩Ｗm ｝をある値以上に保つことは容易でない。これを実現するために、以下のような定重み符号を階層的に適用する。
【００４９】
▲１▼  ｈ（・）を一方向性関数として、エンティティのＩＤ情報から生成した値をｂ＝２k −１進数で表記する。即ち、下記（15）のように定義する。
【００５０】
【数９】
0003953235.tif 000010
【００５１】
▲２▼  ｗij′を符号化し、この符号語をｃijとする。但し、符号化は、Ｍ系列（例：ｋ＝３の場合に(1001011))をｗij′ビットだけ左巡回シフトすることによって行う。
▲３▼  ｃi0の０の位置をｂビットの０に置き換え、１の位置を左から順に下記（16）に示すｂビットの符号語で置き換える。これにより、符号長ｂ2 ，重み（２k-1 ）2 の符号語に拡大することができる。
【００５２】
【数１０】
0003953235.tif 000011
【００５３】
▲４▼  以上の処理をｔ回階層的に繰り返すことにより、符号長ｂt ，重み（２k-1 ）t の符号語に拡大することができる。なお、異なる第２ＩＤベクトルのビットＡＮＤをとった場合の１の個数、即ち＃Ｗimは必ず（２k-2 ）t 以上となる。
【００５４】
上記▲１▼〜▲４▼を簡単な例で説明する。ｋ＝３，ｂ＝２k −１＝７，ｔ＝２とした場合、以下のようになる。
ｈ（ＩＤA ）＝14761 ＝６＋３・７＋０・７2 ＋１・７3 ＋２・７4 
ベクトルｗA ′＝（６，３，０，１，２）
ベクトルｗA ′の符号化：
（６，３，０，１，２）→(1100101, 1011100, 1001011, 0010111, 0101110) この場合、ｇ（ＩＤA ）の計算結果は、下記（17）で与えられる。
【００５５】
【数１１】
0003953235.tif 000012
【００５６】
次に、本発明のＩＤ−ＮＩＫＳに対するＬＬＬアルゴリズムを用いた攻撃手法について考察する。
【００５７】
（第三者の秘密ベクトルの偽造攻撃）
ＬＬＬアルゴリズムを用いて犠牲エンティティｖの秘密鍵ベクトルｓv の近似値を求める手法について検討する。犠牲エンティティｖの秘密鍵ベクトルｓv の近似値を求めるためには、犠牲エンティティｖと同じ法Ｐv またはそれを因数に含む法で生成された結託エンティティの秘密鍵ベクトルが必要である。即ち、第２ＩＤベクトルが犠牲エンティティｖのそれと同じか、それを含むような第２ＩＤベクトルを有する結託エンティティが必要であり、第２ＩＤベクトルの構成を工夫することにより、この攻撃法を不可能とすることができる。
【００５８】
また、犠牲エンティティｖの法Ｐv の因数を部分的に含む法を有する結託エンティティによる攻撃法も考えられるが、もし各Ｐ(j) における法で攻撃を行おうとしても、ベクトルｒi の成分がＰ(j) よりも大きくなり、攻撃は不可能である。また、先行例２の手法に基づく方式では、ベクトルｒi の成分がより大きく設定可能であり、この攻撃法はより困難となる。更に、攻撃の最終段階で中国人の剰余定理を適用する必要があり、そのときに各結託エンティティ固有の小さな乱数項に大きな値が乗じられるので、このような攻撃手法も成功する確率は十分低い。
【００５９】
（センタ秘密行列を求める結託攻撃法）
ＬＬＬアルゴリズムを適用して、直接センタの秘密対称行列Ｔを導く攻撃に関して検討する。ここで、ｔp,j は対称行列Ｔの第ｐ行第ｊ列の成分であり、対称行列Ｔは、Ｔ≡Ｔ(j) （mod Ｐ(j) ）（ｊ＝１，２，・・・，ｄg ）を満たす。
【００６０】
結託エンティティｉの秘密鍵ベクトルｓi の第１成分は、下記（18）で表せる。これをｒi1について解くと、下記（19）となる。式（19）における既知項は下記（20）であり、未知項は下記（21）である。
【００６１】
【数１２】
0003953235.tif 000013
【００６２】
ここで、ｎ人の結託エンティティ（ｉ＝１，２，・・・，ｎ）の上記式（19）における既知項と未知項とから、下記（22）の行列方程式を構成する。
【００６３】
【数１３】
0003953235.tif 000014
【００６４】
上記（22）の右辺の［−ｒ11，−ｒ12，・・・，−ｒ1n］は小さなベクトルであるため、これを格子の最小基底ベクトルと見なしてＬＬＬアルゴリズムを適用した場合には、下記（23）に示す未知項が求まる可能性がある。
【００６５】
【数１４】
0003953235.tif 000015
【００６６】
下記（24）に示す未知項は、下記（25）に示す法のもとに一意に定まり、それらの桁数は下記（26）に示すものの桁数にほぼ等しくなる。
【００６７】
【数１５】
0003953235.tif 000016
【００６８】
一方、エンティティｉが保有する秘密成分は、法Ｐi を用いて導出されており、未知項ｔp,j と結託エンティティｉが保有する秘密成分との桁数の大きさの比は、関数ｇ（・）の次元数ｄg とその成分が１である個数との比にほぼ等しくなる。この比をＲとした場合、このような結託攻撃が成功するためには、少なくともｄf Ｒの結託エンティティが必要となる。
【００６９】
従って、結託攻撃に対してより安全な方式にするためには、この比Ｒを大きくすれば良い。例えば、前述したようなＭ系列定重み符号を階層的に用いてｇ（・）を構成する場合、各パラメータをｋ＝３，ｔ＝４としたとき、その次元ｄg は７4 ＝2401となるのに対して、その重みは４4 ＝256 であり、比Ｒは約9.38となる。この場合、鍵共有の際に用いる法Ｐiwの大きさを規定するパラメータ＃Ｗimは２4 ＝16となる。更に、Ｐ(j) を20ビット程度の素数とした場合、 log 2（Ｐim）は約320 であり、結託攻撃に用いる共通の法の大きさは、下記（27）となる。
【００７０】
【数１６】
0003953235.tif 000017
【００７１】
この場合の本発明の方式に対する結託攻撃では、結託エンティティ数を９ｄf 以上必要とし、ＬＬＬアルゴリズムを用いた攻撃の際の計算は48020 ビット程度の演算になって、膨大な計算量を必要とする。
【００７２】
このように本発明の方式は、結託閾値と個々の乗除算の計算量との二点に関して、先行例１，２に比べて、ＬＬＬアルゴリズムを用いた結託攻撃に対してより安全な方式となっている。また、上述した暗号通信システムでは、１つの統括センタと複数の分割センタとが設けられ、各分割センタがエンティティの秘密ベクトルを求めるようにしたので、全てのエンティティの秘密を１つのセンタが握るようなことはなく、Big Brother 問題を解決できている。
【００７３】
図３は、本発明の記録媒体の実施の形態の構成を示す図である。以下に説明する記録媒体に記録されており、上記（４）に示す各エンティティ固有の法を求める処理と、上記（５），（６）に示す各エンティティ固有の秘密鍵を計算する処理とを含むプログラムがロードされるコンピュータ40は、統括センタ１側に設けられている。また、以下に説明する記録媒体に記録されており、上記（７）に示すエンティティ間での共通の法を求める処理と、上記（８），（９）に示すエンティティ間の共有鍵を計算する処理とを含むプログラムがロードされるコンピュータ40は、各エンティティ側に設けられている。
【００７４】
図３において、コンピュータ40とオンライン接続する記録媒体41は、コンピュータ40の設置場所から隔たって設置される例えばＷＷＷ(World Wide Web)のサーバコンピュータを用いてなり、記録媒体41には前述の如きプログラム41a が記録されている。記録媒体41から読み出されたプログラム41a がコンピュータ40を制御することにより、統括センタ１において各エンティティ固有の秘密鍵を生成し、各エンティティにおいて通信対象のエンティティに対する共有鍵を生成する。
【００７５】
コンピュータ40の内部に設けられた記録媒体42は、内蔵設置される例えばハードディスクドライブまたはＲＯＭなどを用いてなり、記録媒体42には前述の如きプログラム42a が記録されている。記録媒体42から読み出されたプログラム42a がコンピュータ40を制御することにより、統括センタ１において各エンティティ固有の秘密鍵を生成し、各エンティティにおいて通信対象のエンティティに対する共有鍵を生成する。
【００７６】
コンピュータ40に設けられたディスクドライブ40ａに装填して使用される記録媒体43は、運搬可能な例えば光磁気ディスク，ＣＤ−ＲＯＭまたはフレキシブルディスクなどを用いてなり、記録媒体43には前述の如きプログラム43a が記録されている。記録媒体43から読み出されたプログラム43a がコンピュータ40を制御することにより、統括センタ１において各エンティティ固有の秘密鍵を生成し、各エンティティにおいて通信対象のエンティティに対する共有鍵を生成する。
【００７７】
【発明の効果】
以上詳述したように、本発明では、各エンティティ毎に各エンティティ固有の法を設定し、設定した法により各エンティティ固有の秘密鍵を生成するようにしたので、ＬＬＬアルゴリズムに基づく攻撃に対して安全性を高くすることが可能となる。
【図面の簡単な説明】
【図１】本発明の暗号通信システムの構成を示す模式図である。
【図２】２人のエンティティ間における情報の通信状態を示す模式図である。
【図３】記録媒体の実施の形態の構成を示す図である。
【図４】ＩＤ−ＮＩＫＳのシステムの原理構成図である。
【符号の説明】
１  統括センタ
10  分割センタ
11，21  公開鍵生成器
12，22  共有鍵生成器
13  暗号化器
23  復号器
30  通信路
40  コンピュータ
41，42，43  記録媒体
【図１】
0003953235.tif 000018
【図２】
0003953235.tif 000019
【図３】
0003953235.tif 000020
【図４】
0003953235.tif 000021