(57)【要約】【課題】高い安全性を備え、高効率な通信量、計算量であり、通信対象の情報がストリーミングデータでも対応でき、標準規格の装置を流用できる。【解決手段】複数の送信先に情報を暗号化して送信する同報通信暗号化方法であって、送信先の公開鍵ｐｋｉと暗号化関数ＫＥを用いて、秘密鍵ａｉと暗号化した秘密鍵ｅｉを生成し（８、Ｓ５６）、共通鍵Ｒを生成し（５４、Ｓ５７）、共通鍵Ｒと秘密鍵ａｉとの排他的論理和を計算して、共通鍵Ｒを暗号化し（９４、Ｓ８０）、共通鍵Ｒを用いて、通信対象の情報ｍのビット長に等しいマスクＭを生成し（１３２２、Ｓ６２）、マスクＭと情報ｍとの排他的論理和を計算して、情報ｍを暗号化し（１３２４、Ｓ８４）、共通鍵Ｒと暗号化情報ｃ’を用いて、ＲＫＡ安全に、暗号化情報ｃ’の認証子Ｔａｇを生成し（１３２６、Ｓ６４）、暗号化情報ｃ’と認証子Ｔａｇを結合させる。【選択図】図１８
2008177998.tif 000002
【特許請求の範囲】
【請求項１】
複数の送信先に情報を暗号化して送信する同報通信暗号化方法であって、
秘密鍵生成・暗号化手段で、上記送信先の公開鍵と暗号化関数を用いて、秘密鍵と、当該秘密鍵を暗号化した暗号化秘密鍵を生成する秘密鍵生成・暗号化過程と、
共通鍵生成手段で、第１の共通鍵と第２の共通鍵を合成したもの（以下、合成共通鍵という）を生成する共通鍵生成過程と、
共通鍵暗号化手段で、上記合成共通鍵と上記秘密鍵との排他的論理和を計算することで、上記合成共通鍵を暗号化する共通鍵暗号化過程と、
仮暗号文生成手段で、上記第１の共通鍵を用いて、上記情報から仮暗号文を生成する仮暗号文生成過程と、
認証子生成手段で、上記第２の共通鍵を用いて、関係鍵攻撃に対して安全に、上記仮暗号文の認証子を生成する認証子生成過程と、
結合手段で、上記仮暗号文と上記認証子を結合することで、上記情報を暗号化する結合過程と、を有することを特徴とする同報通信暗号化方法。
【請求項２】
共通鍵を用いる情報暗号化方法であって、
認証子生成手段で、上記共通鍵を用いて、通信対象の情報のビット長に等しいマスクを擬似ランダムに生成するマスク生成過程と、
仮暗号文生成手段で、上記マスクと上記情報との排他的論理和を計算することで、上記情報の仮暗号文を生成する仮暗号文生成過程と、
定数付加手段で、入力された定数と上記仮暗号文とを結合させ、定数付加仮暗号文を生成する定数付加過程と、
上記認証子生成手段で、上記共通鍵と上記定数付加仮暗号文を用いて、関係鍵攻撃に対して安全に、上記仮暗号文の認証子を生成する認証子生成過程と、
結合手段で、上記仮暗号文と上記認証子を結合させることで、上記情報を暗号化する結合過程とを有することを特徴とする情報暗号化方法。
【請求項３】
複数の送信先に情報を暗号化して送信する同報通信暗号化方法であって、
秘密鍵生成・暗号化手段で、上記送信先の公開鍵と暗号化関数を用いて、秘密鍵および当該秘密鍵を暗号化した暗号化秘密鍵を生成する秘密鍵生成・暗号化過程と、
共通鍵生成手段で、共通鍵を生成する共通鍵生成過程と、
共通鍵暗号化手段で、上記共通鍵と上記秘密鍵との排他的論理和を計算することで、上記共通鍵を暗号化する共通鍵暗号化過程と、
請求項２記載の情報暗号化方法の各過程と、を有することを特徴とする同報通信暗号化方法。
【請求項４】
暗号化された情報を復号する情報復号方法であって、
鍵生成手段で、公開鍵と私有鍵を生成する鍵生成過程と、
秘密鍵復号手段で、上記私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める秘密鍵復号過程と、
共通鍵復号手段で、上記秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、第１の共通鍵と第２の共通鍵を求める共通鍵復号過程と、
分離手段で、受信した結合された仮暗号文と当該仮暗号文の認証子を分離して、上記仮暗号文と上記仮暗号文の認証子を求める分離過程と、
情報復号手段で、上記第１の共通鍵を用いて、上記仮暗号文を復号して情報を求める情報復号過程と、
認証子判定手段で、上記第２の共通鍵を用いて、確認用認証子を生成し、上記仮暗号文の認証子と上記確認用認証子とが一致するか否かを判定する認証子判定過程とを有し、
上記情報復号過程は、上記認証子判定過程で上記仮暗号文の認証子と上記確認用認証子とが一致しないと判定されると、上記情報復号手段が上記求められた情報を廃棄する過程であることを特徴とする情報復号方法。
【請求項５】
暗号化された情報を復号する情報復号方法であって、
鍵生成手段で、公開鍵と私有鍵を生成する鍵生成過程と、
秘密鍵復号手段で、上記私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める秘密鍵復号過程と、
共通鍵復号手段で、上記秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、共通鍵を求める共通鍵復号過程と、
分離手段で、受信した結合された仮暗号文と当該仮暗号文の認証子を分離して、上記仮暗号文と上記仮暗号文の認証子を求める分離過程と、
認証子生成手段で、上記共通鍵を用いて、上記仮暗号文のビット長に等しいマスクを生成するマスク生成過程と、
情報復号手段で、上記仮暗号文と上記マスクの排他的論理和を計算することで、上記情報を求める情報復号過程と、
認証子判定手段で、上記共通鍵を用いて、確認用認証子を生成し、上記仮暗号文の認証子と上記確認用認証子とが一致するか否かを判定する認証子判定過程とを有し、
上記情報復号過程は、上記認証子判定過程で上記仮暗号文の認証子と上記確認用認証子とが一致しないと判定されると、上記情報復号手段が上記情報を廃棄する過程であることを特徴とする情報復号方法。
【請求項６】
複数の送信先に情報を暗号化して送信する同報通信暗号化装置であって、
上記送信先の公開鍵と暗号化関数を用いて、秘密鍵および当該秘密鍵を暗号化した暗号化秘密鍵を生成する上記送信先ごとの秘密鍵生成・暗号化部と、
第１の共通鍵と第２の共通鍵を合成したもの（以下、合成共通鍵という）を生成する共通鍵生成部と、
上記合成共通鍵と上記秘密鍵との排他的論理和を計算することで、上記合成共通鍵を暗号化する共通鍵暗号化部と、
上記第１の共通鍵を用いて、上記情報から仮暗号文を生成する仮暗号文生成部と、
上記第２の共通鍵を用いて、関係鍵攻撃に対して安全に、上記仮暗号文の認証子を生成する認証子生成部と、
上記仮暗号文と上記認証子を結合することで上記情報を暗号化する結合部と、を有することを特徴とする同報通信暗号化装置。
【請求項７】
共通鍵を用いる情報暗号化装置であって、
上記共通鍵を用いて、通信対象の情報のビット長に等しいマスクを擬似ランダムに生成する認証子生成部と、
上記マスクと上記情報との排他的論理和を計算することで、仮暗号文を生成する仮暗号文生成部と、
入力された定数と上記仮暗号文とを結合させ、定数付加仮暗号文を生成する定数付加部と、
上記共通鍵と上記定数付加仮暗号文を用いて、関係鍵攻撃に対して安全に、上記仮暗号文の認証子を生成する上記認証子生成部と、
上記仮暗号文と上記認証子を結合することで、上記情報を暗号化する結合部と、を有することを特徴とする情報暗号化装置。
【請求項８】
複数の送信先に情報を暗号化して送信する同報通信暗号化装置であって、
上記送信先の公開鍵と暗号化関数を用いて、秘密鍵および当該秘密鍵を暗号化した暗号化秘密鍵を生成する上記送信先ごとの秘密鍵生成・暗号化部と、
共通鍵を生成する共通鍵生成部と、
上記秘密鍵と上記共通鍵との排他的論理和を計算することで、上記共通鍵を暗号化する共通鍵暗号化部と、
請求項７記載の情報暗号化装置と、を有することを特徴とする同報通信暗号化装置。
【請求項９】
暗号化された情報を復号する情報復号装置であって、
公開鍵と私有鍵を生成する鍵生成部と、
上記私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める秘密鍵復号部と、
上記秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、第１の共通鍵と第２の共通鍵を求める共通鍵復号部と、
受信した結合された仮暗号文と当該仮暗号文の認証子を分離して、上記仮暗号文と上記仮暗号文の認証子を求める分離部と、
上記第１の共通鍵を用いて、上記仮暗号文を復号して情報を求める情報復号部と、
上記第２の共通鍵を用いて、確認用認証子を生成し、上記仮暗号文の認証子と上記確認用認証子とが一致するか否かを判定する認証子判定部とを有し、
上記情報復号部は、上記認証子判定部が一致しないと判定すると、上記求められた情報を廃棄するものであることを特徴とする情報復号装置。
【請求項１０】
暗号化された情報を復号する情報復号装置であって、
公開鍵と私有鍵を生成する鍵生成部と、
上記私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める秘密鍵復号部と、
上記秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、共通鍵を求める共通鍵復号部と、
受信した結合された仮暗号文と当該仮暗号文の認証子を分離して、上記仮暗号文と上記仮暗号文の認証子を求める分離部と、
上記共通鍵を用いて、上記仮暗号文のビット長に等しいマスクを生成するマスク生成部と、
上記仮暗号文と上記マスクの排他的論理和を計算することで、上記情報を求める情報復号部と、
上記共通鍵を用いて、確認用認証子を生成し、上記仮暗号文の認証子と上記確認用認証子とが一致するか否かを判定する認証子判定部とを有し、
上記情報復号部は、上記認証子判定部が一致しないと判定すると、上記求められた情報を廃棄するものであることを特徴とする情報復号装置。
【請求項１１】
請求項１〜５の何れかに記載した方法の各過程をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、同報通信暗号化方法、情報暗号化方法、情報復号方法、それらの方法を利用した装置、システム、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
まず、本明細書中で使用する用語について説明する。「暗号化する」とは、送信の対象となる情報（ビット列、以下「平文」とも呼び、テキスト文章に限られず映像情報、音声情報なども含む）をある鍵（ビット列）を用いて他の（通常元のデータとはまったく異なる）ビット列（以下「暗号文」とも呼ぶ）に変換することを言う。ただし、暗号文だけからでは平文に関する情報を得ることが困難なこと、対応する平文と暗号文の組だけからでは鍵に関する情報を得ることが困難なことなど、状況によって様々な安全性が要求される。「暗号化装置」とは、データを暗号化する装置を指す。また、「復号する」とは、鍵を用いて暗号文を元のデータ（平文）に復元することを言い、「復号装置」とは、暗号化されたデータを復号する装置を指す。さらに、単に「暗号」、「暗号技術」、「暗号アルゴリズム」、「暗号装置」、「暗号方法」、「暗号手段」、というときは、暗号化と復号の両方を含むものとする。
【０００３】
一般に、暗号は公開鍵暗号と共通鍵暗号の２種類に類別できる。公開鍵暗号は、送信側が受信側の（秘密ではない）公開鍵を使ってデータ（平文）を暗号化して送信するために利用される。一方、共通鍵暗号は、送信側と受信側が同じ鍵を秘密に保持しているときデータ（平文）を暗号化して送信するために利用される。通常、公開鍵暗号は共通鍵暗号より低速なため、暗号化通信を行う際には、共通鍵暗号で問題となる秘密鍵の共有問題（鍵配送問題）の解決に公開鍵暗号を利用し、秘密鍵が共有された後の通信秘匿には共通鍵暗号を用いることが多い。公開鍵暗号システムは、公開鍵を登録する公開鍵簿、送信装置、および受信装置からなるシステムである。公開鍵暗号システムは公開鍵暗号のみでも実装できるが、公開鍵暗号で鍵配送をし、その時共有された秘密鍵で、共通鍵暗号を使って平文を暗号化通信するのが一般的な公開鍵暗号（ハイブリッド暗号）システムである。
【０００４】
標準化が進められているハイブリッド暗号の実現方法として、ＫＥＭ（Key Encapsulation Mechanism）−ＤＥＭ（Data Encapsulation Mechanism）による構成がある（非特許文献１）。この構成について以下に説明する。
図１に鍵カプセル化装置（ＫＥＭ）２の機能構成を示す。本手段は、鍵ビット長パラメータ４、鍵生成部６、秘密鍵生成・暗号化部８、秘密鍵復号部１０から構成される。鍵ビット長パラメータ４は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから秘密鍵のビット長パラメータｋｌを出力する。記号では、ｋｌ＝ＫＬ（λ）と表すこととする。ここで、セキュリティパラメータλとは、０以上の整数であって、送信者と受信者の間であらかじめ定まっているものとする。セキュリティパラメータλは理論上必要なパラメータであって、これを引数に取る各アルゴリズムが、λに関する多項式時間内で終了することを規定するために設けてあるものである。鍵生成部６は、確率的アルゴリズムを実行する構成部であって、セキュリティパラメータλから公開鍵ｐｋと私有鍵ｓｋの組を出力する。記号では、（ｐｋ，ｓｋ）←ＫＧ（λ）と表すこととする。秘密鍵生成・暗号化部８は、確率的アルゴリズムを実行する構成部であって、公開鍵ｐｋから秘密鍵ａと暗号化した秘密鍵ｅの組を出力する。記号では、（ａ，ｅ）←ＫＥ（ｐｋ）と表すこととする。ここで秘密鍵ａは、ビット長がｋｌの０または１からなり、記号ではａ∈{０，１}ｋｌと表す。また暗号化した秘密鍵は、ビット長が任意の０または１からなり、記号ではｅ∈{０，１}＊と表す。秘密鍵復号部１０は、確定的アルゴリズムを実行する構成部であって、私有鍵ｓｋを用いて暗号化された秘密鍵ｅを復号し、秘密鍵ａを出力する。記号では、ａ＝ＫＤｓｋ（ｅ）と表すこととする。鍵カプセル化装置（ＫＥＭ）２では、任意の（ｐｋ，ｓｋ）←ＫＧ（λ）と（ａ，ｅ）←ＫＥ（ｐｋ）に対して、常にａ＝ＫＤｓｋ（ｅ）が成り立つ。上述した「←」は確率的に求められるということであり、「＝」は確定的に求められることを示す。
【０００５】
図２にデータカプセル化装置（ＤＥＭ）１２の機能構成を示す。本装置は、鍵ビット長パラメータ１４、情報暗号化部１６、情報復号部１８から構成される。鍵ビット長パラメータ１４は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから秘密鍵のビット長パラメータｄｌを出力する。記号では、ｄｌ＝ＤＬ（λ）と表すこととする。情報暗号化部１６は、確定的アルゴリズムの構成部であって、秘密鍵ａを用いて平文ｍを暗号化し、暗号文ｃを出力する。記号では、ｃ＝ＤＥａ（ｍ）と表すこととする。ここで秘密鍵ａは、ビット長がｄｌの０または１からなるビット列である（ａ∈{０，１}ｄｌ）。また平文ｍおよび暗号文ｃは、ビット長が任意の０または１からなるビット列である（ｍ∈{０，１}＊、ｃ∈{０，１}＊）。情報復号部１８は、確定的アルゴリズムを実行する構成部であって、秘密鍵ａを用いて暗号文ｃを復号し、平文ｍを出力する。記号では、ｍ＝ＤＤａ（ｃ）と表すこととする。データカプセル化装置（ＤＥＭ）１２では、任意のａ∈{０，１}ｄｌとｍ∈{０，１}＊に対して、常にＤＤａ（ＤＥａ（ｍ））＝ｍが成り立つ。
【０００６】
図３にハイブリッド暗号システムの機能構成を示す。ハイブリッド暗号システムは、鍵カプセル化装置２内の構成装置とデータカプセル化装置１２内の構成装置とを組み合わせた、暗号化装置２０と復号装置４０から構成される。また、鍵カプセル化装置２とデータカプセル化装置１２との両方で秘密鍵ａは使用されることから、このシステム内ではｋｌ＝ｄｌが成立することが必要である。
暗号化装置２０は、秘密鍵生成・暗号化部８によって、受信者の公開鍵ｐｋから秘密鍵ａと暗号化した秘密鍵ｅ（ｅ∈{０，１}＊）の組を得る（（ａ，ｅ）←ＫＥ（ｐｋ））。次に、情報暗号化部１６で、秘密鍵ａを用いて平文ｍ（ｍ∈{０，１}＊）を暗号化し、暗号文ｃ（ｃ∈{０，１}＊）を得る（ｃ＝ＤＥａ（ｍ））。このようにして暗号化装置２０は、復号装置４０への出力として、暗号化した秘密鍵ｅと暗号文ｃの組（ｅ，ｃ）を得る。
【０００７】
復号装置４０は、あらかじめ鍵生成部４２で、セキュリティパラメータλから公開鍵ｐｋと私有鍵ｓｋの組を得る（（ｐｋ，ｓｋ）←ＫＧ（λ））。公開鍵ｐｋは、あらかじめ公開され、暗号化装置２０によって上記のように使用される。また私有鍵ｓｋは、あらかじめ復号装置４０内の私有鍵・公開鍵記憶部４４に記憶される。復号装置４０は、暗号化装置２０からの暗号化された秘密鍵ｅと暗号文ｃとの組を受信すると、復号装置４０は、私有鍵ｓｋを用いて暗号化された秘密鍵ｅを復号し、秘密鍵ａを得る（ａ＝ＫＤｓｋ（ｅ））。次に、情報復号部１８が、秘密鍵ａを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤａ（ｃ））
また、同報通信に特化した暗号方法の提案としては、例えば特許文献１がある。
以下に、同報通信の暗号方法の効率化を図った従来技術であるＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信とＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信について説明する。まず、これら２つの方式に共通する事項を説明する。
【０００８】
図４は鍵共有化装置５０の機能構成例である。鍵共有化装置５０は、鍵ビット長パラメータ５２、共通鍵生成部５４、共通鍵暗号化部５６、共通鍵復号部５８からなる。鍵ビット長パラメータ５２は、セキュリティパラメータλから共通鍵Ｒのビット長ｍｌを出力する確定的アルゴリズム装置である。記号では、ｍｌ＝ＭＬ（λ）と表すこととする。
共通鍵生成部５４は、入力の無い確率的アルゴリズム装置として、もしくは秘密鍵ａ１，…，ａｎの全部または一部を入力する確定的アルゴリズム装置として、共通鍵Ｒ（Ｒ∈{０，１}ｍｌ）を出力する。記号では、確率的アルゴリズムの場合はＲ←ＭＧ（）、確定的アルゴリズムの場合はＲ＝ＭＧ（ａ１，…，ａｎ）と表すこととする。
【０００９】
共通鍵暗号化部５６は、共通鍵Ｒを各装置の秘密鍵ａｉを用いて暗号化し、暗号化された共通鍵ｙｉを出力する確定的アルゴリズム装置である。記号としては、ｙｉ＝ＭＥａｉ（Ｒ）と表すこととする。
共通鍵復号部５８は、暗号化された共通鍵ｙｉを秘密鍵ａｉを用いて復号し、共通鍵Ｒを出力する確定的アルゴリズム装置である。記号としては、Ｒ＝ＭＤａｉ（ｙｉ）と表すこととする。鍵共有化装置５０では、任意のａｉ∈{０，１}ｋｌｉと任意のＲ←ＭＧ（）または確定的なＲ＝ＭＧ（ａ１，…，ａｎ）に対して、常にＭＤａｉ（ＭＥａｉ（Ｒ））＝Ｒが成り立つ。
【００１０】
図５は、暗号化同報通信を行うシステムの例である。この例はｎ＋１個の送受信装置６０ｉ（ｉ＝０，１，２，…，ｎ）から構成されている。各送受信装置６０ｉは、鍵カプセル化装置２内の構成装置、データカプセル化装置１２内の構成装置、および鍵共有化装置５０内の構成装置を組み合わせた、送信装置６２ｉ、受信装置６４ｉ、記録装置６６ｉから構成されている。
次に、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信とＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信について説明する。１つ目の処理「ＫＥＭ」と「Ｔａｇ−ＫＥＭ」については秘密鍵を生成する処理と生成された秘密鍵を暗号化する処理を示し、２つ目の処理「ＤＥＭ」と「ＯＴＰ」とは生成された共通鍵を暗号化する処理を示し、３つ目の処理「ＤＥＭ」と「ＯＴＰ」の処理は送信対象となる情報、つまり平文ｍを暗号化する処理を示す。以下、これら２つの方式の詳細を説明する。
【００１１】
ＫＥＭ／ＤＥＭ／ＤＥＭ方式
図６はＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信装置の機能構成例を示したものであり、図７はＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信装置の主な処理の流れを示したフローチャートである。上述の図と同一機能構成部分には同一参照番号を付け、重複説明を省略する。以下の説明についても同様である。
また、ｉの値が「０」である送受信装置６００の送信装置と、それ以外のｎ個の送受信装置６０ｉ（ｉ＝１，２，…，ｎ）の受信装置との同報通信による送受信を説明する。
送受信装置６００中の送信装置７０は、秘密鍵生成・暗号化部８、共通鍵生成部５４、鍵長変更部５５、共通鍵暗号化部５６、情報暗号化部１６により構成される。送信装置７０中の秘密鍵生成・暗号化部８は受信装置の数だけ、つまりｎ個存在する。
送受信装置６０ｉの受信装置８０ｉは秘密鍵復号部１０ｉ、共通鍵復号部５８ｉ、情報復号部１８ｉ、鍵生成部６ｉにより構成されている。
【００１２】
まず、鍵生成部６ｉでセキュリティパラメータλを用いて、（ｐｋｉ、ｓｋｉ）←ＫＧ（λ）により、公開鍵ｐｋｉと私有鍵ｓｋｉ(ｉ＝１、．．．、ｎ)を生成する（ステップＳ２）。生成された私有鍵ｓｋｉは一旦、私有鍵・公開鍵記憶部７６ｉに記憶される（ステップＳ４）。また公開鍵ｐｋｉは私有鍵・公開鍵記憶部７６ｉに記憶しても良い（ステップＳ６）。公開鍵ｐｋｉは公開され、送信装置７０の秘密鍵生成・暗号化部８に入力される。
秘密鍵生成・暗号化部８（ＫＥＭ）では、(ａｉ、ｅｉ)←ＫＥ（ｐｋｉ）により、秘密鍵ａｉと秘密鍵ａｉを暗号化された秘密鍵ｅｉが生成される（ステップＳ８）。秘密鍵ａｉは共通鍵生成部５４および共通鍵暗号化部５６に入力される。
【００１３】
共通鍵生成部５４では、Ｒ←ＭＧ（）、もしくは、Ｒ＝ＭＧ（ａ１、ａ２、．．．、ａｎ）により、共通鍵Ｒが生成される（ステップＳ１０）。共通鍵Ｒは破線で示す共通鍵記憶部７４ｉに記憶して、２回目以降の同報通信で同じ共通鍵Ｒを使用してよい。
鍵長変更部５５では、擬似乱数生成器であるＰＲＮＧ（pseudo-random number generator）を用いて、共通鍵Ｒの鍵長を２倍にして、第１の共通鍵ｒと第２の共通鍵ｒ’が生成される。なおＲ、ｒ、ｒ’のビット長は全て等しく、第１の共通鍵ｒと第２の共通鍵ｒ’とが各々独立したものである。第１の共通鍵ｒと第２の共通鍵ｒ’とが結合された状態ｒ‖ｒ’で、共通鍵暗号化部５６に入力される。この明細書、図面の説明で、「‖」は結合されていることを示す。第１の共通鍵ｒと第２の共通鍵ｒ’は独立した状態で、情報暗号化部１６に入力される。
【００１４】
共通鍵暗号化部５６（ＤＥＭ）では、秘密鍵ａｉを用いて、共通鍵ｒ‖ｒ’を暗号化して、暗号化された共通鍵ｙｉが生成される。具体的には、ｙｉ＝ＭＥａｉ（ｒ‖ｒ’）により生成される（ステップＳ１２）。
次に、情報暗号化部１６であるＤＥＭについて説明する。各々独立した第１の共通鍵ｒと第２の共通鍵ｒ’を用いて、情報暗号化部１６では平文ｍが暗号化され、暗号文ｃが生成される。具体的には、ｃ＝ＤＥｒ、ｒ’（ｍ）により暗号化して暗号文ｃが生成される（ステップＳ１３）。
【００１５】
ＤＥＭ（情報暗号化部１６）には通常３通りの構成が考えられる。Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣ，ＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔ，Ｅｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣの３通りである。ＤＥＭ（情報暗号化部１６）は、情報暗号化手段（Ｅｎｃｒｙｐｔ）と、認証子生成手段（ＭＡＣ：メッセージ認証コード  Message Authentication Code）と、結合手段とを有するが、それぞれの構成で、処理の順番が異なる。送信装置７０の情報暗号化部１６（ＤＥＭ）の構成はこれら３通りのどの構成をとってもよい。以下、これら３通りの処理について説明する。
【００１６】
図８にＥｎｃｒｙｐｔ−ａｎｄ−ＭＡＣの構成を示し，図９にＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔの構成を示し，図１０にＥｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣの構成を示す。
図８記載のＥｎｃｒｙｐｔ−ａｎｄ−ＭＡＣでは、情報暗号化手段（Ｅｎｃｒｙｐｔ）１６０で、第１の共通鍵ｒを用いて、平文ｍを暗号化して仮暗号文ｃ’が生成される。具体的には、ｃ’＝Ｅｎｃｒ（ｍ）により生成される。また、認証子生成手段（ＭＡＣ）１６２で、第２の共通鍵ｒ’を用いて、平文ｍの認証子Ｔａｇが生成される。具体的には、Ｔａｇ＝ＭＡＣｒ（ｍ）により生成される。生成された暗号文ｃ’と認証子Ｔａｇは結合手段１６４に入力される。
【００１７】
結合手段１６４で、仮暗号文ｃ’と認証子Ｔａｇが結合され、暗号文ｃが生成される。具体的には、ｃ＝ｃ’‖Ｔａｇにより生成される。
図９記載のＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔでは、認証子生成手段１６６（ＭＡＣ）で、第２の共通鍵ｒ’を用いて、平文ｍの認証子Ｔａｇが生成される。具体的には、Ｔａｇ＝ＭＡＣｒ’（ｍ）により生成される。生成された認証子Ｔａｇは結合手段１６８に入力される。
結合手段１６８で、平文ｍと生成された認証子Ｔａｇを結合させ、ｍ‖Ｔａｇが生成される。生成されたｍ‖Ｔａｇは情報暗号化手段１７０（Ｅｎｃｒｙｐｔ）に入力される。
【００１８】
情報暗号化手段１７０では、第１の共通鍵ｒを用いてｍ‖Ｔａｇを暗号化し、暗号文ｃが生成される。具体的には、ｃ＝Ｅｎｃｒ（ｍ‖Ｔａｇ）により生成される。
図１０記載のＥｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣでは、情報暗号化手段１７２で、第１の共通鍵ｒを用いて、平文ｍを暗号化し、仮暗号文ｃ’が生成される。具体的には、ｃ’＝Ｅｎｃｒ（ｍ）により生成される。生成された仮暗号文ｃ’は認証子生成手段１７４と結合手段１７６に入力される。
認証子生成手段１７４では、第２の共通鍵ｒ’を用いて仮暗号文ｃ’の認証子Ｔａｇが生成される。具体的には、Ｔａｇ＝ＭＡＣｒ’（ｃ’）により生成される。生成された認証子Ｔａｇは結合手段１７６に入力される。
【００１９】
結合手段１７６では、認証子Ｔａｇと仮暗号文ｃ’とが結合され、暗号文ｃが生成される。具体的にはｃ＝ｃ’‖Ｔａｇにより生成される。
説明を図６に戻すと、送信装置７０からは、各受信装置８０ｉ用に暗号化した秘密鍵ｅｉ（ｉ＝１，２，…，ｎ）と、各受信装置８０ｉ用に暗号化した共通鍵ｙｉと、１つの暗号文ｃの組を送信する。
上述したように、秘密鍵生成・暗号化部８がＫＥＭに相当し、共通鍵暗号化部５６がＤＥＭに相当し、情報暗号化部１６がＤＥＭに相当する。
【００２０】
次に受信装置８０ｉの復号について説明する。秘密鍵復号部１０ｉで、私有鍵・公開鍵記憶部７６ｉで記憶された私有鍵ｓｋｉと復号関数ＫＤを用いて、送信装置７０から受信した暗号化された秘密鍵ｅｉを復号して、秘密鍵ａｉが求められる。具体的には、ａｉ＝ＫＤｓｋｉ（ｅｉ）により求める（ステップＳ１４）。
共通鍵復号部５８ｉで、秘密鍵ａｉと復号関数ＭＤを用いて、送信装置から受信した暗号化された共通鍵ｙｉを復号して、第１の共通鍵ｒと第２の共通鍵ｒ’とが求められる。具体的にはｒ‖ｒ’＝ＭＤａｉ（ｙｉ）により求められる（ステップＳ１６）。
情報復号部１８ｉで、求められた第１の共通鍵ｒと、第２の共通鍵ｒ’と、復号関数ＤＤを用いて、送信装置から受信した暗号文ｃを復号して、平文ｍが求められる。具体的には、ｍ＝ＤＤｒ、ｒ’（ｃ）により求められる（ステップＳ１８）。なお、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の詳細は、特許文献２に記されている。
【００２１】
ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ
次に、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信装置について説明する。詳細は非特許文献２に記載されている。ここで、ＯＴＰとはワンタイムパッドの意味であり、データと鍵（鍵長がデータ長に比べて短い場合は、擬似乱数生成器（ＰＲＮＧ）で鍵長をデータ長と同一の長さに伸張したもの）の排他的論理和を計算することである。図１１は、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信装置の機能構成例を示したものであり、送信装置９０と受信装置１００ｉ（ｉ＝１、．．．、ｎ）により構成されている。図１２はＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信装置の主な処理の流れを示したフローチャートである。
【００２２】
送信装置９０は、秘密鍵・内部状態生成部９２と、鍵長変更部９３と、共通鍵生成部５４と、情報暗号化部９５と、共通鍵暗号化部９４と、秘密鍵暗号化部９６と、で構成されている。また、受信装置１００ｉは秘密鍵復号部１０２ｉと、共通鍵復号部１０４ｉと、情報復号部１０６ｉと鍵生成部６ｉとで構成されている。
受信装置１００ｉ内の鍵生成部６ｉで私有鍵ｓｋｉと公開鍵ｐｋｉが生成され、私有鍵ｓｋｉが私有鍵・公開鍵記憶部７６ｉに記憶され、公開鍵ｐｋｉが公開される（ステップＳ２０、ステップＳ２２、ステップＳ２４）。公開鍵ｐｋｉは秘密鍵・内部状態生成部９２に入力される。
【００２３】
秘密鍵・内部状態生成部９２で、公開鍵ｐｋｉとＴａｇ−ＫＥＭ秘密鍵生成関数Ｇｉを用いて、秘密鍵ａｉと内部状態ωｉが生成される。具体的には、（ａｉ、ωｉ）←Ｇｉ（ｐｋｉ）により生成される（ステップＳ２８）。秘密鍵ａｉは秘密鍵暗号化部９６、共通鍵暗号化部９４に入力され、内部状態ωｉは秘密鍵暗号化部９６に入力される。
また、共通鍵生成部５４により共通鍵Ｒが生成される（ステップＳ２９）。生成された共通鍵Ｒは、鍵長変更部９３（ＰＲＮＧ：擬似乱数生成器）に入力される。共通鍵Ｒのビット長は、平文ｍのビット長と比較して短い。よって、以下で説明する情報暗号化部９５の処理のために、共通鍵Ｒのビット長と平文ｍのビット長とを同一にしなければならない。鍵長変更部９３では、共通鍵Ｒのビット長が平文ｍと同一になるように、共通鍵Ｒのビット長が変更され、共通鍵Ｒ’が生成される。共通鍵Ｒ’は、情報暗号化部９５、共通鍵暗号化部９４に入力される。
【００２４】
共通鍵暗号化部９４で、共通鍵Ｒ’と秘密鍵ａｉの排他的論理和を計算する、つまり以下の式を計算することで共通鍵Ｒ’を暗号化して、暗号化された共通鍵ｘｉが求められる（ステップＳ３０）。
【００２５】
【数１】
2008177998.tif 000003
暗号化された共通鍵ｘｉは秘密鍵暗号化部９６に入力される。
また情報暗号化部９５では、共通鍵Ｒ’を用いて、平文ｍを暗号化して暗号文ｃが求められる。具体的には、以下の式により暗号文ｃを求める（ステップＳ３１）。
【００２６】
【数２】
2008177998.tif 000004
求められた暗号文ｃは、秘密鍵暗号化部９６に入力される。
秘密鍵暗号化部９６で、Ｔａｇ−ＫＥＭ暗号化関数Ｅｉと、内部状態ωｉと、暗号文ｃとを用いて秘密鍵ａｉは暗号化され、暗号化された秘密鍵ｚｉが求められる。具体的には、ｚｉ←Ｅｉ（ωｉ、ｘｉ‖ｃ）により求められる（ステップＳ３２）。
送信装置９０から、各受信装置１００ｉ用に暗号化された秘密鍵ｚｉと、各受信装置１００ｉ用に暗号化された共通鍵ｘｉと、１つの暗号文ｃとが送信される。
【００２７】
なお秘密鍵・内部状態生成部９２と秘密鍵暗号化部９６がＴａｇ−ＫＥＭに相当し、共通鍵暗号化部９４が１つ目のＯＴＰに相当し、情報暗号化部９５が２つ目のＯＴＰに相当する。
次に受信装置１００ｉの処理について説明する。秘密鍵復号部１０２ｉでは、送信装置９０から受信した暗号化された秘密鍵ｚｉを、私有鍵ｓｋｉと復号関数Ｄｉを用いて、復号する。具体的には、ａｉ＝Ｄｉ（ｚｉ、ｘｉ‖ｃ）により復号される（ステップＳ３６）。
【００２８】
秘密鍵復号部１０２ｉの秘密鍵ｚｉの復号は、復号式を見れば明らかなように、全ての暗号文ｃを受信しないと、秘密鍵ａｉを求めることは出来ない（ステップＳ３４）。つまり、平文ｍが映像等であり、ストリーミングデータの場合は、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式を用いることは出来ない。
共通鍵復号部１０４ｉで、求められた秘密鍵ａｉを用いて、暗号化された共通鍵ｘｉを復号してビット長が伸ばされた共通鍵Ｒ’を求める。具体的には、以下の式で求めることが出来る（ステップＳ３８）。
【００２９】
【数３】
2008177998.tif 000005
求められた共通鍵Ｒ’は情報復号部１０６ｉに入力される。情報復号部１０６ｉで、共通鍵Ｒ’を用いて暗号文ｃは復号されて平文ｍが求められる。具体的には、以下の式により平文ｍが求められる（ステップＳ４０）。
【００３０】
【数４】
2008177998.tif 000006
【非特許文献１】V. Shoup, ”FCD 18033-2 Encryption algorithms - Part2: Asymmetric ciphers," ISO/IEC JTC 1/SC 27, Berlin, 2004.
【非特許文献２】”Tag−ＫＥＭ/DEM:A New Framework for Hybrid Encryption and a New Analysis of Kurosawa-Desmedt KEM” Masayuki Abe,Rosario Gennaro,Kaoru Kurosawa,and Victor Shou  ２００５年３月２２日Eurocrypt  2005会議
【特許文献１】特公平０８−００４２６５号
【特許文献２】特願２００５−０１５１５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
以下に従来の技術の問題点を４点述べる。
（１）通信量の問題
図１３Ａ〜Ｆは暗号化された秘密鍵などを概念的に示した図である。図１３Ａは、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の場合のｎ個（全ての受信装置の数）の暗号化された秘密鍵ｚｉを示すものあり、図１３Ｂは、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の場合のｎ個の暗号化された共通鍵ｘｉを示すものであり、図１３ＣはＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の場合の暗号文ｃを示すものであり、図１３Ｄは、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合のｎ個の暗号化された秘密鍵ｅｉを示すものであり、図１３Ｅは、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合のｎ個の暗号化された共通鍵ｙｉを示すものであり、図１３ＦはＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合の暗号文ｃを示したものである。
【００３２】
ＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合、図１３Ｅ、図１３Ｆに斜線で示すように、暗号化された共通鍵ｙｉと暗号文ｃには、認証子Ｔａｇが付加される。この認証子の大きさはセキュリティパラメータに依存するが、大抵の場合、共通鍵ｙｉのサイズに等しい。暗号文ｃに付加された認証子の容量は暗号文の容量と比べて、かなり小さい。また、各受信装置に送る暗号文ｃは１つである。よって、暗号文ｃに付加された認証子については特に問題はない。
しかし、暗号化された共通鍵ｙｉは、認証子Ｔａｇが付加されることで、容量が２倍になる。また、暗号化された共通鍵ｙｉは、ｎ個の受信装置に送るので、ｎ種類存在する。従って、通信量が多くなり、伝送効率は悪くなる。
一方、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式では効率的な伝送を行うことが出来る。
従って、ＫＥＭ／ＤＥＭ／ＤＥＭ方式では通信量が多くなるという問題がある。
【００３３】
（２）計算量の問題
次に計算量の問題について、説明する。この（２）計算量の問題の説明のみ、ＫＥＭ／ＤＥＭ／ＤＥＭ方式とＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式について、説明簡略化のために、ＫＥＭ／ＤＥＭ１／ＤＥＭ２方式、ＴａｇーＫＥＭ／ＯＴＰ１／ＯＴＰ２として説明する。
最初に、送信装置から１台の受信装置に暗号化通信をする場合の計算量について説明する。一般的に、それぞれの処理の計算量について、以下の式が成り立つ。なお［Ａ］はＡの処理の計算量を示す。
［ＫＥＭ］＜［Ｔａｇ−ＫＥＭ］
［ＤＥＭ１］＞［ＯＴＰ１］
［ＤＥＭ２］＞［ＯＴＰ２］
［ＫＥＭ］+［ＤＥＭ２］＝［Ｔａｇ−ＫＥＭ］+［ＯＴＰ２］
よって、［ＫＥＭ］+［ＤＥＭ１］＋［ＤＥＭ２］＞［Ｔａｇ−ＫＥＭ］+［ＯＴＰ１］＋［ＯＴＰ２］となる。よって、送信装置から１台の受信装置に暗号化通信をする場合はＫＥＭ／ＤＥＭ／ＤＥＭ方式の計算量が、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の計算量より多くなる。
【００３４】
次に、送信装置からｎ（ｎ≧２）台の受信装置に暗号化通信をする場合の計算量について説明する。
ＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合、秘密鍵生成・暗号化部８で、暗号化された秘密鍵ｅｉを生成する際に、（ａｉ、ｅｉ）←ＫＥ（ｐｋｉ）の計算を受信装置数ｎ分だけ計算すればよく、暗号文ｃのサイズは考慮されない。
一方、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の場合、上述のように、図８記載の秘密鍵暗号化部９６で、暗号文ｃのサイズが考慮され、秘密鍵暗号化処理は行われる（ｚｉ←Ｅｉ（ωｉ、ａｉ‖ｃ））。よって、暗号文ｃのサイズが大きい場合は、ｎの値が大きくなるほど、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の計算量は、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の計算量よりも多くなる。従って、送信装置からｎ（ｎ≧２）台の受信装置に暗号化通信をする場合は、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の計算量は、ＫＥＭ／ＤＥＭ／ＤＥＭ方式の計算量よりも多くなる。
【００３５】
（３）ストリーミングの問題
ＫＥＭ／ＤＥＭ／ＤＥＭ方式の場合、図６に示す秘密鍵復号部１０ｉによる秘密鍵ａｉの復号処理についても、図７記載のステップＳ１４からも明らかなように、ａｉ＝ＫＤｓｋｉ（ｅｉ）を計算するだけでよい。よって、平文ｍがストリーミングデータであっても対応することが出来る。
一方、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の場合、図１１に示す受信装置１００ｉの復号処理において、上述した図１２記載のステップＳ３４に示した通り、秘密鍵復号部１０２ｉで、全ての暗号文ｃが受信されないと、復号処理を行うことは出来ない。これは秘密鍵復号部１０２ｉによる復号計算ａｉ＝Ｄｉ（ｚｉ、ｘｉ‖ｃ）からも明らかである。よって、平文ｍがストリーミングデータである場合は、ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式を適用することは出来ないという問題が生じる。
【００３６】
（４）標準規格の問題
ＫＥＭ／ＤＥＭ方式は、ＩＳＯ（International Organization for Standardization）やＮＥＳＳＩＥ(New European Schemes for Signatures, Integrity, and Encryption)等の標準化団体で規格化されているため、ＫＥＭ／ＤＥＭ／ＤＥＭ方式であれば、これらの標準仕様に準拠し、既存のモジュールを流用することが出来る。
一方、Ｔａｇ−ＫＥＭに相当する秘密鍵・内部状態生成部９２と秘密鍵暗号化部９６（図１１参照）については、規格化されておらず、新たにモジュールを作成しなければならないという問題が生じる。また、新たに開発しても、標準規格に準拠したものにはならないため、相互互換性（インターオペラビリティ）が確保できない。
【課題を解決するための手段】
【００３７】
この発明は、複数の送信先に情報を暗号化して送信する同報通信暗号化方法であって、秘密鍵生成・暗号化手段で、送信先の公開鍵と暗号化関数を用いて、秘密鍵と、当該秘密鍵を暗号化した暗号化秘密鍵を生成する。共通鍵生成手段で、第１の共通鍵と第２の共通鍵を合成したもの（以下、合成共通鍵という）を生成し、共通鍵暗号化手段で、合成共通鍵と秘密鍵との排他的論理和を計算して、合成共通鍵を暗号化する。情報暗号化手段で、第１の共通鍵を用いて、情報を暗号化し、認証子生成手段で、第２の共通鍵を用いて、関係鍵攻撃に対して安全に、暗号化された情報の認証子を生成し、結合手段で、暗号化された情報と認証子を結合する。
【００３８】
また、複数の送信先に情報を暗号化して送信する同報通信暗号化方法であって、秘密鍵生成・暗号化手段で、送信先の公開鍵と暗号化関数を用いて、秘密鍵および当該秘密鍵を暗号化した暗号化秘密鍵を生成し、共通鍵生成手段で、共通鍵を生成する。共通鍵暗号化手段で、共通鍵と秘密鍵との排他的論理和を計算することで、共通鍵を暗号化し、認証子生成手段で、共通鍵を用いて、通信対象の情報のビット長に等しいマスクを擬似ランダムに生成する。情報暗号化手段で、マスクと情報との排他的論理和を計算することで、情報を暗号化し、認証子生成手段で、共通鍵と暗号化された情報を用いて、関係鍵攻撃に対して安全に、暗号化情報の認証子を生成し、結合手段で、暗号化された情報と認証子を結合させる。
【００３９】
また、暗号化された情報を復号する情報復号方法であって、鍵生成手段で、公開鍵と私有鍵を生成し、秘密鍵復号手段で、私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める。共通鍵復号手段で、秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、第１の共通鍵と第２の共通鍵を求め、分離手段で、受信した結合された暗号化された情報と当該暗号化された情報の認証子を分離して、暗号化された情報と暗号化された情報の認証子を求める。情報復号手段で、第１の共通鍵を用いて、暗号化された情報を復号して情報を求め、認証子判定手段で、第２の共通鍵を用いて、確認用認証子を生成し、暗号化された情報の認証子と確認用認証子とが一致するか否かを判定する。認証子判定手段が一致しないと判定した場合は、情報復号手段が情報を廃棄する。
【００４０】
また、暗号化された情報を復号する情報復号方法であって、鍵生成手段で、公開鍵と私有鍵を生成し、秘密鍵復号手段で、私有鍵と復号関数を用いて、受信した暗号化された秘密鍵を復号して、秘密鍵を求める。共通鍵復号手段で、秘密鍵と受信した暗号化された共通鍵との排他的論理和を計算することで、共通鍵を求め、分離手段で、受信した結合された暗号化された情報と当該暗号化された情報の認証子を分離して、暗号化された情報と暗号化された情報の認証子を求める。認証子生成手段で、共通鍵を用いて、暗号化された情報のビット長に等しいマスクを生成し、情報復号手段で、暗号化された情報とマスクの排他的論理和を計算することで、暗号化された情報を復号し、情報を求める。認証子判定手段で、共通鍵を用いて、確認用認証子を生成し、暗号化された情報の認証子と確認用認証子とが一致するか否かを判定し、認証子判定手段が一致しないと判定すると、情報復号手段が情報を廃棄する。
【発明の効果】
【００４１】
上記の構成により、上記（１）通信量の問題については、共通鍵を暗号化する方法をワンタイムパッド（排他的論理和を計算）にすることで、暗号化された共通鍵に認証子Ｔａｇが付加されなくなる。その結果、通信量は削減され、上記（１）通信量の問題は解決される。
上記（２）計算量の問題については、共通鍵を暗号化する方法をワンタイムパッド処理にすることで、共通鍵を暗号化する際の計算量は削減される。また、秘密鍵暗号化処理には、暗号文ｃを用いず、暗号文ｃのサイズは考慮されない。よって、上記（２）計算量の問題は解決される。    
上記（３）ストリーミングの問題については、受信側の秘密鍵の復号処理に、暗号化された情報を用いない。よって、全ての暗号化された情報を受信しなくても、復号処理に支障はなく、情報がストリーミングデータであっても、対応することが出来る。よって、上記（３）ストリーミングの問題は解決される。
上記（４）標準規格の問題については、この発明で使用されるのは、ＫＥＭ、ＯＴＰ、ＤＥＭである。ＫＥＭ／ＤＥＭ方式は標準化団体で規格化されている。よってこの標準仕様を流用することが出来る。従って、上記（４）標準規格の問題については解決される。
【発明を実施するための最良の形態】
【００４２】
この発明を実施するための最良の形態を説明する前に、この発明の原理を説明する。まず、上記問題点（１）を解決するために、ＫＥＭ／ＤＥＭ／ＤＥＭ方式をＫＥＭ／ＯＴＰ／ＤＥＭ方式にする。つまり、共通鍵の暗号化をワンタイムパッド処理（ＯＴＰ）（排他的論理和の計算）に変更したものである。ＫＥＭ／ＤＥＭ／ＤＥＭ方式では、図６記載の共通鍵暗号化部５６で、共通鍵Ｒの暗号化をｙｉ＝ＭＥａｉ（Ｒ）により行っていたが、ＫＥＭ／ＯＴＰ／ＤＥＭ方式では、共通鍵Ｒの暗号化を、共通鍵Ｒと秘密鍵ａｉとの排他的論理和を計算すること、つまり、以下の式を計算することで行う。
【００４３】
【数５】
2008177998.tif 000007
これにより、計算量を少なくすることが出来る。しかし、このＫＥＭ／ＯＴＰ／ＤＥＭ方式は安全ではない。すなわち、ＫＥＭ、ＤＥＭが共に通常の「ＣＣＡ安全」なものであっても、ＫＥＭ／ＯＴＰ／ＤＥＭ方式が安全であるとは限らない。そこで、ＤＥＭが通常の「ＣＣＡ安全」よりも強力な安全である「関係鍵攻撃に対して安全（ＲＫＡ安全）」であれば、ＫＥＭは通常のＣＣＡ安全のまま、ＫＥＭ／ＯＴＰ／ＤＥＭ方式が安全であることを示すことが出来る。
【００４４】
次に、「関係鍵攻撃に対して安全（ＲＫＡ安全）」なＤＥＭについて説明する。上述したようにＤＥＭには通常、Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣ，ＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔ，Ｅｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣの３通りの構成がある(図８〜図１０参照)。この３通りのＤＥＭにおいて、「関係鍵攻撃に対して安全（ＲＫＡ安全）」なＤＥＭを形成するにはどの構成が最もよいか説明する。
ＤＥＭの構成が図８に示すＥｎｃｒｙｐｔ−ａｎｄ−ＭＡＣである場合は、情報暗号化手段１６０（Ｅｎｃｒｙｐｔ）と認証子生成手段１６２（ＭＡＣ）の両方が共にＲＫＡ安全でなければならない。よってＥｎｃｒｙｐｔ−ａｎｄ−ＭＡＣ構成のＤＥＭをＲＫＡ安全にすることは妥当ではない。
【００４５】
ＤＥＭの構成が図９に示すＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔの場合は、最も後段の情報暗号化手段１７０（Ｅｎｃｒｙｐｔ）がＲＫＡ安全であれば、ＤＥＭ全体がＲＫＡ安全になる。しかし、ＲＫＡ安全な情報暗号化手段１７０（Ｅｎｃｒｙｐｔ）は、非常に強い制約条件で、ＲＫＡ安全なＤＥＭであることと事実上同値であり、ＲＫＡ安全な情報暗号化手段１７０の構成法も明らかではない。よって、ＭＡＣ−ｔｈｅｎ−Ｅｎｃｒｙｐｔ構成のＤＥＭをＲＫＡ安全にすることは妥当ではない。
ＤＥＭの構成が、図１０に示すＥｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣの場合は、最も後段の認証子生成手段１７４（ＭＡＣ）がＲＫＡ安全であれば、ＤＥＭ全体がＲＫＡ安全である。ＲＫＡ安全な認証子生成手段１７４（ＭＡＣ）の構成方法が問題となるが、事実上、既存のＭＡＣの殆どがＲＫＡ安全であることが仮定できる。何故なら、ＭＡＣに対するＲＫＡ安全性は非常に弱い制約条件であるためである。よって、ＤＥＭ全体をＲＫＡ安全にする構成として、Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣであり、かつＭＡＣがＲＫＡ安全であることが最もふさわしい。よって、以下の実施例１で説明する送信装置中の情報暗号化部（ＤＥＭ）については、Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣを採用する。
【実施例１】
【００４６】
この発明の実施例１の送信装置の機能構成例を図１４に示し、受信装置の機能構成例を図１５に示し、受信装置の主な処理の流れを図１６に示し、送信装置の主な処理の流れを図１７に示す。
図１４記載の送信装置１１０は、秘密鍵生成・暗号化部８、共通鍵生成部５４、情報暗号化部１１６、共通鍵暗号化部９４、出力部１１４により構成され、必要に応じて、共通鍵記憶部７２も追加される。また、情報暗号化部１１６（ＤＥＭ）については、図１０で説明したＥｎｃｒｙｐｔ−ａｎｄ−ＭＡＣの構成である。情報暗号化部１１６は仮暗号文生成手段（図１０では情報暗号化手段）１７２、認証子生成手段１７４、結合手段１７６により構成されている。認証子生成手段１７４はＲＫＡ安全である。
【００４７】
図１５記載の受信装置１２０ｉは鍵生成部６ｉ、秘密鍵復号部１０ｉ、共通鍵復号部５８ｉ、入力部１２１ｉ、分離部１２２ｉ、情報復号部１８ｉ、認証子判定部１２４ｉ、により構成され、必要に応じて、私有鍵・公開鍵記憶部７６ｉ、共通鍵記憶部７４ｉ、が追加される。また認証子判定部１２４ｉは、確認用認証子生成手段１２４２ｉと判定手段１２４４ｉにより構成される。
まず、図１５記載の鍵生成部６ｉでセキュリティパラメータλより公開鍵ｐｋｉと私有鍵ｓｋｉの組が生成される（ステップＳ５０）。具体的には、（ｐｋｉ、ｓｋｉ）←ＫＧ（λ）により生成される。生成された私有鍵ｓｋｉは私有鍵・公開鍵記憶部７６ｉに記憶され（ステップＳ５２）、公開鍵ｐｋｉは公開される。また必要に応じて、公開鍵ｐｋｉは私有鍵・公開鍵記憶部７６ｉに記憶してもよい（ステップＳ５４）。
【００４８】
公開された公開鍵ｐｋｉは図１４記載の秘密鍵生成・暗号化部８に入力される。秘密鍵生成・暗号化部８では上記送信先の公開鍵ｐｋｉと暗号化関数ＫＥを用いて、各受信装置１２０ｉ（ｉ＝１、．．．、ｎ）用の秘密鍵ａｉおよび当該秘密鍵を暗号化された秘密鍵ｅｉが生成される。具体的には、（ａｉ、ｅｉ）←ＫＥ（ｐｋｉ）で生成される（図１７記載のステップＳ５６）。暗号化された秘密鍵ｅｉは出力部１１４に入力され、秘密鍵ａｉは共通鍵暗号化部９４および、共通鍵生成部５４に入力される。
共通鍵生成部５４では、合成共通鍵ｒ‖ｒ’が生成される。ｒは第１の共通鍵を表し、ｒ’は第２の共通鍵を表す。具体的な生成式は、ｒ‖ｒ’←ＭＧ（）により生成されるか、もしくは各受信装置１２０ｉ用の秘密鍵ａｉの全て、もしくは一部を用いて、ｒ‖ｒ’＝ＭＧ（ａ１、ａ２、．．．、ａｉ）により生成される（ステップＳ５７）。
【００４９】
合成共通鍵ｒ‖ｒ’は共通鍵暗号化部９４に入力され、第１の共通鍵ｒが仮暗号文生成手段１７２に入力され、第２の共通鍵ｒ’は認証子生成手段１７４に入力される。
共通鍵暗号化部９４で、秘密鍵ａｉと合成共通鍵ｒ‖ｒ’との排他的論理和を計算することで、合成共通鍵ｒ‖ｒ’は暗号化され、暗号化された合成共通鍵ｗｉが生成される。具体的には、以下の式を計算することで、暗号化される（ステップＳ６０）。
【００５０】
【数６】
2008177998.tif 000008
暗号化された合成共通鍵ｗｉは出力部１１４に入力される。
情報暗号化部１１６では、平文ｍが暗号化され、暗号文ｃが生成される（ステップＳ６１）。情報暗号化部１１６の具体的処理について説明する。上述したように、情報暗号化部（ＤＥＭ）１１６はＥｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣの構成であり、認証子生成手段（ＭＡＣ）１７４は、ＲＫＡ安全な（関係鍵攻撃に対して安全な）ＭＡＣである。
【００５１】
情報暗号化手段（Ｅｎｃｒｙｐｔ）１７２で第１の共通鍵ｒを用いて、平文ｍを暗号化し、仮暗号文ｃ’が生成される（ステップＳ６２）。具体的には、ｃ’＝Ｅｎｃｒ（ｍ）により生成される。生成された仮暗号文ｃ’は認証子生成手段１７４と結合手段１７６に入力される。
認証子生成手段１７４では、第２の共通鍵ｒ’を用いて仮暗号文ｃ’の認証子Ｔａｇを関係鍵攻撃に対して安全に（ＲＫＡ安全に）生成する。具体的には、Ｔａｇ＝ＭＡＣｒ’（ｃ’）により生成される(ステップＳ６４)。生成された認証子Ｔａｇは結合手段１７６に入力される。
【００５２】
結合手段１７６では、認証子Ｔａｇと仮暗号文ｃ’とが結合され、暗号文ｃが生成される。具体的にはｃ＝ｃ’‖Ｔａｇにより生成される（ステップＳ６６）。生成された暗号文ｃは出力部１１４に入力される。
出力部１１４から各受信装置１２０ｉ用の暗号化された秘密鍵ｅｉ（ｉ＝１、．．．、ｎ）と各受信装置１２０ｉ用の暗号化された共通鍵ｗｉと１つの暗号文ｃが送信される。
次に、図１５記載の受信装置１２０ｉについて説明する。送信装置１１０よりの暗号化された秘密鍵ｅｉと、暗号化された共通鍵ｗｉと、暗号文ｃとが入力部１２１ｉに入力される。暗号文ｃは分離部１２２ｉに入力され、暗号化された共通鍵ｗｉは共通鍵復号部５８ｉに入力され、暗号化された秘密鍵ｅｉは秘密鍵復号部１０ｉに入力される。
【００５３】
まず、秘密鍵復号部１０ｉで、私有鍵ｓｋｉと復号関数ＫＤを用いて、受信した暗号化された秘密鍵ｅｉを復号して、秘密鍵ａｉが求られる。具体的には、ａｉ＝ＫＤｓｋｉ（ｅｉ）により求める（図１６記載のステップＳ６８）。求められた秘密鍵ａｉは共通鍵復号部５８ｉに入力される。
共通鍵復号部５８ｉで、暗号化された共通鍵ｗｉと秘密鍵ａｉとの排他的論理和を計算することで、合成共通鍵ｒ‖ｒ’が求められる。具体的には、以下の式により求められる（ステップＳ７０）。
【００５４】
【数７】
2008177998.tif 000009
合成共通鍵ｒ‖ｒ’は第１の共通鍵ｒと第２の共通鍵ｒ’に分離され、第１の共通鍵ｒは情報復号部１８ｉに入力され、第２の共通鍵ｒ’は確認用認証子生成手段１２４２ｉに入力される。
分離部１２２ｉでは、暗号文ｃ（＝ｃ’‖Ｔａｇ）が分離され、仮暗号文ｃ’と仮暗号文ｃ’の認証子Ｔａｇが求められる。仮暗号文ｃ’は、確認用認証子生成手段１２４２ｉと情報復号部１８ｉとに入力され、認証子Ｔａｇは判定手段１２４４ｉに入力される。
【００５５】
情報復号部１８ｉでは第１の共通鍵ｒと復号関数Ｅｎｃ−１を用いて、仮暗号文ｃ’を復号して、平文ｍが求められる。具体的には、ｍ＝Ｅｎｃ−１ｒ（ｃ’）により求められる（ステップＳ７２）。
次に、受信装置１２０ｉの送信者が正しいか否かを判定する認証処理について説明する。確認用認証子生成手段１２４２ｉは、送信装置１１０の認証子生成手段１７４（ＭＡＣ）（図１４参照）と同じアルゴリズムである。確認用認証子生成手段１２４２ｉで、第２の共通鍵ｒ’を用いて、確認用認証子Ｔａｇ’が生成される。具体的には、Ｔａｇ’＝ＭＡＣｒ’（ｃ’）により生成される（ステップＳ７３）。生成された確認用認証子Ｔａｇ’は判定手段１２４４ｉに入力される。
【００５６】
また、判定手段１２４４ｉでは、分離部１２２ｉからの認証子Ｔａｇと、確認用認証子生成手段１２４２ｉからの確認用認証子Ｔａｇ’とが一致するか否かが判定される（ステップＳ７４）。もし、一致していないと、送信途中で送信情報が改ざんされた等の可能性があるということである。もしＴａｇとＴａｇ’とが一致しない場合は、情報復号部１８ｉによる情報の復号処理を行わずに、情報復号部１８ｉ中の仮暗号文ｃ’は廃棄される。
また、平文ｍ（受信した送信対象の情報）がストリーミングデータｍ１である場合を説明する。受信装置１２０ｉで、全ての暗号データｃ１を受信して、復号し、ストリーミングデータｍ１を全て求めた後に、認証子判定部１２４ｉによる判定を行えばよい。
【００５７】
このような送信装置、受信装置の構成にすることで、共通鍵の暗号化にワンタイムパッドが用いられ、暗号化された共通鍵に認証子Ｔａｇが付加されなくなる。よって、上記問題点（１）の通信量の問題は解決される。
また、図１７記載の共通鍵復号部５８ｉの共通鍵暗号化処理をワンタイムパッド処理にすることで、共通鍵を暗号化する際の計算量は削減される。また、秘密鍵生成・暗号化部８の秘密鍵暗号化処理には、暗号文ｃを用いず、暗号文ｃのサイズは考慮されない。よって、上記（２）計算量の問題は解決される。
【００５８】
よって、上記（２）計算量の問題は解決される。
また、図１５記載の秘密鍵復号部１０ｉの処理のように、受信側の秘密鍵の復号処理に、暗号化された情報を用いない。よって、全ての暗号化された情報を受信しなくても、復号処理に支障はなく、情報がストリーミングデータであっても、対応することが出来る。よって、上記（３）ストリーミングの問題は解決される。
また、標準化団体で規格化されているＫＥＭ（秘密鍵生成・暗号化部８）やＤＥＭ（情報暗号化部１６）が使用されるため、標準仕様を流用することが出来、上記問題点（４）も解決できる。
【実施例２】
【００５９】
実施例１で説明した送信装置１１０（図１４参照）であると、情報暗号化部１１６中の仮暗号文生成手段１７２で使用される共通鍵（第１の共通鍵ｒ）と、認証子生成手段１７４とで使用される共通鍵（第２の共通鍵ｒ’）が独立したものでなければならない。そのため、第１の共通鍵ｒと第２の共通鍵ｒ’が必要であり、共通鍵生成部５４では第１の共通鍵ｒと第２の共通鍵ｒ’の２つが生成される。その結果、暗号化された共通鍵に認証子は付加されないが、共通鍵の鍵長が２倍になり、鍵長の通信量が問題になる。
実施例２では、この鍵長の問題点を解消した情報暗号化装置、その送受信装置の構成を説明する。図１８は送信装置１３０の機能構成例を示した図であり、図１９は、受信装置１４０ｉの機能構成例を示した図であり、図２０は受信装置１４０ｉの処理の流れを示したフローチャートであり、図２１は送信装置１３０の処理の流れを示したフローチャートである。
【００６０】
実施例１の送信装置１１０と実施例２の送信装置１３０とで相違する点は、実施例２では共通鍵を１つしか用いなくても良い点と、情報暗号化部の構成が違う点である。
情報暗号化部１３２は、マスク生成手段１３２２、仮暗号文生成手段１３２４、定数付加手段１３２５、認証子生成手段１３２６、結合手段１３２８とで構成される。また、図２２は情報暗号化部１３２中のデータの流れを詳細に示したものである。
共通鍵生成部５４よりの共通鍵Ｒはマスク生成手段１３２２に入力される。また、カウンターモードｐｇ（ｇ＝１〜Ｇ）もマスク生成手段１３２２に入力される。Ｇの値については後ほど説明する。カウンターモードｐｇとは、送信者と受信者とで予め決めていた定数であり、例えば、ｐｇ＝０‖１である。マスク生成手段１３２２で、共通鍵Ｒを用いてカウンターモードｐｇのマスクＭが生成される。実際は、マスク生成手段１３２２の処理において、１個のＭＡＣがＧ回の処理を行うが、説明簡略化のために、図２２にはＧ個のＭＡＣ１３２０ｇ（ｇ＝１、．．．、Ｇ）が設けられているとして記載する。以下に詳細な処理を説明する。
【００６１】
ＭＡＣ１３２０ｇで擬似ランダムにカウンターモードの認証子ＣＴａｇｇが生成される。具体的には、ＣＴａｇｇ＝ＭＡＣＲ（ｐｇ）により生成される。ここで、擬似ランダムに認証子を生成するＭＡＣについて説明する。擬似ランダム認証子を生成するＭＡＣとは、ＰＲＦ（Pseudo Random Function：擬似乱数関数族）型のＭＡＣであり、通常のＭＡＣよりも強い安全性を備えたものである。例えば、ブロック暗号ベースのＯＭＡＣ、ハッシュ関数型のＨＭＡＣなどは、ＰＲＦ型のＭＡＣである。生成されたＣＴａｇｇは認証子結合手段１３２３に入力される。
【００６２】
認証子結合手段１３２３では、認証子ＣＴａｇｇ（ｇ＝１、．．．、Ｇ）が結合され、マスクＭが求められる。具体的には、Ｍ＝ＭＡＣＲ（ｐ１）‖ＭＡＣＲ（ｐ２）‖、．．．、‖ＭＡＣＲ（ｐＧ）で生成される。生成されたマスクＭは仮暗号文生成手段１３２４に入力される。
仮暗号文生成手段１３２４(ＯＴＰ)で、マスクＭを用いて、平文ｍは暗号化され、仮暗号文ｃ’が生成される。具体的には、平文ｍとマスクＭとの排他的論理和が計算され、つまり以下の式を計算することで、仮暗号文ｃ’は生成される。
【００６３】
【数８】
2008177998.tif 000010
求められた仮暗号文ｃ’は定数付加手段１３２５、結合手段１３２８に入力される。
ここで、カウンターモードｐｇ（ｇ＝１〜Ｇ）のＧの値について説明する。上述のように、仮暗号文生成手段１３２４で、マスクＭと平文ｍの排他的論理和が計算される。よって、マスクＭのビット長と平文ｍのビット長は一致していなければならない。また、マスク生成手段１３２２（ＭＡＣ）により生成されるマスクＭのビット長αは予め決まっている（例えばα＝１２８ビット）。そこで、平文ｍのビット長をβとすると、βをαで除算して、その商を繰り上げた値がＧの値となる。
【００６４】
例えば、平文ｍのビット長βが５００ビット、マスクＭのビット長αを１２８ビットとすると、５００÷１２８＝３．９０６２５となり、商を繰り上げた値「４」がＧの値となる。しかし、この例の場合、平文ｍのビット長βは５００ビット、マスクＭのビット長αは１２８×４＝５１２ビットとなり、αとβは一致しない。そこで、この場合は、マスクＭを１２ビット切り取り、αとβの値を一致させればよい。
定数付加手段１３２５では、仮暗号文ｃ’と入力されたカウンターモードｐｇ＋１とが結合されてｃ’‖ｐｇ＋１が求められる。求められたｃ’‖ｐｇ＋１は認証子生成手段１３２６に入力される。なお、カウンターモードｐｇ＋１も予め送信者と受信者との間で、決められていた定数である。
【００６５】
認証子生成手段１３２６では、共通鍵Ｒを用いて、関係鍵攻撃に対して安全に（ＲＫＡ安全に）、ｃ’‖ｐｇ＋１の認証子Ｔａｇが生成される。具体的にはＴａｇ＝ＭＡＣＲ（ｐｇ＋１‖ｃ’）により生成される。生成されたＴａｇは結合手段１３２８に入力される。
結合手段１３２８では、仮暗号文ｃ’とＴａｇとが結合され、暗号文ｃが求められる。具体的には、ｃ＝ｃ’‖Ｔａｇにより生成される。
また、共通鍵暗号化部９４（図１８参照）では秘密鍵ａｉと共通鍵Ｒとの排他的論理和を計算することで、暗号化された共通鍵ｚｉを生成する。具体的には以下の式により求められる。
【００６６】
【数９】
2008177998.tif 000011
上述したように、マスク生成手段１３２２（ＭＡＣ）と認証子生成手段１３２６（ＭＡＣ）とは同一である。仮暗号文生成手段１３２４よりの仮暗号文ｃに、定数付加手段１３２５で定数ｐｎ＋１を付加させることで、共通鍵を１つのみ用いて、情報を暗号化することを実現できる。
次に、マスク生成手段１３２２について留意すべき点を述べる。上述したように、マスク生成手段１３２２（ＭＡＣ）と認証子生成手段１３２６（ＭＡＣ）とは、同一のアルゴリズムである。通常、ＭＡＣはある一定のビット長γの倍数のデータ（例えば、５１２の倍数ビット）しか入力を受け付けない。よって、マスク生成手段１３２２に入力されるカウンターモードｐｇのビット長や、認証子生成手段１３２６に入力されるｐｇ＋１‖ｃのビット長がデータγの倍数ビット長であるか否かに関わらず、常にデータが付加（パディング）されるのが通常である。何故ならｐｇやｐｇ＋１‖ｃのデータの一意性を保ちながら、かつ、そのビット長がγの倍数になるようにするためである。
【００６７】
また、カウンターモードｐｇ（ｇ＝１、．．．、Ｇ）それぞれの値、パディング後のカウンターモードｐｇ（ｇ＝１、．．．、Ｇ）それぞれの値、ｐｇ＋１‖ｃの値、パディング後のｐｇ＋１‖ｃの値、全てが相違していなければならない。
何故なら、攻撃者は、マスク生成手段１３２２よりのマスクＭや認証子生成手段１３２６よりの認証子Ｔａｇを自由に見ることが出来る。もし、入力される（パディング後の）カウンターモードｐｇの値や（パディング後の）ｐｇ＋１‖ｃの値が同一であれば、ＭＡＣを判別することが出来、ＤＥＭ自体が安全でなくなるからである。
【００６８】
そのほかの処理については実施例１と同様であるので、省略する。
上述したように、ＤＥＭを情報暗号化部１３２の構成にすることで、１個の共通鍵で平文ｍ（情報）を暗号化することができる。よって、実施例１では解決できなかった鍵長の問題を解決することが出来る。また、この実施例２では、情報暗号化部１３２をＫＥＭ−ＯＴＰ−ＤＥＭ方式の送信装置１３０に適用した例を説明したが、この情報暗号化部１３２はその他の方式の送信装置にも適用することが出来る。
また、ＭＡＣ（マスク生成手段１３２２や認証子生成手段１３２６）をＰＲＦ型にすることで、より高効率な暗号化同報通信を行うことが出来る。
【００６９】
次に、受信装置１４０ｉについて説明する。実施例１で説明した受信装置１２０ｉと相違する点は、確認用認証子生成手段１４８２ｉの処理内容と、情報復号部１４６ｉの処理内容と、マスク生成部１４４ｉが新たに追加されたことである。
マスク生成部１４４ｉで、共通鍵Ｒと、カウンターモードｐｇを用いて、マスクＭが生成される(ステップＳ１００)。ここで使用されるカウンターモードｐｇは送信側のマスク生成手段１３２２で使用されたカウンターモードｐｇと同一である。マスクＭは情報復号部１４６ｉに入力される。
【００７０】
情報復号部１４６ｉで、マスクＭを用いて仮暗号文ｃ’が復号され、平文ｍが求められる。具体的には、以下の式で求められる（ステップＳ１０２）。
【００７１】
【数１０】
2008177998.tif 000012
また、確認用認証子生成手段１４８２ｉで確認用認証子Ｔａｇ’が生成される。具体的には、Ｔａｇ’＝ＭＡＣｒ（ｐｎ＋１‖ｃ’）により生成される（ステップＳ１０４）。確認用認証子Ｔａｇ’は判定手段１２４４ｉに入力される。
そのほかの処理については実施例１の受信装置１２０ｉと同様であるので省略する。
以上の各実施形態の他、本発明である同報通信暗号化方法、復号方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、同報通信暗号化方法、復号方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、この発明の同報通信暗号化方法、復号方法における処理をコンピュータによって実現する場合、同報通信暗号化方法、復号方法が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、同報通信暗号化方法、復号方法における処理機能がコンピュータ上で実現される。
【００７２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（ＤｉｇｉｔａｌＶｅｒｓａｔｉｌｅＤｉｓｃ）、ＤＶＤ−ＲＡＭ（ＲａｎｄｏｍＡｃｃｅｓｓＭｅｍｏｒｙ）、ＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｃＲｅａｄＯｎｌｙＭｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）等を、光磁気記録媒体として、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌｄｉｓｃ）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（ＥｌｅｃｔｒｏｎｉｃａｌｌｙＥｒａｓａｂｌｅａｎｄＰｒｏｇｒａｍｍａｂｌｅ−ＲｅａｄＯｎｌｙＭｅｍｏｒｙ）等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｉｃｅＰｒｏｖｉｄｅｒ）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、同報通信暗号化方法、復号方法を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図面の簡単な説明】
【００７４】
【図１】鍵カプセル化装置２の機能構成を示す図。
【図２】データカプセル化装置１２の機能構成を示す図。
【図３】ハイブリッド暗号システムの機能構成を示す図。
【図４】鍵共有化装置５０の機能構成例を示す図。
【図５】暗号化同報通信を行うシステムの例を示す図。
【図６】ＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信装置の機能構成例を示す図。
【図７】ＫＥＭ／ＤＥＭ／ＤＥＭ方式の送受信装置の主な処理を示したフローチャート。
【図８】Ｅｎｃｒｙｐｔ−ａｎｄ−ＭＡＣであるＤＥＭの機能構成例を示す図。
【図９】ＭＡＣ−ｔｈｅｎ−ＥｎｃｒｙｐｔであるＤＥＭの機能構成例を示す図。
【図１０】Ｅｎｃｒｙｐｔ−ｔｈｅｎ−ＭＡＣであるＤＥＭの機能構成例を示す図。
【図１１】ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信装置の機能構成例を示す図。
【図１２】ＴａｇーＫＥＭ／ＯＴＰ／ＯＴＰ方式の送受信装置の主な処理の流れを示すフローチャート。
【図１３】従来の技術の問題点を示す概念図。
【図１４】この発明の実施例１の送信装置１１０の機能構成例を示す図。
【図１５】この発明の実施例１の受信装置１２０ｉの機能構成例を示す図。
【図１６】この発明の実施例１の受信装置１２０ｉの主な処理の流れを示すフローチャート。
【図１７】この発明の実施例１の送信装置１１０の主な処理の流れを示すフローチャート。
【図１８】この発明の実施例２の送信装置１３０の機能構成例を示す図。
【図１９】この発明の実施例２の受信装置１４０ｉの機能構成例を示す図。
【図２０】この発明の実施例２の受信装置１４０ｉの主な処理の流れを示すフローチャート。
【図２１】この発明の実施例２の送信装置１３０の主な処理の流れを示すフローチャート。
【図２２】この発明の実施例２の情報暗号化部１３２のデータの流れ等を示した図。
【図１】
2008177998.tif 000013
【図２】
2008177998.tif 000014
【図３】
2008177998.tif 000015
【図４】
2008177998.tif 000016
【図５】
2008177998.tif 000017
【図６】
2008177998.tif 000018
【図７】
2008177998.tif 000019
【図８】
2008177998.tif 000020
【図９】
2008177998.tif 000021
【図１０】
2008177998.tif 000022
【図１１】
2008177998.tif 000023
【図１２】
2008177998.tif 000024
【図１３】
2008177998.tif 000025
【図１４】
2008177998.tif 000026
【図１５】
2008177998.tif 000027
【図１６】
2008177998.tif 000028
【図１７】
2008177998.tif 000029
【図１８】
2008177998.tif 000030
【図１９】
2008177998.tif 000031
【図２０】
2008177998.tif 000032
【図２１】
2008177998.tif 000033
【図２２】
2008177998.tif 000034