(57)【要約】【課題】  秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止する送信装置を提供する。【解決手段】  平文を暗号化し、暗号文を生成する送信装置１１０であって、暗号鍵と復号装置に対応した乱数パラメータ（乱数多項式中の係数が１の項の数）とを記憶するパラメータ記憶部１１２と、ＮＴＲＵ方式の暗号アルゴリズムに従い、前記平文から、前記パラメータ記憶部１１２に記憶されている前記暗号鍵および前記乱数パラメータを用いて前記暗号文を生成する暗号化部１１６と、期間が経過するにつれ、パラメータ記憶部１１２に記憶されている乱数パラメータおよび暗号鍵を更新する鍵更新部１１８とを備える。【選択図】      図３
2004151692.tif 000002
【特許請求の範囲】
【請求項１】
平文を暗号化し、暗号文を生成する暗号装置であって、
暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、
前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、
前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備える
ことを特徴とする暗号装置。
【請求項２】
前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する
ことを特徴とする請求項１に記載の暗号装置。
【請求項３】
前記暗号手段は、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
ことを特徴とする請求項２に記載の暗号装置。
【請求項４】
前記記憶手段に記憶されている前記パラメータは、ＮＴＲＵ暗号方式における乱数多項式中の係数が１の項の数であり、
前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が１の項の数を増加させる
ことを特徴とする請求項３に記載の暗号装置。
【請求項５】
さらに、前記復号装置より前記暗号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵を更新する暗号鍵更新手段と、
前記復号装置より前記乱数多項式中の係数が１の項の数の更新要求を受け、当該更新要求に応答して、前記乱数多項式中の係数が１の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
ことを特徴とする請求項４に記載の暗号装置。
【請求項６】
前記初期化手段は、前記復号装置より所定の金額が支払われた場合にのみ、前記乱数多項式中の係数が１の項の数を前記初期値に設定する
ことを特徴とする請求項５に記載の暗号装置。
【請求項７】
前記更新手段は、期間が経過するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
ことを特徴とする請求項２に記載の暗号装置。
【請求項８】
前記更新手段は、前記暗号手段の暗号化回数に応じて前記記憶手段に記憶されている前記パラメータを更新する
ことを特徴とする請求項１に記載の暗号装置。
【請求項９】
前記更新手段は、前記暗号手段の暗号化回数が増加するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
ことを特徴とする請求項８に記載の暗号装置。
【請求項１０】
前記暗号手段は、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
ことを特徴とする請求項１に記載の暗号装置。
【請求項１１】
前記記憶手段に記憶されている前記パラメータは、ＮＴＲＵ暗号方式における乱数多項式中の係数が１の項の数であり、
前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が１の項の数を増加させる
ことを特徴とする請求項１０に記載の暗号装置。
【請求項１２】
前記暗号手段は、ＥＥＳＳ（Efficient Embedded Security Standard）方式のＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
ことを特徴とする請求項１０に記載の暗号装置。
【請求項１３】
さらに、前記復号装置より前記暗号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵を更新する暗号鍵更新手段と、
前記復号装置より前記パラメータの更新要求を受け、当該更新要求に応答して、前記パラメータの値を、復号エラーが発生する確率が所定の値以下となる初期値に設定するパラメータ初期化手段とを備える
ことを特徴とする請求項１に記載の暗号装置。
【請求項１４】
暗号文を復号する復号装置であって、
パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、
前記復号文が正しく得られたか否かを判別する判別手段と、
前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する復号鍵更新要求手段と、
前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える
ことを特徴とする復号装置。
【請求項１５】
前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行なう
ことを特徴とする請求項１４に記載の復号装置。
【請求項１６】
前記判別手段は、所定期間内における前記暗号文の復号エラー発生確率が所定しきい値を上回った場合に、前記復号文が正しく得られていないと判別する
ことを特徴とする請求項１５に記載の復号装置。
【請求項１７】
前記判別手段は、所定期間内における前記暗号文の復号エラー発生確率が所定しきい値を上回った場合に、前記復号文が正しく得られていないと判別する
ことを特徴とする請求項１４に記載の復号装置。
【請求項１８】
平文を暗号化し、暗号文を生成する暗号装置と、前記暗号文を復号し、復号文を生成する復号装置とを含む暗号システムであって、
前記暗号装置は、
暗号鍵と前記復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、
前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、
前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備え、
前記復号装置は、
前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、
前記復号鍵の更新を前記暗号装置へ要求する復号鍵更新要求手段と、
前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える
ことを特徴とする暗号システム。
【請求項１９】
前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する
ことを特徴とする請求項１８に記載の暗号システム。
【請求項２０】
前記暗号手段は、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成し、
前記記憶手段に記憶されている前記パラメータは、ＮＴＲＵ暗号方式における乱数多項式中の係数が１の項の数であり、
前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が１の項の数を増加させる
ことを特徴とする請求項１９に記載の暗号システム。
【請求項２１】
前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行ない、
前記暗号装置は、さらに、
前記復号装置より前記復号鍵の更新要求を受け、前記所定の金額が支払われた場合にのみ、当該更新要求に応答して、前記復号鍵を更新する復号鍵更新手段と、
前記復号装置より前記パラメータの初期化要求を受け、前記所定の金額が支払われた場合にのみ、当該初期化要求に応答して、前記乱数多項式中の係数が１の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
ことを特徴とする請求項２０に記載の暗号システム。
【請求項２２】
前記更新手段は、前記暗号手段の暗号化回数に応じて前記記憶手段に記憶されている前記パラメータを更新する
ことを特徴とする請求項１８に記載の暗号システム。
【請求項２３】
前記暗号手段は、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
ことを特徴とする請求項１８に記載の暗号システム。
【請求項２４】
前記記憶手段に記憶されている前記パラメータは、ＮＴＲＵ暗号方式における乱数多項式中の係数が１の項の数であり、
前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行ない、
前記暗号装置は、さらに、
前記復号装置より前記復号鍵の更新要求を受け、前記所定の金額が支払われた場合にのみ、当該更新要求に応答して、前記復号鍵を更新する復号鍵更新手段と、
前記復号装置より前記パラメータの初期化要求を受け、前記所定の金額が支払われた場合にのみ、当該初期化要求に応答して、前記乱数多項式中の係数が１の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
ことを特徴とする請求項２３に記載の暗号システム。
【請求項２５】
前記復号装置は、さらに、前記復号文が正しく得られたか否かを判別する判別手段を備え、
前記復号鍵更新要求手段は、前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求し、
前記パラメータ初期化要求手段は、前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する
ことを特徴とする請求の範囲１８に記載の暗号システム。
【請求項２６】
平文を暗号化し、暗号文を生成する暗号方法であって、
復号装置に対応したパラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
前記パラメータを更新する更新ステップとを含む
ことを特徴とする暗号方法。
【請求項２７】
前記更新ステップでは、期間が経過するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
ことを特徴とする請求項２６に記載の暗号方法。
【請求項２８】
前記更新ステップでは、暗号化回数が増加するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
ことを特徴とする請求項２６に記載の暗号方法。
【請求項２９】
前記暗号文生成ステップでは、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
ことを特徴とする請求項２６に記載の暗号方法。
【請求項３０】
前記パラメータは、ＮＴＲＵ暗号方式における乱数多項式中の係数が１の項の数であり、
前記更新ステップでは、期間が経過するにつれて前記乱数多項式中の係数が１の項の数を増加させる
ことを特徴とする請求項２９に記載の暗号方法。
【請求項３１】
暗号文を復号する復号方法であって、
パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号ステップと、
前記復号文が正しく得られたか否かを判別する判別ステップと、
前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップと含む
ことを特徴とする復号方法。
【請求項３２】
平文を暗号化し、暗号文を生成する暗号プログラムであって、
復号装置に対応したパラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
前記パラメータを更新する更新ステップとをコンピュータに実行させる
ことを特徴とする暗号プログラム。
【請求項３３】
暗号文を復号する復号プログラムであって、
パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号ステップと、
前記復号文が正しく得られたか否かを判別する判別ステップと、
前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップとをコンピュータに実行させる
ことを特徴とする復号プログラム。
【請求項３４】
平文を暗号化し、暗号文を生成する暗号プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記暗号プログラムは、
復号装置に対応したパラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
前記パラメータを更新する更新ステップとをコンピュータに実行させる
ことを特徴とするコンピュータ読取可能な記録媒体。
【請求項３５】
暗号文を復号する復号プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記復号プログラムは、
パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号ステップと、
前記復号文が正しく得られたか否かを判別する判別ステップと、
前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップとをコンピュータに実行させる
ことを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号システムに関し、特に、ＮＴＲＵ暗号方式の暗号アルゴリズムを用いた暗号システムに関する。
【背景技術】
【０００２】
送信装置と受信装置との間で秘匿通信を実現する方法として、公開鍵暗号を用いた暗号化通信がある。公開鍵暗号方式について簡単に説明すると、送信装置が、通信内容を受信装置の公開鍵を用いて暗号化して送信する。次に、受信装置は、暗号化された通信内容を受信し、それを自身の秘密鍵を用いて復号して元の通信内容を得る方法である（例えば、非特許文献１参照。）。
【０００３】
この方法を用いる一般的な暗号システムでは、送信装置及び受信装置は、ともに複数存在する。まず、送信装置は、通信先受信装置の公開鍵を取得する。この公開鍵は、通信先受信装置が有する秘密鍵と対になるものであり、暗号システムにおいて公開されている。そして、送信装置は、通信すべきデータを上記のようにして取得した公開鍵で暗号化して送信する。一方、受信装置は、送信装置より暗号化された通信データを受信する。そして、受信装置は、暗号化された通信データを、自身の有する秘密鍵で復号して元の通信データを得る。
【０００４】
ここで、もしも通信先受信装置の有する秘密鍵が暴露されると、上記の暗号システムは、もはや安全ではなくなる。なぜならば、通信先受信装置の公開鍵で暗号化された通信内容は、暴露された秘密鍵をもつ第三者の受信装置でも復号されてしまうからである。従って、受信装置の有する秘密鍵は、外部に露見しないように厳重に管理する必要がある。
しかしながら、場合によっては、何らかの事故や事件により受信装置の有する秘密鍵が暴露されてしまう可能性がある。従って、上記の暗号システムにおいては、受信装置の有する秘密鍵が暴露された場合、もしくはその疑いがある場合には、暴露された秘密鍵と対になる公開鍵の使用を停止させる必要がある。
【０００５】
そのような方法の一例として、証明書廃棄リスト（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ、ＣＲＬ）と呼ばれるデータ構造を使用して、受信装置の有する秘密鍵が暴露された場合に、暴露された秘密鍵と対になる公開鍵の使用を停止する方法が提案されている（例えば、非特許文献２参照。）。
また、他の例として、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１３９４規格のシリアルバス上を伝送されるデジタルコンテンツを保護するＤＴＣＰ（Ｄｉｇｉｔａｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ）規格の中では、ＳＲＭ（Ｓｙｓｔｅｍ  Ｒｅｎｅｗａｂｉｌｉｔｙ  Ｍｅｓｓａｇｅｓ）を使用する方法が提案されている。ＳＲＭを利用することにより、受信装置の有する秘密鍵が暴露された場合に、当該受信装置の公開鍵の使用を停止することができるようになっている（例えば、非特許文献３参照。）。
【０００６】
以下に、これらの方法を簡単に説明する。
まず、公開鍵は、それを保有する人や物などの識別情報に関連付けられ、信頼できる第三者機関によりシリアル番号等が付加された形式に変換される。さらに公開鍵には、他者による改ざんを防止するためにその第三者機関のデジタル署名が付加される。これを公開鍵証明書と呼ぶ。そして、第三者機関により発行されるＣＲＬやＳＲＭには、秘密鍵の暴露等の理由で使用を停止すべき公開鍵証明書のシリアル番号が記載されている。よって、ＣＲＬやＳＲＭに記載されたシリアル番号をチェックすることにより、暴露された秘密鍵と対になる公開鍵の使用を停止することができる。
【０００７】
この方法を、送信装置と受信装置の間で暗号化通信を行う暗号システムに応用する場合を考える。送信装置は、通信先受信装置の公開鍵証明書のデジタル署名を確認する。送信装置は、その公開鍵証明書から、公開鍵とシリアル番号とを取得し、第三者機関から発行されるＣＲＬやＳＲＭを取得する。そして、送信装置は、取得した公開鍵証明書のシリアル番号がＣＲＬやＳＲＭに記載されていれば、その公開鍵の使用を停止する。このことにより、受信装置の有する秘密鍵が暴露されている場合、暴露された秘密鍵と対になる公開鍵の使用を停止することできる。これにより、送信装置と受信装置との間で安全な暗号化通信を実現することができる。
【非特許文献１】岡本龍明、山本博資、「現代暗号」、シリーズ／情報科学の数学、産業図書、１９９７
【非特許文献２】山田信一郎  訳、「ディジタル署名と暗号技術」、株式会社ピアソン・エデュケーション、ｐ．１５９〜ｐ．２１４、１９９７
【非特許文献３】Ｄｉｇｉｔａｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．２  （Ｉｎｆｏｒｍａｔｉｏｎａｌ  Ｖｅｒｓｉｏｎ）、［ｏｎｌｉｎｅ］、２００１年７月１１日、［２００２年９月１３日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｄｔｃｐ．ｃｏｍ／ｄａｔａ／ｉｎｆｏ＿ｄｔｃｐ＿ｖ１＿１２＿２００１０７１１．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ＣＲＬやＳＲＭを用いた上記方法では、以下のような課題がある。
（１）送信装置が最新のＣＲＬやＳＲＭを取得できない場合、受信装置の有する秘密鍵が暴露されていても、送信装置は必ずしも当該受信装置の公開鍵の使用を停止できない。これにより、従来の技術では、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続ける恐れがある。すなわち、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止できない恐れがある。
（２）暗号化通信の安全性確保のためには、鍵を定期的に更新することが望ましい。しかし、従来の技術では、鍵を定期的に更新しなくても受信装置は正常に動作するため、受信装置を扱う人に、鍵の更新を促しにくい。
（３）信頼できる第三者機関によるＣＲＬやＳＲＭが必要である。
【０００９】
以下に、上記問題点（１）、（２）、（３）について詳細を説明する。
まず、ＣＲＬやＳＲＭを用いた上記方法では、送信装置が最新のＣＲＬやＳＲＭを取得できず、受信装置の有する秘密鍵が暴露されていても、当該受信装置の公開鍵の使用を停止できない場合がある。例えば、デジタル化された映画コンテンツデータがＤＶＤなどの記録媒体に記録されるシステムを考える。映画コンテンツデータは受信装置に相当するプレーヤ毎の暗号鍵で暗号化されてディスクに記録される。プレーヤはこの暗号鍵に対応する復号鍵を有しており、ディスクに記録されている暗号化映画コンテンツデータを復号して、映画を再生する。特定のプレーヤは不正な機器であってそのプレーヤによる再生を防止する目的で、そのプレーヤの公開鍵のＣＲＬやＳＲＭがＤＶＤ等の記憶媒体に記録されて発行される。
【００１０】
いま、ある受信装置の秘密鍵が暴露されたことが判明したとする。それ以降は、当該受信装置の公開鍵証明書のシリアル番号が追加記載された最新のＣＲＬやＳＲＭは、ＤＶＤに記録されて発行されることになる。しかし、それ以前に配布されたＤＶＤには古いＣＲＬやＳＲＭしか記録されておらず、最新の公開鍵証明書のシリアル番号は記録されていない。結果として、古いＤＶＤを用いている限り、古いＣＲＬやＳＲＭしか取得できず、必ずしも不正な受信装置の公開鍵の使用を停止させることができない。
【００１１】
また、ＳＲＭを用いるＤＴＣＰ規格では、ＩＥＥＥ１３９４シリアルバスで接続された機器間で、機器が持つ古いＳＲＭは他の機器が持つ新しいＳＲＭに更新されていく。すなわち、この仕組みによって、ＤＶＤ等の記憶媒体から新しいＳＲＭを取得する以外にも、他の機器からも新しいＳＲＭを取得できる。しかしながら、この仕組みを用いても、完全には最新のＳＲＭを取得できる保証は無い。結果として、送信装置は必ずしも当該受信装置の公開鍵の使用を停止することができない。従って、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続ける恐れがある。すなわち、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止できない恐れがある。
【００１２】
次に、ＣＲＬやＳＲＭを用いた上記方法では、受信装置を扱う人に、自身の公開鍵や秘密鍵の更新を促しにくい。これは、送信装置が、ＣＲＬやＳＲＭにより受信装置の公開鍵の使用を停止するまでは、受信装置は、完全に暗号化通信を復号し続けることが可能であることに起因する。以下にこのことを説明する。
【００１３】
従来の技術では、暴露された秘密鍵と対になる公開鍵の使用を停止するためには、最新のＣＲＬやＳＲＭを第三者機関のサーバ等から取得して、ＣＲＬやＳＲＭに記載されたシリアル番号をチェックしなければならない。しかし、一般に、送信装置を扱う人は、ＣＲＬやＳＲＭのチェックを知らずに暗号化通信を行ったり、あるいはサーバ等から最新のＣＲＬやＳＲＭを取得するのが面倒なために、このチェックを無視して暗号化通信を行ったりすることが多い。これは、送信装置が受信装置の公開鍵を取得していれば、ＣＲＬやＳＲＭのチェックを行わなくとも、送信装置、受信装置共に正常に動作して、暗号化通信を行うことができるからである。そして、送信装置がＣＲＬやＳＲＭのチェックを行わないで暗号化通信を行うと、鍵を定期的に更新しなくても受信装置が正常に動作するため、受信装置を扱う人は、自身の公開鍵・秘密鍵を更新しようとはしない。なお、公開鍵証明書に有効期限を設けることにより、送信装置が有効期限の切れた公開鍵の使用を停止し、かつ受信装置が鍵を更新しない限り、送信装置から受信装置への暗号化通信を行わないようにする方法もある。しかしながら、この場合も、ＣＲＬやＳＲＭを用いる方法と同様に、送信装置を扱う人は有効期限のチェックを知らずに、あるいはこのチェックを無視して暗号化通信を行うことが多い。この結果、ＣＲＬやＳＲＭを用いる方法と同様に、鍵を定期的に更新しなくても受信装置が正常に動作するため、受信装置を扱う人は、自身の公開鍵・秘密鍵を定期的に更新しようとはしない。
【００１４】
最後に、ＣＲＬやＳＲＭを用いた上記方法では、信頼できる第三者機関によるＣＲＬやＳＲＭが前提となっている。これは、信頼できる第三者機関によるＣＲＬやＳＲＭの存在を仮定しなければならない点が問題点である。
そこで、本発明は上記（１）、（２）、（３）の課題に鑑みなされたもので、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止する暗号装置、復号装置および暗号システムを提供することを第１の目的とする。
【００１５】
また、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止する暗号装置、復号装置および暗号システムを提供することを第２の目的とする。
また、受信装置又は受信装置を扱う人に、鍵の更新を促す暗号装置、復号装置および暗合システムを提供することを第３の目的とする。
【００１６】
また、送信装置が暗号化通信を行うに際して、第三者機関によるＣＲＬやＳＲＭを必要としない暗号装置、復号装置および暗号システムを提供することを第４の目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る暗号装置は、平文を暗号化し、暗号文を生成する暗号装置であって、暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備える。好ましくは、前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する。
【００１８】
従って、期間が経過するにつれてパラメータを更新することにより、復号装置で暗号文を正しく復号できなくなるようにすることが可能となる。これにより、送信装置が暗号化通信を行うに際して、暴露された秘密鍵（復号鍵）を不正に用いる第三者の受信装置は期間が経過すると暗号化通信の内容が復号できなくなる。よって、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することが可能となる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
【００１９】
また、送信装置が暗号化通信を行うに際して、正規の受信者の受信装置は、暗号化通信の内容の復号を行うに従い、復号に失敗する確率が徐々に増大する。これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
さらに、送信装置が暗号化通信を行うに際して、第三者機関によるＣＲＬやＳＲＭを必要としない。
【００２０】
本発明の他の局面に係る復号装置は、暗号文を復号する復号装置であって、パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、前記復号文が正しく得られたか否かを判別する判別手段と、前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する復号鍵更新要求手段と、前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える。
【００２１】
したがって、復号文が正しく得られなくなると、復号鍵の更新が行なわれる。このため、これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
本発明のさらに他の局面に従う暗号システムは、平文を暗号化し、暗号文を生成する暗号装置と、前記暗号文を復号し、復号文を生成する復号装置とを含む暗号システムである。
【００２２】
前記暗号装置は、暗号鍵と前記復号装置に対応したＮＴＲＵ暗号方式の乱数パラメータ（乱数多項式中の係数が１の項の数）とを記憶する記憶手段と、ＮＴＲＵ暗号方式に従い、前記平文から、前記暗号鍵および前記乱数パラメータを用いて前記暗号文を生成する暗号手段と、期間が経過するにつれて前記記憶手段に記憶されている前記乱数パラメータを増加させる更新手段とを備えている。
【００２３】
前記復号装置は、前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、前記復号鍵の更新を前記暗号装置へ要求する復号鍵更新要求手段と、前記乱数パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備えている。
好ましくは、前記暗号装置は、さらに、前記復号鍵更新要求手段より前記復号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵および前記復号鍵を更新する鍵更新手段と、前記パラメータ初期化要求手段より前記乱数パラメータの初期化要求を受け、当該初期化要求に応答して、前記乱数パラメータの値を、復号エラーが発生する確率が所定の値以下となる初期値に設定するパラメータ初期化手段とを備えている。また、前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記復号装置へ前記復号鍵の更新要求および前記乱数パラメータの初期化要求をそれぞれ行ない、前記鍵更新手段は、前記復号鍵更新要求手段より前記所定の金額が支払われた場合にのみ、前記暗号鍵および前記復号鍵の更新を行ない、前記パラメータ初期化手段は、前記パラメータ初期化要求手段より前記所定の金額が支払われた場合にのみ、前記乱数パラメータの値を前記初期値に設定する。さらに、前記平文はコンテンツデータであり、前記更新手段は、前記所定の金額が支払われた場合に、所定の期間、前記乱数パラメータの更新を行なわない。
【００２４】
このようにすることにより、暗号化通信の内容の復号に失敗する確率が徐々に増大する性質を利用し、例えば、コンテンツデータを一定期間無料で配信し、その後に、料金の支払いが行なわれた場合にのみ鍵更新を行なうようにすることができ、コンテンツデータ配信に適する暗号システムを提供することができる。
【発明の効果】
【００２５】
以上説明したように、本発明は、従来システムにおける問題点を鑑みて行われたもので、暗号システムにおいて、暗号化通信にＮＴＲＵ暗号方式を用い、送信装置で乱数パラメータを期間が経過するにつれ増加させるようにした。このため、期間が経過するにつれて、受信装置で暗号化通信の内容を正しく復号できなくなるようにすることが可能となる。
これにより、送信装置が暗号化通信を行うに際して、暴露された秘密鍵を不正に用いる第三者の受信装置は期間が経過すると暗号化通信の内容が復号できなくなる。よって、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することが可能となる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
【００２６】
また、送信装置が暗号化通信を行うに際して、正規の受信者の受信装置は、暗号化通信の内容の復号を行うに従い、復号に失敗する確率が徐々に増大する。これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
さらに、送信装置が暗号化通信を行うに際して、第三者機関によるＣＲＬやＳＲＭを必要としない。
【００２７】
さらにまた、暗号化通信の内容の復号に失敗する確率が徐々に増大する性質を利用し、例えば、コンテンツデータを一定期間無料で配信し、その後に、料金の支払いが行なわれた場合にのみ鍵更新を行なうようにすれば、コンテンツデータ配信に適する暗号システムを提供することができる。
以上のように、本発明により、暗号システムにおける定期的な鍵の更新が実現でき、特に、安全性の高い暗号システムが実現でき、情報通信技術とコンピュータが広く普及した今日における実用的価値は極めて高いと言える。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態に係る暗号システムについて、図面を用いて説明する。
本発明に係る暗号システムは、公開鍵暗号方式の一例として、ＮＴＲＵ暗号方式を用いる。ＮＴＲＵ暗号方式は、多項式の演算で暗号化と復号化を行う公開鍵暗号方式である。このＮＴＲＵ暗号方式、及びＮＴＲＵ暗号方式の公開鍵、及び秘密鍵の生成方法については、Ｊｅｆｆｅｒｙ  Ｈｏｆｆｓｔｅｉｎ，  Ｊｉｌｌ  Ｐｉｐｈｅｒ，  ａｎｄ  Ｊｏｓｅｐｈ  Ｈ．  Ｓｉｌｖｅｒｍａｎ，“ＮＴＲＵ：  Ａ  ｒｉｎｇ  ｂａｓｅｄ  ｐｕｂｌｉｃ  ｋｅｙ  ｃｒｙｐｔｏｓｙｓｔｅｍ”，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  １４２３，  ｐｐ．２６７−２８８，  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  １９９８．  に詳しく述べられているので、ここではその詳細な説明は繰返さないが、以下にＮＴＲＵ暗号方式について簡単に説明する。
【００２９】
ＮＴＲＵ暗号方式は、整数のシステムパラメータＮ、ｐ、ｑを持つ。上記文献には、システムパラメータの例として、（Ｎ，ｐ，ｑ）＝（１０７，３，６４）、（Ｎ，ｐ，ｑ）＝（１６７，３，１２８）、（Ｎ，ｐ，ｑ）＝（５０３，３，２５６）の３つの例が挙げられている。
以降、本発明に係る暗号システムの実施の形態では、システムパラメータＮをＮ＝１６７とした場合の説明を行う。
【００３０】
ＮＴＲＵ暗号方式は、多項式の演算により暗号化と復号化とを行う公開鍵暗号方式である。まず、ＮＴＲＵ暗号方式で扱う多項式は、上記システムパラメータＮに対し、（Ｎ−１）次元以下の多項式であり、例えばＮ＝５のとき、「Ｘ＾４＋Ｘ＾３＋１」等の４次元以下の多項式である。ここで、「Ｘ＾ａ」はＸのａ乗を意味することとする。また、暗号化時あるいは復号化時に用いられる公開鍵ｈ、秘密鍵ｆ、平文ｍ、乱数ｒ、暗号文ｃはいずれも、（Ｎ−１）次元以下の多項式として表現される（以降、それぞれを公開鍵多項式ｈ、秘密鍵多項式ｆ、平文多項式ｍ、乱数多項式ｒ、暗号文多項式ｃと呼ぶ）。なお、ここではシステムパラメータＮをＮ＝１６７としている。したがって、平文ｍが２進数表現されているものとすると、１６７ビットの情報を表現可能である。なお、ここでは、１６７を超えない２のべき乗の最大値である１２８を平文ｍのビット数として、平文多項式ｍを表現するものとする。
【００３１】
そして、多項式演算は、上記システムパラメータＮに対し、Ｘ＾Ｎ＝１という関係式を用いて、演算結果が常に（Ｎ−１）次元以下の多項式になるように演算される。例えば、Ｎ＝５の場合、多項式「Ｘ＾４＋Ｘ＾２＋１」と多項式「Ｘ＾３＋Ｘ」との積は、多項式と多項式の積を「×」、整数と多項式の積を「・」とすると、Ｘ＾５＝１という関係から、
（Ｘ＾４＋Ｘ＾２＋１）×（Ｘ＾３＋Ｘ）
＝Ｘ＾７＋２・Ｘ＾５＋２・Ｘ＾３＋Ｘ
＝Ｘ＾２×１＋２・１＋２・Ｘ＾３＋Ｘ
＝２・Ｘ＾３＋Ｘ＾２＋Ｘ＋２というように、常に（Ｎ−１）次元以下の多項式になるように演算される。
【００３２】
暗号化時には、以下に述べる乱数多項式ｒと公開鍵多項式ｈとを用いて、平文多項式ｍに多項式演算である暗号化アルゴリズムＥを施して、暗号文多項式ｃ＝Ｅ（ｍ，ｒ，ｈ）を生成する。ここで、Ｅ（ｍ，ｒ，ｈ）は、ＮＴＲＵ暗号方式の暗号化アルゴリズムＥに、平文多項式ｍ、乱数多項式ｒ及び公開鍵多項式ｈを入力して得られる多項式演算の結果である。暗号化アルゴリズムＥについては上記文献に詳しく述べられており、ここでは説明を繰返さない。
【００３３】
なお、ＮＴＲＵ暗号方式では、乱数多項式ｒを生成するためのパラメータｄが予め決められており、乱数多項式ｒは、ｄ個の係数が１であり、かつｄ個の係数が−１であり、かつ他の係数は０となるように生成される。すなわち、乱数多項式ｒは（Ｎ−１）次元以下の多項式であり、０次元（定数項）から（Ｎ−１）次元まで、Ｎ個の係数がある。このＮ個の係数のうち、ｄ個の係数が１であり、かつｄ個の係数が−１であり、かつ（Ｎ−２ｄ）個の係数は０となるように選ばれる。上記文献によれば、パラメータＮがＮ＝１６７の場合、ｄ＝１８である。すなわち、１８個の係数が１であり、かつ１８個の係数が−１であり、１３１（＝１６７−３６）個の係数が０となるように乱数多項式ｒが選ばれる。
【００３４】
例えば、乱数多項式ｒは図１に示されるようなアルゴリズムに従い生成される。まず、乱数多項式ｒのＮ個の係数がすべて０に設定される（ステップＳ２７１）。次に、０から（Ｎ−１）までの範囲の整数の乱数ｔを発生させる（ステップＳ２７３）。乱数の発生には、例えば、プログラミング言語Ｃの標準ライブラリ関数であるｒａｎｄ関数が用いられる。次に、発生させた乱数ｔに基づいて、乱数多項式ｒのｔ次元の係数が１か否かが調べられる（ステップＳ２７４）。１であれば（ステップＳ２７３でＹｅｓ）、再度、乱数発生処理（ステップＳ２７３）が繰返される。０であれば（ステップＳ２７３でＮｏ）、乱数多項式ｒのｔ次元の係数が１に設定される（ステップＳ２７５）。以上の処理が、乱数多項式ｒのうちｄ個の係数が１になるまで繰返される（ステップＳ２７２〜ステップＳ２７６）。
【００３５】
次に、０から（Ｎ−１）までの範囲の整数の乱数ｔを発生させる（ステップＳ２７８）。発生させた乱数ｔに基づいて、乱数多項式ｒのｔ次元の係数が１または−１か否かが調べられる（ステップＳ２７９）。１または−１であれば（ステップＳ２７９でＹｅｓ）、再度、乱数発生処理（ステップＳ２７８）が繰返される。０であれば（ステップＳ２７９でＮｏ）、乱数多項式ｒのｔ次元の係数が−１に設定される（ステップＳ２８０）。以上の処理が、乱数多項式ｒのうちｄ個の係数が−１になるまで繰返される（ステップＳ２７７〜ステップＳ２８１）。以上のようにして乱数多項式ｒが生成される。
【００３６】
復号化時には、秘密鍵多項式ｆを用いて、暗号文多項式ｃに多項式演算である復号アルゴリズムＤが施され、復号文多項式ｍ'＝Ｄ（ｃ，ｆ）が生成される。ここで、Ｄ（ｃ，ｆ）は、ＮＴＲＵ暗号方式の復号アルゴリズムＤに、暗号文多項式ｃ、及び秘密鍵多項式ｆを入力して得られる多項式演算の結果である。復号アルゴリズムＤについては上記文献に詳しく述べられており、ここでは説明を繰返さない。
【００３７】
ところで、このＮＴＲＵ暗号方式は、復号文多項式ｍ'が平文多項式ｍと異なる場合が発生する。この場合は、復号時に正しく平文多項式ｍが得られないことになる。このことを「復号エラーが発生する」という。復号エラーは、乱数多項式ｒ、平文多項式ｍ、公開鍵多項式ｈ、秘密鍵多項式ｆの組み合わせにより、発生するかどうかが決まる。具体的には、公開鍵多項式ｈは、秘密鍵多項式ｆとランダム多項式ｇとの演算結果により生成されるが、この公開鍵多項式ｈを生成したときに用いたランダム多項式ｇ、乱数多項式ｒ、平文多項式ｍ、秘密鍵多項式ｆの演算結果の多項式（ｐ・ｒ×ｇ＋ｆ×ｍ）の係数の値が−ｑ／２からｑ／２の間に入らなかったとき、復号エラーが発生する。この復号エラーの発生を完全に避ける手法は現在知られていないが、上記文献によれば、Ｎ＝１６７の場合、ｄ＝１８とすれば、確率的にほとんど復号エラーは発生せず、実用上問題ないことが明記されている。
【００３８】
（実施の形態１）
本発明の実施の形態１における暗号システム１の全体構成を図２に示す。この暗号システム１は平文多項式ｍの暗号化通信を行うシステムであり、送信装置１１０と複数の受信装置１２０ａ、１２０ｂ、１２０ｃとを備えている。送信装置１１０と受信装置１２０ａ、１２０ｂ、１２０ｃとは通信路１３０を介して相互に接続されている。
【００３９】
以下に、送信装置１１０は複数の受信装置のうち受信装置１２０ａと暗号化通信を行うものとし、これらの構成要素について詳細に説明を行う。
送信装置１１０は、図３に示すように、平文入力部１１１、パラメータ記憶部１１２、タイマ部１１３、パラメータ制御部１１４、乱数生成部１１５、暗号化部１１６、送信部１１７及び鍵更新部１１８を備えている。
【００４０】
平文入力部１１１は、外部より入力された平文多項式ｍを暗号化部１１６に出力する。
パラメータ記憶部１１２は、図４に示すように、受信装置１２０ａの固有番号ＩＤａ、公開鍵多項式ｈａ及び乱数パラメータｄａを、一組のデータＤＴａ＝（ＩＤａ，ｈａ，ｄａ）として記憶している（受信装置１２０ｂ、１２０ｃについても同様にデータＤＴｂ＝（ＩＤｂ，ｈｂ，ｄｂ）、データＤＴｃ＝（ＩＤｃ，ｈｃ，ｄｃ）を記憶している）。ここで、乱数パラメータｄａは、暗号化時に用いる乱数多項式ｒを生成するためのパラメータであり、乱数多項式ｒの係数のうち、係数が１であるものの数、及び係数が−１であるものの数である。なお、乱数パラメータｄａの初期値は、ｄａ＝１８とする。
【００４１】
タイマ部１１３は、一日毎に時間信号を発生し、パラメータ制御部１１４に入力する。
パラメータ制御部１１４は、タイマ部１１３から時間信号を受け取ったら、パラメータ記憶部１１２に記憶された乱数パラメータｄａの値を１ずつ増加させる（乱数パラメータｄｂ、ｄｃの値も、同様に１ずつ増加させる）。
乱数生成部１１５は、パラメータ記憶部１１２から受信装置１２０ａの乱数パラメータｄａを読み出す。そして、読み出した乱数パラメータｄａに基づき、ｄａ個の係数が１であり、かつｄａ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒをランダムに生成する。乱数多項式ｒの生成方法は上述したとおりである。そして、生成した乱数多項式ｒを暗号化部１１６へ出力する。
【００４２】
暗号化部１１６は、予めＮＴＲＵ暗号方式の暗号アルゴリズムＥを有している。
暗号化部１１６は、平文入力部１１１から平文多項式ｍを受け取り、パラメータ記憶部１１２から受信装置１２０ａの公開鍵多項式ｈａを読み出し、乱数生成部１１５から乱数多項式ｒを受け取る。暗号化部１１６は、乱数多項式ｒと公開鍵多項式ｈａとを用いて、平文多項式ｍに前記暗号アルゴリズムＥを施して暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を生成する。暗号化部１１６は、生成した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を送信部１１７へ出力する。
【００４３】
送信部１１７は、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を、通信路１３０を介して受信装置１２０ａへ送信する。
鍵更新部１１８は、通信路１３０を介して受信装置１２０ａ、１２０ｂ、１２０ｃから、固有番号と新たな公開鍵多項式とを受信することができる。もしも、受信装置１２０ａの固有番号ＩＤａと公開鍵多項式ｈａ'とを受信した場合、鍵更新部１１８は、パラメータ記憶部１１２に記憶されているデータＤＴａ＝（ＩＤａ，ｈａ，ｄａ）を、データＤＴａ'＝（ＩＤａ，ｈａ'，ｄａ'）に更新する。ここでｄａ'は、乱数パラメータの初期値でありｄａ'＝１８である（受信装置１２０ｂ、１２０ｃから固有番号および公開鍵多項式を受信した場合は、鍵更新部１１８は、データＤＴｂをデータＤＴｂ'に、データＤＴｃをデータＤＴｃ'にそれぞれ更新する）。
【００４４】
以上述べた送信装置１１０は、以下に述べる暗号化通信処理、乱数パラメータ更新処理及び公開鍵更新処理を並行して非同期的に行う（処理の順番は問わない）。
【００４５】
以下に、送信装置１１０の動作について、暗号化通信処理、乱数パラメータ更新処理、公開鍵更新処理に分けて説明を行う。
最初に、送信装置１１０の暗号化通信処理について、図５に示すフローチャートを用いて説明する。
【００４６】
まず、乱数生成部１１５は、パラメータ記憶部１１２から受信装置１２０ａの乱数パラメータｄａを読み出す（ステップＳ１０１）。乱数生成部１１５は、読み出した乱数パラメータｄａに基づき、ｄａ個の係数が１であり、かつｄａ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒをランダムに生成し、生成した乱数多項式ｒを暗号化部１１６へ出力する（ステップＳ１０２）。乱数多項式ｒの生成方法は、図１を参照して説明したとおりである。
【００４７】
次に、暗号化部１１６は、平文入力部１１１から平文多項式ｍを受け取る。また、暗号化部１１６は、パラメータ記憶部１１２から受信装置１２０ａの公開鍵多項式ｈａを読み出す。さらに、暗号化部１１６は、乱数生成部１１５から乱数多項式ｒを受け取る（ステップＳ１０３）。暗号化部１１６は、乱数多項式ｒと公開鍵多項式ｈａとを用いて、平文多項式ｍに暗号アルゴリズムＥを施して暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を生成する。暗号化部１１６は、生成した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を送信部１１７へ出力する（ステップＳ１０４）。
送信部１１７は、受け取った暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を、通信路１３０を介して受信装置１２０ａへ送信して処理を終了する（ステップＳ１０５）。
【００４８】
次に、送信装置１１０の乱数パラメータ更新処理について、図６に示すフローチャートを用いて説明する。
パラメータ制御部１１４は、タイマ部１１３から時間信号を受取ると（ステップＳ１１１でＹｅｓ）、パラメータ記憶部１１２に記憶された乱数パラメータｄａの値を１ずつ増加させて（乱数パラメータｄｂおよびｄｃの値も、同様に１ずつ増加させる）、処理を終了する（ステップＳ１１２）。パラメータ制御部１１４は、タイマ部１１３から時間信号を受け取らなければ（ステップＳ１１１でＮｏ）、何も処理を行なわない。
【００４９】
次に、送信装置１１０の公開鍵更新処理について、図７に示すフローチャートを用いて説明する。
鍵更新部１１８は、受信装置１２０ａから固有番号ＩＤａと新たな公開鍵多項式ｈａ’とを受信すると（ステップＳ１２１でＹｅｓ）、パラメータ記憶部１１２に記憶されているデータＤＴａ＝（ＩＤａ，ｈａ，ｄａ）を、データＤＴａ'＝（ＩＤａ，ｈａ'，ｄａ'）に更新して処理を終了する。（受信装置１２０ｂまたは１２０ｃから固有番号および新たな公開鍵多項式を受信した場合は、データＤＴｂをデータＤＴｂ'に、データＤＴｃをデータＤＴｃ'にそれぞれ更新する）。
【００５０】
鍵更新部１１８は、受信装置１２０ａ、１２０ｂおよび１２０ｃのいずれからも固有番号および公開鍵多項式を受信しなければ（ステップＳ１２１でＮｏ）、何も処理を行なわない。
受信装置１２０ａは、図８に示すように、受信部１２１、秘密鍵記憶部１２２、復号化部１２３、復号文出力部１２４、鍵再生成部１２５、及び入力部１２６を備えている。
【００５１】
受信部１２１は、送信装置１１０から通信路１３０を介して、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を受信し、受信した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を復号化部１２３へ出力する。
秘密鍵記憶部１２２は、受信装置１２０ａの秘密鍵多項式ｆａを記憶している。
復号化部１２３は、暗号化部１１６が有する暗号アルゴリズムＥの逆変換である、ＮＴＲＵ暗号方式の復号アルゴリズムＤを予め有している。
【００５２】
復号化部１２３は、受信部１２１から暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を受け取り、秘密鍵記憶部１２２から受信装置１２０ａの秘密鍵多項式ｆａを読み出す。そして、復号化部１２３は、秘密鍵多項式ｆａを用いて、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）に前記復号アルゴリズムＤを施して復号文多項式ｍ'＝Ｄ（Ｅ（ｍ，ｒ，ｈａ），ｆａ）を生成する。復号化部１２３は、生成した復号文多項式ｍ'を復号文出力部１２４へ出力する。
【００５３】
復号文出力部１２４は、復号化部１２３から復号文多項式ｍ'を受け取り、復号文多項式ｍ'を外部へ出力する。
鍵再生成部１２５は、入力部１２６を介して鍵再生成要求信号を受け取った場合、ＮＴＲＵ暗号の秘密鍵多項式ｆａ'及び公開鍵多項式ｈａ'を新たに再生成する。その後、鍵再生成部１２５は、秘密鍵記憶部１２２に記憶されている秘密鍵多項式ｆａを新たに生成した秘密鍵多項式ｆａ'に更新する。そして、鍵再生成部１２５は、受信装置１２０ａの固有番号ＩＤａと新たな公開鍵多項式ｈａ'とを、通信路１３０を介して送信装置１１０に送信する。
【００５４】
受信装置１２０ａを扱うユーザは、受信装置１２０ａの公開鍵多項式ｈａと秘密鍵多項式ｆａの再生成を指示する鍵再生成要求信号とを入力部１２６に入力することができる。この鍵再生成要求信号は、復号文出力部１２４から出力された復号文多項式ｍ'が正しく得られない等の理由で、ユーザが公開鍵多項式ｈａと秘密鍵多項式ｆａとの再生成のために入力する信号である。
【００５５】
入力部１２６は、外部から入力された鍵再生成要求信号を鍵再生成部１２５に出力する。
以上に述べた受信装置１２０ａは、以下に述べる復号化処理及び鍵更新処理を並行して非同期的に行う（処理の順番は問わない）。
【００５６】
以下に、送信装置１２０ａの動作について、復号化処理、鍵更新処理に分けて説明を行う。
最初に、受信装置１２０ａの復号化処理について、図９に示すフローチャートを用いて説明する。
受信部１２１は、送信装置１１０から通信路１３０を介して、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を受信し、受信した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を復号化部１２３へ出力する（ステップＳ１５１）。
【００５７】
復号化部１２３は、受信部１２１から暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を受け取り、秘密鍵記憶部１２２から受信装置１２０ａの秘密鍵多項式ｆａを読み出す（ステップＳ１５２）。復号化部１２３は、秘密鍵多項式ｆａを用いて、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）に復号アルゴリズムＤを施して復号文多項式ｍ'＝Ｄ（Ｅ（ｍ，ｒ，ｈａ），ｆａ）を生成する。復号化部１２３は、生成した復号文多項式ｍ'を復号文出力部１２４へ出力する（ステップＳ１５３）。
【００５８】
復号文出力部１２４は、復号化部１２３から復号文多項式ｍ'を受け取り、復号文多項式ｍ'を外部へ出力して処理を終了する（ステップＳ１５４）。
次に、受信装置１２０ａの鍵更新処理について、図１０に示すフローチャートを用いて説明する。
鍵再生成部１２５は、入力部１２６を介して鍵再生成要求信号を受取った場合には（ステップＳ１６１でＹｅｓ）、鍵再生成部１２５は、ＮＴＲＵ暗号の秘密鍵多項式ｆａ'及び公開鍵多項式ｈａ'を新たに再生成する。その後、鍵再生成部１２５は、秘密鍵記憶部１２２に記憶されている秘密鍵多項式ｆａを新たに生成した秘密鍵多項式ｆａ'に更新する（ステップＳ１６２）。また、鍵再生成部１２５は、受信装置１２０ａの固有番号ＩＤａと新たな公開鍵多項式ｈａ'とを、通信路１３０を介して送信装置１１０に送信して処理を終了する（ステップＳ１６３）。
【００５９】
鍵再生成部１２５は、入力部１２６を介して鍵再生生成要求信号を受取らなかった場合には（ステップＳ１６１でＮｏ）、何も処理を行なわない。
以下に、実施の形態１における暗号システム１全体の動作について説明する。
ここで、暗号システム１において、送信装置１１０は複数の受信装置のうち受信装置１２０ａと暗号化通信を行うものとする。
【００６０】
まず、送信装置１１０は、受信装置１２０ａの固有番号ＩＤａ、公開鍵多項式ｈａ及び乱数パラメータｄａを、データＤＴａ＝（ＩＤａ，ｈａ，ｄａ）としてパラメータ記憶部１１２に記憶している（受信装置１２０ｂおよび１２０ｃについても同様にデータＤＴｂ＝（ＩＤｂ，ｈｂ，ｄｂ）およびデータＤＴｃ＝（ＩＤｃ，ｈｃ，ｄｃ）をそれぞれ記憶している）。乱数パラメータｄａ、ｄｂおよびｄｃの初期値は、ｄａ＝ｄｂ＝ｄｃ＝１８である。
【００６１】
そして、送信装置１１０は暗号化通信処理に従って、平文多項式ｍを暗号化して暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を生成する。送信装置１１０は、生成した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を通信路１３０を介して受信装置１２０ａに送信する。一方、受信装置１２０ａは上述した復号化処理に従って、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を通信路１３０を介して送信装置１１０から受信する。受信装置１２０ａは、受信した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を復号して復号文多項式ｍ'を出力する。
【００６２】
なお、送信装置１１０では、タイマ部１１３が一日毎に時間信号を発生する。パラメータ制御部１１４は、乱数パラメータ更新処理に従い、タイマ部１１３が一日毎に発生する時間信号に応答し、パラメータ記憶部１１２に記憶されている全ての乱数パラメータｄａ、ｄｂおよびｄｃの値を１ずつ増加させる。すなわち、パラメータ記憶部１１２に記憶された全ての乱数パラメータの値は一日毎に増加する。
【００６３】
従って、この送信装置１１０の暗号化通信処理が継続して行われると、暗号文多項式Ｅ（ｍ，ｒ，ｈａ）を生成される際に用いられる乱数多項式ｒは、係数が１であるもの、及び係数が−１であるものの数が一日毎に増加する。
図１１は、Ｎ＝１６７とした場合に、乱数パラメータｄの値に対し、ｄ個の係数が１であり、ｄ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒを用いた場合の、ＮＴＲＵ暗号方式の復号エラー発生確率の測定結果を示している。この測定結果によれば、乱数パラメータｄａの初期値ｄａ＝１８においては、送信装置１１０が生成する暗号文多項式Ｅ（ｍ，ｒ，ｈａ）の復号エラーはほとんど発生しない（受信装置１２０は受信した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）から、平文多項式ｍと等しい復号文多項式ｍ'を得ることができる）。一方で、期間が経過すれば、乱数パラメータｄａが一日毎に徐々に大きくなるので、送信装置１１０が生成する暗号文多項式Ｅ（ｍ，ｒ，ｈａ）は、徐々に復号エラー発生確率が大きくなる（受信装置１２０は受信した暗号文多項式Ｅ（ｍ，ｒ，ｈａ）から、平文多項式ｍと等しい復号文多項式ｍ'を得ることが徐々にできなくなる）。
【００６４】
そして、もしも受信装置１２０が平文多項式ｍと等しい復号文多項式ｍ'を得ることができる確率が下がり、実用的な暗号化通信を行うことができなくなった場合、受信装置１２０ａを扱うユーザは、鍵更新処理を行うことにより、受信装置１２０ａの公開鍵多項式ｈａと秘密鍵多項式ｆａとの再生成を指示する鍵再生成要求信号を入力部１２６に入力することができる。すると、送信装置１１０の公開鍵更新処理により、パラメータ記憶部１１２の乱数パラメータｄａは初期値ｄａ'＝１８に更新されるので、復号エラー発生確率が元に戻り、再び受信装置１２０ａは実用的に暗号化通信を行うことができるようになる。
【００６５】
なお、図中、乱数パラメータｄの値が３８から４８に増加しているにもかかわらず、復号エラー発生確率が２．６％から２．３％に減少しているのは、理論値と実測値とのずれによるものである。従って、実測値の母数が多ければ、乱数パラメータｄが多くなるにつれ、復号エラー発生確率も増加することが確率的および理論的に証明されている。
以上説明したように、実施の形態１に係る暗号システム１によると、送信装置１１０が暗号化通信時に用いる乱数多項式ｒを、期間が経過するにつれて、係数が１であるもの、及び係数が−１であるものの数を増加させるようにしている。これにより、受信装置１２０ａの有する秘密鍵多項式ｆａが暴露されたとしても、暴露された秘密鍵多項式ｆａを不正に用いる第三者の受信装置では、期間が経過するにつれて、復号エラーの発生確率が大きくなる。よって、送信装置１１０が行う暗号化通信を正しく復号できなくなる。この結果、この暗号システム１は、従来技術と異なり、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することができるようになる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
【００６６】
また、正規に秘密鍵多項式ｆａを有する受信装置１２０ａにおいても、期間が経過するにつれて、同じ秘密鍵多項式ｆａを使い続けると、徐々に復号エラーの発生確率が大きくなり、送信装置１１０が行う暗号化通信を正しく復号できなくなる。そして、受信装置１２０ａを扱うユーザに、同じ秘密鍵多項式ｆａを使い続けると、復号エラーの発生確率が大きくなっていき、鍵を更新しないと暗号化通信が実用的ではなくなることを知らしめる。このため、暗号システム１は、鍵の更新のために受信装置１２０の入力部１２６を介して、鍵再生成要求信号を入力することをユーザに促すことができる。この結果、この暗号システム１は、従来技術と異なり、受信装置又は受信装置を扱う人に、鍵の更新を促すことができるようになる。
さらに、この暗号システム１は、従来技術と異なり、第三者機関によるＣＲＬやＳＲＭを必要としない。
【００６７】
（実施の形態２）
本発明の実施の形態２における暗号システム２は、暗号システム１を基本にして構成した、映画や音楽などのデジタル著作物（以降、コンテンツと呼ぶ）の配信に適した暗号システムである。
【００６８】
暗号システム２は、平文多項式ｍをＮＴＲＵ暗号で暗号化して送信する代わりに、以下の処理を実行する点が暗号システム１と異なる。すなわち、暗号システム２は、デジタルデータであるコンテンツＣＮＴｉ（１≦ｉ≦ｋ）を暗号鍵Ｋｉ（１≦ｉ≦ｋ）を用いて共通鍵暗号で暗号化する。また、暗号システム２は、その暗号鍵Ｋｉ（１≦ｉ≦ｋ）をＮＴＲＵ暗号で暗号化して、暗号化したコンテンツと暗号化した暗号鍵とを送信する。さらに、暗号システム２では、鍵サーバを利用して鍵の更新を行う点が暗号システム１と異なる。以下に詳細を説明する。
【００６９】
実施の形態２における暗号システム２の全体構成を図１２に示す。この暗号システム２はコンテンツＣＮＴの配信を行うシステムであり、コンテンツサーバ２１０と、鍵サーバ２２０と、受信装置２３０とを備えている。コンテンツサーバ２１０と受信装置２３０とはインターネット２４０を介して相互に接続されている。コンテンツサーバ２１０と鍵サーバ２２０とは専用回線２５０で接続されている。鍵サーバ２２０と受信装置２３０とは、電話回線２６０で接続されている。
【００７０】
コンテンツサーバ２１０は、コンテンツＣＮＴをユーザｊに提供する業者が有している。鍵サーバ２２０は、コンテンツＣＮＴを利用するための復号鍵をユーザｊに提供する業者が有している。受信装置２３０は、コンテンツＣＮＴを利用するユーザｊが有している。ここでは、コンテンツサーバ２１０と鍵サーバ２２０とは同一の業者が有しているものとする。
【００７１】
以下に、これらの構成要素について詳細に説明を行う。
コンテンツサーバ２１０は、図１３に示すように、コンテンツ記憶部２１１、パラメータ記憶部２１２、タイマ部２１３、パラメータ制御部２１４、乱数生成部２１５、暗号鍵生成部２１６、暗号化部２１７、送信部２１８及び鍵更新部２１９を備えている。
コンテンツ記憶部２１１は、外部より入力されたコンテンツＣＮＴを、例えば一定時間毎に区切ったＭＰＥＧ２データＣＮＴｉ（１≦ｉ≦ｋ）として格納している。
【００７２】
パラメータ記憶部２１２は、図１４に示すように、ユーザｊ毎に、受信装置２３０の固有番号ＩＤｊ、公開鍵多項式ｈｊ及び乱数パラメータｄｊを、一組のデータＤＴｊ＝（ＩＤｊ，ｈｊ，ｄｊ，Ｌｊ）（１≦ｊ≦ｎ）として記憶している。ここで、乱数パラメータｄｊは、暗号化時に用いる乱数多項式ｒｉ（１≦ｉ≦ｋ）を生成するためのパラメータであり、乱数多項式ｒｉ（１≦ｉ≦ｋ）の係数のうち、係数が１であるものの数、及び係数が−１であるものの数である。なお、乱数パラメータｄｊの初期値は、ｄｊ＝１８とする。
【００７３】
タイマ部２１３は、一日毎に時間信号を発生し、パラメータ制御部２１４に入力する。
パラメータ制御部２１４は、タイマ部２１３から時間信号を受け取ったら、パラメータ記憶部２１２に記憶されたデータＤＴｊの乱数パラメータｄｊ（１≦ｊ≦ｎ）の値を１ずつ増加させる。なお、鍵サーバ２２０より固有番号ＩＤｊおよびリセット信号を受取った場合には、その固有番号で特定されるデータＤＴｊの乱数パラメータｄｊは一定期間（例えば、１ヶ月間）更新しないようにする。この期間は、コンテンツ視聴有効期間Ｌｊにより定められる。このようにすることにより、コンテンツＣＮＴの視聴料を支払ったユーザに対しては、一定期間、コンテンツＣＮＴの視聴を可能とする。
【００７４】
乱数生成部２１５は、パラメータ記憶部２１２から受信装置２３０の乱数パラメータｄｊを読み出す。そして、読み出した乱数パラメータｄｊに基づき、ｄｊ個の係数が１であり、かつｄｊ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒｉ（１≦ｉ≦ｋ）をランダムに生成する。そして、生成した乱数多項式ｒｉ（１≦ｉ≦ｋ）を暗号化部２１７へ出力する。乱数多項式ｒｉの生成方法については、図１を参照して説明した通りである。
【００７５】
暗号鍵生成部２１６は、ランダムに暗号鍵Ｋｉ（１≦ｉ≦ｋ）を生成し、暗号化部２１７へ出力する。
暗号化部２１７は、予めＮＴＲＵ暗号方式の暗号アルゴリズムＥと、例えばＤＥＳ（Data Encryption Standard）暗号方式のような共通鍵暗号アルゴリズムＳｙｍを有している。
【００７６】
共通鍵暗号では、暗号鍵Ｋが用いられ、平文ｍに共通鍵暗号アルゴリズムＳｙｍが施され、暗号文ｃ＝Ｓｙｍ（ｍ，Ｋ）が生成される。また、暗号鍵Ｋが用いられ、暗号文ｃに共通鍵暗号アルゴリズムＳｙｍが施され、復号文ｍ'＝Ｓｙｍ（ｃ，Ｋ）が生成される。ここで、暗号文生成時に用いられる暗号鍵Ｋと復号文生成時に用いられる暗号鍵Ｋとが同一であれば、復号文ｍ'＝平文ｍとなる。なお、共通鍵暗号及びＤＥＳ暗号方式については、“岡本龍明、山本博資、「現代暗号」、シリーズ／情報科学の数学、産業図書、１９９７”に詳しく述べられているため、ここでは詳細な説明を繰返さない。
【００７７】
暗号化部２１７は、暗号鍵生成部２１６から暗号鍵Ｋｉ（１≦ｉ≦ｋ）を受け取る。暗号化部２１７は、受け取った暗号鍵Ｋｉ（１≦ｉ≦ｋ）をＮＴＲＵ暗号で暗号化できるように暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）に変換する。この変換は、暗号鍵Ｋｉをビット列としたとき、例えば、暗号鍵Ｋｉの下位ｂビット目の値をＸ＾ｂの係数として暗号鍵多項式ＫＰｉを構成することで実現できる。すなわち、Ｋｉ＝１００１０（ビット表現）の場合、ＫＰｉ＝Ｘ＾５＋Ｘ＾２となる。
【００７８】
暗号化部２１７は、パラメータ記憶部２１２から受信装置２３０の公開鍵多項式ｈｊを読み出し、乱数生成部２１５から乱数多項式ｒｉ（１≦ｉ≦ｋ）を受け取る。そして、暗号化部２１７は、乱数多項式ｒｉ（１≦ｉ≦ｋ）と公開鍵多項式ｈｊとを用いて、変換した暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）にＮＴＲＵ暗号方式の暗号アルゴリズムＥを施して、暗号化暗号鍵多項式ＥＫＰｉ＝Ｅ（ＫＰｉ，ｒｉ，ｈｊ）（１≦ｉ≦ｋ）を生成する。
【００７９】
暗号化部２１７は、コンテンツ記憶部２１１から、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）を受け取る。暗号化部２１７は、上記暗号鍵Ｋｉ（１≦ｉ≦ｋ）を使用して、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）に共通鍵暗号アルゴリズムＳｙｍを施して、暗号化コンテンツＥＣｉ＝Ｓｙｍ（ＣＮＴｉ，Ｋｉ）（１≦ｉ≦ｋ）を生成する。
暗号化部２１７は、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを送信部２１８へ出力する。
【００８０】
送信部２１８は、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを、インターネット２４０を介して受信装置２３０へ送信する。
鍵更新部２１９は、専用回線２５０を介して鍵サーバ２２０から、受信装置２３０の固有番号ＩＤｊと公開鍵多項式ｈｊ'（１≦ｊ≦ｎ）とを受信することができる。もしも、受信装置２３０の固有番号ＩＤｊと公開鍵多項式ｈｊ'（１≦ｊ≦ｎ）とを受信した場合、鍵更新部２１９は、パラメータ記憶部２１２に記憶されているデータＤＴｊ＝（ＩＤｊ，ｈｊ，ｄｊ）をデータＤＴｊ'＝（ＩＤｊ，ｈｊ'，ｄｊ'）に更新する。ここでｄｊ'は、乱数パラメータｄｊの初期値であり、ｄｊ'＝１８である。
【００８１】
以上に述べたコンテンツサーバ２１０は、以下に述べる暗号化通信処理、乱数パラメータ更新処理及び公開鍵更新処理を並行して非同期的に行う（処理の順番は問わない）。
以下に、コンテンツサーバ２１０の動作について、暗号化通信処理、乱数パラメータ更新処理、公開鍵更新処理に分けて説明を行う。
最初に、コンテンツサーバ２１０の暗号化通信処理について、図１５に示すフローチャートを用いて説明する。
【００８２】
まず、乱数生成部２１５は、パラメータ記憶部２１２から受信装置２３０の乱数パラメータｄｊを読み出す（ステップＳ２０１）。乱数生成部２１５は、読み出した乱数パラメータｄｊに基づき、ｄｊ個の係数が１であり、かつｄｊ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒｉ（１≦ｉ≦ｋ）をランダムに生成する。乱数生成部２１５は、生成した乱数多項式ｒｉ（１≦ｉ≦ｋ）を暗号化部２１７へ出力する（ステップＳ２０２）。乱数多項式ｒｉの生成方法は、図１を参照して説明した通りである。
【００８３】
次に、暗号鍵生成部２１６は、ランダムに暗号鍵Ｋｉ（１≦ｉ≦ｋ）を生成し、生成した暗号鍵Ｋｉ（１≦ｉ≦ｋ）を暗号化部２１７へ出力する（ステップＳ２０３）。暗号鍵Ｋｉは、プログラミング言語Ｃの標準ライブラリ関数であるｒａｎｄ関数を用いることにより生成を行なってもよい。
【００８４】
次に、暗号化部２１７は、暗号鍵生成部２１６から暗号鍵Ｋｉ（１≦ｉ≦ｋ）を受け取る。暗号化部２１７は、受け取った暗号鍵Ｋｉ（１≦ｉ≦ｋ）をＮＴＲＵ暗号で暗号化できるように暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）に変換する（ステップＳ２０４）。暗号化部２１７は、コンテンツ記憶部２１１からコンテンツＣＮＴｉ（１≦ｉ≦ｋ）を読み出す。また、暗号化部２１７は、パラメータ記憶部２１２から受信装置２３０の公開鍵多項式ｈｊを読み出す。さらに、暗号化部２１７は、乱数生成部２１５から乱数多項式ｒｉ（１≦ｉ≦ｋ）を受け取る（ステップＳ２０５）。暗号化部２１７は、乱数多項式ｒｉ（１≦ｉ≦ｋ）と公開鍵多項式ｈｊとを用いて、変換した暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）にＮＴＲＵ暗号方式の暗号アルゴリズムＥを施して、暗号化暗号鍵多項式ＥＫＰｉ＝Ｅ（ＫＰｉ，ｒｉ，ｈｊ）（１≦ｉ≦ｋ）を生成する（ステップＳ２０６）。暗号化部２１７は、コンテンツ記憶部２１１から、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）を受け取る。暗号化部２１７は、上記暗号鍵Ｋｉ（１≦ｉ≦ｋ）を使用して、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）に共通鍵暗号アルゴリズムＳｙｍを施して、暗号化コンテンツＥＣｉ＝Ｓｙｍ（ＣＮＴｉ，Ｋｉ）（１≦ｉ≦ｋ）を生成する（ステップＳ２０７）。暗号化部２１７は、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを送信部２１８へ出力する（ステップＳ２０８）。
【００８５】
送信部２１８は、受け取った暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とをインターネット２４０を介して受信装置２３０へ送信して処理を終了する（ステップＳ２０９）。
次に、コンテンツサーバ２１０の乱数パラメータ更新処理について、図１６に示すフローチャートを用いて説明する。
【００８６】
パラメータ制御部２１４は、鍵サーバ２２０より固有番号ＩＤｊとリセット信号とを受信すると（ステップＳ２１１でＹｅｓ）、固有番号ＩＤｊで特定される受信装置２３０のコンテンツ視聴有効期間Ｌｊを１ヶ月間延長する（ステップＳ２１２）。リセット信号は、受信装置２３０がコンテンツ視聴のための料金を支払った際に、鍵サーバ２２０より送信される。
【００８７】
パラメータ制御部２１４は、タイマ部２１３より時間信号を受取ると（ステップＳ２１３でＹｅｓ）、固有番号ＩＤｊで特定される受信装置２３０のコンテンツ視聴有効期間Ｌｊが１日以上あるか否かを調べる（ステップＳ２１５）。コンテンツ視聴有効期間Ｌｊが１日以上あれば（ステップＳ２１５でＹｅｓ）、パラメータ制御部２１４は、コンテンツ視聴有効期間Ｌｊを１つデクリメントする（ステップＳ２１６）。その代わり、乱数パラメータｄｊの値は変化させない。コンテンツ視聴有効期間Ｌｊが０日以下であれば（ステップＳ２１５でＮｏ）、パラメータ制御部２１４は、乱数パラメータｄｊを１つ増加させる（ステップＳ２１７）。以上の処理をすべての固有番号ＩＤｊで特定される受信装置２３０について行ない、処理を終了する（ステップＳ２１４〜Ｓ２１８）。
【００８８】
このように、コンテンツ視聴有効期間の経過した受信装置２３０の乱数パラメータｄｊを増加させることにより、コンテンツＣＮＴの復号エラー発生確率を日に日に増大させることができる。
次に、コンテンツサーバ２１０の公開鍵更新処理について、図１７に示すフローチャートを用いて説明する。
【００８９】
鍵更新部２１９は、専用回線２５０を介して鍵サーバ２２０から、受信装置２３０の固有番号ＩＤｊと公開鍵多項式ｈｊ'（１≦ｊ≦ｎ）とを受信したら（ステップＳ２２１でＹｅｓ）、鍵更新部２１９は、パラメータ記憶部２１２に記憶されているデータＤＴｊ＝（ＩＤｊ，ｈｊ，ｄｊ）を、データＤＴｊ'＝（ＩＤｊ，ｈｊ'，ｄｊ'）に更新して処理を終了する。ここでｄｊ'は、乱数パラメータｄｊの初期値であり、ｄｊ'＝１８である（ステップＳ２２２）。受信装置２３０の固有番号ＩＤｊと公開鍵多項式ｈｊ'（１≦ｊ≦ｎ）とを受信しなければ（ステップＳ２２１でＮｏ）、鍵更新部２１９は、何も処理を行なわない。
【００９０】
鍵サーバ２２０は、図１８に示すように、ＩＤ受信部２２１、鍵再生成部２２２、公開鍵送信部２２３、秘密鍵送信部２２４、電子マネー受信部２２５、契約管理部２２６およびリセット信号送信部２２７を備えている。
ＩＤ受信部２２１は、受信装置２３０から電話回線２６０を介して、受信装置２３０の固有番号ＩＤｊ（１≦ｊ≦ｎ）を受信すると、受信した固有番号ＩＤｊを契約管理部２２６に出力する。
【００９１】
電子マネー受信部２２５は、受信装置２３０から電話回線２６０を介して、電子マネーを受信すると、受信した電子マネーを契約管理部２２６に出力する。ここで言う電子マネーとは、ネットワーク上で流通する電子的な現金のことを言う。
契約管理部２２６は、ＩＤ受信部２２１および電子マネー受信部２２５より受信装置２３０の固有番号ＩＤｊおよび電子マネーをそれぞれ受信する。契約管理部２２６は、固有番号ＩＤｊおよび電子マネーに基づいて、それらがコンテンツ配信業者と予め契約されている受信装置２３０から受信したものであるかのか、また、支払われた金額が足りているか等のチェックを行なう。チェック結果に問題がなければ、契約管理部２２６は、鍵再生成部２２２に受信装置２３０の固有番号ＩＤｊを出力する。
【００９２】
鍵再生成部２２２は、契約管理部２２６から固有番号ＩＤｊを受け取ると、ＮＴＲＵ暗号方式の秘密鍵多項式ｆｊ'と公開鍵多項式ｈｊ'とを生成する。鍵再生成部２２２は、受け取った固有番号ＩＤｊと生成した公開鍵多項式ｈｊ'とを公開鍵送信部２２３に出力し、生成した秘密鍵多項式ｆｊ'を秘密鍵送信部２２４に出力する。それと同時に、鍵再生成部２２２は、固有番号ＩＤｊとリセット信号とをリセット信号送信部２２７に出力する。
【００９３】
公開鍵送信部２２３は、鍵再生成部２２２から固有番号ＩＤｊと公開鍵多項式ｈｊ'を受け取ると、受け取った固有番号ＩＤｊと公開鍵多項式ｈｊ'を、専用回線２５０を介してコンテンツサーバ２１０へ送信する。
リセット信号送信部２２７は、鍵再生成部２２２から固有番号ＩＤｊとリセット信号とを受け取ると、受け取った固有番号ＩＤｊとリセット信号とを、専用回線２５０を介してコンテンツサーバ２１０へ送信する。
【００９４】
秘密鍵送信部２２４は、鍵再生成部２２２から秘密鍵多項式ｆｊ'を受け取ると、受け取った秘密鍵多項式ｆｊ'を、電話回線２６０を介して受信装置２３０へ送信する。
以上に述べた鍵サーバ２２０の動作について、図１９に示すフローチャートを用いて説明する。
ＩＤ受信部２２１および電子マネー受信部２２５が、受信装置２３０から電話回線２６０を介して、受信装置２３０の固有番号ＩＤｊ（１≦ｊ≦ｎ）および電子マネーをそれぞれ受信したら（ステップＳ２３１でＹｅｓ）、契約管理部２２６は、それらがコンテンツ配信業者と予め契約されている通信装置２３０から受信したものであるのか、また、支払われた金額が足りているか等の契約条件のチェックを行なう。契約条件を満たしている場合には（ステップＳ２３２でＹｅｓ）、契約管理部２２６は、受信した固有番号ＩＤｊを鍵再生成部２２２に出力する（ステップＳ２３３）。
【００９５】
鍵再生成部２２２は、ＩＤ受信部２２１から固有番号ＩＤｊを受け取り、ＮＴＲＵ暗号方式の秘密鍵多項式ｆｊ'と公開鍵多項式ｈｊ'を生成する（ステップＳ２３４）。鍵再生成部２２２は、受け取った固有番号ＩＤｊと生成した公開鍵多項式ｈｊ'とを公開鍵送信部２２３に出力する。また、鍵再生成部２２２は、固有番号ＩＤｊとコンテンツ視聴有効期間を延長させるためのリセット信号とをリセット信号送信部２２７に出力する（ステップＳ２３４）。
【００９６】
公開鍵送信部２２３は、鍵再生成部２２２から固有番号ＩＤｊと公開鍵多項式ｈｊ'とを受け取り、受け取った固有番号ＩＤｊと公開鍵多項式ｈｊ'とを、専用回線２５０を介してコンテンツサーバ２１０へ送信する。また、リセット信号送信部２２７は、鍵再生成部２２２から固有番号ＩＤｊとリセット信号とを受け取り、受け取った固有番号ＩＤｊとリセット信号とを、専用回線２５０を介してコンテンツサーバ２１０へ送信する（ステップＳ２３５）。
【００９７】
次に、秘密鍵送信部２２４は、鍵再生成部２２２から秘密鍵多項式ｆｊ'を受け取り、受け取った秘密鍵多項式ｆｊ'を、電話回線２６０を介して受信装置２３０へ送信する（ステップＳ２３６）。
受信装置２３０は、図２０に示すように、受信部２３１、秘密鍵記憶部２３２、復号化部２３３、出力部２３４、鍵更新用送受信部２３５、及び入力部２３６を備えている。
【００９８】
受信部２３１は、コンテンツサーバ２１０からインターネット２４０を介して、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを受信し、受信した暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを復号化部２３３へ出力する。
秘密鍵記憶部２３２は、受信装置２３０の秘密鍵多項式ｆｊを記憶している。
【００９９】
復号化部２３３は、暗号化部２１７が有する暗号アルゴリズムＥの逆変換である、ＮＴＲＵ暗号方式の復号アルゴリズムＤと、暗号化部２１７が有する共通鍵暗号アルゴリズムＳｙｍを予め有している。
復号化部２３３は、受信部２３１から暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを受け取り、秘密鍵記憶部２３２から受信装置２３０の秘密鍵多項式ｆｊを読み出す。復号化部２３３は、秘密鍵多項式ｆｊを用いて、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）に前記復号アルゴリズムＤを施して、復号暗号鍵多項式ＫＰｉ'＝Ｄ（ＥＫＰｉ，ｆｊ）（１≦ｉ≦ｋ）を生成する。
【０１００】
復号化部２３３は、コンテンツサーバ２１０の暗号化部２１７における変換の逆変換を用いて、復号暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）を復号暗号鍵Ｋｉ’（１≦ｉ≦ｋ）に変換する。
復号化部２３３は、復号暗号鍵Ｋｉ'（１≦ｉ≦ｋ）を使用して、暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）に共通鍵暗号アルゴリズムＳｙｍを施して、復号コンテンツＣＮＴｉ'＝Ｓｙｍ（ＥＣｉ，Ｋｉ'）（１≦ｉ≦ｋ）を生成する。復号化部２３３は、生成した復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）を出力部２３４に出力する。
【０１０１】
出力部２３４は、例えば図示しないモニタやスピーカ等を備えており、入力された復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）を外部に出力する。
モニタは、復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）のＭＰＥＧ２データから得られる映像を外部に出力し、スピーカは、復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）のＭＰＥＧ２データから得られる音声を外部に出力する。
【０１０２】
鍵更新用送受信部２３５は、入力部２３６を介して鍵再生成要求信号を受け取った場合、受信装置２３０の固有番号ＩＤｊおよびコンテンツ配信業者とあらかじめ契約した額の電子マネーを、電話回線２６０を介して鍵サーバ２２０へ送信する。また、鍵更新用送受信部２３５は、鍵サーバ２２０から電話回線２６０を介して、秘密鍵多項式ｆｊ'を受信する。鍵更新用送受信部２３５は、秘密鍵記憶部２３２に記憶されている秘密鍵多項式ｆｊを受信した秘密鍵多項式ｆｊ'に更新する。
【０１０３】
受信装置２３０を扱うユーザｊは、受信装置２３０の公開鍵多項式ｈｊと秘密鍵多項式ｆｊとの再生成を指示する鍵再生成要求信号を入力部２３６に入力することができる。この鍵再生成要求信号は、出力部２３４から出力された復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）が正しく得られない等の理由で、ユーザが公開鍵多項式ｈｊと秘密鍵多項式ｆｊの再生成のために入力する信号である。
【０１０４】
入力部２３６は、外部から入力された鍵再生成要求信号を鍵更新用送受信部２３５に出力する。
以上に述べた受信装置２３０は、以下に述べる復号化処理及び鍵更新処理を並行して非同期的に行う（処理の順番は問わない）。
以下に、受信装置２３０の動作について、復号化処理、鍵更新処理に分けて説明を行う。
【０１０５】
最初に、受信装置２３０の復号化処理について、図２１に示すフローチャートを用いて説明する。
受信部２３１は、コンテンツサーバ２１０からインターネット２４０を介して、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを受信し、受信した暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）を復号化部２３３へ出力する（ステップＳ２５１）。
【０１０６】
復号化部２３３は、受信部２３１から暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）とを受け取り、秘密鍵記憶部２３２から受信装置２３０の秘密鍵多項式ｆｊを読み出す（ステップＳ２５２）。復号化部２３３は、秘密鍵多項式ｆｊを用いて、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）に復号アルゴリズムＤを施して、復号暗号鍵多項式ＫＰｉ'＝Ｄ（ＥＫＰｉ，ｆｊ）（１≦ｉ≦ｋ）を生成する（ステップＳ２５３）。
【０１０７】
復号化部２３３は、コンテンツサーバ２１０の暗号化部２１７における変換の逆変換を用いて、復号暗号鍵多項式ＫＰｉ’（１≦ｉ≦ｋ）を復号暗号鍵Ｋｉ’（１≦ｉ≦ｋ）に変換する（ステップＳ２５４）。
復号化部２３３は、復号暗号鍵Ｋｉ'（１≦ｉ≦ｋ）を使用して、暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）に共通鍵暗号アルゴリズムＳｙｍを施して、復号コンテンツＣＮＴｉ'＝Ｓｙｍ（ＥＣｉ，Ｋｉ'）（１≦ｉ≦ｋ）を生成する。復号化部２３３は、復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）を出力部２３４に出力する（ステップＳ２５５）。
出力部２３４は、復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）のＭＰＥＧ２データから得られる映像及び音声をそれぞれ外部に出力して処理を終了する（ステップＳ２５６）。
【０１０８】
次に、受信装置２３０の鍵更新処理について、図２２に示すフローチャートを用いて説明する。
まず、鍵更新用送受信部２３５は、入力部２３６を介して鍵再生成要求信号を受け取ったら（ステップＳ２６１でＹｅｓ）、受信装置２３０の固有番号ＩＤｊとコンテンツ配信業者とあらかじめ契約した額の電子マネーとを、電話回線２６０を介して鍵サーバ２２０へ送信する（ステップＳ２６２）。鍵更新用送受信部２３５は、鍵サーバ２２０から電話回線２６０を介して、秘密鍵多項式ｆｊ'を受信して、秘密鍵記憶部２３２に記憶されている秘密鍵多項式ｆｊを受信した秘密鍵多項式ｆｊ'に更新して処理を終了する（ステップＳ２６３）。
【０１０９】
以下に、実施の形態２における暗号システム２全体の動作について暗号システム１との差異点を中心に説明する。
まず、コンテンツサーバ２１０は、受信装置２３０の固有番号ＩＤｊ、公開鍵多項式ｈｊ及び乱数パラメータｄｊを、データＤＴｊ＝（ＩＤｊ，ｈｊ，ｄｊ）としてパラメータ記憶部２１２に記憶している。乱数パラメータｄｊの初期値は、ｄｊ＝１８である。
【０１１０】
そして、コンテンツサーバ２１０は暗号化通信処理に従って、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）を暗号鍵Ｋｉ（１≦ｉ≦ｋ）を用いて共通鍵暗号で暗号化して暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）を生成する。また、コンテンツサーバ２１０は、その暗号鍵Ｋｉ（１≦ｉ≦ｋ）から変換した暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）をＮＴＲＵ暗号で暗号化して暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）を生成する。コンテンツサーバ２１０は、暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）を暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）と共にインターネット２４０を介して受信装置２３０に送信する。一方、受信装置２３０は、暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）と暗号化暗号鍵ＥＫｉ（１≦ｉ≦ｋ）とをインターネット２４０を介して送信装置２１０から受信する。受信装置２３０は、復号化処理に従って、受信した暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）を復号して復号暗号鍵多項式ＫＰｉ'（１≦ｉ≦ｋ）を生成する。受信装置２３０は、これを変換した復号暗号鍵Ｋｉ’（１≦ｉ≦ｋ）を用いて、暗号化コンテンツＥＣｉ（１≦ｉ≦ｋ）を復号して、復号コンテンツＣＮＴｉ'（１≦ｉ≦ｋ）を出力する。
【０１１１】
なお、コンテンツサーバ２１０では、乱数パラメータ更新処理に従って、タイマ部２１３が一日毎に発生する時間信号に応じて、パラメータ制御部２１４は、パラメータ記憶部２１２に記憶された全ての乱数パラメータｄｊ（１≦ｊ≦ｎ）の値を１ずつ増加させる。すなわち、パラメータ記憶部２１２に記憶された全ての乱数パラメータｄｊ（１≦ｉ≦ｎ）の値は一日毎に増加する。
【０１１２】
従って、このコンテンツサーバ２１０の暗号化通信処理が継続して行われると、暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）を生成される際に用いられる乱数多項式ｒｉ（１≦ｉ≦ｋ）の１の係数の個数（−１の係数の個数）が一日毎に増加する。
ただし、コンテンツ配信業者との間でコンテンツ配信契約を行なっている受信装置２３０に関しては、契約終了までは乱数パラメータｄｊの値を更新しないようにしている。このため、乱数多項式ｒｉ（１≦ｉ≦ｋ）の１の係数の個数（−１の係数の個数）は１８個のままである。
【０１１３】
図１１は、Ｎ＝１６７とした場合に、乱数パラメータｄの値に対し、ｄ個の係数が１であり、ｄ個の係数が−１であり、かつその他の係数が０となる乱数多項式ｒを用いた場合の、ＮＴＲＵ暗号方式の復号エラー発生確率の測定結果を示している。この測定結果によれば、乱数パラメータｄｊの初期値ｄｊ＝１８においては、コンテンツサーバ２１０が生成する暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）の復号エラーはほとんど発生しない（受信装置２３０は受信した暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）から暗号鍵Ｋｉと等しい復号暗号鍵Ｋｉ'を得ることができ、図２３Ａに示すように正しくコンテンツＣＮＴｉを復号することができる）。一方で、期間が経過すれば、乱数パラメータｄｊが一日毎に徐々に大きくなるので、コンテンツサーバ２１０が生成する暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）は、徐々に復号エラー発生確率が大きくなる（受信装置２３０は受信した暗号化暗号鍵多項式ＥＫＰｉ（１≦ｉ≦ｋ）から暗号鍵Ｋｉと等しい復号暗号鍵Ｋｉ'を得ることが徐々にできなくなり、図２３Ｂに示すようにコンテンツＣＮＴｉを徐々に正しく復号できなくなる）。
【０１１４】
そして、もしも受信装置２３０がコンテンツＣＮＴｉ（１≦ｉ≦ｋ）を正しく復号できる確率が下がり、実用的な暗号化通信を行うことができなくなった場合、受信装置２３０を扱うユーザｊは、鍵更新処理を行うことにより、受信装置２３０の公開鍵多項式ｈｊと秘密鍵多項式ｆｊとの再生成を指示する鍵再生成要求信号を入力部２３６に入力することができる。なお、この際、コンテンツ配信業者の運営する鍵サーバ２２０に対して電子マネーを合わせて支払うことになる。すると、鍵サーバ２２０により、コンテンツサーバ２１０のパラメータ記憶部２１２の乱数パラメータｄｊは初期値ｄｊ'＝１８に更新されるので、復号エラー発生確率が元に戻り、再び受信装置２３０は予め契約で定められた期間、実用的に暗号化通信を行うことができるようになる。
【０１１５】
以上説明したように実施の形態２に係る暗号システム２によると、デジタルデータであるコンテンツＣＮＴを一定時間毎に分割し、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）を受信装置２３０へ配信している。一般に、ＭＰＥＧ２のようなデジタルデータの場合、復号エラーが発生して正しくコンテンツＣＮＴｉが得られないと、動画像や音声にノイズが発生する。従って、期間が経過すると、復号エラーの発生確率が増加し、徐々に動画像や音声にノイズが増えることになる。これにより、コンテンツを提供する業者が、例えば１ヵ月間は実用上問題ないノイズ発生レベルでコンテンツをユーザに視聴させ、１ヵ月を過ぎると復号エラー発生確率が増加してノイズ発生レベルが大きくなり、料金の支払いおよび鍵更新を行わない限りユーザがコンテンツを実用的に視聴できないようにさせることができる。すなわち、期間限定のコンテンツ配信に適する。
【０１１６】
また、一般に、ＭＰＥＧ２のようにサイズが大きいコンテンツＣＮＴｉ（１≦ｉ≦ｋ）の場合、各コンテンツＣＮＴｉを全てＮＴＲＵ暗号で暗号化しようとすると、ＮＴＲＵ暗号の入力ビット長に合わせてコンテンツＣＮＴｉを分割し、複数回ＮＴＲＵ暗号の暗号処理を行わなければならない。しかし、この場合、暗号鍵ＫｉをＮＴＲＵ暗号で暗号化し、サイズの大きいコンテンツＣＮＴｉは公開鍵暗号に比べて速度の速い共通鍵暗号で暗号化するので、高速処理が可能であり、コンテンツ配信に適する。
【０１１７】
また、鍵の更新時に、鍵サーバ２２０を利用するので、鍵サーバ２２０でユーザｊの鍵更新の回数を把握することができ、この回数によりコンテンツを提供する業者がユーザｊにコンテンツ配信の課金を行うこともできる。
なお、実施の形態１で得られる効果も同様に得られる。
上記に説明した実施の形態は、本発明の実施の形態の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その主旨を逸脱しない範囲において種々なる態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０１１８】
上記暗号システムで用いられるＮＴＲＵ暗号のパラメータはＮ＝１６７に限定されず、他のパラメータでもよい。
パラメータ制御部１１４または２１４は、一日毎に乱数パラメータを１ずつ増加させる以外に、ある期間が経過するにつれて徐々に増加させるという条件を満たすのであれば、任意の期間毎に乱数パラメータを増加させてもよいし、またパラメータの増加分を任意にしてもよい。
【０１１９】
さらに、パラメータ制御部１１４または２１４は、期間の経過に応じてではなく、乱数パラメータが読み出される毎に乱数パラメータを増加させてもよいし、乱数パラメータが読み出される回数に応じて乱数パラメータを増加させてもよい。これにより、暗号化回数が多くなるにつれ、徐々に復号エラー発生確率が大きくなるようにすることができるので、暴露された秘密鍵を有する第三者の受信装置により暗号文が復号され続けることを防止することができる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
【０１２０】
また、受信装置又は受信装置を扱う人に鍵の更新を促すことができる。また、これにより、期間限定のコンテンツ配信以外にも、回数限定のコンテンツ配信を提供できるようになる。
鍵再生成要求信号は入力部１２６または２３６を介して外部から入力される代わりに、受信装置１２０または２３０が何らかの方法で復号エラーを検知して、復号エラーに基づいて自動的に入力されるようにしてもよい。
【０１２１】
例えば、実施の形態２における復号化部２３３が、さらに、復号コンテンツＣＮＴｉ'がＭＰＥＧ２のフォーマットに従っているかどうかを判別して復号エラーを検知し、復号エラー発生の度合が大きくなったら鍵再生成要求信号を入力部２３６に入力することにより実現できる。
また、例えば、平文多項式ｍや暗号鍵多項式ＫＰｉ（１≦ｉ≦ｋ）の高次の１０次元分の係数を予め１とする等、そのフォーマットを定めておく。復号化部１２３または２２３が、さらに、復号文多項式ｍ'や復号暗号鍵多項式ＫＰｉ'がそのフォーマットに従うかどうかを判別して復号エラーを検知し、復号エラー発生の度合が大きくなったら鍵再生成要求信号を入力部１２６または２３６に入力することでも実現できる。
【０１２２】
なお、例えば、３０分の間にエラーが所定の割合を超えた場合に、鍵生成要求信号を入力するようにしてもよい。
実施の形態２において、インターネット２４０、専用回線２５０、電話回線２６０は、衛生通信網等の他の通信路を用いてもよいし、また同じ通信路を用いてもよい。なお、鍵サーバ２２０と受信装置２３０との間の通信路では、秘密鍵ｆｊの送信が行われるので、安全性を高めるために暗号化通信を行ってもよい。
【０１２３】
実施の形態２において、共通鍵暗号アルゴリズムＳｙｍとして、ＡＥＳ（Advanced Encryption Standard）暗号等の他の共通鍵暗号方式を用いてもよい。
実施の形態２において、コンテンツＣＮＴｉ（１≦ｉ≦ｋ）は、ＭＰＥＧ２データに限らず、Ｗｉｎｄｏｗｓ（Ｒ）ＭｅｄｉａＰｌａｙｅｒやＲｅａｌＰｌａｙｅｒ（Ｒ）で再生可能なデジタルデータでもよいし、そのデータの形式は限られない。
【０１２４】
実施の形態２において、コンテンツサーバ２１０と鍵サーバ２２０とは同一装置内にあってもよい。
なお、実施の形態１および２において、ＮＴＲＵ暗号を用いたが、ＥＥＳＳ（Efficient Embedded Security Standard）方式のＮＴＲＵ暗号であってもよい。ＥＥＳＳ方式のＮＴＲＵ暗号については、“ＥＥＳＳ：  Ｃｏｎｓｏｒｔｉｕｍ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｅｍｂｅｄｄｅｄ  Ｓｅｃｕｒｉｔｙ，  Ｅｆｆｉｃｉｅｎｔ  Ｅｍｂｅｄｄｅｄ  Ｓｅｃｕｒｉｔｙ  Ｓｔａｎｄａｒｄｓ  ＃１：  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  Ａｓｐｅｃｔｓ  ｏｆ  ＮＴＲＵＥｎｃｒｙｐｔ  ａｎｄ  ＮＴＲＵＳｉｇｎ，  Ｖｅｒｓｉｏｎ  ２．０，”  ａｖａｉｌａｂｌｅ  ａｔ  ｈｔｔｐ：／／ｃｅｅｓｓｔａｎｄａｒｄｓ．ｏｒｇ  ，  Ｍａｙ  ２００３［Ｍａｙ  ２００３検索］．に詳細に記述されている。このため、ここではその詳細については繰返さないが、以下に簡単に説明する。
【０１２５】
ＥＥＳＳ方式のＮＴＲＵ暗号では、乱数多項式ｒは、乱数パラメータｄに対し、ｄ個の係数が１であり、（Ｎ−ｄ）個の係数が０である多項式、もしくはこのような複数の多項式を用いて計算される多項式である。先に説明したＮＴＲＵ暗号と同様、ＥＥＳＳ方式のＮＴＲＵ暗号でも、乱数パラメータｄの値が大きくなれば復号エラー発生確率が大きくなる。
従って、ＥＥＳＳ方式でないＮＴＲＵ暗号の代わりにＥＥＳＳ方式のＮＴＲＵ暗号を用いても、同様の効果が得られる。
【０１２６】
また、実施の形態２では、コンテンツの視聴料金の支払いに電子マネーを用いたが、現金の支払いが確実に証明できる方法であれば、通常通り現金による支払いを行ない、その受領証等を電子的に鍵サーバに送信するような形態であってもよい。
また、実施の形態２では、鍵サーバが電子マネーを受信することに基づいて、鍵更新を行う構成になっているが、その他の構成により鍵更新を行なうようにしてもよい。例えば、受信装置またはユーザが鍵サーバに鍵更新要求を送信すると、鍵サーバが鍵更新に必要となる課金額を受信装置またはユーザに送信する。その後、受信装置またはユーザが鍵サーバに対して「課金されることを了承する」旨の情報を送信し、当該情報が鍵サーバに受信されることにより、鍵更新を行なう。
【０１２７】
本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、半導体メモリ、ハードディスクドライブ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc-Read Only Memory），ＤＶＤ−ＲＡＭ（Digital Versatile Disc-Random Access Memory）等、に記録したものとしてもよい。
上記実施の形態及び上記変形例をそれぞれ組み合わせてもよい。
【産業上の利用可能性】
【０１２８】
以上のように、本発明に係る暗号システムは、鍵の更新を促すことができる暗号システムとして、特に、コンテンツデータを配信する際の暗号システムとして有用である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施の形態における乱数多項式生成処理の流れを示すフローチャートである。
【図２】本発明の実施の形態１における暗号システム１の構成を示す図である。
【図３】本発明の実施の形態１における送信装置１１０の構成を示す図である。
【図４】本発明の実施の形態１におけるパラメータ記憶部１１２の構成を示す図である。
【図５】本発明の実施の形態１における送信装置１１０の暗号化通信処理の流れを示すフローチャートである。
【図６】本発明の実施の形態１における送信装置１１０の乱数パラメータ更新処理の流れを示すフローチャートである。
【図７】本発明の実施の形態１における送信装置１１０の公開鍵更新処理の流れを示すフローチャートである。
【図８】本発明の実施の形態１における受信装置１２０ａの構成を示す図である。
【図９】本発明の実施の形態１における受信装置１２０ａの復号化処理の流れを示すフローチャートである。
【図１０】本発明の実施の形態１における受信装置１２０ａの鍵更新処理の流れを示すフローチャートである。
【図１１】ＮＴＲＵ暗号方式の復号エラー発生確率の測定結果を示す図である。
【図１２】本発明の実施の形態２における暗号システム２の構成を示す図である。
【図１３】本発明の実施の形態２におけるコンテンツサーバ２１０の構成を示す図である。
【図１４】本発明の実施の形態２におけるパラメータ記憶部２１２の構成を示す図である。
【図１５】本発明の実施の形態２におけるコンテンツサーバ２１０の暗号化通信処理の流れを示すフローチャートである。
【図１６】本発明の実施の形態２におけるコンテンツサーバ２１０の乱数パラメータ更新処理の流れを示すフローチャートである。
【図１７】本発明の実施の形態２におけるコンテンツサーバ２１０の公開鍵更新処理の流れを示すフローチャートである。
【図１８】本発明の実施の形態２における鍵サーバ２２０の構成を示す図である。
【図１９】本発明の実施の形態２における鍵サーバ２２０の処理の流れを示すフローチャートである。
【図２０】本発明の実施の形態２における受信装置２３０の構成を示す図である。
【図２１】本発明の実施の形態２における受信装置２３０の復号化処理の流れを示すフローチャートである。
【図２２】本発明の実施の形態２における受信装置２３０の鍵更新処理の流れを示すフローチャートである。
【図２３Ａ】コンテンツを正しく復号した結果の図である。
【図２３Ｂ】コンテンツを誤って復号した結果の図である。
【符号の説明】
【０１３０】
１１０  送信装置
１１２  パラメータ記憶部
１１６  暗号化部
１１８  鍵更新部
【図１】
2004151692.tif 000003
【図２】
2004151692.tif 000004
【図３】
2004151692.tif 000005
【図４】
2004151692.tif 000006
【図５】
2004151692.tif 000007
【図６】
2004151692.tif 000008
【図７】
2004151692.tif 000009
【図８】
2004151692.tif 000010
【図９】
2004151692.tif 000011
【図１０】
2004151692.tif 000012
【図１１】
2004151692.tif 000013
【図１２】
2004151692.tif 000014
【図１３】
2004151692.tif 000015
【図１４】
2004151692.tif 000016
【図１５】
2004151692.tif 000017
【図１６】
2004151692.tif 000018
【図１７】
2004151692.tif 000019
【図１８】
2004151692.tif 000020
【図１９】
2004151692.tif 000021
【図２０】
2004151692.tif 000022
【図２１】
2004151692.tif 000023
【図２２】
2004151692.tif 000024
【図２３Ａ】
2004151692.tif 000025
【図２３Ｂ】
2004151692.tif 000026