(57)【特許請求の範囲】
【請求項１】
複数のエンティティとセンタから構成される通信システムにおけるエンティティ間の通信方法であって、
前記センタが、２つの前記エンティティの識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成し、
前記センタが、各エンティティに対して、生成された前記秘密情報の中から当該エンティティの識別番号と他のエンティティの識別番号との全ての組み合わせに対する秘密情報の配列を配送し、
各エンティティが、前記センタから配送された当該エンティティの識別番号と他のエンティティの識別番号との組み合わせに対する秘密情報のそれぞれを、当該他のエンティティの識別番号をアドレスとしてメモリに記憶させ、
送信側エンティティが、受信側エンティティの識別番号と送信側エンティティ自身の識別番号との組み合わせに対応する秘密情報を、当該受信側エンティティの識別番号をアドレスとして当該送信側エンティティの前記メモリから出力させ、
前記送信側エンティティが、出力された前記秘密情報を用いて平文を暗号文に変換して前記受信側エンティティに送信し、
前記受信側エンティティが、当該受信側エンティティの識別番号と前記送信側エンティティの識別番号との組み合わせに対応する秘密情報を、当該送信側エンティティの識別番号をアドレスとして当該受信側エンティティの前記メモリから出力させることで、前記送信側と共通の秘密情報を出力し、
前記受信側エンティティが、出力された前記共通の秘密情報を用いて、前記送信側エンティティから受信した暗号文を平文に復号することを特徴とする通信方法。
【請求項２】
前記センタが、各エンティティの識別子を当該エンティティの前記識別番号に変換する関数を公開し、
前記送信側エンティティが、前記関数を用いて前記受信側エンティティの識別子を識別番号に変換し、当該識別番号をアドレスとして当該送信側エンティティの前記メモリから秘密情報を出力させ、
前記受信側エンティティが、前記関数を用いて前記送信側エンティティの識別子を識別番号に変換し、当該識別番号をアドレスとして当該受信側エンティティの前記メモリから秘密情報を出力させることを特徴とする請求項１に記載の通信方法。
【請求項３】
前記送信側エンティティが、前記暗号文と共に当該送信側エンティティの識別子を前記受信側エンティティに送信し、
前記受信側エンティティが、前記送信側エンティティから受信した当該送信側エンティティの識別子を、前記関数を用いて当該送信側エンティティの識別番号に変換することを特徴とする請求項２に記載の通信方法。
【請求項４】
前記秘密情報は所定ビットの乱数であることを特徴とする請求項１に記載の通信方法。
【請求項５】
前記送信側エンティティが、前記所定ビットの乱数を暗号鍵として平文を暗号文に変換し、
前記受信側エンティティが、前記所定ビットの乱数を暗号鍵として暗号文を平文に復号することを特徴とする請求項４に記載の通信方法。
【請求項６】
複数のエンティティとセンタから構成される通信のネットワークにおけるエンティティ間の通信方法であって、
前記センタが、全エンティティの識別番号を所定ビット毎の複数階層の部分識別番号に分割した階層毎に、２つの前記部分識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成し、
前記センタが、各エンティティに対して、前記階層毎に、生成された前記秘密情報の中から、当該エンティティの識別番号を構成する当該階層の部分識別番号と他の部分識別番号との全ての組み合わせに対する秘密情報の配列を配送し、
各エンティティが、前記センタから配送された当該エンティティの部分識別番号と他の部分識別番号との組み合わせに対する階層毎の秘密情報のそれぞれを、当該他の部分識別番号をアドレスとして階層毎のメモリに記憶させ、
データを送信しようとする送信側エンティティが、前記各階層について、送信先となる受信側エンティティのその階層の部分識別番号と送信側エンティティ自身のその階層の部分識別番号との組み合わせに対応する秘密情報を、当該受信側エンティティのその階層の部分識別番号をアドレスとして当該送信側エンティティのその階層に対する前記メモリから出力させ、当該各階層について出力された秘密情報を合成し、
前記送信側エンティティが、合成された前記秘密情報を用いて平文を暗号文に変換して前記受信側エンティティに送信し、
前記受信側エンティティが、前記各階層について、当該受信側エンティティのその階層の識別番号と前記送信側エンティティのその階層の識別番号との組み合わせに対応する秘密情報を、当該送信側エンティティのその階層の部分識別番号をアドレスとして当該受信側エンティティのその階層に対する前記メモリから出力させ、当該各階層について出力された秘密情報を合成することで、前記送信側と共通の秘密情報を合成し、
前記受信側エンティティが、合成された前記共通の秘密情報を用いて、前記送信側エンティティから受信した暗号文を平文に復号することを特徴とする通信方法。
【請求項７】
複数のエンティティとセンタから構成される通信システムであって、
前記センタが、
２つの前記エンティティの識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成する生成手段と、
各エンティティに対して、生成された前記秘密情報の中から当該エンティティの識別番号と他のエンティティの識別番号との全ての組み合わせに対する秘密情報の配列を配送する配送手段とを有し、
前記複数のエンティティの各々が、
前記センタから配送された当該エンティティの識別番号と他のエンティティの識別番号との組み合わせに対する秘密情報のそれぞれを、当該他のエンティティの識別番号をアドレスとして記憶するメモリと、
そのエンティティ自身の識別番号と通信の相手先となるエンティティの識別番号との組み合わせに対応する秘密情報を、当該相手先となるエンティティの識別番号をアドレスとして前記メモリから出力する出力手段と、
前記出力手段により出力された秘密情報を用いて平文を暗号文に変換して前記相手先となるエンティティに送信する送信手段と、
前記相手先となるエンティティから暗号文を受信し、前記出力手段により出力された秘密情報を用いて当該暗号文を平文に復号する受信手段とを有することを特徴とする通信システム。
【請求項８】
複数のエンティティとセンタから構成される通信システムであって、
前記センタが、
全エンティティの識別番号を所定ビット毎の複数階層の部分識別番号に分割した階層毎に、２つの前記部分識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成する生成手段と、
各エンティティに対して、前記階層毎に、生成された前記秘密情報の中から、当該エンティティの識別番号を構成する当該階層の部分識別番号と他の部分識別番号との全ての組み合わせに対する秘密情報の配列を配送する配送手段とを有し、
前記複数のエンティティの各々が、
前記センタから配送された当該エンティティの部分識別番号と他の部分識別番号との組み合わせに対する階層毎の秘密情報のそれぞれを、当該他の部分識別番号をアドレスとして記憶する階層毎のメモリと、
前記各階層について、そのエンティティ自身のその階層の部分識別番号と通信の相手先となるエンティティのその階層の部分識別番号との組み合わせに対応する秘密情報を、当該相手先となるエンティティのその階層の部分識別番号をアドレスとしてその階層に対する前記メモリから出力させる出力手段と、
前記出力手段により各階層について出力された秘密情報を合成する合成手段と、
前記合成手段により合成された秘密情報を用いて平文を暗号文に変換して前記相手先となるエンティティに送信する送信手段と、
前記相手先となるエンティティから暗号文を受信し、前記合成手段により合成された秘密情報を用いて当該暗号文を平文に復号する受信手段とを有することを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、通信ネットワークにおける暗号通信に先だって、通信を行うエンティティ（装置、ソフトウェア、及びそれらの集合などの通信を行う主体）の間で暗号鍵を共有する暗号鍵共有装置及びその方法に関する。
【０００２】
【従来の技術】
暗号通信で達成されるセキュリティは、通信の当事者であるエンティティだけが同一の暗号鍵を持ち、当事者以外のエンティティがその暗号鍵を有さないことに強く依存するので、安全で効率のよい暗号鍵共有方式が望まれている。暗号鍵共有方式については、以下に示す参考文献に詳細に示されている。
【０００３】
［１］辻井、笠原著：“暗号と情報セキュリティ”，昭晃堂，１９９０
［２］池野、小山著：“現代暗号理論”，電子情報通信学会，１９８６
［３］Ｒ．Ｂｌｏｍ著：“Ｎｏｎ−ｐｕｂｌｉｃ  ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ”，ＣＲＹＰＴＯ′８２，１９８２
［４］田中著：“ＩＤ情報に基づく暗号系の一実現法”，信学技法，ＩＴ８６−３８，１９８６
［５］松本、今井著：“簡便な暗号鍵共有方式’，信学技法，ＩＴ８６−５４，１９８６
［６］Ｓ．Ｔｕｊｉｉ，Ｔ．Ｉｔｏ・ａｎｄ  Ｋ．Ｋｕｒｏｓａｗａ著：“ＩＤ−ｂａｓｅｄ  ｃｒｙｐｔｏｓｙｓｔｅｍ  ｕｓｉｎｇ  ｄｉｓｃｒｅｔｅ  ｌｏｇａｒｉｔｈｍ  ｐｒｏｂｌｍ”，Ｅｌｅｃｔ．Ｌｅｔｔ．，Ｖｏｌ．２３，Ｎｏ．２４，１９８７．１１．
従来より、暗号鍵の共有方式は次の４つに大別されており、以下に各々の特徴を示す。
【０００４】
第１の暗号鍵共有方式は、各エンティティが想定される全ての通信相手と、他の暗号的手段もしくは物理的手段により、個別に暗号鍵を打ち合わせ共有する方式である。第１の暗号鍵共有方式は、セキュリティが確実である反面、想定される通信相手の数が多数であるときには多大な手間がかかる。また、不特定多数の暗号通信では見知らぬ相手との鍵の打ち合わせは困難なので、不特定多数の暗号通信には不向きである。
【０００５】
第２の暗号鍵共有方式は、各エンティティが自分の秘密情報に基づき公開情報を作成し、この公開情報の読み出しは自由であるが書き込みや消去は厳重に管理された公開フィルムに登録し、通信の際に自分の秘密情報と相手の公開情報から共有すべき暗号鍵を計算して求める方式である。第２の暗号鍵共有方式では、通信の際に必要に応じて公開フィルムを参照すれば、どのエンティティとでも暗号鍵の共有が行えるので、不特定多数相手の暗号通信にも通信可能であるが、公開フィルムまたはそれに相当する公開情報の管理機構が必要である。更に、大規模ネットワークの場合、各エンティティが相手の公開情報を参照するための手間も無視できない。
【０００６】
第３の暗号鍵共有方式は、通信路に固有に定められた公開情報を利用して各エンティティが秘密に定めた乱数等から生成される値を交換して共有すべき暗号鍵を計算して求める方式である。第３の暗号鍵共有方式では、乱数情報を交換すればどのエンティティとでも簡単に暗号鍵の共有が行える。しかし、暗号通信に先立って乱数を交換するための予備通信が必要であり、その通信相手を確認できない。従って、他人になりすまして認証にパスしようとするいわゆる「なりすまし」が可能である。
【０００７】
第４の暗号鍵共有方式は、各エンティティの名前や電話番号などの識別子（ＩＤ）をセンタが受け取り、センタ固有の秘密アルゴリズムを用いて、そのＩＤに対応する秘密鍵を生成して各エンティティに送り、各エンティティはその秘密鍵と通信相手のＩＤから共有すべき暗号鍵を計算して求める方式である。この方式は、ＩＤ−ｂａｓｅｄ鍵共有方式（前述の参考文献［１］４章参考）と呼ばれ、通信相手の確認が行える。この方式は大きく分けて暗号通信に先立つ予備通信を必要とする方式と必要としない方式に分類される。予備通信を必要とする方式は通信文のみを暗号化して送る電子メールのような使用ができないが、予備通信を必要としない方式は電子メール的な使用ができ、利用範囲が広い。
【０００８】
予備通信を必要としない鍵共有方式は今後の利用が期待されており、次のような特徴を有する。
【０００９】
まず、準備として、センタは秘密のアルゴリズムｇ（ｉ，ｊ）を定め（ただし、ｉ，ｊはＩＤで、入れ替え可能とする）、ｉを固定したｇｉ（ｊ）を各エンティティｉに配布する。エンティティＡ，Ｂが鍵を共有したい場合、Ａは自分のアルゴリズムにＢのＩＤを入力して共通鍵ｋＡＢを得る。
【００１０】
ｋＡＢ＝ｇＡ（Ｂ）
また、Ｂは自分のアルゴリズムにＡのＩＤを入力して同じ共通鍵ｋＡＢを得る。
【００１１】
ｋＡＢ＝ｇＢ（Ａ）
【００１２】
【発明が解決しようとする課題】
しかしながら、上記予備通信を必要としないＩＤ−ｂａｓｅｄ鍵共有方式では、以下に掲げる問題点があった。
【００１３】
センタの秘密である１つのアルゴリズムｇ（ｉ，ｊ）を多人数で共有するので、結託によって破られる可能性がある。
【００１４】
また、安全性は計算の複数さや行列式のランク等の数学的なものに依存しているので、安全性やシステムの拡張が困難な場合が多い。
【００１５】
さらに、センタが全ての秘密を握っているので、センタが１つあればセンタからの攻撃を防ぐことはできない。このことについて、さらに詳述する。
【００１６】
センタは信頼できるとするか、複数あり結託しないという前提が従来例では置かれていたが、鍵共有方式のための公の機関・制度がない時点においてセンタとは何かを考えた場合、センタはその鍵共有方式を製造した会社か、その製造会社から許可を得て鍵共有方式を販売している会社などになると思われる。このような状況においてセンタは信用できる、またはセンタは複数あり、かつそのセンタ同士が結託しない等という保証はない。従って、この観点からみると従来の予備通信無しの鍵共有方式は全て安全なものではなく、実用上安全な方式は今まで提案されたことはなかった。
【００１７】
また、センタが信頼できるとしても、従来の予備通信無しの鍵共有方式は結託に関して次のような問題が生じる。例えば、Ａ社とＢ社に同一の鍵共有方式が採用され、Ａ，Ｂ各社の多数の社員が共有したとする。Ａ社はＢ社も同一の鍵共有方式を採用していることを知っているが、Ｂ社は他に誰が同一鍵共有方式を採用しているか知らないとする。Ａ社に結託に必要な人数の社員がいればＡ社内のみの結託によってセンタの秘密がばれ、Ｂ社の秘密もばれる。従って、Ｂ社は盗聴や改ざんなどの被害を受けるがＢ社は犯人の見当さえつかない。また、Ａ社とＢ社の秘密アルゴリズムを別にすれば、この状況はなくなるがＡ，Ｂ社間の秘密通信はできない。
【００１８】
そこで、本発明は上述の欠点を除去し、予備通信がなく鍵共有のための手間が簡単で安全な通信方法及びそのシステムを提供することを目的とする。
【００１９】
【課題を解決するための手段】
上記目的を達成するために、本発明の通信方法は、複数のエンティティとセンタから構成される通信システムにおけるエンティティ間の通信方法であって、前記センタが、２つの前記エンティティの識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成し、前記センタが、各エンティティに対して、生成された前記秘密情報の中から当該エンティティの識別番号と他のエンティティの識別番号との全ての組み合わせに対する秘密情報の配列を配送し、各エンティティが、前記センタから配送された当該エンティティの識別番号と他のエンティティの識別番号との組み合わせに対する秘密情報のそれぞれを、当該他のエンティティの識別番号をアドレスとしてメモリに記憶させ、送信側エンティティが、受信側エンティティの識別番号と送信側エンティティ自身の識別番号との組み合わせに対応する秘密情報を、当該受信側エンティティの識別番号をアドレスとして当該送信側エンティティの前記メモリから出力させ、前記送信側エンティティが、出力された前記秘密情報を用いて平文を暗号文に変換して前記受信側エンティティに送信し、前記受信側エンティティが、当該受信側エンティティの識別番号と前記送信側エンティティの識別番号との組み合わせに対応する秘密情報を、当該送信側エンティティの識別番号をアドレスとして当該受信側エンティティの前記メモリから出力させることで、前記送信側と共通の秘密情報を出力し、前記受信側エンティティが、出力された前記共通の秘密情報を用いて、前記送信側エンティティから受信した暗号文を平文に復号することを特徴とする。
また、本発明の通信方法は、複数のエンティティとセンタから構成される通信のネットワークにおけるエンティティ間の通信方法であって、前記センタが、全エンティティの識別番号を所定ビット毎の複数階層の部分識別番号に分割した階層毎に、２つの前記部分識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成し、前記センタが、各エンティティに対して、前記階層毎に、生成された前記秘密情報の中から、当該エンティティの識別番号を構成する当該階層の部分識別番号と他の部分識別番号との全ての組み合わせに対する秘密情報の配列を配送し、各エンティティが、前記センタから配送された当該エンティティの部分識別番号と他の部分識別番号との組み合わせに対する階層毎の秘密情報のそれぞれを、当該他の部分識別番号をアドレスとして階層毎のメモリに記憶させ、データを送信しようとする送信側エンティティが、前記各階層について、送信先となる受信側エンティティのその階層の部分識別番号と送信側エンティティ自身のその階層の部分識別番号との組み合わせに対応する秘密情報を、当該受信側エンティティのその階層の部分識別番号をアドレスとして当該送信側エンティティのその階層に対する前記メモリから出力させ、当該各階層について出力された秘密情報を合成し、前記送信側エンティティが、合成された前記秘密情報を用いて平文を暗号文に変換して前記受信側エンティティに送信し、前記受信側エンティティが、前記各階層について、当該受信側エンティティのその階層の識別番号と前記送信側エンティティのその階層の識別番号との組み合わせに対応する秘密情報を、当該送信側エンティティのその階層の部分識別番号をアドレスとして当該受信側エンティティのその階層に対する前記メモリから出力させ、当該各階層について出力された秘密情報を合成することで、前記送信側と共通の秘密情報を合成し、前記受信側エンティティが、合成された前記共通の秘密情報を用いて、前記送信側エンティティから受信した暗号文を平文に復号することを特徴とする。
本発明の通信システムは、複数のエンティティとセンタから構成される通信システムであって、前記センタが、２つの前記エンティティの識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成する生成手段と、各エンティティに対して、生成された前記秘密情報の中から当該エンティティの識別番号と他のエンティティの識別番号との全ての組み合わせに対する秘密情報の配列を配送する配送手段とを有し、前記複数のエンティティの各々が、前記センタから配送された当該エンティティの識別番号と他のエンティティの識別番号との組み合わせに対する秘密情報のそれぞれを、当該他のエンティティの識別番号をアドレスとして記憶するメモリと、そのエンティティ自身の識別番号と通信の相手先となるエンティティの識別番号との組み合わせに対応する秘密情報を、当該相手先となるエンティティの識別番号をアドレスとして前記メモリから出力する出力手段と、前記出力手段により出力された秘密情報を用いて平文を暗号文に変換して前記相手先となるエンティティに送信する送信手段と、前記相手先となるエンティティから暗号文を受信し、前記出力手段により出力された秘密情報を用いて当該暗号文を平文に復号する受信手段とを有することを特徴とする。
また、本発明の通信システムは、複数のエンティティとセンタから構成される通信システムであって、前記センタが、全エンティティの識別番号を所定ビット毎の複数階層の部分識別番号に分割した階層毎に、２つの前記部分識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成する生成手段と、各エンティティに対して、前記階層毎に、生成された前記秘密情報の中から、当該エンティティの識別番号を構成する当該階層の部分識別番号と他の部分識別番号との全ての組み合わせに対する秘密情報の配列を配送する配送手段とを有し、前記複数のエンティティの各々が、前記センタから配送された当該エンティティの部分識別番号と他の部分識別番号との組み合わせに対する階層毎の秘密情報のそれぞれを、当該他の部分識別番号をアドレスとして記憶する階層毎のメモリと、前記各階層について、そのエンティティ自身のその階層の部分識別番号と通信の相手先となるエンティティのその階層の部分識別番号との組み合わせに対応する秘密情報を、当該相手先となるエンティティのその階層の部分識別番号をアドレスとしてその階層に対する前記メモリから出力させる出力手段と、前記出力手段により各階層について出力された秘密情報を合成する合成手段と、前記合成手段により合成された秘密情報を用いて平文を暗号文に変換して前記相手先となるエンティティに送信する送信手段と、前記相手先となるエンティティから暗号文を受信し、前記合成手段により合成された秘密情報を用いて当該暗号文を平文に復号する受信手段とを有することを特徴とする。
【００３１】
【実施例】
つぎに、本発明の通信方法及びそのシステムの実施例を図面に基づき説明する。本実施例では、暗号鍵共有方法およびその装置に適用された場合を示す。
【００３２】
以下、第１〜第３実施例において２エンティティ間の鍵共有、第４実施例において２以上のエンティティ間の鍵共有の場合に対して具体的に説明する。
【００３３】
［第１実施例］
まず、第１実施例では全エンティティ数が数百程度の小規模な通信系（ＬＡＮコンピュータネットワーク等）において、次のような手順で鍵共有を行う。
【００３４】
▲１▼センタはＩＤをｍ次元横行列に１対１にランダムに変換する関数ｆを公開する。
【００３５】
さらに、次の関係式（１）を満たすＧｉ（ｉ＝１…Ｎ）及び£を生成する。
【００３６】
【数１】
（ｇｉｊ＝ｇｊｉ：ｇｉｊは任意のアルゴリズム、またはｂビットの乱数）
Ｇ１＝［ｇ１１，ｇ１２，ｇ１３，…，ｇ１Ｎ］
Ｇ２＝［ｇ２１，ｇ２２，ｇ２３，…，ｇ２Ｎ］
Ｇ３＝［ｇ３１，ｇ３２，ｇ３３，…，ｇ３Ｎ］
：
ＧＮ＝［ｇＮ１，ｇＮ２，ｇＮ３，…，ｇＮＮ］
0003548215.tif 000002
（Ｎ＝ｑ＾ｍ：全エンティティ数）
ここで、上記記号「＾」は階乗を示し、例えばＡ＾ＢはＡのＢ乗を示す。以下、同様とする。）
▲２▼各エンティティｉ（ｉ＝１…Ｎ）は自分のＩＤｉをセンタに登録し、ｆｉ＝ｆ（ＩＤｉ）に対応するＧｆｉをセンタからもらう。
【００３７】
▲３▼エンティティＡは次式（２）にしたがって自分のＩＤＡとエンティティＢのＩＤＢから次のｋＡＢを生成し、そのｋＡＢを共通鍵として平文Ｍから次の暗号文Ｃを生成し、自分のＩＤＡと共に暗号文ＣをエンティティＢに送る。
【００３８】
【数２】
ｆＢ＝ｆ（ＩＤＢ）
ｋＡＢ＝ｇｆＡｆＢ
Ｃ＝Ｅ（ｋＡＢ，Ｍ）：（ｘ，ｙ）はｘを鍵としてｙを暗号化する手段
▲４▼エンティティＢは送られてきたＩＤＡと自分のＩＤＢから次式（３）のしたがって共通鍵ｋＡＢを生成しＣを復号する。
【００３９】
【数３】
ｆＡ＝ｆ（ＩＤＡ）
ｋＡＢ＝ｇｆＢｆＡ
Ｍ＝Ｄ（ｋＡＢ，Ｃ）：Ｄ（ｘ，ｙ）はｘを鍵としてｙを復号する手段
Ｎが数百程度であれば、Ｇｉは１０ビット以内のアドレスを持つメモリに内蔵できる。また、その出力ｇｉｊを６４ビットの乱数とすれば、ｇｉｊは暗号方式としてよく知られたＤＥＳ暗号（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）の鍵としてそのまま用いることができる。この場合、上に示したＥ（ｘ，ｙ），Ｄ（ｘ，ｙ）はＤＥＳに相当する。また、ＤＥＳ暗号の基本変換Ａにおいて、左の３２ビットＬに加算される関数ｆは必ずしも必要でなく、ここでは省略する。
【００４０】
本実施例では、暗号鍵共有装置によって鍵の共有を行う。図１はセンタから配送されたエンティティｉに対応する行列Ｇｆｉを内蔵する暗号鍵共有装置の構成を示すブロック図である。暗号鍵共有装置１０は、通信相手のＩＤを変換した値ｆｊを格納するレジスタ１５、ｆｊをアドレスとして６４ビットの乱数ｇｉｊを出力する行列Ｇｆｉを記憶するメモリ２０、ｇｉｊに応じた鍵ｋｉｊを格納する鍵レジスタ２５、および鍵ｋｉｊを用いて平文Ｍを暗号文Ｃに変換するＤＥＳ暗号回路３０を備える。暗号鍵共有装置１０では、通信相手であるエンティティのＩＤ（ｆｉとする）をレジスタ１５に入力すると、このｆｊをアドレスとしてＧｆｉを蓄えたメモリｇｆｉｆｉが出力され、そのｇｉｊを鍵ｋｉｊとしてＤＥＳ暗号回路３０が平文Ｍを暗号文Ｃに変換する。
【００４１】
［第２実施例］
つぎに、第２実施例の暗号鍵共有方法およびその装置について説明する。
【００４２】
一般回線のような大規模ネットワークの場合、全エンティティの数Ｎは非常に大きいので、前記第１実施例の行列Ｇｆｉを格納するためには非常に大きなメモリを必要とする。これに対し、本実施例ではこのような全エンティティの数Ｎが非常に大きい場合に次のような手法によって大きなメモリを不要とする。
【００４３】
図２は、大規模通信系を示す説明図である。
【００４４】
ｆｉ＝ｆ（ＩＤｉ）はエンティティｉのアドレスに相当する（図２）ので、まずｍビットのｆｉをｍｈビット毎（ｈ＝１…ｐ）に分割し（ただし、Σｍｈ＝ｍ）、図２の大規模通信系を図３のように階層化して考える。ｈ番目の階層における人数ｎ＝ｑ＾ｍｈのエンティティに対し独立に次の£ｈを生成する。
【００４５】
£ｈ＝［Ｇｈ１，Ｇｈ２，Ｇｈ３，…，Ｇｈｎ］
従って、図３に対する鍵共有手順は次のようになる。
【００４６】
▲１▼センタはＩＤをｍ次元横行列に１対１にランダムに変換する関数ｆを公開する。
【００４７】
さらに、階層数ｐ個の次の関係式（４）を満たすＧｈｉ（ｈ＝１…ｐ，ｉ＝１…ｎ）及び£ｈを生成する。
【００４８】
（ｇｈｉｊ＝ｇｈｉｊ：ｇｈｉｊは任意のアルゴリズム、またはｂビットの乱数）
【００４９】
【数４】
Ｇｈ１＝［ｇｈ１１，ｇｈ１２，ｇｈ１３，…，ｇｈ１ｎ］
Ｇｈ２＝［ｇｈ２１，ｇｈ２２，ｇｈ２３，…，ｇｈ２ｎ］
Ｇｈ３＝［ｇｈ３１，ｇｈ３２，ｇｈ３３，…，ｇｈ３ｎ］
：
Ｇｈｎ＝［ｇｈｎ１，ｇｈｎ２，ｇｈｎ３，…，ｇｈｎｎ］
0003548215.tif 000003
▲２▼エンティティｉ（ｉ＝１…ｎ）は自分のＩＤｉをセンタに登録し、ｆｉ＝ｆ（ＩＤｉ）をｍｈビット毎に分割したｆｉｈに対応するＧｈｆｉｈ（ｈ＝１…ｐ）をセンタからもらう。
【００５０】
▲３▼エンティティＡは自分のＩＤＡとエンティティＢのＩＤＢから次式（５）にしたがってｋＡＢを生成する。
【００５１】
そのｋＡＢを共通鍵として平文Ｍから次の暗号文Ｃを生成し、自分のＩＤＡと共に暗号文ＣをエンティティＢに送る。
【００５２】
【数５】
ｆＢ＝ｆ（ＩＤＢ）
ｋＡＢ＝ΣｇｈｆＡＢｈ（ｇｈｉｊがアルゴリズムの場合、Σはアルゴリズムの合成を意味する）
Ｃ＝Ｅ（ｋＡＢ，Ｍ）
▲４▼エンティティＢは送られてきたＩＤＡと自分のＩＤＢから次式（６）にしたがって共通鍵ｋＡＢを生成しＣを復号する。
【００５３】
【数６】
ｆＡ＝ｆ（ＩＤＡ）
ｋＡＢ＝ΣｇｈｆＢｈｆＡｈ
Ｍ＝Ｄ（ｋＡＢ，Ｃ）
例えば、全エンティティ数Ｎが１兆人を想定した大規模ネットワークである場合、Ｎ＝１０１２〜２４０であるので（ｑ＝１０，ｍ＝１２）、図２の大規模通信系では４０ビットのアドレスを持つメモリを必要とし実現不可能である。しかし、図３に示すように階層化された大規模通信系ではｍｈ＝２とすると階層で構成され、ｎ＝１０２〜２７となり、７ビットアドレスのメモリ６個で良くなる。ｍｈ＝１の場合１２階層で構成され、ｎ＝１０〜２４となり、４ビットアドレスのメモリ１２個でよい。各ｇｈｉｊを６ビットの乱数とすると、各々３８３４ゲート、９５９ゲート程度となりＣ−ＭＯＳゲートで十分実現可能である。
【００５４】
従って、図３に示すような階層構造であれば十分大きな全エンティティ数Ｎに対して予め準備しておくことができる。また、本方式はもしＮの値を増す必要が生じた場合でも今までの階層の上にさらに階層を継ぎ足せばよく拡張性に富んでいる（１階層増せば、エンティティの数はｎ倍される）。この場合、各階層毎の処理はメモリの内容が異なるだけで同じであるので同一の回路構成によって処理できる。
【００５５】
図４は第２実施例の暗号鍵共有装置５０の構成を示すブロック図である。
【００５６】
暗号鍵共有装置５０は、エンティティｊのＩＤをｍｈビット毎に分割して変換した値ｆｊｈを格納するレジスタ５５、分割されたｆｊｈに対応する複数のＧｈｆｉｈ（ｈ＝１…ｐ）を記憶するメモリ６０、ｍｈビット毎に対応して出力されるｇｈｆｉｆｊ（ｈ−１…ｐ）をＥＸＯＲあるいはアルゴリズムで合成する合成器６５、共通鍵ｋｉｊ（＝Σｇｈｆｉｈｆｊｉ）を格納する鍵レジスタ７０、および共通鍵ｋｉｊを用いて平文Ｍを暗号文Ｃに変換するＤＥＳ暗号回路７５を備える。
【００５７】
よって、図４に示す暗号鍵共有装置５０によって暗号鍵の共有を行うには、まずセンタから配送されたエンティティｉに対応する行列Ｇｆｉをｍｈビット毎に分割したｆｉｈに対応する複数のＧｈｆｉｈ（ｈ＝１…ｐ）をメモリ６０に内蔵しておく。次ぎ、通信相手となるエンティティｊのＩＤ（ｆｊとする）を入力すると、ｆｊはレジスタ５５においてｍｈビット毎に分割されたＧｈｆｉｈ（ｈ＝１…ｐ）を記憶するメモリ６０に分割された値ｆｊｈをアドレスとして入力されると、メモリ６０からｇｈｆｉｆｊ（ｈ＝１…ｐ）が出力される。そのｇｈｆｉｆｊ（ｈ＝１…ｐ）と既にＥＸＯＲの演算がなされて鍵レジスタ７０に格納されたΣｇｈｆｉｆｊと合成器６５にてさらにＥＸＯＲの演算を行うことによって共通鍵ｋｉｊを生成する。そのｋｉｊを鍵としてＤＥＳ暗号回路７５が平文Ｍを暗号文Ｃに変換する。
【００５８】
［第３実施例］
次に、第３実施例の暗号鍵共有方法およびその装置について説明する。
【００５９】
従来の予備通信無しの鍵共有方式は、１つのセンタからの攻撃を防ぐことができないといった欠点を持つのに対して、第３実施例の暗号鍵共有方法およびその装置では、鍵を固有化して防ぐことに特徴を有する。図５は第３実施例の通信系における鍵の固有化を示す説明図である。図５において、£１以上の階層は前記第２実施例において説明された通信系と同じであり、一般回線に当たる。エンティティＢをある会社またはルートディレクトリと考える。通常Ｂの下にはいくつもの社員またはユーザディレクトリに相当する階層がある。従って、Ｂの社員またはユーザディレクトリ（サブエンティティ）を管理する部門等が独自に£０を定めＢのサブエンティティに配布する。ＢのサブエンティティはＢのみで通用する秘密鍵を生成し、£１階層以上で決められた鍵ＫＢＢに加える。これによって、ＢはＢのグループ内の秘密をセンタから守ることができる。このように、本実施例の方式による暗号鍵共有装置を例えば、ＩＣカード内に構成し、Ｂのサブエンティティが出張し£１以上の一般回線を用いてＢ内のサブエンティティと通信する場合にも適用できる。
【００６０】
また、Ｂの支社がＰにある場合も同様の£０を定めて置けば£１以上の一般回線を使用してもセンタからの攻撃から守ることができる。
【００６１】
ＫＢ１Ｐ２＝ＫＢＰ＋ｇｏｉｊ：ｇｏｉｊがアルゴリズムの場合＋はアルゴリズム合成を意味する。
【００６２】
また、次のような方法によってもセンタからの攻撃を防ぐことができる。Ａ，Ｂが特定のグループに属し、Ａ，Ｂしか知らないパスワードが決めておけるとする。このとき、Ａ，Ｂは通常の共通鍵ＫＡＢに加えて、Ａ，Ｂ間のパスワードＰＷＡＢから特定される値またはアルゴリズムを合成する。これによってＡ，Ｂはセンタからの攻撃を防ぐことができる。
【００６３】
ＫＡＢ＝ＫＡＢ＋ｇ（ＰＷＡＢ）：ｇ（ｘ）はｘによって定められるアルゴリズム
また、これを用いれば３人以上のグループ鍵共有もパスワードの共有によって簡単に行える。
【００６４】
従って、ＡとＢの鍵共有には最終的に次の演算を行えばよい。社員番号及びパスワードに当たるものがない場合はＩＤＡ１＝ＩＤＢ２＝ＰＷＡＢ＝０とすれば、一般回線上の鍵共有となる。
【００６５】
ＫＡＢ＝ΣｇｈｆＡｈｇＢｈ＋ｇ０Ａ１Ｂ２＋ＰＷＡＢ
この鍵の固有化を実現するには、センタは図１あるいは図４に示した暗号鍵共有装置１０，５０を配布するに際し、固有配列£０に対応するＧ０ｎを格納するメモリの空容量を残して各エンティティに配布しておけばよい。配布されたエンティティ側では暗号鍵共有装置１０，５０においてエンティティのＩＤｊを入力し、一般回線における共通鍵を生成した後、さらに、サブエンティティのＩＤまたはパスワードを入力し、この共通鍵に加えればよい。
【００６６】
また、ＢがＢの固有配列£０を決定するには、次の規則（１），（２）をｎ・（ｎ＋１）／２回繰り返すだけよいので、簡単である。また、結託への強度はメモリ容量によってきまるので考える必要がない。
【００６７】
（１）£０の配列要素を任意に決定する。
【００６８】
（２）その決定した配列要素をｉ行ｊ列とｊ行ｉ列に配置する。
【００６９】
以上に示した鍵の固有化によって、エンティティ間の結託による他のエンティティへの攻撃も同時に防ぐことができる。エンティティ同士が結託しても£１以上の階層しかわからず、Ｂ以外のＡ〜Ｚのエンティティが全て結託しても£０はわからず安全である。
【００７０】
さらに、£０を定めてＢ社が盗聴や改ざんなどの被害にあったとき、結託者または結託協力者は必ず内部にいることになり、犯人が特定されやすい。また、パスワードを定めておけば、そのパスワードを共有している人が犯人または漏らした責任者となり、やはり犯人が特定されやすい。
【００７１】
［第４実施例］
次に、第４実施例の暗号鍵共有方法およびその装置について説明する。本実施例では、３人のエンティティによる鍵共有に特徴がある。
【００７２】
本実施例の鍵共有手順は次のようである。
【００７３】
▲１▼センタはＩＤをｍ次元横行列に１対１にランダムに変換する一方向関数ｆを公開する。さらに、次の関係を満たすＧｉ（３）（ｉ＝１…Ｎ）及び£（３）を生成する。（ｇｉｊｋ＝ｇｊｉｋ＝ｇｋｊｉ：ｇｉｊｋは任意の関数、またはｂビットの乱数）
【００７４】
【数７】
0003548215.tif 000004
0003548215.tif 000005
▲２▼エンティティｉ（ｉ＝１…Ｎ）は自分のＩＤｉをセンタに登録し、ｆｉ＝ｆ（ＩＤｉ）に対応するＧｆｉ（３）をセンタからもらう。
【００７５】
▲３▼エンティティＡは次式（８）に従って自分のＩＤＡとエンティティＢ，ＣのＩＤＢ，ＩＤＣから次のＫＡＢＣを生成する。そのＫＡＢＣを共通鍵として平文Ｍから次の暗号文Ｃを生成し、ＩＤＡ，ＩＤＢ，ＩＤＣと共にＢ，Ｃに送る。
【００７６】
【数８】
ｆＢ＝ｆ（ＩＤＢ），ｆｃ＝ｆ（ＩＤｃ）
ＫＡＢＣ＝ｇｆＡｆＢｆＣ
Ｃ＝Ｅ（ＫＡＢＣ，Ｍ）
▲４▼エンティティＢは送られてきたＩＤＡ，ＩＤＢ，ＩＤＣから次式（９）に従って共通鍵ＫＡＢＣを生成しＣを復号する。
【００７７】
【数９】
ｆＡ＝ｆ（ＩＤＡ），ｆｃ＝ｆ（ＩＤＣ）
ＫＡＢＣ＝ｇｆＢｆＡｆＣ
Ｍ＝Ｄ（ＫＡＢＣ，Ｃ）
▲５▼エンティティＣも次式（１０）にしたがって同様に共通鍵ＫＡＢＣを生成しＣを復号する。
【００７８】
【数１０】
ｆＡ＝ｆ（ＩＤＡ），ｆＢ＝ｆ（ＩＤＢ）
ＫＡＢＣ＝ｇｆＣｆＢｆＡ
Ｍ＝Ｄ（ＫＡＢＣ，Ｃ）
これは今までの２人のエンティティによる鍵共有の考え方を拡張したものである。図６は通信系におけるグループ鍵共有を示す説明図である。図６においてＡ〜Ｚは前記第１乃至第３実施例と同じ各エンティティを示す。ＡＢ以降は架空のエンティティである。Ａ，Ｂ，Ｃが鍵を共有しようとした場合、ＡはＢＣ，ＢはＡＣ，ＣはＡＢとの鍵共有を行う。ｇＡＢＣ＝ｇＢＡＣ＝ｇＣＡＢであるので、Ａ，Ｂ，Ｃは鍵共有が行える。
【００７９】
また、大きな全エンティティ数Ｎに対しては前記第２実施例で示した階層構造が次に用いられる。
【００８０】
▲１▼センタＩＤをｍ次元横行列に１対１にランダムに変換する一方向関数ｆを公開する。さらに、次式（１１）に示すｐ個の次の関係を満たすＧｈｉ（３）（ｈ＝１…ｐ，ｉ＝１…ｎ）及び£ｈ（３）を生成する。ただし、Ｇｈｉ（ｓ）はｓ人までの鍵生成行列を示す。
【００８１】
（ｇｈｉｊｋ＝ｇｈｊｉｋ＝ｇｈｋｊｉ：は任意の関数、またはｂビットの乱数）
【００８２】
【数１１】
0003548215.tif 000006
0003548215.tif 000007
▲２▼エンティティｉ（ｉ＝１…Ｎ）は自分のＩＤｉをセンタに登録し、ｆｉ＝ｆ（ＩＤｉ）をｍｈビット毎に分割したｆｉｈに対応するＧｆｉｈ（ｈ＝１…ｐ）をセンタからもらう。
【００８３】
▲３▼エンティティＡは自分のＩＤＡとエンティティＢ，ＣのＩＤＢ，ＩＤＣから次式（１２）に従ってＫＡＢＣを生成する。そのＫＡＢＣを共通鍵として平文Ｍから次の暗号文Ｃを生成し、ＩＤＡ，ＩＤＢ，ＩＤＣと共にＢ，Ｃに送る。
【００８４】
【数１２】
ｆＢ＝ｆ（ＩＤＢ），ｆＣ＝ｆ（ＩＤＣ）
ＫＡＢＣ＝ΣｇｈｆＡｈｆＢｈｆＣｈ
Ｃ＝Ｅ（ＫＡＢＣ，Ｍ）
▲４▼エンティティＢは送られてきたＩＤＡ，ＩＤＢ，ＩＤＣから次式（１３）に従って共通鍵
【００８５】
【数１３】
ＫＡＢＣを生成しＣを復号する
ｆＡ＝ｆ（ＩＤＡ），ｆＣ＝ｆ（ＩＤＣ）
ＫＡＢＣ＝ΣｇｈｆＢｈｆＡｈｆＣｈ
Ｍ＝Ｄ（ＫＡＢＣ，Ｃ）
▲５▼エンティティＣも次式（１４）にしたがって同様に共通鍵ＫＡＢＣを生成しＣを復号する。
【００８６】
【数１４】
ｆＡ＝ｆ（ＩＤＡ），ｆＢ＝ｆ（ＩＤＢ）
ＫＡＢＣ＝ΣｇｈｆＣｈｆＢｈｆＡｈ
Ｍ＝Ｄ（ＫＡＢＣ，Ｃ）
この場合、Ｇｉの大きさは２人による鍵共通の場合と比較すると、ｎからｎ（ｎ＋１）／２になる。従って、このような階層構造を用いると、ｎエンティティによるｐ階層の通信系の上にさらにｐ階層付け加えれば、図６に示した通信系と同様に３人の鍵共通が行える。
従って、グループ鍵の共有も図１または図４に示した同様の暗号鍵共有装置によって実現できることは明らかである。ただし、この場合、ＩＤは複数人のＩＤを意味することになる。
【００８７】
ｓ人の鍵共有に関しても同様に、階層を積み重ねていけばよい。ただし、ｓ人の鍵共有を行うにはＧｉ（５）を与えておく必要がある。Ｇｉ（ｓ−１）はＧｉ（ｓ）の一部に含まれるので、Ｇｉ（ｓ−１）とＧｉ（ｓ）は同時に存在することができる。ただし、Ｇｉ（ｓ−１）に比べてＧｉ（ｓ）は大きな容量メモリが必要になるが、本方式は各階層毎の処理が簡単でかつ同一であり、かつ最近は大容量メモリを手に入れることができるので、多人数間のグループ鍵共有装置も十分実現可能である。また、小人数による鍵共通方式と多人数による鍵共有方式が同時に存在できるので、装置を必要に応じて拡張していくことも可能である。
【００８８】
また、第３実施例に示された鍵の公有化は本実施例に示す３人以上の鍵共有方式に対しても有効であることは言うまでもない。
【００８９】
本実施例の暗号鍵共有方法およびその装置は、本発明の範囲を逸脱しない範囲で種々の変更が可能である。例えば、本実施例では各階層毎の暗号鍵共有方式を１つの方式で統一したが、各階層毎の暗号鍵共有方式が異なっていてもよい。従来の鍵共有方式を組み合わせてもよい。
【００９０】
また、鍵の固有化の考え方も異なる方式を組み合わせたり、従来方式で実現することもできる。
【００９１】
さらに、暗号鍵及び暗号鍵生成アルゴリズムは任意でよいので、各エンティティが指定したり、それを元にセンタが生成してもよい。
【００９２】
また、ＩＤを暗号鍵生成のための変数としてではなく、アドレスとして用いるという考え方は本発明の暗号鍵共有方式のみでなく、他の暗号鍵共有方式及び暗号方式にも適用できる。
【００９３】
さらに、各エンティティ間のパスワードや各エンティティ間の暗号鍵が乱数である場合は、従来例に示した予備通信有りの鍵配送方式によって各エンティティ同士が打ち合せを行うこともできる。
【００９４】
また、図１または図４に示した暗号鍵共有装置はＩＣカード等の物理的に保護された計算機などにすると、高い安全性が保証される。
【００９５】
さらに、センタとして複数の独立したセンタからなるネットワークに対しても、各センタの暗号鍵または暗号鍵生成アルゴリズムを暗号鍵共有装置内部で合成すれば、同様の装置で対応することができる。
【００９６】
また各実施例の手順▲３▼，▲４▼において、共通鍵ＫＡＢを得た後に次のようにすれば暗号文毎に鍵を変更することができる。
【００９７】
▲３▼エンティティＡはＫＡＢから乱数ｒを暗号化したＲを自分のＩＤＡと共にＢに送り、そのｒによって平文Ｍを暗号化したＣもまたＢに送る。
【００９８】
Ｒ＝Ｅ１（ＫＡＢ，ｒ）
Ｃ＝Ｅ２（ｒ，Ｍ）
▲４▼エンティティＢは生成した共通鍵ＫＡＢからＲをｒに復号し、そのｒによってＣを平文Ｍに復号する。
【００９９】
ｒ＝Ｄ２（ＫＡＢ，Ｒ）
Ｍ＝Ｄ１（ｒ，Ｍ）
この場合、暗号方式（Ｅ１，Ｄ１）と（Ｅ２，Ｄ２）は同じ方式でもよい。これは、同じｒを２人以上のエンティティに送ることによって、ｒをグループ鍵として用いることも可能である。
【０１００】
本実施例の暗号鍵共有方法およびその装置では、従来の鍵共有方式に対して、次のような特徴を持つ。
【０１０１】
（準備）センタが複数の任意のアルゴリズムｇｉｊを定め、エンティティｉ，ｊに送る。
【０１０２】
（鍵共有）エンティティＡ，Ｂが鍵共有をしたい場合、Ａ，Ｂともに自分のアルゴルズムの中からＡＢ番目にあるｇＡＢをそのまま共通鍵とする。
【０１０３】
これによって従来方式の欠点が次のように除去される。
【０１０４】
１）１つのアルゴリズムｇｉｊを共通するのは、ｉ，ｊのみであるので基本的には結託によって破られることはない。
【０１０５】
２）システムや安全性の拡大は第２および第４実施例に示すようにして簡単に行うことができる。また、安全性を計算の複雑さや行列のランク等の数字的なものに置かないので、計算が簡単な方式を選ぶことができる。また、エンティティから指定された値または手順を暗号鍵または暗号鍵生成手順として用いることもできる。
【０１０６】
３）センタからの攻撃は第３実施例のように鍵を個別化することによって防ぐ。
【０１０７】
【発明の効果】
以上説明したように、本発明によれば、予備通信を必要としない暗号文の通信において、センタから各エンティティには、そのエンティティの識別番号と他のエンティティの識別番号との組み合わせに対応する秘密情報の配列を配送するようにし、各エンティティはそれらの組み合わせに対する秘密情報のそれぞれを、他のエンティティの識別番号をアドレスとしてメモリに記憶させておき、相手先のエンティティに対応する秘密情報をそのエンティティの識別番号をアドレスとしてメモリから出力させて用いるようにしたので、共通のアルゴリズムからエンティティ毎のアルゴリズムを作成して配送する従来の場合と異なり、複数のエンティティが結託しても、それらのエンティティの知らない秘密情報を得ることはできないので、結託に対して安全なシステムを構成することができる。
【０１０８】
ここで、識別番号の各組み合わせに対する秘密情報は、それぞれ乱数とするなど、共通のアルゴリズムなどによらずに全く独立に生成できるので、安全性は計算の複雑さなどの数学的なものに依存しておらず、システムの拡張も容易である。
【０１０９】
また、識別番号を所定ビット毎の複数階層の部分識別番号に分割し、各階層毎に、２つの前記部分識別番号の組み合わせのそれぞれに対して、独立な秘密情報を生成するようにし、各エンティティが、各階層について、相手側エンティティのその階層の部分識別番号と自身のその階層の部分識別番号との組み合わせに対応する秘密情報を選択し、各階層について選択された秘密情報を合成して用いるようにすることで、エンティティ数が多い場合でも、結託に対して安全なシステムを実現することができる。
【０１１０】
例えば、全エンティティ数Ｎを１兆人とした場合、図２ではＮ＝１０１２＝２４０であるので４０ビットのアドレスを持つメモリを必要とし実現不可能である。しかし、図３のような階層構造（ｍｈ＝２，Ｐ＝６）、ｎ＝１０２＝２７となり７ビットアドレスのメモリ６個で良くなり、小さな回路規模で１兆人の鍵共有が可能になる。
【図面の簡単な説明】
【図１】第１実施例の暗号鍵共有装置の構成を示すブロック図である。
【図２】大規模通信系を示す説明図である。
【図３】階層化された大規模通信系を示す説明図である。
【図４】第２実施例の暗号鍵共有装置の構成を示すブロック図である。
【図５】第３実施例の通信系における鍵の固有化を示す説明図である。
【図６】本発明によるグループ鍵共有を示す説明図である。
【符号の説明】
１０  暗号鍵共有装置
１５  レジスタ
２０  メモリ
２５  鍵レジスタ
３０  ＤＥＳ暗号回路
【図１】
0003548215.tif 000008
【図２】
0003548215.tif 000009
【図３】
0003548215.tif 000010
【図４】
0003548215.tif 000011
【図５】
0003548215.tif 000012
【図６】
0003548215.tif 000013