(57)【要約】【課題】安全性のコントロール、同じ相手との繰り返し通信、同報通信に適した暗号方法を提供する。【解決手段】本発明では、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）とを組み合せた、従来のＫＥＭ−ＤＥＭ暗号方式に、共有鍵遮蔽手段（ＳＥＭ）を組み合せる。これにより、共有鍵遮蔽手段（ＳＥＭ）の安全性をコントロールすることで全体の安全性をコントロール可能にする。また、秘密鍵の再生により繰り返し通信での計算量を削減する。さらに、同報通信では、平文の暗号化を１回に削減する。共有鍵遮蔽手段（ＳＥＭ）は、鍵ビット長パラメータ部、共通セッション鍵と暗号化された共通セッション鍵を生成する暗号化アルゴリズム部、および暗号化された共通セッション鍵を共通セッション鍵に復号する復号アルゴリズム部から構成される。【選択図】図１３
2007189456.tif 000002
【特許請求の範囲】
【請求項１】
情報を暗号化する暗号化方法において、
秘密鍵暗号化手段で、送信先の公開鍵を用いて、秘密鍵と暗号化された当該秘密鍵を生成する秘密鍵暗号化ステップと、
共通セッション鍵暗号化手段で、前記秘密鍵を用いて、共通セッション鍵と暗号化された当該共通セッション鍵を生成する共通セッション鍵暗号化ステップと、
情報暗号化手段で、通信対象の情報を、共通セッション鍵を用いて暗号化する情報暗号化ステップと、
を有する暗号化方法。
【請求項２】
請求項1記載の暗号化方法において、
前記共通セッション鍵暗号化ステップが、確率的に共通セッション鍵と暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化方法。
【請求項３】
請求項1または２記載の暗号化方法において、
記録手段に、前記秘密鍵を記録する秘密鍵記録ステップも有し、
前記記録手段に、送信先の秘密鍵が記録されている場合には、
前記共通セッション鍵暗号化ステップは、前記記録手段に記録された前記秘密鍵を用いて、共通セッション鍵と暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化方法。
【請求項４】
請求項１〜３のいずれかに記載の暗号化方法において、
前記通信対象の情報の送信先が複数ある場合に、
前記秘密鍵暗号化ステップは、各送信先の公開鍵を用いて、送信先ごとの秘密鍵と暗号化された当該秘密鍵を生成し、
前記共通セッション鍵暗号化ステップは、複数の前記送信先の前記秘密鍵を用いて、共通セッション鍵と、当該送信先ごとの暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化方法。
【請求項５】
請求項１〜４のいずれかに記載の暗号化方法において、
記録手段に、送信先の情報を記録するリスト管理ステップも有し、
前記共通セッション鍵暗号化ステップは、前記記録手段に記録された前記送信先の前記秘密鍵を用いて、共通セッション鍵と、当該送信先ごとの暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化方法。
【請求項６】
請求項１〜５のいずれかに記載の暗号化方法において、
前記共通セッション鍵暗号化ステップでは、既知平文選択暗号文攻撃安全の安全性で前記共通セッション鍵を暗号化する
ことを特徴とする暗号化方法。
【請求項７】
暗号化された情報を復号する復号方法において、
鍵生成手段で、公開鍵と私有鍵の組みを生成し、公開鍵を公開すると共に、私有鍵を記録しておく鍵生成ステップと、
秘密鍵復号手段で、受信した暗号化された秘密鍵を、前記私有鍵を用いて復号し、秘密鍵を求める秘密鍵復号ステップと、
共通セッション鍵復号手段で、前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める共通セッション鍵復号ステップと、
情報復号手段で、暗号化された情報を、前記共通セッション鍵を用いて復号する情報復号ステップと、
を有する復号方法。
【請求項８】
請求項７記載の復号方法において、
記録手段に、復号された前記秘密鍵を記録する秘密鍵記録ステップも有し、
前記記録手段に、前記秘密鍵が記録されている場合には、
前記共通セッション鍵復号ステップは、前記記録手段に記録された前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める
ことを特徴とする復号方法。
【請求項９】
請求項７または８記載の復号方法において、
前記共通セッション鍵復号ステップでは、既知平文選択暗号文攻撃安全の安全性で暗号化された共通セッション鍵を復号し、共通セッション鍵を求める
ことを特徴とする復号方法。
【請求項１０】
情報を暗号化する暗号化装置において、
送信先の公開鍵を用いて、秘密鍵と暗号化された当該秘密鍵を生成する秘密鍵暗号化手段と、
前記秘密鍵を用いて、共通セッション鍵と暗号化された当該共通セッション鍵を生成する共通セッション鍵暗号化手段と、
通信対象の情報を共通セッション鍵を用いて暗号化する情報暗号化手段と、
を備える暗号化装置。
【請求項１１】
請求項1０記載の暗号化装置において、
前記共通セッション鍵暗号化手段が、確率的に共通セッション鍵と暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化装置。
【請求項１２】
請求項１０または１1記載の暗号化装置において、
前記秘密鍵を記録する秘密鍵記録手段も備え、
前記秘密鍵記録手段に、送信先の秘密鍵が記録されている場合には、
前記共通セッション鍵暗号化手段は、前記秘密鍵記録手段に記録された前記秘密鍵を用いて、共通セッション鍵と暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化装置。
【請求項１３】
請求項１０〜１２のいずれかに記載の暗号化装置において、
前記通信対象の情報の送信先が複数ある場合に、
前記秘密鍵暗号化手段は、各送信先の公開鍵を用いて、送信先ごとの秘密鍵と暗号化された当該秘密鍵を生成し、
前記共通セッション鍵暗号化手段は、複数の前記送信先の前記秘密鍵を用いて、共通セッション鍵と、当該送信先ごとの暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化装置。
【請求項１４】
請求項１０〜１３のいずれかに記載の暗号化装置において、
送信先の情報を記録するリスト管理手段も備え、
前記共通セッション鍵暗号化手段は、前記リスト管理手段に記録された前記送信先の前記秘密鍵を用いて、共通セッション鍵と、当該送信先ごとの暗号化された当該共通セッション鍵を生成する
ことを特徴とする暗号化装置。
【請求項１５】
請求項１０〜１４のいずれかに記載の暗号化装置において、
前記共通セッション鍵暗号化手段では、既知平文選択暗号文攻撃安全の安全性で前記共通セッション鍵を暗号化する
ことを特徴とする暗号化装置。
【請求項１６】
暗号化された情報を復号する復号装置において、
公開鍵と私有鍵の組みを生成し、公開鍵を公開すると共に、私有鍵を記録しておく鍵生成手段と、
受信した暗号化された秘密鍵を、前記私有鍵を用いて復号し、秘密鍵を求める秘密鍵復号手段と、
前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める共通セッション鍵復号手段と、
暗号化された情報を、前記共通セッション鍵を用いて復号する情報復号手段と、
を備える復号装置。
【請求項１７】
請求項１６記載の復号装置において、
復号された前記秘密鍵を記録する秘密鍵記録手段も備え、
前記秘密鍵記録手段に、前記秘密鍵が記録されている場合には、
前記共通セッション鍵復号手段は、前記記録手段に記録された前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める
ことを特徴とする復号装置。
【請求項１８】
請求項１６または１７記載の復号方法において、
前記共通セッション鍵復号手段では、既知平文選択暗号文攻撃安全の安全性で暗号化された共通セッション鍵を復号し、共通セッション鍵を求める
ことを特徴とする復号装置。
【請求項１９】
鍵カプセル化手段とデータカプセル化手段とを備える暗号システムにおいて、
セキュリティパラメータから、秘密鍵のビット長と共通セッション鍵のビット長とを求める鍵ビット長パラメータ部と、
秘密鍵から、共通セッション鍵と暗号化された共通セッション鍵とを求める暗号化アルゴリズム部と、
暗号化された共通セッション鍵と秘密鍵から、共通セッション鍵を求める復号アルゴリズム部と
を備える暗号システム。
【請求項２０】
請求項１９記載の暗号システムにおいて、
前記鍵ビット長パラメータ部では、セキュリティパラメータから、秘密鍵のビット長と共通セッション鍵のビット長とを確定的に求め、
前記暗号化アルゴリズム部では、秘密鍵から、共通セッション鍵と暗号化された共通セッション鍵とを確率的に求め、
前記復号アルゴリズム部では、暗号化された共通セッション鍵と秘密鍵から、共通セッション鍵を確定的に求める
ことを特徴とする暗号システム。
【請求項２１】
請求項１９または２０記載の暗号システムにおいて、
システムを構成する送受信装置が３台以上あり、
前記暗号化アルゴリズム部では、複数の秘密鍵から、１つの共通セッション鍵と複数の暗号化された共通セッション鍵とを求める
ことを特徴とする暗号システム。
【請求項２２】
あらかじめ記録した送信先の秘密鍵を用いる暗号化方法であって、
共通鍵暗号化手段で、前記秘密鍵を用いて、既知平文選択暗号文攻撃安全の安全性で共通鍵と暗号化された当該共通鍵を生成する共通鍵暗号化ステップと、
情報暗号化手段で、通信対象の情報を、共通鍵を用いて選択暗号文攻撃安全の安全性で暗号化する情報暗号化ステップと、
を有する暗号化方法。
【請求項２３】
あらかじめ記録した秘密鍵を用いて、暗号化された情報を復号する復号方法において、
共通鍵復号手段で、前記秘密鍵を用いて、受信した既知平文選択暗号文攻撃安全の安全性で暗号化された共通鍵を復号し、共通鍵を求める共通鍵復号ステップと、
情報復号手段で、選択暗号文攻撃安全の安全性で暗号化された情報を、前記共通セッション鍵を用いて復号する情報復号ステップと、
を有する復号方法。
【請求項２４】
あらかじめ記録した送信先の秘密鍵を用いる暗号化装置であって、
前記秘密鍵を用いて、既知平文選択暗号文攻撃安全の安全性で共通鍵と暗号化された当該共通鍵を生成する共通鍵暗号化手段と、
通信対象の情報を、共通鍵を用いて選択暗号文攻撃安全の安全性で暗号化する情報暗号化手段と、
を備える暗号化装置。
【請求項２５】
あらかじめ記録した秘密鍵を用いて、暗号化された情報を復号する復号装置において、
前記秘密鍵を用いて、受信した既知平文選択暗号文攻撃安全の安全性で暗号化された共通鍵を復号し、共通鍵を求める共通鍵復号手段と、
選択暗号文攻撃安全の安全性で暗号化された情報を、前記共通セッション鍵を用いて復号する情報復号手段と、
を備える復号装置。
【請求項２６】
選択暗号文攻撃安全のデータカプセル化手段を備える暗号システムにおいて、
セキュリティパラメータから、秘密鍵のビット長と共通鍵のビット長とを求める鍵ビット長パラメータ部と、
秘密鍵から、共通セッション鍵と暗号化された共通鍵とを求める暗号化アルゴリズム部と、
暗号化された共通セッション鍵と秘密鍵から、共通鍵を求める復号アルゴリズム部とを有する共通鍵遮蔽手段を備え、
前記共通鍵遮蔽手段の安全性が既知平文選択暗号文攻撃安全であること
を特徴とする暗号システム。
【請求項２７】
請求項１〜９、２２、２３のいずれかに記載の方法をコンピュータに実行させるプログラム。
【請求項２８】
請求項２７記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化方法と復号方法、それらの方法を利用した装置、システム、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
まず、本明細書中で使用する用語について説明する。「暗号化する」とは、データ（ビット列、以下「平文」とも呼ぶ）をある鍵（ビット列）を用いて他の（通常元のデータとはまったく異なる）ビット列（以下「暗号文」とも呼ぶ）に変換することを言う。ただし、暗号文だけからでは平文に関する情報を得ることが困難なこと、対応する平文と暗号文の組だけからでは鍵に関する情報を得ることが困難なことなど、状況によって様々な安全性が要求される。「暗号化装置」とは、データを暗号化する装置を指す。また、「復号する」とは、鍵を用いて暗号文を元のデータ（平文）に復元することを言い、「復号装置」とは、暗号化されたデータを復号する装置を指す。さらに、単に「暗号」、「暗号技術」、「暗号アルゴリズム」、「暗号装置」、「暗号方法」、「暗号手段」、「暗号システム」というときは、暗号化と復号の両方を含むものとする。
【０００３】
一般に、暗号は公開鍵暗号と共通鍵暗号の２種類に類別できる。公開鍵暗号は、送信側が受信側の（秘密ではない）公開鍵を使ってデータ（平文）を暗号化して送信するために利用される。一方、共通鍵暗号は、送信側と受信側が同じ鍵を秘密に保持しているときデータ（平文）を暗号化して送信するために利用される。通常、公開鍵暗号は共通鍵暗号より低速なため、暗号化通信を行う際には、共通鍵暗号で問題となる秘密鍵の共有問題（鍵配送問題）の解決に公開鍵暗号を利用し、秘密鍵が共有された後の通信秘匿には共通鍵暗号を用いることが多い。公開鍵暗号システムは、公開鍵を登録する公開鍵簿、送信装置、および受信装置からなるシステムである。公開鍵暗号システムは公開鍵暗号のみでも実装できるが、公開鍵暗号で鍵配送をし、その時共有された秘密鍵で、共通鍵暗号を使って平文を暗号化通信するのが一般的な公開鍵暗号（ハイブリッド暗号）システムである。
【０００４】
標準化が進められているハイブリッド暗号の実現方法として、ＫＥＭ（Key Encapsulation Mechanism）−ＤＥＭ（Data Encapsulation Mechanism）による構成がある（非特許文献１）。この構成について以下に説明する。
図１に鍵カプセル化手段（ＫＥＭ）１００の機能構成を示す。本手段は、鍵ビット長パラメータ部ＫＬ１１０、鍵生成部ＫＧ１２０、暗号化アルゴリズム部ＫＥ１３０、復号アルゴリズム部ＫＤ１４０から構成される。鍵ビット長パラメータ部ＫＬ１１０は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから秘密鍵のビット長パラメータｋｌを出力する。記号では、ｋｌ＝ＫＬ（λ）と表すこととする。ここで、セキュリティパラメータλとは、０以上の整数であって、送信者と受信者の間であらかじめ定まっているものとする。セキュリティパラメータλは理論上必要なパラメータであって、これを引数に取る各アルゴリズムが、λに関する多項式時間内で終了することを規定するために設けてあるものである。鍵生成部ＫＧ１２０は、確率的アルゴリズムを実行する構成部であって、セキュリティパラメータλから公開鍵ｐｋと私有鍵ｓｋの組を出力する。記号では、（ｐｋ，ｓｋ）←ＫＧ（λ）と表すこととする。暗号化アルゴリズム部ＫＥ１３０は、確率的アルゴリズムを実行する構成部であって、公開鍵ｐｋから秘密鍵ａと暗号化した秘密鍵ｅの組を出力する。記号では、（ａ，ｅ）←ＫＥ（ｐｋ）と表すこととする。ここで秘密鍵ａは、ビット長がｋｌの０または１からなり、記号ではａ∈{０，１}ｋｌと表す。また暗号化した秘密鍵は、ビット長が任意の０または１からなり、記号ではｅ∈{０，１}＊と表す。復号アルゴリズム部ＫＤ１４０は、確定的アルゴリズムを実行する構成部であって、私有鍵ｓｋを用いて暗号化された秘密鍵ｅを復号し、秘密鍵ａを出力する。記号では、ａ＝ＫＤｓｋ（ｅ）と表すこととする。鍵カプセル化手段（ＫＥＭ）１００では、任意の（ｐｋ，ｓｋ）←ＫＧ（λ）と（ａ，ｅ）←ＫＥ（ｐｋ）に対して、常にａ＝ＫＤｓｋ（ｅ）が成り立つ。
【０００５】
図２にデータカプセル化手段（ＤＥＭ）２００の機能構成を示す。本手段は、鍵ビット長パラメータ部ＤＬ２１０、暗号化アルゴリズム部ＤＥ２２０、復号アルゴリズム部ＤＤ２３０から構成される。鍵ビット長パラメータ部ＤＬ２１０は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから秘密鍵のビット長パラメータｄｌを出力する。記号では、ｄｌ＝ＤＬ（λ）と表すこととする。暗号化アルゴリズム部ＤＥ２２０は、確定的アルゴリズムの構成部であって、秘密鍵ａを用いて平文ｍを暗号化し、暗号文ｃを出力する。記号では、ｃ＝ＤＥａ（ｍ）と表すこととする。ここで秘密鍵ａは、ビット長がｄｌの０または１からなるビット列である（ａ∈{０，１}ｄｌ）。また平文ｍおよび暗号文ｃは、ビット長が任意の０または１からなるビット列である（ｍ∈{０，１}＊、ｃ∈{０，１}＊）。復号アルゴリズム部ＤＤ２３０は、確定的アルゴリズムを実行する構成部であって、秘密鍵ａを用いて暗号文ｃを復号し、平文ｍを出力する。記号では、ｍ＝ＤＤａ（ｃ）と表すこととする。データカプセル化手段（ＤＥＭ）２００では、任意のａ∈{０，１}ｄｌとｍ∈{０，１}＊に対して、常にＤＤａ（ＤＥａ（ｍ））＝ｍが成り立つ。
【０００６】
図３に、実際に暗号を用いた通信を行う場合の送受信装置の機能構成例を示す。送受信装置Ｈｉ１０００−ｉ（ｉは０または１）は、暗号化装置ＨＥｉ６００−ｉ、復号装置ＨＤｉ７００−ｉ、記録装置８００−ｉから構成される。暗号化装置ＨＥｉ６００−ｉと復号装置ＨＤｉ７００−ｉ、は、鍵カプセル化手段（ＫＥＭ）１００の構成部とデータカプセル化手段（ＤＥＭ）２００の構成部とを組み合わせた構成となっている。
【０００７】
図４に、図３の送受信装置での機能構成と処理フローを示す。暗号化装置ＨＥｉ６００−ｉは、鍵カプセル化手段（ＫＥＭ）１００の暗号化アルゴリズム部ＫＥ１３０−ｉ−ｊ（ｊは０または１、ただし、ｊ≠ｉ）、データカプセル化手段（ＤＥＭ）２００の暗号化アルゴリズム部ＤＥ２２０−ｉから構成される。復号装置ＨＤｉ７００−ｉは、鍵カプセル化装置（ＫＥＭ）１００の鍵生成部ＫＧ１２０−ｉと復号アルゴリズム部ＫＤ１４０−ｉ、データカプセル化手段（ＤＥＭ）２００の復号アルゴリズム部ＤＤ２３０−ｉから構成される。また、記録装置８００−ｉには、少なくとも私有鍵を記録する記録部８１０−ｉがある。鍵カプセル化手段（ＫＥＭ）１００とデータカプセル化手段（ＤＥＭ）２００との両方で暗号鍵ａが使用される。したがって、このシステム内ではｋｌ＝ｄｌが成立することが必要である。
【０００８】
図４の構成の場合、情報を送信する時に毎回、秘密鍵と暗号化された秘密鍵を生成する。このように、毎回秘密鍵を生成する方法を以下では、「ワンタイムＫＥＭ−ＤＥＭ」と言う。処理フローは以下のとおりである。情報を送信する送受信装置１０００−０の暗号化装置ＨＥ０６００−０は、暗号化アルゴリズム部ＫＥ１３０−０−１によって、受信側の送受信装置１０００−１の公開鍵ｐｋから秘密鍵ａと暗号化した秘密鍵ｅ（ｅ∈{０，１}＊）の組を得る（（ａ，ｅ）←ＫＥ（ｐｋ））。次に、暗号化アルゴリズム装置ＤＥ２２０−０で、秘密鍵ａを用いて平文ｍ（ｍ∈{０，１}＊）を暗号化し、暗号文ｃ（ｃ∈{０，１}＊）を得る（ｃ＝ＤＥａ（ｍ））。このようにして送受信装置１０００−０の暗号化装置ＨＥ０６００−０は、送受信装置１０００−１の復号装置ＨＤ１７００−１への出力として、暗号化した秘密鍵ｅと暗号文ｃの組（ｅ，ｃ）を得る。受信側である送受信装置１０００−１の復号装置ＨＤ１７００−１は、あらかじめ鍵生成部ＫＧ１２０−１で、セキュリティパラメータλから公開鍵ｐｋと私有鍵ｓｋの組を得る（（ｐｋ，ｓｋ）←ＫＧ（λ））。公開鍵ｐｋは、あらかじめ公開され、送信側の送受信装置１０００−０の暗号化装置ＨＥ０６００−０によって前記のように使用される。また私有鍵ｓｋは、送受信装置１０００−１内の記録部８１０−１に記録される。暗号化装置ＨＥ０６００−０からの暗号化された秘密鍵ｅと暗号文ｃとの組を受信すると、復号アルゴリズム部ＫＤ１４０−１は、私有鍵ｓｋを用いて暗号化された秘密鍵ｅを復号し、秘密鍵ａを得る（ａ＝ＫＤｓｋ（ｅ））。次に、復号アルゴリズム部ＤＤ２３０−１は、秘密鍵ａを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤａ（ｃ））。
【０００９】
「ワンタイムＫＥＭ−ＤＥＭ」では、安全性が選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）１００とデータカプセル化手段（ＤＥＭ）２００とを組み合せて、より安全性が高い選択暗号文攻撃安全（IND-CCA2）のハイブリッドタイプの暗号手段を実現できることが知られている。「ワンタイムＫＥＭ−ＤＥＭ」では、その使い捨て鍵という特性上、全体の安全性は、選択暗号文攻撃安全（IND-CCA2）しか議論できない。したがって、安全性をコントロールすることができない。例えば、データカプセル化手段（ＤＥＭ）２００の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）に強化しても、全体の安全性は選択暗号文攻撃安全（IND-CCA2）であるとしか言えない。
【００１０】
図３の送受信装置を用いて、秘密鍵を再利用する場合の構成例と処理フローを図５と図６に示す。このように鍵を再利用する方法を、以下では「鍵再利用ＫＥＭ−ＤＥＭ」と言う。図５は、１回目の情報通信時の機能構成と処理フローを示す図である。図６は、２回目以降の情報通信時の機能構成と処理フローを示す図である。図４との構成上の違いは、記録装置８００’−ｉ内に、自己の秘密鍵ａｉを記録する記録部８２０−ｉと、送信先の秘密鍵ａｊを記録する記録部８３０−ｉを備えていることである。1回目の情報通信時の処理と図４の処理（ワンタイムＫＥＭ−ＤＥＭの処理）との違いは、以下の２点である。暗号化装置ＨＥ０６００’−０の暗号化アルゴリズム部ＫＥ１３０−０−１が生成した秘密鍵ａ１は、記録装置８００’−０の記録部８３０−０に記録される。また、復号装置ＨＤ０７００’−０の復号アルゴリズム部ＫＤ１４０−１が求めた秘密鍵ａ１は、記録装置８００’−１の記録部８２０−１に記録される。このように、秘密鍵ａ１を送信側と受信側の両方で記録しておくことで、２回目以降の処理フローを以下のようにすることができる。送信側の暗号化装置６００’−０では、暗号化アルゴリズム装置ＤＥ２２０−０が、記録部８３０−０に記録された秘密鍵ａ１を用いて平文ｍ（ｍ∈{０，１}＊）を暗号化し、暗号文ｃ（ｃ∈{０，１}＊）を得る（ｃ＝ＤＥａ１（ｍ））。そして、暗号文ｃが受信側に送信される。受信側では、復号装置ＨＤ１７００’−１の復号アルゴリズム部ＤＤ２３０−１が、記録部８２０−１に記録された秘密鍵ａ１を用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤａ１（ｃ））。
【００１１】
「鍵再利用ＫＥＭ−ＤＥＭ」では、安全性の観点から、選択暗号文攻撃安全（IND-CCA）のデータカプセル化手段（ＤＥＭ）２００を使用することは難しい。したがって、データカプセル化手段（ＤＥＭ）２００には、安全性の高い選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）が求められる。そして、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）１００との組み合せによって、全体としては選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）の暗号手段となる。
【００１２】
次に、同報通信について説明する。同報通信に特化した暗号方法の提案としては、特許文献１などがある。しかし、これらは固有の暗号アルゴリズムを用いて行うものであり、ＫＥＭ−ＤＥＭハイブリッド暗号の枠組みを使用した同報通信に適した暗号方法ではない。ＫＥＭ−ＤＥＭハイブリッド暗号の枠組みを使用した同報通信としては、本発明の発明者らが発表した非特許文献２がある。また、非特許文献２に対応する特許文献には、特願２００５−０１５１５４号（本発明の出願日現在は、未公開）がある。以下では、非特許文献２について説明する。これは、ＫＥＭ−ＤＥＭハイブリッド暗号を使用した同報通信に適した暗号方法を提供することを目的としていた。この暗号方法では、図１に示した鍵カプセル化手段（ＫＥＭ）１００、図２に示したデータカプセル化手段（ＤＥＭ）２００の他に、図７に示す鍵共有化手段（ＤＥＭ）３００を用いる。この方法を、以下では「ＫＥＭ−ＤＥＭ−ＤＥＭ」という。鍵共有化手段（ＤＥＭ）３００は、鍵ビット長パラメータ部ＭＬ３１０、鍵生成部ＭＧ３２０、暗号化アルゴリズム部ＭＥ３３０、復号アルゴリズム部ＭＤ３４０からなる。鍵ビット長パラメータ部ＭＬ３１０は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから共通セッション鍵のビット長ｍｌを出力する。記号では、ｍｌ＝ＭＬ（λ）と表す。鍵生成部ＭＧ３２０は、入力の無い確率的アルゴリズムを実行する構成部として、もしくは秘密鍵ａ１，…，ａｎの全部または一部を入力する確定的アルゴリズムを実行する構成部として、共通セッション鍵ｒ（ｒ∈{０，１}ｍｌ）を出力する。記号では、確率的アルゴリズムの場合はｒ←ＭＧ（）、確定的アルゴリズムの場合はｒ＝ＭＧ（ａ１，…，ａｎ）と表す。暗号化アルゴリズム部ＭＥ３３０は、確定的アルゴリズムを実行する構成部であって、共通セッション鍵ｒを各装置の秘密鍵ａｉを用いて暗号化し、暗号化された共通セッション鍵ｙｉを出力する。記号としては、ｙｉ＝ＭＥａｉ（ｒ）と表す。復号アルゴリズム部ＭＤ３４０は、確定的アルゴリズムを実行する構成部であって、暗号化された共通セッション鍵ｙｉを秘密鍵ａｉを用いて復号し、共通セッション鍵ｒを出力する。記号としては、ｒ＝ＭＤａｉ（ｙｉ）と表す。鍵共有化手段（ＤＥＭ）３００では、任意のａｉ∈{０，１}ｋｌｉと任意のｒ←ＭＧ（）または確定的なｒ＝ＭＧ（ａ１，…，ａｎ）に対して、常にＭＤａｉ（ＭＥａｉ（ｒ））＝ｒが成り立つ。
【００１３】
図８に暗号化同報通信を行うシステムの例を示す。この例はＮ＋１個の送受信装置１０００”−ｉ（ｉ＝０，１，２，…，Ｎ）から構成されている。各送受信装置１０００”−ｉは、鍵カプセル化手段（ＫＥＭ）１００の構成部、データカプセル化手段（ＤＥＭ）２００の構成部、および鍵共有化手段（ＤＥＭ）３００の構成部を組み合せた、暗号化装置ＨＥｉ６００”−ｉ、復号装置ＨＤｉ７００”−ｉ、記録装置８００”−ｉから構成されている。
【００１４】
図９に第１回目の同報通信での暗号化装置ＨＥ０と復号装置ＨＤｉとの関係を示す。暗号化装置ＨＥ０６００”−０は、暗号化アルゴリズム部ＫＥ１３０−０−ｉ（ｉ＝１〜Ｎ）によって、復号装置ＨＤｉの公開鍵ｐｋｉから秘密鍵ａｉと暗号化した秘密鍵ｅｉの組を得る（（ａｉ，ｅｉ）←ＫＥ（ｐｋｉ））。次に、鍵生成部ＭＧ３２０−０によって、共通セッション鍵ｒ（ｒ∈{０，１}ｍｌ）を得る（ｒ←ＭＧ（）、またはｒ＝ＭＧ（ａ１，…，ａＮ））。当該共通セッション鍵ｒは、記録装置８００”−０内の記録部８５０−０に記録される。次に、暗号化アルゴリズム部ＭＥ３３０−０は、共通セッション鍵ｒを各装置の秘密鍵ａｉを用いて暗号化し、暗号化された共通セッション鍵ｙｉを得る（ｙｉ＝ＭＥａｉ（ｒ））。また、暗号化アルゴリズム部ＤＥ２２０−０は、共通セッション鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））。このように暗号化装置ＨＥ０６００”−０は、復号装置ＨＤｉ７００”−ｉへの出力として、暗号化した秘密鍵ｅｉと暗号化した共通セッション鍵ｙｉ、暗号文ｃの組（ｅ１，ｙ１，…，ｅＮ，ｙＮ，ｃ）を得る。復号装置ＨＤｉ７００”−ｉ（ｉ＝１〜Ｎ）は、あらかじめ鍵生成部ＫＧ１２０−ｉによって、セキュリティパラメータλから公開鍵ｐｋｉと私有鍵ｓｋｉの組を得る（（ｐｋｉ，ｓｋｉ）←ＫＧ（λ））。公開鍵ｐｋｉは、あらかじめ公開され、暗号化装置ＨＥ０６００”−０によって前記のように使用される。また私有鍵ｓｋｉは、あらかじめ記録装置８００”−ｉ内の記録部８１０−ｉに記録される。暗号化装置ＨＥ０６００”−０からの暗号化した秘密鍵ｅｉと暗号化した共通セッション鍵ｙｉ、暗号文ｃの組（ｅ１，ｙ１，…，ｅＮ，ｙＮ，ｃ）を受信すると、復号アルゴリズム部ＫＤ１４０−１は、私有鍵ｓｋｉを用いて暗号化された秘密鍵ｅｉを復号し、秘密鍵ａｉを得る（ａｉ＝ＫＤｓｋｉ（ｅｉ））。次に、復号アルゴリズム部ＭＤ３４０−ｉは、暗号化された共通セッション鍵ｙｉを、秘密鍵ａｉを用いて復号し、共通セッション鍵ｒを得る（ｒ＝ＭＤａｉ（ｙｉ））。当該共通セッション鍵ｒは、記録装置８００”−ｉ内の記録部８４０−ｉに記録される。次に、復号アルゴリズム部ＤＤ２３０−ｉは、共通セッション鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））。
【００１５】
図１０に、第１回目の暗号化同報通信と同じ送受信装置間で第２回目以降の暗号化同報通信を行う場合の暗号化装置ＨＥ０６００”−０と復号装置ＨＤｉ７００”−ｉとの関係を示す。第２回目以降の暗号化同報通信を行う場合には、第１回目の暗号化同報通信で使用した共通セッション鍵ｒを全装置が記録しておくことにより、以下の手順で簡略化された暗号化同報通信を行う。暗号化装置ＨＥ０６００”−０では、暗号化アルゴリズム部ＤＥ２２０−０が、記録装置８００”−０内の記録部８５０−０に記録された共通セッション鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））。また、復号装置ＨＤｉ７００”−ｉ（ｉ＝１〜Ｎ）の復号アルゴリズム部ＤＤ２３０−ｉは、記録装置８００”−ｉ内の記録部８４０−ｉに記録された共通セッション鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））。上記の２回目以降の同報通信では、データカプセル化手段（ＤＥＭ）２００の構成部のみによって暗号化と復号が行なわれる。これは、前述の鍵再利用ＫＥＭ−ＤＥＭと同じである。
【００１６】
「ＫＥＭ−ＤＥＭ−ＤＥＭ」は、毎回、秘密鍵や共通セッション鍵を生成するのであれば、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）１００、データカプセル化手段（ＤＥＭ）２００、鍵共有化手段（ＤＥＭ）３００を組み合せることによって、より安全性が高い選択暗号文攻撃安全（IND-CCA2）のハイブリッドタイプの暗号手段を実現できる。しかし、共通セッション鍵を再利用するのであれば、安全性の観点から、選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）のデータカプセル化手段（ＤＥＭ）２００を用いる必要がある。
【特許文献１】特公平０８−００４２６５号公報
【非特許文献１】V. Shoup, ”FCD 18033-2 Encryption algorithms - Part2: Asymmetric ciphers," ISO/IEC JTC 1/SC 27, Berlin, 2004.
【非特許文献２】安田幹、小林鉄太郎、青木和麻呂、藤崎英一郎、藤岡淳、「ＫＥＭ−ＤＥＭにおける同報通信」，ＳＣＩＳ２００５.
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ハイブリッド暗号としてＫＥＭ−ＤＥＭハイブリッド暗号が一般的である。このＫＥＭ−ＤＥＭハイブリッド暗号では、安全性が選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）とを組み合せて、より安全性が高い選択暗号文攻撃安全（IND-CCA2）のハイブリッドタイプの暗号手段を実現できる。しかし、この「ワンタイムＫＥＭ−ＤＥＭ」では、その特性上全体の安全性は選択暗号文攻撃安全（IND-CCA2）しか議論できない。したがって、安全性をコントロールすることができない。例えば、データカプセル化手段（ＤＥＭ）の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）に強化しても、全体の安全性は選択暗号文攻撃安全（IND-CCA2）であるとしか言えない。
【００１８】
また、同じ装置同士で繰り返し暗号通信を行う場合、秘密鍵を再利用することも可能である。しかし、そのような場合には、安全性の観点から、データカプセル化手段（ＤＥＭ）には、安全性の高い選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）が求められる。
そして、ＫＥＭ−ＤＥＭハイブリッド暗号の枠組みを使用した同報通信に適した暗号方法（ＫＥＭ−ＤＥＭ−ＤＥＭ）でも、共通セッション鍵を再利用するためには、データカプセル化手段（ＤＥＭ）には、安全性の高い平文選択暗号文攻撃安全（IND-CPA2/CCA2）が求められる。
【００１９】
さらに、鍵カプセル化手段（ＫＥＭ）を用いない共通鍵暗号では、従来のデータカプセル化手段（ＤＥＭ）の安全性を選択暗号文攻撃安全（IND-CCA）から選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）に高めようとすれば、根本的に作り直す必要があり、既存の資産を流用できない。
本発明の目的は、従来のワンタイムＫＥＭ−ＤＥＭで用いている安全性が選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）の組み合せを用いながら、鍵を再利用した１対１の繰り返し通信、鍵を再利用した同報の繰り返し通信の安全性を確保した方法を提供することである。さらに、ワンタイムおよび共通鍵暗号での安全性をコントロールできる方法を提供することも目的とする。
【課題を解決するための手段】
【００２０】
本発明では、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）とを組み合せた、従来のＫＥＭ−ＤＥＭ暗号方式に、共有鍵遮蔽手段（ＳＥＭ：Session-key Encapsulation Mechanism）を組み合せる。これにより、共有鍵遮蔽手段（ＳＥＭ）の安全性をコントロールすることで全体の安全性をコントロール可能にする。共有鍵遮蔽手段（ＳＥＭ）は、鍵ビット長パラメータ部、共通セッション鍵と暗号化された共通セッション鍵を生成する暗号化アルゴリズム部、および暗号化された共通セッション鍵を共通セッション鍵に復号する復号アルゴリズム部から構成される。
【００２１】
具体的な送受信装置では、受信側の鍵生成手段で、あらかじめ公開鍵と私有鍵の組みを生成し、公開鍵を公開すると共に、私有鍵を記録しておく。送信側では、秘密鍵暗号化手段で、受信側の前記公開鍵を用いて、秘密鍵と暗号化された秘密鍵を生成する。共通セッション鍵暗号化手段で、前記秘密鍵を用いて、共通セッション鍵と暗号化された共通セッション鍵を生成する。そして、情報暗号化手段で、通信対象の情報を、共通セッション鍵を用いて暗号化する。また、受信側では、秘密鍵復号手段で、受信した暗号化された秘密鍵を、前記私有鍵を用いて復号し、秘密鍵を求める。共通セッション鍵復号手段で、前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める。そして、情報復号手段で、暗号化された情報を、共通セッション鍵を用いて復号する。
【００２２】
送信側と受信側の両方で秘密鍵を記録しておく。そして、送信側で、記録された前記秘密鍵を用いて、共通セッション鍵と暗号化された当該共通セッション鍵を生成する。また、受信側で、記録された前記秘密鍵を用いて、受信した暗号化された共通セッション鍵を復号し、共通セッション鍵を求める。
同報通信の場合には、送信側で、各送信先の公開鍵を用いて、送信先ごとの秘密鍵と暗号化された当該秘密鍵を生成する。また、複数の前記送信先の前記秘密鍵を用いて、共通セッション鍵と、当該送信先ごとの暗号化された当該共通セッション鍵を生成する。
【００２３】
さらに、共通鍵暗号の場合にも、従来の選択暗号文攻撃安全（IND-CCA）のデータカプセル化手段（ＤＥＭ）に、既知平文選択暗号文攻撃安全（IND-KPA/CCA）の共有鍵遮蔽手段（ＳＥＭ）を組み合わせ、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とする。
【発明の効果】
【００２４】
本発明は、共有鍵遮蔽手段（ＳＥＭ）を従来のＫＥＭ−ＤＥＭ方式に付加する。鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）は、従来の安全性である選択暗号文攻撃安全（IND-CCA）とし、共有鍵遮蔽手段（ＳＥＭ）の安全性をコントロールすることで、全体の安全性をコントロールできる。また、共通セッション鍵を送信側、受信側の両方で記録しておくことにより、繰り返し通信で、鍵カプセル化手段（ＫＥＭ）の処理を省略できる。また、同報通信でも、共通セッション鍵を用いることで、平文を暗号化する計算量および通信量を大幅に削減できる。しかも、共有鍵遮蔽手段（ＳＥＭ）の安全性を既知平文選択暗号文攻撃安全（IND-KPA/CCA）とすることで、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）を用いても、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。なお、上記の共有鍵遮蔽手段（ＳＥＭ）による安全性のコントロールの効果は、鍵カプセル化手段（ＫＥＭ）を用いない場合にも有効である。つまり、既知平文選択暗号文攻撃安全（IND-KPA/CCA）の共有鍵遮蔽手段（ＳＥＭ）と組み合わせることで、データカプセル化手段（ＤＥＭ）を従来の安全性である選択暗号文攻撃安全（IND-CCA）としても、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。
【発明を実施するための最良の形態】
【００２５】
以下にこの発明の実施形態を、図面を参照して説明するが、同一の機能を有する部分は、各図中に同一参照番号を付けて重複説明を省略する。
［第１実施形態］
図１１に共有鍵遮蔽手段（ＳＥＭ）の構成を示す。共有鍵遮蔽手段（ＳＥＭ）３５０は、鍵ビット長パラメータ部ＳＬ（３６０）、暗号化アルゴリズム部ＳＥ（３７０）、復号アルゴリズム部ＳＤ（３８０）から構成される。鍵ビット長パラメータ部ＳＬ（３６０）は、確定的アルゴリズムを実行する構成部であって、セキュリティパラメータλから秘密鍵と共有セッション鍵のビット長の組（ａｌ，ｒｌ）を生成する。記号では、（ａｌ，ｒｌ）＝ＳＬ（λ）と表すこととする。暗号化アルゴリズム部ＳＥ３７０は、確率的的アルゴリズムを実行する構成部である。暗号化アルゴリズム部ＳＥ３７０は、ｎ個の受信側装置の各秘密鍵ａｉ（ｉ＝１〜ｎ）を用いて共通セッション鍵ｒを生成する。さらに、暗号化アルゴリズム部３７０は、各受信側装置の秘密鍵ａｉ（ｉ＝１〜ｎ）を用いて共通セッション鍵ｒを暗号化し、暗号化された共通セッション鍵Ｓｉを出力する。記号としては、（ｒ，Ｓｉ）←ＳＥ（ａ１，…，ａｎ）と表すこととする。復号アルゴリズム部ＳＤ３８０は、確定的アルゴリズムを実行する構成部であって、暗号化された共通セッション鍵Ｓｉを、秘密鍵ａｉを用いて復号し、共通セッション鍵ｒを出力する。記号としては、ｒ＝ＳＤａｉ（Ｓｉ）と表すこととする。共有鍵遮蔽手段（ＳＥＭ）３５０では、任意のａｉ∈{０，１}ａｌと確定的な（ｒ，Ｓｉ）←ＳＥ（ａ１，…，ａｎ）に対して、常にＳＤａｉ（Ｓｉ）＝ｒが成り立つ。
【００２６】
本発明では、安全性をコントロールした共有鍵遮蔽手段（ＳＥＭ）を、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）とを組み合せた、従来のＫＥＭ−ＤＥＭ暗号方式に、組み合せることで、全体の安全性をコントロールする。
具体的には、共有鍵遮蔽手段（ＳＥＭ）３５０は、確定的な共通鍵暗号ψを用いて構成することができる。確定的な共通鍵暗号ψは、確定的アルゴリズムであって、ビット長がｒｌの０または１の列とビット長がａｌの０または１の列との組を、ビット長が任意の０または１の列に変換する（{０，１}＊←{０，１}ｒｌ×{０，１}ａｌ）。この共通鍵暗号ψを用いた場合、暗号化アルゴリズム部ＳＥ３７０では、まず、任意の共通セッション鍵ｒ∈{０，１}ｒｌを生成する。そして、Ｓｉ←ψａｉ（ｒ）により、送信先ごとの暗号化された共通セッション鍵Ｓｉを生成する。また、復号アルゴリズム部ＳＤ３８０では、ｒ＝ψａｉ−１（Ｓｉ）により、暗号化された共通セッション鍵Ｓｉを復号し、共通セッション鍵ｒを得る。選択暗号文攻撃安全（IND-CCA）な確定的共通鍵暗号ψを用いて上記のように共有鍵遮蔽手段（ＳＥＭ）３５０を構成すれば、共有鍵遮蔽手段（ＳＥＭ）３５０の安全性を選択暗号文攻撃安全（IND-CCA）とすることができる。同様に、既知平文選択暗号文攻撃安全（IND-KPA/CCA）な確定的共通鍵暗号ψを用いて上記のように共有鍵遮蔽手段（ＳＥＭ）を構成すれば、共有鍵遮蔽手段（ＳＥＭ）の安全性を既知平文選択暗号文攻撃安全（IND-KPA/CCA）とすることができる。そして、選択暗号文攻撃安全（IND-CCA）な共有鍵遮蔽手段（ＳＥＭ）を用いれば、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）と組み合せて、毎回秘密鍵を生成する場合に、全体の安全性を選択暗号文攻撃安全（IND-CCA2）とすることができる。さらに、既知平文選択暗号文攻撃安全（IND-KPA/CCA）な共有鍵遮蔽手段（ＳＥＭ）を用いれば、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）と組み合せて、毎回秘密鍵を生成する場合でも秘密鍵を再利用する場合でも、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。
【００２７】
図１２に、本発明の暗号化通信を行うシステムの例を示す。この例はＮ＋１個の送受信装置２０００−ｉ（ｉ＝０，１，２，…，Ｎ）から構成されている。各送受信装置２０００−ｉは、鍵カプセル化手段（ＫＥＭ）１００の構成部、データカプセル化手段（ＤＥＭ）２００の構成部、および共有鍵遮蔽手段（ＳＥＭ）３５０の構成部を組み合せた、暗号化装置ＨＥｉ４００−ｉ、復号装置ＨＤｉ５００−ｉ、記録装置８６０−ｉから構成されている。
まず、１対１通信、かつ、毎回秘密鍵を生成する場合を説明する。図１３に、１対１通信での、送受信装置２０００−０の暗号化装置ＨＥ０４００−０と送受信装置２０００−１の復号装置ＨＤ１５００−１の機能構成を示す。また、図１４に処理フローを示す。なお、図１３中の記録８１０−１、８７０−１は記録装置８６０−１内に備えられている。
【００２８】
復号装置ＨＤ１５００−１は、あらかじめ鍵生成部ＫＧ１２０−１によって、セキュリティパラメータλから公開鍵ｐｋ１と私有鍵ｓｋ１の組を得る（（ｐｋ１，ｓｋ１）←ＫＧ（λ））（Ｓ１２０−１）。私有鍵ｓｋｉは、あらかじめ記録装置８６０−１内の記録部８１０−１に記録される（Ｓ８１０−１）。公開鍵ｐｋ１は、あらかじめ公開され、暗号化装置ＨＥ０４００−０によって使用される。なお、公開鍵ｐｋ１は、記録装置８６０−１内の記録部８７０−１に記録した上で、公開してもよい（Ｓ８７０−１）。暗号化装置ＨＥ０４００−０の暗号化アルゴリズム部ＫＥ１３０−０−１は、復号装置ＨＤ１５００−１の公開鍵ｐｋ１から秘密鍵ａ１と暗号化した秘密鍵ｅ１の組を得る（（ａ１，ｅ１）←ＫＥ（ｐｋ１））（Ｓ１３０−０−１）。暗号化アルゴリズム部ＳＥ３７０−０は、秘密鍵ａ１を用いて、共通セッション鍵ｒと暗号化された共通セッション鍵Ｓ１を得る（（ｒ，Ｓ１）←ＳＥ（ａ１））（Ｓ３７０−０）。暗号化アルゴリズム部ＤＥ２２０−０は、共通セッション鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））（Ｓ２２０−０）。このように暗号化装置ＨＥ０４００−０は、復号装置ＨＤ１５００−１への出力として、暗号化した秘密鍵ｅ１と暗号化した共通セッション鍵Ｓ１、暗号文ｃの組（ｅ１，Ｓ１，ｃ）を得る。復号装置ＨＤ１５００−１は、暗号化装置ＨＥ０４００−０からの暗号化した秘密鍵ｅ１と暗号化した共通セッション鍵Ｓ１、暗号文ｃの組（ｅ１，Ｓ１，ｃ）を受信する。そして、復号アルゴリズム部ＫＤ１４０−１は、記録部８１０−１に記録された私有鍵ｓｋ１を用いて、暗号化された秘密鍵ｅｉを復号し、秘密鍵ａ１を得る（ａ１＝ＫＤｓｋ１（ｅ１））（Ｓ１４０−１）。次に、復号アルゴリズム部ＳＤ３８０−１は、暗号化された共通セッション鍵Ｓ１を、秘密鍵ａ１を用いて復号し、共通セッション鍵ｒを得る（ｒ＝ＳＤａ１（Ｓ１））（Ｓ３８０−１）。次に、復号アルゴリズム部ＤＤ２３０−１は、共通セッション鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））（Ｓ２３０−１）。
【００２９】
この「ＫＥＭ−ＳＥＭ−ＤＥＭ」は、毎回、秘密鍵や共通セッション鍵を生成する。選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）１００、データカプセル化手段（ＤＥＭ）２００、鍵共有化手段（ＤＥＭ）３００を組み合せることによって、全体の安全性を選択暗号文攻撃安全（IND-CCA2）とすることができる。また、安全性が選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）１００、データカプセル化手段（ＤＥＭ）２００と、既知平文選択暗号文攻撃安全（IND-KPA/CCA）の共有鍵遮蔽手段（ＳＥＭ）３５０を組み合せることによって、全体の安全性を、安全性の高い選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。言い換えると、鍵カプセル化手段（ＫＥＭ）１００、データカプセル化手段（ＤＥＭ）２００の安全性は、安全性が選択暗号文攻撃安全（IND-CCA）のままで、共有鍵遮蔽手段（ＳＥＭ）３５０の安全性をコントロールすることによって、全体の安全性をコントロールすることができる。
【００３０】
［変形例１］
次に、１対１通信、かつ、２回目以降の通信では秘密鍵を再利用する場合を説明する。図１５に、図１２の送受信装置２０００’−０の暗号化装置ＨＥ０４００’−０と送受信装置２０００’−１の復号装置ＨＤ１５００’−１の機能構成と処理の概要を示す。また、図１６に１回目の通信での処理フローを示す。なお、図１５中の記録８１０−ｉ、８２０−ｉ、８３０−ｉ、８７０−ｉは記録装置８６０’−ｉ内に備えられている。図１５と図１３の構成との違い、図１６と図１４の処理フローの違いはそれぞれ２つである。１つ目は、暗号化装置ＨＥ０４００’−０の暗号化アルゴリズム部ＫＥ１３０−０−１で生成した秘密鍵ａ１を、記録装置８６０’−０内の記録部８３０−０に記録することである（Ｓ８３０−０）。もう１つの違いは、復号装置５００’−１の復号アルゴリズム部ＫＤ１４０−１で復号した秘密鍵ａ１を、記録装置８６０’−１内の記録部８２０−１に記録することである（Ｓ８２０−１）。この違いによって、秘密鍵ａ１は、送信側と受信側の両方の送受信装置で記録される。
【００３１】
図１７に、２回目以降の通信での送受信装置２０００’−０の暗号化装置ＨＥ０４００’−０と送受信装置２０００’−１の復号装置ＨＤ１５００’−１の機能構成と処理の概要を示す。また、図１８に２回目の通信での処理フローを示す。２回目以降の通信では、暗号化装置ＨＥ０４００’−０の暗号化アルゴリズム部ＳＥ３７０−０が、記録装置８６０’−０内の記録部８３０−０に記録された秘密鍵ａ１を用いて、共通セッション鍵ｒと暗号化された共通セッション鍵Ｓ１を得る（（ｒ，Ｓ１）←ＳＥ（ａ１））（Ｓ３７０−０）。暗号化アルゴリズム部ＤＥ２２０−０は、共通セッション鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））（Ｓ２２０−０）。そして、暗号化装置ＨＥ０４００’−０は受信側に、暗号化した共通セッション鍵Ｓ１と暗号文ｃを送信する。また、復号装置ＨＤ１５００’−１の復号アルゴリズム部ＳＤ３８０−１は、暗号化された共通セッション鍵Ｓ１を、秘密鍵ａ１を用いて復号し、共通セッション鍵ｒを得る（ｒ＝ＳＤａ１（Ｓ１））（Ｓ３８０−１）。次に、復号アルゴリズム部ＤＤ２３０−１は、共通セッション鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））（Ｓ２３０−１）。
【００３２】
上記のように、共通セッション鍵を送信側、受信側の両方で記録しておくことにより、繰り返し通信で、鍵カプセル化手段（ＫＥＭ）の処理を省略できる。しかも、共有鍵遮蔽手段（ＳＥＭ）の安全性を既知平文選択暗号文攻撃安全（IND-KPA/CCA2）とすることで、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）を用いても、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。
【００３３】
［変形例２］
本変形例では、同報通信の場合を説明する。図１９に、図１２の送受信装置２０００”−ｇ０の暗号化装置ＨＥｇ０４００”−ｇ０と送受信装置２０００”−ｇｉ（ｉ＝１〜ｎ）の復号装置ＨＤｇｉ５００” −ｇｉ（ｉ＝１〜ｎ）の機能構成と処理の概要を示す。なお、図１９中の記録８１０−ｇｉ、８２０−ｇｉ、８３０−ｇｉ、８７０−ｇｉ、８８０−ｇｉは記録装置８６０”−ｉ内に備えられている。ｇｉ（ｉ＝０〜ｎ）は、図１２中のＮ＋１個の送受信装置の中から選択されたｎ＋１個の送受信装置を識別するための番号である。また、ｇ０は情報の送信側、ｇ１〜ｇｎは情報の受信側を示している。図２０に１回目の通信での処理フローを示す。
【００３４】
復号装置ＨＤｇｉ５００”−ｇｉ（ｉ＝１〜ｎ）は、あらかじめ鍵生成部ＫＧ１２０−ｇ１によって、セキュリティパラメータλから公開鍵ｐｋｇｉと私有鍵ｓｋｇｉの組を得る（（ｐｋｇｉ，ｓｋｇｉ）←ＫＧ（λ））（Ｓ１２０−ｇｉ）。私有鍵ｓｋｇｉ（ｉ＝１〜ｎ）は、あらかじめ記録装置８６０”−ｇｉ内の記録部８１０−ｇｉに記録される（Ｓ８１０−ｇｉ）。公開鍵ｐｋｇｉ（ｉ＝１〜ｎ）は、あらかじめ公開され、暗号化装置ＨＥｇ０４００−ｇ０によって使用される。なお、公開鍵ｐｋｇｉは、記録装置８６０”−ｇｉの記録部８７０−ｇｉに記録した上で、公開してもよい（Ｓ８７０−ｇｉ）。送受信装置２０００”−ｇ０では、リスト管理部３９０−ｇ０が、同報通信の送信先である送受信装置２０００”−ｇｉ（ｉ＝１〜ｎ）を、記録部８８０−ｇ０にあらかじめ登録する（Ｓ３９０−ｇ０）。暗号化装置ＨＥｇ０４００”−ｇ０の暗号化アルゴリズム部ＫＥ１３０−ｇ０−ｇｉ（ｉ＝１〜ｎ）は、復号装置ＨＤｇｉ５００”−ｇｉの公開鍵ｐｋｇｉから秘密鍵ａｇｉと暗号化した秘密鍵ｅｇｉの組を得る（（ａｇｉ，ｅｇｉ）←ＫＥ（ｐｋｇｉ））（Ｓ１３０−ｇ０−ｇｉ）。なお、２回目以降の同報通信で秘密鍵ａｇｉ（ｉ＝１〜ｎ）を再利用する場合は、秘密鍵ａｇｉを記録部８３０−ｇ０に記録しておく（Ｓ８３０−ｇ０）。暗号化アルゴリズム部ＳＥ３７０−ｇ０は、秘密鍵ａｇ１，…，ａｇｎを用いて、共通セッション鍵ｒと各受信側の送受信装置ごとに暗号化された共通セッション鍵Ｓｇ１，…，Ｓｇｎを得る（（ｒ，Ｓｇ１，…，Ｓｇｎ）←ＳＥ（ａｇ１，…，ａｇｎ））（Ｓ３７０−ｇ０）。暗号化アルゴリズム部ＤＥ２２０−ｇ０は、共通セッション鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））（Ｓ２２０−ｇ０）。このように暗号化装置ＨＥｇｏ４００”−０は、復号装置ＨＤｇｉ５００−ｇｉ（ｉ＝１〜ｎ）への出力として、暗号化した秘密鍵ｅｇ１，…，ｅｇｎと暗号化した共通セッション鍵Ｓｇ１，…，Ｓｇｎ、暗号文ｃの組（ｅｇ１，Ｓｇ１，…，ｅｇｎ，Ｓｇｎ，ｃ）を得る。復号装置ＨＤ１５００”−１は、暗号化装置ＨＥ０４００”−０からの暗号化した秘密鍵ｅｇ１，…，ｅｇｎと暗号化した共通セッション鍵Ｓｇ１，…，Ｓｇｎ、暗号文ｃの組（ｅｇ１，Ｓｇ１，…，ｅｇｎ，Ｓｇｎ，ｃ）を受信する。そして、復号アルゴリズム部ＫＤ１４０−ｇｉ（ｉ＝１〜ｎ）は、記録部８１０−ｇｉに記録された私有鍵ｓｋｇｉを用いて、暗号化された秘密鍵ｅｇｉを復号し、秘密鍵ａｇｉを得る（ａｇｉ＝ＫＤｓｋｇｉ（ｅｇｉ））（Ｓ１４０−ｇｉ）。次に、復号アルゴリズム部ＳＤ３８０−ｇｉ（ｉ＝１〜ｎ）は、暗号化された共通セッション鍵Ｓｇｉを、秘密鍵ａｇｉを用いて復号し、共通セッション鍵ｒを得る（ｒ＝ＳＤａｇｉ（Ｓｇｉ））（Ｓ３８０−ｇｉ）。復号アルゴリズム部ＤＤ２３０−ｇｉ（ｉ＝１〜ｎ）は、共通セッション鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））（Ｓ２３０−ｇｉ）。
【００３５】
上記の方法によれば、同報通信の場合に、共通セッション鍵を用いることで、平文を１回のみ暗号化すればよい。したがって、送信先ごとの秘密鍵を用いて送信先の数だけ平文を暗号化する従来の方法に比べ、計算量および通信量を大幅に削減できる。しかも、共有鍵遮蔽手段（ＳＥＭ）の安全性を既知平文選択暗号文攻撃安全（IND-KPA/CCA）とすることで、選択暗号文攻撃安全（IND-CCA）の鍵カプセル化手段（ＫＥＭ）とデータカプセル化手段（ＤＥＭ）を用いても、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。さらに、この場合、同報通信を繰り返す時には、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）に保ったまま、２回目以降の鍵カプセル化手段（ＫＥＭ）の処理を省略できる。
【００３６】
［第２実施形態］
図２３に、本発明の共有鍵遮蔽手段（ＳＥＭ）をデータカプセル化手段（ＤＥＭ）と組み合わせた共通鍵暗号システムの構成例を示す。また、その処理フローを図２４に示す。このシステムは、暗号化装置Ｅ３０００−０と復号装置Ｄ３０００−１から構成される。また、暗号化装置Ｅ３０００−０は、暗号化アルゴリズム部ＳＥ３７０−０、暗号化アルゴリズム部ＤＥ２２０−０、復号装置Ｄ３０００−１の秘密鍵を記録する記録部８３０−０から構成される。さらに、復号装置Ｄ３０００−１は、復号アルゴリズム部ＳＤ３８０−１、復号アルゴリズム部ＤＤ２３０−１、復号装置Ｄ３０００−１の秘密鍵を記録する記録部８２０−１から構成される。
【００３７】
暗号化装置Ｅ３０００−０と復号装置Ｄ３０００−１は、あらかじめ復号装置Ｄ３０００−１の秘密鍵ａ１を共有化し、それぞれの記録部８３０−０と８２０−１に記録しておく。暗号化装置Ｅ３０００−０の暗号化アルゴリズム部ＳＥ３７０−０が、記録部８３０−０に記録された秘密鍵ａ１を用いて、共通鍵ｒと暗号化された共通鍵Ｓ１を得る（（ｒ，Ｓ１）←ＳＥ（ａ１））（Ｓ３７０−０’）。暗号化アルゴリズム部ＤＥ２２０−０は、共通鍵ｒを用いて平文ｍを暗号化し、暗号文ｃを得る（ｃ＝ＤＥｒ（ｍ））（Ｓ２２０−０’）。そして、暗号化装置Ｅ３０００−０は受信側に、暗号化した共通鍵Ｓ１と暗号文ｃを送信する。また、復号装置Ｄ３０００−１の復号アルゴリズム部ＳＤ３８０−１は、暗号化された共通鍵Ｓ１を、秘密鍵ａ１を用いて復号し、共通鍵ｒを得る（ｒ＝ＳＤａ１（Ｓ１））（Ｓ３８０−１’）。次に、復号アルゴリズム部ＤＤ２３０−１は、共通鍵ｒを用いて暗号文ｃを復号し、平文ｍを得る（ｍ＝ＤＤｒ（ｃ））（Ｓ２３０−１’）。
【００３８】
このシステムでは、鍵カプセル化手段（ＫＥＭ）を用いていないので、ハイブリッド暗号システムではない。しかし、以下に示す点で、従来のデータカプセル化手段（ＤＥＭ）のみで構成する共通鍵暗号システムよりも優れている。従来のデータカプセル化手段（ＤＥＭ）の場合、安全性を選択暗号文攻撃安全（IND-CCA）から選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）に高めようとすれば、暗号化アルゴリズム部ＤＥと復号アルゴリズム部ＤＤとを根本的に作り直す必要がある。しかし、既知平文選択暗号文攻撃安全（IND-KPA/CCA）の共有鍵遮蔽手段（ＳＥＭ）と組み合わせることで、データカプセル化手段（ＤＥＭ）を従来の安全性である選択暗号文攻撃安全（IND-CCA）としても、全体の安全性を選択平文選択暗号文攻撃安全（IND-CPA2/CCA2）とすることができる。したがって、従来から用いていた選択暗号文攻撃安全（IND-CCA）のデータカプセル化手段（ＤＥＭ）を流用できる。
【００３９】
なお、この発明の暗号化装置及び復号装置は、コンピュータにより機能させることもできる。例えばコンピュータをこの発明の暗号化装置として機能させるためには、そのコンピュータに、図１３から図２４に示したいずれかの方法の各ステップをコンピュータに実行させるプログラムを記録したＣＤ−ＲＯＭ、磁気ディスク、半導体記憶媒体等の記録媒体からインストールし、あるいは通信回線を介してダウンロードし、そのプログラムをコンピュータに実行させればよい。
【図面の簡単な説明】
【００４０】
【図１】鍵カプセル化手段（ＫＥＭ）の機能構成を示す図。
【図２】データカプセル化手段（ＤＥＭ）の機能構成を示す図。
【図３】実際に暗号を用いた通信を行う場合の送受信装置の機能構成例を示す図。
【図４】送受信装置での機能構成と処理フローを示す図。
【図５】秘密鍵を再利用する場合の、１回目の情報通信時の機能構成と処理フローを示す図。
【図６】秘密鍵を再利用する場合の、２回目以降の情報通信時の機能構成と処理フローを示す図。
【図７】鍵共有化手段（ＤＥＭ）の機能構成を示す図。
【図８】暗号化同報通信を行うシステムの例を示す図。
【図９】第１回目の同報通信での暗号化装置ＨＥ０と復号装置ＨＤｉとの関係を示す図。
【図１０】第１回目の暗号化同報通信と同じ送受信装置間で第２回目以降の暗号化同報通信を行う場合の暗号化装置ＨＥ０と復号装置ＨＤｉとの関係を示す図。
【図１１】共有鍵遮蔽手段（ＳＥＭ）の機能構成を示す図。
【図１２】暗号化通信を行うシステムの例を示す図。
【図１３】１対１通信での、暗号化装置ＨＥ０と復号装置ＨＤ１の機能構成を示す図。
【図１４】１対１通信での、暗号化装置ＨＥ０と復号装置ＨＤ１の処理フローを示す図。
【図１５】１対１通信、かつ、２回目以降の通信では秘密鍵を再利用する場合の、１回目の通信での暗号化装置ＨＥ０と復号装置ＨＤ１の機能構成を示す図。
【図１６】１対１通信、かつ、２回目以降の通信では秘密鍵を再利用する場合の、１回目の通信での暗号化装置ＨＥ０と復号装置ＨＤ１の処理フローを示す図。
【図１７】１対１通信、かつ、２回目以降の通信では秘密鍵を再利用する場合の、２回目以降の通信での暗号化装置ＨＥ０と復号装置ＨＤ１の機能構成を示す図。
【図１８】１対１通信、かつ、２回目以降の通信では秘密鍵を再利用する場合の、２回目以降の通信での暗号化装置ＨＥ０と復号装置ＨＤ１の処理フローを示す図。
【図１９】同報通信の場合の、１回目の通信での暗号化装置ＨＥｇ０と復号装置ＨＤｇｉ（ｉ＝１〜ｎ）の機能構成を示す図。
【図２０】同報通信の場合の、１回目の通信での暗号化装置ＨＥｇ０と復号装置ＨＤｇｉ（ｉ＝１〜ｎ）の処理フローを示す図。
【図２１】同報通信の場合の、２回目以降の通信での暗号化装置ＨＥｇ０と復号装置ＨＤｇｉ（ｉ＝１〜ｎ）の機能構成を示す図。
【図２２】同報通信の場合の、２回目以降の通信での暗号化装置ＨＥｇ０と復号装置ＨＤｇｉ（ｉ＝１〜ｎ）の処理フローを示す図。
【図２３】共有鍵遮蔽手段（ＳＥＭ）をデータカプセル化手段（ＤＥＭ）と組み合わせた共通鍵暗号システムの構成例を示す図。
【図２４】共有鍵遮蔽手段（ＳＥＭ）をデータカプセル化手段（ＤＥＭ）と組み合わせた共通鍵暗号システムの処理フローを示す図。
【図１】
2007189456.tif 000003
【図２】
2007189456.tif 000004
【図３】
2007189456.tif 000005
【図４】
2007189456.tif 000006
【図５】
2007189456.tif 000007
【図６】
2007189456.tif 000008
【図７】
2007189456.tif 000009
【図８】
2007189456.tif 000010
【図９】
2007189456.tif 000011
【図１０】
2007189456.tif 000012
【図１１】
2007189456.tif 000013
【図１２】
2007189456.tif 000014
【図１３】
2007189456.tif 000015
【図１４】
2007189456.tif 000016
【図１５】
2007189456.tif 000017
【図１６】
2007189456.tif 000018
【図１７】
2007189456.tif 000019
【図１８】
2007189456.tif 000020
【図１９】
2007189456.tif 000021
【図２０】
2007189456.tif 000022
【図２１】
2007189456.tif 000023
【図２２】
2007189456.tif 000024
【図２３】
2007189456.tif 000025
【図２４】
2007189456.tif 000026