(57)【要約】【課題】不正な再生を許さない状態でコンテンツを配布するための技術を提供する。【解決手段】暗号化・復号化システムは、暗号化装置と複数の復号化装置を備える。暗号化装置は、一つのコンテンツのデータを異なる方法で暗号化することにより異なる複数の暗号化データにして、それらを複数の復号化装置に送る。各復号化装置は、自分のところに送られてきた暗号化データを復号化して元のコンテンツのデータに戻せるようになっている。【選択図】なし【特許請求の範囲】
【請求項１】
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段を備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置とを備えてなる暗号化・復号化システムであって、
前記暗号化手段は、
一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、
前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の前記暗号化データとは異なるものとするようになっているとともに、
前記復号化手段は、
前記暗号化装置で生成された前記暗号化データのうち当該復号化手段で復号化することができるものを前記暗号化装置から受取り、それを復号化して前記コンテンツデータに戻すようになっている、
暗号化・復号化システム。
【請求項２】
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段を備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置であって、
前記暗号化手段は、
一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、
前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっている、
暗号化装置。
【請求項３】
前記暗号化手段は、
互いに異なる複数の鍵を所定の記録手段に記録した状態で有しているとともに、
前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数の鍵のいずれかを用いるようになっている、
請求項２記載の暗号化装置。
【請求項４】
前記暗号化手段は、
互いに異なる複数のアルゴリズムを所定の記録手段に記録した状態で有しているとともに、
前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記記録手段に記録された異なる複数のアルゴリズムのいずれかを用いるようになっている、
請求項２記載の暗号化装置。
【請求項５】
互いに異なる複数の鍵を生成することのできる鍵生成手段を備えており、
前記暗号化手段は、
前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記鍵生成手段が生成した複数の鍵を用いるようになっている、
請求項２記載の暗号化装置。
【請求項６】
互いに異なる複数のアルゴリズムを生成することのできるアルゴリズム生成手段を備えており、
前記暗号化手段は、
前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記アルゴリズム生成手段が生成した複数のアルゴリズムを用いるようになっている、
請求項２記載の暗号化装置。
【請求項７】
前記コンテンツデータを切断して複数のコンテンツ切断データに分割する切断手段を備えているとともに、
前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの少なくとも一つを暗号化することにより、前記暗号化データをその一部のみが暗号化されたものとして生成するようになっているとともに、複数の前記コンテンツ切断データの少なくとも一つを暗号化する場合に用いる鍵又はアルゴリズムの少なくとも一方を、暗号化データを生成するそれぞれの場合毎に変更するようになっている、
請求項２記載の暗号化装置。
【請求項８】
前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの先頭の一つを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項９】
前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの先頭の一つから幾つかを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１０】
前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データのすべてを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１１】
前記暗号化手段は、
互いに異なる複数の鍵を所定の記録手段に記録した状態で有しているとともに、
複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数の鍵のいずれかを用いるようになっている、
請求項７記載の暗号化装置。
【請求項１２】
前記暗号化手段は、
互いに異なる複数のアルゴリズムを所定の記録手段に記録した状態で有しているとともに、
複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数のアルゴリズムのいずれかを用いるようになっている、
請求項７記載の暗号化装置。
【請求項１３】
前記暗号化手段は、
複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、
互いに異なる複数の鍵を複数組にしたものである互いに異なる複数の鍵セットを所定の記録手段に記録した状態で有しているとともに、
複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記鍵セットのうちのいずれかから選択された鍵セットに含まれた複数の鍵を用いて前記コンテンツ切断データのそれぞれを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１４】
前記暗号化手段は、
複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、
互いに異なる複数のアルゴリズムを複数組にしたものである互いに異なる複数のアルゴリズムセットを所定の記録手段に記録した状態で有しているとともに、
複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記アルゴリズムセットのうちのいずれかから選択されたアルゴリズムセットに含まれた複数のアルゴリズムを用いて前記コンテンツ切断データのそれぞれを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１５】
互いに異なる複数の鍵を生成することのできる鍵生成手段を備えており、
前記暗号化手段は、
複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記鍵生成手段が生成した複数の鍵を用いるようになっている、
請求項７記載の暗号化装置。
【請求項１６】
互いに異なる複数のアルゴリズムを生成することのできるアルゴリズム生成手段を備えており、
前記暗号化手段は、
複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記アルゴリズム生成手段が生成した複数のアルゴリズムを用いるようになっている、
請求項７記載の暗号化装置。
【請求項１７】
互いに異なる複数の鍵である鍵セットを生成することのできる鍵生成手段を複数備えており、
前記暗号化手段は、
複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、
複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記鍵生成手段のうちのいずれかから選択された鍵生成手段が生成した鍵セットに含まれた複数の鍵を用いて前記コンテンツ切断データのそれぞれを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１８】
互いに異なる複数のアルゴリズムであるアルゴリズムセットを生成することのできるアルゴリズム生成手段を複数備えており、
前記暗号化手段は、
複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、
複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記アルゴリズム生成手段のうちのいずれかから選択されたアルゴリズム生成手段が生成したアルゴリズムセットに含まれた複数のアルゴリズムを用いて前記コンテンツ切断データのそれぞれを暗号化するようになっている、
請求項７記載の暗号化装置。
【請求項１９】
前記暗号化手段は、暗号化される前記コンテンツ切断データのうちの最も後のものを除いたものの少なくとも一つに、暗号化された状態でそのコンテンツ切断データよりも後に位置する前記コンテンツ切断データを復号化するために必要な鍵及びアルゴリズムの少なくとも一方を特定するための特定情報を含めるようになっている、
請求項９又は１０記載の暗号化装置。
【請求項２０】
暗号化データを可搬の記録媒体に記録する手段を備えている、
請求項２記載の暗号化装置。
【請求項２１】
暗号化データを、少なくとも一つの復号化装置が接続されたネットワークを介して復号化装置に送る送信手段を備えているとともに、
前記送信手段は、その復号化装置で復号化可能な暗号化データをその復号化装置に送信するようにされてなる、
請求項２記載の暗号化装置。
【請求項２２】
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置にて実行される方法であって、
前記暗号化装置が、
一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成する過程を含み、
前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとする、
暗号化方法。
【請求項２３】
所定のコンピュータを、
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置、
として機能させるためのプログラムであって、
前記コンピュータに、
一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成する処理を実行させ、
前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようにするための、
プログラム。
【請求項２４】
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置であって、
前記復号化手段は、
前記暗号化装置で生成された複数の前記暗号化データの一つを復号化することができるようにされてなる、
復号化装置。
【請求項２５】
前記暗号化装置で生成された複数の前記暗号化データの一つを復号化するための鍵及びアルゴリズムを記録した復号化装置記録手段を備えており、
前記復号化手段は、前記暗号化データの一つを復号化する場合に当該復号化装置記録手段から読出した鍵及びアルゴリズムを使用するようになっている、
請求項２４記載の復号化装置。
【請求項２６】
前記暗号化装置で生成された複数の前記暗号化データの一つを復号化するための鍵及びアルゴリズムの少なくとも一方を生成する復号化装置生成手段を備えており、
前記復号化手段は、前記暗号化データの一つを復号化する場合に当該復号化装置生成手段が生成した鍵及びアルゴリズムの少なくとも一方を使用するようになっている、
請求項２４記載の復号化装置。
【請求項２７】
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置にて実行される方法であって、
前記復号化装置が、
前記暗号化装置で生成された複数の前記暗号化データの一つを復号化する過程を含む、
方法。
【請求項２８】
所定のコンピュータを、
コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置、
として機能させるためのプログラムであって、
前記コンピュータに、
前記暗号化装置で生成された複数の前記暗号化データの一つを復号化する過程を実行させるための、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツのデータを配布するための技術に関する。
【背景技術】
【０００２】
テキスト、音楽、動画、ゲーム等についてのコンテンツのデータを、ＣＤ−ＲＯＭ、ＤＶＤその他の記録媒体に記録して、或いはインターネットその他のネットワークを介して配布するということは、現在、非常に一般的な技術とされている。
コンテンツのデータを配布する者、或いはコンテンツのデータ等の著作権を有する者が有する悩みの一つに、コンテンツのデータの適正な使用がなされていないということを挙げることができる。
例えば、コンテンツのデータは、容易に複製可能であり、特にそれがデジタル信号によるものである場合には複製されたコンテンツのデータの品質が劣化しないので、コピーされた高品質のコンテンツのデータが配布されてしまうという違法な状態が生じる。このような事態は、コンテンツが、記録媒体に記録されて配布されても、ネットワークを経由して配布されても同じく起こりうる。
【０００３】
現在に至るまで、コピーされたコンテンツのデータの違法な配布の防止は主に、以下のような２つのアプローチでなされている。
１つ目のアプローチは、認証である。認証は、例えば、あるコンテンツのデータを再生する場合に、ユーザに、各ユーザ毎に割振られた認証用の情報（例えば、ユーザＩＤとパスワード）の入力を行わせることにより行われる。ユーザが入力した情報が、コンテンツのデータを記録している記録媒体に記録されている情報と一致するか、或いはコンテンツをネットワークを介して送信する送信装置が持っている情報と一致するかを判断することで、認証を行うのである。これは、主に、そのコンテンツのデータを再生することが許されていないユーザがコンテンツのデータを再生することを禁じるために用いられる技術である。
２つ目のアプローチは、コピーを防止することである。コピーを防止するための技術は、コピープロテクトと呼ばれる。コピープロテクトには様々な種類があるが、あるコンテンツのデータをコピーした場合にコピー後のコンテンツのデータを元のコンテンツデータから変質させるものとされる場合が多い。そのようにすることにより、コピー後のコンテンツデータを、再生できないか、或いは再生できたとしてもそのコンテンツのデータにより再現されることが予定されていた通りの内容を再現できないようにすることにより、コンテンツのデータのコピーを事実上禁じるのである。
【０００４】
これらの技術はそれぞれ有意義であり、一定の効果を上げている。しかしながら、コンテンツのデータの違法な配布の防止が達成されているわけではなく、むしろ現在でもそのような違法な状況は続いている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、コンテンツのデータを、適正な使用がなされるような状態で配布するための新しいアプローチに基づく技術を提供することを課題とするものである。
【課題を解決するための手段】
【０００６】
本願発明者は、上述の課題を解決するために研究を重ねた。そして以下のような発明を想到した。
以下に説明するように、本願発明のコンセプトは、同じコンテンツデータから、各ユーザ向けに、異なる暗号化の仕方で生成された異なる暗号化データを提供することにある。
【０００７】
本願発明は、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段を備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置とを備えてなる暗号化・復号化システムである。
そして、その暗号化装置の前記暗号化手段は、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の前記暗号化データとは異なるものとするようになっている。また、その復号化装置の前記復号化手段は、前記暗号化装置で生成された前記暗号化データのうち当該復号化手段で復号化することができるものを前記暗号化装置から受取り、それを復号化して前記コンテンツデータに戻すようになっている。
このような暗号化・復号化システムにおける暗号化装置は、一つのコンテンツデータから互いに異なる複数の暗号化データを生成するようになっている。複数の暗号化データのそれぞれは、同じコンテンツのデータから作られた、再生できれば同じコンテンツを提供できるものではあるが、互いに異なったものとされている。また、これら暗号化データのそれぞれは、複数の復号化装置のいずれかのためのものであり、ある一つの復号化装置では復号化できるが、他の復号化装置では復号化できないものとされている（なお、復号化装置のすべてにコンテンツのデータを配布する必要がないのであれば、暗号化データの数は復号化装置の数よりも少なくともよい。）。暗号化データのそれぞれは、それを復号化することができる復号化装置に、記録媒体を介して、或いはネットワークを介して提供され、提供された復号化装置で復号化して元のコンテンツのデータに戻される。復号化装置は、そのコンテンツのデータを再生できる。
このような本願発明は、認証よりも、そのコンテンツのデータを再生することが許されていないユーザがコンテンツのデータを再生することを禁じる能力が高い。つまり、認証の場合には、上述したように、２つの情報の一致を判定し、２つの情報が一致した場合には、再生装置でのコンテンツのデータの再生を許している。しかしながら、本願発明では、ただの認証よりも遥かに強度を高くすることの可能な復号化を復号化装置で行えない限り、復号化装置でのコンテンツのデータの再生が許可されないため、データを再生することが許されていないユーザがコンテンツのデータを再生することが不可能に近くなる。
また、本願発明ではユーザに配布されるコンテンツのデータは、各ユーザ毎に異なる方法で暗号化された暗号化データとなっており、また、各ユーザは異なる鍵又はアルゴリズムを用いて、自分に配布された暗号化データを復号化することにより、暗号化データの元となったコンテンツのデータを再生することとしている。したがって、本願発明によって生成された暗号化データはそれをコピーして配布したとしても、コピーされた暗号化データを配布された他のユーザは、それを復号化して再生することができない。したがって、本願発明によって生成された暗号化データは、コピー防止の技術を応用することも勿論可能ではあるが、それを行う必要性が低いという点で優れている。
【０００８】
本願発明者は、上述の暗号化・復号化システムに応用することのできる暗号化装置として、例えば以下のものを提案する。
その暗号化装置は、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段を備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置である。そして、前記暗号化手段は、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっている。
【０００９】
暗号化装置における暗号化手段は、上述するように、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっている。
つまり、暗号化手段は、鍵とアルゴリズムの少なくとも一方を複数用いることができるようになっている。そのために、本願発明における暗号化手段は、鍵とアルゴリズムの少なくとも一方を当初から複数保持しているか、或いは鍵とアルゴリズムの少なくとも一方を複数発生させることができるようになっている。
例えば、前記暗号化手段は、互いに異なる複数の鍵を所定の記録手段に記録した状態で有しているとともに、前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数の鍵のいずれかを用いるようになっていてもよい。
前記暗号化手段は、また、互いに異なる複数のアルゴリズムを所定の記録手段に記録した状態で有しているとともに、前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記記録手段に記録された異なる複数のアルゴリズムのいずれかを用いるようになっていてもよい。
また、本願発明における暗号化装置は、互いに異なる複数の鍵を生成することのできる鍵生成手段を備えており、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記鍵生成手段が生成した複数の鍵を用いるようになっていてもよい。
また、本願発明における暗号化装置は、互いに異なる複数のアルゴリズムを生成することのできるアルゴリズム生成手段を備えており、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、前記アルゴリズム生成手段が生成した複数のアルゴリズムを用いるようになっていてもよい。
【００１０】
本願発明においてコンテンツのデータから生成される暗号化データは、その全体が暗号化されていてもよいし、また、その一部のみが暗号化されていてもよい。
また、コンテンツのデータは、その全体をまとめて暗号化するのではなく、複数に切断してから部分ごとに暗号化することができる。この場合、すべての部分を暗号化する必要がないのは上述の通りである。
例えば、本願発明における暗号化装置は、前記コンテンツデータを切断して複数のコンテンツ切断データに分割する切断手段を備えていてもよい。その場合、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの少なくとも一つを暗号化することにより、前記暗号化データをその一部のみが暗号化されたものとして生成するようになっているとともに、複数の前記コンテンツ切断データの少なくとも一つを暗号化する場合に用いる鍵又はアルゴリズムの少なくとも一方を、暗号化データを生成するそれぞれの場合毎に変更するようになっていてもよい。
この場合、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの先頭の一つを暗号化するようになっていてもよい。先頭のコンテンツ切断データを暗号化するようにしておけば、これを復号化できない限り暗号化データを受付けた者がコンテンツのデータの復号化を行えず、他方、コンテンツのデータのうち暗号化を行うことが必要な範囲を少なくできるので、暗号化装置での処理の負担を抑えられる。また、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの先頭の一つから幾つかを暗号化するようになっていてもよい。また、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データのすべてを暗号化するようになっていてもよい。
【００１１】
上述したように、本願発明における暗号化装置は、前記コンテンツデータを切断して複数のコンテンツ切断データに分割する切断手段を備えていてもよく、その場合、前記暗号化手段は、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの少なくとも一つを暗号化することにより、前記暗号化データをその一部のみが暗号化されたものとして生成するようになっているとともに、複数の前記コンテンツ切断データの少なくとも一つを暗号化する場合に用いる鍵又はアルゴリズムの少なくとも一方を、暗号化データを生成するそれぞれの場合毎に変更するようになっていてもよい。
この場合、前記暗号化手段は、互いに異なる複数の鍵を所定の記録手段に記録した状態で有しているとともに、複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数の鍵のいずれかを用いるようになっていてもよい。
或いは、前記暗号化手段は、互いに異なる複数のアルゴリズムを所定の記録手段に記録した状態で有しているとともに、複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記記録手段に記録された前記異なる複数のアルゴリズムのいずれかを用いるようになっていてもよい。
前記暗号化手段は、複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、互いに異なる複数の鍵を複数組にしたものである互いに異なる複数の鍵セットを所定の記録手段に記録した状態で有しているとともに、複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記鍵セットのうちのいずれかから選択された鍵セットに含まれた複数の鍵を用いて前記コンテンツ切断データのそれぞれを暗号化するようになっていてもよい。この場合には、一つのコンテンツデータから生成されたコンテンツ切断データのそれぞれが、異なる鍵（すべての鍵が異なる必要はないが）で暗号化されることになる。
前記暗号化手段は、複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、互いに異なる複数のアルゴリズムを複数組にしたものである互いに異なる複数のアルゴリズムセットを所定の記録手段に記録した状態で有しているとともに、複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記アルゴリズムセットのうちのいずれかから選択されたアルゴリズムセットに含まれた複数のアルゴリズムを用いて前記コンテンツ切断データのそれぞれを暗号化するようになっていてもよい。この場合には、一つのコンテンツデータから生成されたコンテンツ切断データのそれぞれが、異なるアルゴリズム（すべてのアルゴリズムが異なる必要はないが）で暗号化されることになる。
本願発明における暗号化装置は、また、互いに異なる複数の鍵を生成することのできる鍵生成手段を備えており、前記暗号化手段は、複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記鍵生成手段が生成した複数の鍵を用いるようになっていてもよい。
本願発明における暗号化装置は、また、互いに異なる複数のアルゴリズムを生成することのできるアルゴリズム生成手段を備えており、前記暗号化手段は、複数の前記コンテンツ切断データの少なくとも一つを暗号化するそれぞれの場合で、前記アルゴリズム生成手段が生成した複数のアルゴリズムを用いるようになっていてもよい。
本願発明における暗号化装置は、また、互いに異なる複数の鍵である鍵セットを生成することのできる鍵生成手段を複数備えており、前記暗号化手段は、複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記鍵生成手段のうちのいずれかから選択された鍵生成手段が生成した鍵セットに含まれた複数の鍵を用いて前記コンテンツ切断データのそれぞれを暗号化するようになっていてもよい。この場合には、一つのコンテンツデータから生成されたコンテンツ切断データのそれぞれが、異なる鍵（すべての鍵が異なる必要はないが）で暗号化されることになる。
本願発明における暗号化装置は、また、互いに異なる複数のアルゴリズムであるアルゴリズムセットを生成することのできるアルゴリズム生成手段を複数備えており、前記暗号化手段は、複数の前記コンテンツ切断データのうちの２つ以上を暗号化するようになっているとともに、複数の前記コンテンツ切断データの２つ以上を暗号化するそれぞれの場合で、複数の前記アルゴリズム生成手段のうちのいずれかから選択されたアルゴリズム生成手段が生成したアルゴリズムセットに含まれた複数のアルゴリズムを用いて前記コンテンツ切断データのそれぞれを暗号化するようになっていてもよい。この場合には、一つのコンテンツデータから生成されたコンテンツ切断データのそれぞれが、異なるアルゴリズム（すべてのアルゴリズムが異なる必要はないが）で暗号化されることになる。
【００１２】
上述したように、コンテンツデータからコンテンツ切断データを生成する場合には、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データの先頭の一つから幾つかを暗号化すること、或いは、前記コンテンツデータを複数回暗号化するそれぞれの場合で、複数の前記コンテンツ切断データのすべてを暗号化することがある。
これらの場合、前記暗号化手段は、暗号化される前記コンテンツ切断データのうちの最も後のものを除いたものの少なくとも一つ（例えば、最初のものから幾つかすべて、或いは最初のものを含む最初の方のもののうちの幾つか）に、暗号化された状態でそのコンテンツ切断データよりも後に位置する前記コンテンツ切断データ（例えば、そのコンテンツ切断データの直後のコンテンツ切断データ。なお、正確には、ここでいうコンテンツ切断データは、暗号化された後の物なので暗号化切断データと記載する方が正確かもしれない。）を復号化するために必要な鍵及びアルゴリズムの少なくとも一方を特定するための特定情報を含めるようになっていてもよい。この場合には、特定情報の含まれている暗号化切断データを復号化できない場合にはそれより後の暗号化切断データを復号化できなくなる。このような暗号化装置では、特定情報の含まれている暗号化切断データのみ暗号化の強度を高めればよいということになるので、暗号化装置での暗号化の処理を全体として軽減することができる可能性がある。
この場合の応用例として、例えば、最後のものを除く暗号化切断データのすべてに、その直後に連なる暗号化切断データを復号化するための鍵及びアルゴリズムを特定するための特定情報を含めるようにすることを挙げられる。このようにすると、暗号化されたコンテンツ切断データのうちの先頭のものを復号化すると、２つ目以降の暗号化されたコンテンツ切断データの復号化は、その直前のコンテンツ切断データの中に含まれている特定情報によって特定される鍵又はアルゴリズムを用いて、いわば芋づる式に行えることになる。逆に、１つ目の暗号化されたコンテンツ切断データを復号化することができなければ、２つ目以降の暗号化されたコンテンツ切断データの復号化は行えない。したがって、このような暗号化装置では、１つ目のコンテンツ切断データを暗号化する場合のみ暗号化の強度を高めればよいということになるので、暗号化装置での暗号化の処理を全体として軽減することができる可能性がある。
なお、特定情報は、鍵又はアルゴリズムそのものであってもよいが、その特定情報が含まれているコンテンツ切断データの次のコンテンツ切断データを復号化する場合に基づく鍵又はアルゴリズムを特定するために用いられる情報であれば、特にその内容を問わない。例えば、予め準備された複数の鍵を適当な順番で使って複数のコンテンツ切断データを順に暗号化する場合であれば、どの鍵を次のコンテンツ切断データを暗号化するために使うかということを示す情報を、特定情報とすることができる。
【００１３】
本願発明では、暗号化装置から復号化装置への暗号化データの配布は、記録媒体を介して行われてもよいし、インターネット等のネットワークを介して行われてもよい。
前者の場合、暗号化装置は、暗号化データを可搬の記録媒体に記録する手段を備えていてもよい。
後者の場合、暗号化装置は、暗号化データを、少なくとも一つの復号化装置が接続されたネットワークを介して復号化装置に送る送信手段を備えているとともに、前記送信手段は、その復号化装置で復号化可能な暗号化データをその復号化装置に送信するようにされてなるものとされてもよい。
いずれにせよ、暗号化データは、それを復号化することのできる復号化装置に配布される。なお、それを可能とするため、暗号化装置には、復号化装置のリストを、例えば、記録媒体に記録して持たせておいてもよい。この復号化装置のリストは、各復号化装置を特定するための情報と、各復号化装置が使用することのできる鍵とアルゴリズムの組合せ（或いはこれらの一方）についての情報とを含むものであってもよい。
【００１４】
本願発明における暗号化装置と同じ効果を、以下の方法によって得ることができる。
その方法は、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置にて実行される方法である。この方法は、前記暗号化装置が、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成する過程を含み、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとする。
本願発明における暗号化装置は、例えば、以下のプログラムによって得ることができる。以下のプログラムは、汎用的なコンピュータを本願発明における暗号化装置にするためのものである点で価値がある。
そのプログラムは、所定のコンピュータを、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す複数の復号化装置とを備えてなる暗号化・復号化システムを、前記復号化装置との組合せにより構成する暗号化装置、として機能させるためのプログラムである。そしてこのプログラムは、前記コンピュータに、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成する処理を実行させ、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようにするためのものとされる。
【００１５】
本願発明者は、上述の暗号化・復号化システムに応用することのできる復号化装置として、例えば以下のものを提案する。
それは、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置である。そして、各復号化装置の前記復号化手段は、前記暗号化装置で生成された複数の前記暗号化データの一つを復号化することができるようにされてなる。
各復号化装置は、前記暗号化装置で生成された複数の前記暗号化データの一つを復号化するための鍵及びアルゴリズムを記録した復号化装置記録手段を備えており、前記復号化手段は、前記暗号化データの一つを復号化する場合に当該復号化装置記録手段から読出した鍵及びアルゴリズムを使用するようになっていてもよい。
各復号化装置は、前記暗号化装置で生成された複数の前記暗号化データの一つを復号化するための鍵及びアルゴリズムの少なくとも一方を生成する復号化装置生成手段を備えており、前記復号化手段は、前記暗号化データの一つを復号化する場合に当該復号化装置生成手段が生成した鍵及びアルゴリズムの少なくとも一方を使用するようになっていてもよい。
【００１６】
本願発明における復号化装置と同じ効果を、以下の方法によって得ることができる。
その方法は、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置にて実行される方法である。この方法は、前記復号化装置が、前記暗号化装置で生成された複数の前記暗号化データの一つを復号化する過程を含む。
本願発明における復号化装置は、例えば、以下のプログラムによって得ることができる。以下のプログラムは、汎用的なコンピュータを本願発明における復号化装置にするためのものである点で価値がある。
そのプログラムは、所定のコンピュータを、コンテンツについてのデータであるコンテンツデータを鍵及びアルゴリズムを用いて暗号化して暗号化データを生成する暗号化手段であり、一つの前記コンテンツデータを複数回暗号化することによって一つの前記コンテンツデータから複数の前記暗号化データを生成するようになっているとともに、前記コンテンツデータを複数回暗号化するにあたって、前記鍵又は前記アルゴリズムの少なくとも一方を変更することで、複数の前記暗号化データのそれぞれを他の暗号化データとは異なるものとするようになっているものを備えている暗号化装置と、前記暗号化装置によって生成された前記暗号化データを復号化するための鍵及びアルゴリズムを用いて復号化してコンテンツデータに戻す復号化手段を備えている複数の復号化装置と、を備えてなる暗号化・復号化システムを、前記暗号化装置との組合せにより構成する復号化装置、として機能させるためのプログラムである。そしてこのプログラムは、前記コンピュータに、前記暗号化装置で生成された複数の前記暗号化データの一つを復号化する過程を実行させるためのものとされる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の好ましい実施形態を、図面を参照しながら詳細に説明する。
【００１８】
この実施形態による暗号化・復号化システムは、概略で図１に示したように構成される。暗号化・復号化システムは、ネットワーク１３を介して互いに接続された暗号化装置１１、及び復号化装置１２を含んでいる。復号化装置１２は、複数である。
暗号化装置１１と復号化装置１２を接続するネットワーク１３は、例えばインターネットである。もっともこれに代えて、他の手段、例えばＬＡＮ（Local Area Network）、イントラネット、或いは専用線でネットワーク１３を構成してもかまわない。
【００１９】
暗号化装置１１は、この実施形態では１つであり、テキスト、音楽、動画、ゲームなどのコンテンツについてのデータであるコンテンツデータを配布する者の管理下に置かれるものである。
復号化装置１２は、配布されたコンテンツデータを受取るユーザの管理下に置かれるものである。
後述するように、この実施形態では、コンテンツデータは、暗号化装置１１により暗号化されて暗号化データにされてから、復号化装置１２にそれぞれ配布される。
暗号化データの暗号化装置１１から復号化装置１２への配布は、ネットワーク１３を介しての送信の形態で行われてもよく、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭその他の記録媒体を介しての送付の形態で行われてもよい。
なお、送信の形態で暗号化装置１１から復号化装置１２に暗号化データを配布する場合には、暗号化装置１１から復号化装置１２のそれぞれに一斉に暗号化データの送信を行ってもよく、或いは、例えば復号化装置１２からの要求にしたがって個別的に暗号化装置１１から復号化装置１２のそれぞれに適宜暗号化データの送信を行ってもよい。
送付の形態で暗号化装置１１から復号化装置１２に暗号化データを配布する場合も同様であり、暗号化装置１１は必ずしもすべての復号化装置１２に、同じコンテンツから生成した暗号化データを送る必要はない。
【００２０】
暗号化装置１１、復号化装置１２の構成を説明する。
まず、これらのハードウエア構成から説明する。なお、暗号化装置１１と復号化装置１２はともに、必ずしもそうである必要はないが、この実施形態では汎用のパーソナルコンピュータにより構成されており、ハードウエア構成の点では、後述する暗号部２９Ａと復号部２９Ｂの部分を除けば、両者は基本的に共通するものとなっている（暗号化装置１１の暗号部２９Ａが、復号化装置１２では復号部２９Ｂに置き換えられている。）。したがって、暗号化装置１１、復号化装置１２のハードウエア構成の説明は、代表して、暗号化装置１１の構成の説明により行うことにする。
【００２１】
暗号化装置１１のハードウエア構成を図２に示す。
暗号化装置１１は、この実施形態では、ＣＰＵ（central processing unit）２１、ＲＯＭ（read only memory）２２、ＨＤＤ（hard disk drive）２３、ＲＡＭ（random access memory）２４、入力装置２５、表示装置２６、通信装置２７、ＤＶＤドライブ２８、暗号部２９Ａ及びバスＢを含む構成とされている。ＣＰＵ２１、ＲＯＭ２２、ＨＤＤ２３、ＲＡＭ２４、入力装置２５、表示装置２６、通信装置２７、ＤＶＤドライブ２８は、バスＢを介してデータの交換が可能とされている。
ＲＯＭ２２、あるいはＨＤＤ２３には、所定のプログラム、及び所定のデータ（これには、コンテンツのデータであるコンテンツデータが含まれている場合があり、本実施形態ではそのようにされている。また、所定のデータには、上記プログラムを実行するために必要なデータが含まれている。）が記録されている。暗号化装置１１が持つプログラムは、汎用のコンピュータを暗号化装置１１として機能させるためのものであり、復号化装置１２が持つプログラムは、汎用のコンピュータを復号化装置１２として機能させるためのものである。これらプログラムは、汎用のコンピュータをそれ単独で暗号化装置１１又は復号化装置１２として機能させるものであってもよく、また汎用のコンピュータが有するＯＳ等の他のプログラムと協働して汎用のコンピュータを暗号化装置１１又は復号化装置１２として機能させるものであってもよい。
ＣＰＵ２１は、暗号化装置１１全体の制御を行うものであり、ＲＯＭ２２、あるいはＨＤＤ２３に記憶されたプログラムやデータに基づいて、後述する処理を実行するものである。ＲＡＭ２４は、ＣＰＵ２１で処理を行う際の作業用記憶領域として用いられる。
入力装置２５は、キーボード、マウスなどから構成されており、コマンドやデータの入力に用いられる。表示装置２６は、ＬＣＤ（liquid crystal display）、ＣＲＴ（cathode ray tube）などから構成されており、コマンドや入力されたデータや、後述する処理の状況などを表示するために用いられる。
通信装置２７は、ネットワーク１３を介してのデータのやりとりを実行するものである。暗号化装置１１の通信装置２７は少なくとも、ネットワーク１３を介して復号化装置１２の通信装置２７に後述する暗号化データを送信することができるようになっている。他方、復号化装置１２の通信装置２７は少なくとも、ネットワーク１３を介して暗号化装置１１から暗号化データを受取ることができるようになっている。
ＤＶＤドライブ２８は少なくとも、可搬の記録媒体であるＤＶＤに記録されたデータを読み取ることができるものとされている。暗号化装置１１のＤＶＤドライブ２８は更に、ＤＶＤに対してデータを書込めるものとされている。なお、この実施形態では、暗号化装置１１と復号化装置１２で共通して使用する記録媒体としてＤＶＤを選択しているため、暗号化装置１１と復号化装置１２はともにＤＶＤドライブ２８を備えるようにされているが、可搬の記録媒体としてＣＤ−ＲＯＭ、ブルーレイディスク等他のものを選択した場合には、ＤＶＤドライブ２８は選択した記録媒体の種類に応じて適当に変更することができる。
【００２２】
暗号部２９Ａは、コンテンツのデータを暗号化して暗号化データにするためのものである。
暗号化装置１１の暗号部２９Ａの構成の詳細について説明する。図３に、暗号部２９Ａのブロック構成図を示す。
暗号部２９Ａは、インタフェイス部３１Ａ、前処理部３２Ａ、暗号化部３３Ａ、共通データ生成部３４Ａ、鍵生成部３５Ａ、アルゴリズム生成部３６Ａ、接続部３７Ａ、及び復号化装置管理部３８Ａから構成される。なお、インタフェイス部３１Ａ、前処理部３２Ａ、暗号化部３３Ａ、共通データ生成部３４Ａ、鍵生成部３５Ａ、アルゴリズム生成部３６Ａ、接続部３７Ａ、及び復号化装置管理部３８Ａは、いずれも、上述したプログラムを実行することにより形成されるものであってもよい。
【００２３】
インタフェイス部３１Ａは、バスＢと暗号部２９Ａとの間におけるデータのやりとりを行うものである。
インタフェイス部３１Ａは、バスＢから、コンテンツデータを受付ける。なお、受付けたコンテンツのデータには、ＣＰＵ２１により、複数の復号化装置１２の一つを特定するための識別子が付されている。この識別子は、コンテンツデータから生成される後述の暗号化データが、多数の復号化装置１２のうちのどの復号化装置１２で復号化されるものか、ということを示すものである。コンテンツデータを受付けたインタフェイス部３１Ａは、それを前処理部３２Ａへ送るようになっている。インタフェイス部３１Ａは、また、コンテンツデータを受付けると、その旨の情報を復号化装置管理部３８Ａへ送るようになっている。この情報には、上述した識別子が含まれている。
インタフェイス部３１Ａは、接続部３７Ａから後述する暗号化データを受付けるようになっており、また、受付けたその暗号化データをバスＢに送るようになっている。
【００２４】
前処理部３２Ａは、インタフェイス部３１を介してバスＢから受取ったコンテンツデータを、所定のビット数毎に切断して、コンテンツ切断データを生成し、それを暗号化部３３Ａへ送る機能を有している。前処理部３２Ａは、コンテンツ切断データのそれぞれのビット長をすべて等しくすることもできるし、少なくとも一つのコンテンツ切断データのビット長を他のコンテンツ切断データのビット長と異なるものとすることもできる。この実施形態では、すべてのコンテンツ切断データのビット長は同一であるものとし、そのビット長は８ビットであるものとする。
【００２５】
復号化装置管理部３８Ａは、これから生成される暗号化データを、多数の復号化装置１２のうちのどの復号化装置１２で復号化できるようにするか、ということについての管理を行うものである。復号化装置管理部３８Ａは、その管理を行うための管理テーブルを備えている。管理テーブルの詳細、及びその管理の仕方の詳細については後述することとする。
【００２６】
暗号化部３３Ａは、コンテンツ切断データを暗号化する機能を有している。
暗号化部３３Ａは、コンテンツ切断データを前処理部３２Ａから次々に受取るとともに、受取ったコンテンツ切断データをその都度暗号化するようになっている。この実施形態では、コンテンツ切断データを暗号化して生成されるデータを、暗号化切断データと呼ぶものとする。コンテンツ切断データの暗号化の仕方の詳細については、後述する。
【００２７】
共通データ生成部３４Ａは、共通データを生成するものである。
共通データ生成部３４Ａは、上述の情報をインタフェイス部３１Ａから受取ると共通データの生成を開始する。
共通データは、後述する鍵とアルゴリズムを生成するために用いられる。
共通データは、この実施形態では、順次生成される擬似乱数であり、且つ一まとめの組として発生させられる。共通データ生成部３４Ａは、複数の復号化装置１２のそれぞれ用の共通データの組を生成することができるようになっている。言い換えれば、共通データ生成部３４Ａは、複数の復号化装置１２の数と同数の組の共通データを生成することができるようになっている。
後述するように、復号化装置１２もまた、共通データ生成部を備えている。復号化装置１２で生成される共通データは、一組の（或いは連続した一連の）擬似乱数である。そして、共通データ生成部３４Ａが生成したある組に含まれる共通データは、その組と対応付けられた復号化装置１２で生成される共通データと同じになるようにされている。言い換えれば、同じ順番で生成されたもの同士を比較すれば、復号化装置１２で生成される共通データのそれぞれは、暗号化装置１１で生成された複数組の共通データの組のうち、復号化装置１２用に生成された共通データの組に含まれているもののそれぞれと、同じものとなるようにされている。
共通データ生成部３４Ａで生成された共通データは、鍵生成部３５Ａと、アルゴリズム生成部３６Ａに送られるようになっている。
【００２８】
鍵生成部３５は、共通データ生成部３４Ａから受付けた共通データに基づいて鍵を生成するものである。鍵は、暗号化部３３Ａで、暗号化処理を行うときに使用されるものである。
アルゴリズム生成部３６Ａは、共通データ生成部３４Ａから受付けた共通データに基づいてアルゴリズムを生成するものである。このアルゴリズムは、暗号化部３３Ａで、暗号化処理を行うときに使用されるものである。
鍵及びアルゴリズムの生成の仕方の詳細は後述する。
【００２９】
接続部３７Ａは、暗号化部３３Ａで生成された暗号化切断データを元の順序で接続することにより一まとめにして暗号化データとする機能を有している。
接続部３７Ａは、また、生成した暗号化データをインタフェイス部３１Ａに送る機能を有している。暗号化データは、インタフェイス部３１Ａから、バスＢへ送られるようになっている。
【００３０】
次に、復号化装置１２の構成について、説明する。
復号化装置１２のハードウエア構成は、上述したように、暗号化装置１１のそれと略同一である。復号化装置１２は、この実施形態では、暗号化装置１１と同様に、ＣＰＵ２１、ＲＯＭ２２、ＨＤＤ２３、ＲＡＭ２４、入力装置２５、表示装置２６、通信装置２７、ＤＶＤドライブ２８、及びバスＢを有している。復号化装置１２は、また、暗号部２９Ａに代えて復号部２９Ｂを備えている。
復号部２９Ｂは、暗号化装置１１から配布された暗号化データを復号化するものである。
【００３１】
復号部２９Ｂの詳細を、図４に示す。
復号部２９Ｂは、インタフェイス部３１Ｂ、前処理部３２Ｂ、復号化部３３Ｂ、共通データ生成部３４Ｂ、鍵生成部３５Ｂ、アルゴリズム生成部３６Ｂ、及び接続部３７Ｂから構成される。なお、インタフェイス部３１Ｂ、前処理部３２Ｂ、復号化部３３Ｂ、共通データ生成部３４Ｂ、鍵生成部３５Ｂ、アルゴリズム生成部３６Ｂ、及び接続部３７Ｂは、いずれも、上述したプログラムを実行することにより形成されるものであってもよい。
【００３２】
インタフェイス部３１Ｂは、バスＢと復号部２９Ｂとの間におけるデータのやりとりを行うものである。
インタフェイス部３１Ｂは、バスＢから、暗号化データを受付ける。暗号化データを受付けたインタフェイス部３１Ｂは、それを前処理部３２Ｂへ送るようになっている。インタフェイス部３１Ｂは、また、暗号化データを受付けると、その旨の情報を共通データ生成部３４Ｂへ送るようになっている。この情報には、上述した識別子が含まれている。
インタフェイス部３１Ｂは、接続部３７Ｂから後述するコンテンツデータを受付けるようになっており、また、受付けたそのコンテンツデータをバスＢに送るようになっている。
【００３３】
前処理部３２Ｂは、インタフェイス部３１を介してバスＢから受取った暗号化データを、所定のビット数毎に切断して、暗号化切断データを生成し、それを復号化部３３Ｂへ送る機能を有している。前処理部３２Ｂは、暗号化切断データのそれぞれのビット長をすべて等しくすることもできるし、少なくとも一つの暗号化切断データのビット長を他の暗号化切断データのビット長と異なるものとすることもできる。この実施形態では、すべての暗号化切断データのビット長は同一（なお、この実施形態では、暗号化切断データのビット長は、８ビットであるものとする。）であるものとする。なお、復号化装置１２で暗号化データから生成される暗号化切断データのビット長は、暗号化装置１１で生成される暗号化切断データを再現するものとなっている必要があるが、これは暗号化装置１１と復号化装置１２で何らかの取決めを行っておけば実現可能である。
【００３４】
復号化部３３Ｂは、暗号化切断データを復号化する機能を有している。
復号化部３３Ｂは、暗号化切断データを前処理部３２Ｂから次々に受取るとともに、受取った暗号化切断データをその都度復号化して、コンテンツ切断データに戻すようになっている。かかる復号化の仕方の詳細については、後述する。
【００３５】
共通データ生成部３４Ｂは、共通データを生成するものである。
共通データ生成部３４Ｂは、上述の情報をインタフェイス部３１Ｂから受取ると共通データの生成を開始する。
生成される共通データは、連続する擬似乱数であるが、それは、同じ順番で生成されたもの同士を比較すれば、暗号化装置１１で、コンテンツ切断データを暗号化するときに用いたものと同じものとされる。
共通データ生成部３４Ｂで生成された共通データは、鍵生成部３５Ｂと、アルゴリズム生成部３６Ｂに送られるようになっている。
【００３６】
鍵生成部３５Ｂは、共通データ生成部３４Ｂから受付けた共通データに基づいて鍵を生成するものである。鍵は、復号化部３３Ｂで、復号化処理を行うときに使用されるものである。
アルゴリズム生成部３６Ｂは、共通データ生成部３４Ｂから受付けた共通データに基づいてアルゴリズムを生成するものである。このアルゴリズムは、復号化部３３Ｂで、復号化処理を行うときに使用されるものである。
鍵及びアルゴリズムの生成の仕方の詳細は後述する。
【００３７】
接続部３７Ｂは、復号化部３３Ｂで生成されたコンテンツ切断データを元の順序で接続することにより一まとめにしてコンテンツデータとする機能を有している。
接続部３７Ｂは、また、生成したコンテンツデータをインタフェイス部３１Ｂに送る機能を有している。コンテンツデータは、インタフェイス部３１Ｂから、バスＢへ送られるようになっている。
【００３８】
次に、この暗号化・復号化システムで行われる処理の流れについて説明する。
【００３９】
図５を用いて概略で説明すると、この暗号化・復号化システムで行われる処理の流れは以下のとおりである。
まず、暗号化装置１１がコンテンツデータを暗号化して暗号化データを生成する（Ｓ１１０）。次いで、暗号化装置１１がその暗号化データを復号化装置１２に送る（Ｓ１２０）。次いで、暗号化データを受取った復号化装置１２がその暗号化データを復号化してコンテンツデータに戻す（Ｓ１３０）。
【００４０】
まず、暗号化装置１１がコンテンツデータを暗号化して暗号化データを生成する上述のＳ１１０の過程について、図６を参照しながら詳しく説明する。
【００４１】
まず、コンテンツデータの読み出しが行われる（Ｓ１１０１）。この実施形態では、コンテンツデータはＨＤＤ２３に記録されているものとする。
なお、コンテンツデータの読み出しが行われるきっかけは、どのようなものであってもよい。例えば、復号化装置１２から暗号化装置１１にコンテンツデータの送信の要求があった場合に、かかるコンテンツデータの読み出しが行われる。かかる要求は、例えば、復号化装置１２のユーザが入力装置２５を介して入力した入力データを、復号化装置１２の通信装置２７から、暗号化装置１１の通信装置２７にネットワーク１３を介して送信することにより、復号化装置１２から暗号化装置１１に通知することができる。或いは、そのきっかけは、暗号化装置１１は複数の復号化装置１２のうちの幾つか、或いはすべてにコンテンツのデータを送れ、との命令を、暗号化装置１１のユーザが入力装置２５により入力したことであってもよい。或いは、そのきっかけは、復号化装置１２の幾つか或いはすべてに記録媒体に記録して送るべき暗号化データを生成せよという命令を、暗号化装置１１のユーザが入力装置２５により入力したことであってもよい。
なお、いずれのきっかけでコンテンツデータの読み出しが行われるにせよ、これから生成されるコンテンツデータが、どの復号化装置１２で復号化されることが予定されたものであるかということが特定される。かかる特定を行うための情報が、上述した識別子であるが、これは、上述のきっかけの如何によらず、暗号化装置２１のＣＰＵ２１が生成する。
コンテンツデータの読み出しは、暗号化装置１１のＣＰＵ２１が、コンテンツデータをＨＤＤ２３から読み出し、バスＢを介してインタフェイス部３１Ａに送ることにより実行される。なお、ＣＰＵ２１は、コンテンツデータをインタフェイス部３１Ａに送るときに、少なくとも一つの識別子（暗号化部３３Ａ、複数の復号化装置１２のそれぞれのために複数の暗号化データを生成する場合には、識別子は複数の暗号化装置１２を特定するため複数となる。）をそれに付け加える。
【００４２】
コンテンツデータは、インタフェイス部３１Ａから前処理部３２Ａへ送られる。
また、コンテンツデータを受付けたという情報は、少なくとも一つの識別子とともに、復号化装置管理部３８Ａへ送られる。
コンテンツデータは、前処理部３２Ａで、所定のビット数毎に切断され、コンテンツ切断データにされる（Ｓ１１０２）。コンテンツ切断データは、暗号化を行うため、暗号化部３３Ａに送られる。
【００４３】
暗号化部３３Ａでは、鍵生成部３５Ａが生成した鍵と、アルゴリズム生成部３６Ａが生成したアルゴリズムを用いてコンテンツ切断データの暗号化が行われるが、かかる鍵とアルゴリズムの生成には、共通データが必要である。したがって、鍵とアルゴリズムの生成に先立って、共通データの生成が必要となる。
まず、共通データの生成の仕方を説明する。
【００４４】
共通データ生成部３４Ａは、復号化装置管理部３８Ａから、後述する初期行列（及び環境情報α）についての情報を受付ける。それに基づいて、共通データ生成部３４Ａは、共通データを生成する。
なお、これには限られないが、この実施形態における共通データは８行８列の行列（Ｘ）である。
共通データは上述したように擬似乱数であるが、擬似乱数として（非線形遷移するようにして）共通データを連続して発生させるには、例えば、（１）共通データの生成の過程に、過去の共通データのべき乗の演算を含む、（２）共通データの発生の過程に、過去の２つ以上の共通データの掛け合わせを含む、或いは、（１）と（２）を組み合わせるなどの手法が考えられる。
【００４５】
この実施形態では、共通データ生成部３４Ａは、初期行列として、第０１解（Ｘ０１）と第０２解（Ｘ０２）を用いる。
ここで、第０１解（Ｘ０１）と第０２解（Ｘ０２）は、上述した復号化装置管理部３８Ａが識別子に対応するものとして管理テーブルから選択して、共通データ生成部３４Ａに送ったものである。そのような処理を可能とするために、復号化装置管理部３８Ａに設けられた管理テーブルには、図７に示したように、それぞれの復号化装置１２と、その復号化装置１２にコンテンツデータを配布するときに使用される第０１解（Ｘ０１）と第０２解（Ｘ０２）（及び環境情報α）についてのデータが記録されている。なお、各復号化装置１２は、この管理テーブルに記録された第０１解（Ｘ０１）と第０２解（Ｘ０２）（及び環境情報α）のうち、自分に対応するものを持っている。
共通データ生成部３４Ａは、復号化装置管理部３８Ａから受取った上述の初期行列を解生成用アルゴリズムに代入して、第１解（Ｘ１）を以下のように生成する。
第１解（Ｘ１）＝Ｘ０２Ｘ０１＋α（α＝８行８列の行列）
これが最初に生成される共通データである。
なお、αは、必ずしも必要ではない。αは、暗号化装置１１と復号化装置１２の間で取決めをしておいたものであれば、可変のものであってもよい。例えば、αは、ある日のある場所での天気や、特定のスポーツの試合の結果などにより変動するものであってもよい。また、コンテンツデータのファイル名や、コンテンツデータの生成の日付に基づいて、このαが生成されるようになっていてもよい。
共通データ生成部３４Ａは、次に、第２解（Ｘ２）を以下のように生成する。
第２解（Ｘ２）＝Ｘ１Ｘ０２＋α
同様に、共通データ生成部３４Ａは、第３解、第４解、……第Ｎ解を、以下のように生成する。
第３解（Ｘ３）＝Ｘ２Ｘ１＋α
第４解（Ｘ４）＝Ｘ３Ｘ２＋α
：
第Ｎ解（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
このようにして生成された解（即ち、共通データ）は、鍵生成部３５Ａ及びアルゴリズム生成部３６Ａに送られるとともに、共通データ生成部３４で保持されることになる。
この実施形態では、第Ｎ解（ＸＮ）を生成するために、第Ｎ−１解（ＸＮ−１）と第Ｎ−２解（ＸＮ−２）を、要するに、その直前に生成された２つの解を用いる。したがって、共通データ生成部３４Ａは、新しい解を生成するにあたって、過去に生成された直近２つの解を保持していなければならない（又は、他の何者かがこれら２つの解を保持していなければならない）。逆に過去に生成された直近２つの解よりも古い解は、新しい解を生成するために今後使用されることのないものである。そこで、この実施形態では、常に過去２つの解を共通データ生成部３４で保持することとするが、新しい解が生成されることで直近３つ目の解となったそれまで直近２つ目の解であった解を、その解が記録されていた所定のメモリなどから消去することとしている。
なお、このように生成される解は、非線形遷移するカオス的なものとなり、擬似乱数となる。
【００４６】
非線形遷移を起こさせるには、第Ｎ解を求める際に、上述した
第Ｎ解（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
という式を用いる他に、以下のような式を用いることが考えられる。
例えば、
（ａ）第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ
（ｂ）第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ−３）Ｒ（ＸＮ−４）Ｓ
（ｃ）  第Ｎ解（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
などである。
なお、Ｐ、Ｑ、Ｒ、Ｓはそれぞれ所定の定数である。また、数式（ａ）を用いる場合には１つ、数式（ｂ）を用いる場合には４つ、数式（ｃ）を用いる場合には２つの初期行列が、上述した管理テーブルに記録されていることになる。
上述した、数式（ａ）〜（ｃ）の右辺に、αを加えることももちろん可能である。
【００４７】
このようにして生成された共通データは、鍵生成部３５Ａとアルゴリズム生成部３６Ａに送られる。鍵生成部３５Ａとアルゴリズム生成部３６Ａは、共通データに基づいて、鍵とアルゴリズムを生成する。
この実施形態においては、鍵生成部３５Ａは、鍵を以下のようなものとして生成する。即ち、この実施形態における鍵は、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数と定義される。したがって、鍵は、この実施形態では、共通データに基づいて変化する。なお、鍵を他のものとして決定することもできる。例えば、鍵は、８行８列の行列である共通データに含まれている行列の要素である数のうち、０以外のものすべてを掛け合わせて得られる数とすることができる。
この実施形態では、鍵生成部３５Ａは、共通データ生成部３４Ａから共通データを受取るたびに鍵を生成し、それを暗号化部３３Ａに送る。
この実施形態においては、アルゴリズム生成部３６Ａは、アルゴリズムを以下のようなものとして生成する。
この実施形態におけるアルゴリズムは、『８ビットのデータであるコンテンツ切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるもの』と定義される。
ここで、ａは所定の定数とされる場合もあるが、この実施形態では、共通データに基づいて変化する数字である。つまり、この実施形態におけるアルゴリズムは、共通データに基づいて変化する。例えばａは、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数を５で割った場合の余り（ただし、余りが０の場合はａ＝１とする）のように定めることができる。
また、上述のｎは、鍵である。
もっとも、アルゴリズムを他のものとして決定することもできる。
この実施形態では、アルゴリズム生成部３６Ａは、共通データ生成部３４Ａから共通データを受取るたびにアルゴリズムを生成し、それを暗号化部３３Ａに送る。
【００４８】
暗号化部３３Ａは、アルゴリズム生成部３６Ａから受付けたアルゴリズムと、鍵生成部３５Ａから受付けた鍵に基づいて、前処理部３２Ａから受付けたコンテンツ切断データを暗号化する（Ｓ１１０３）。この実施形態では、一つのコンテンツ切断データを暗号化するたびに、新しい鍵とアルゴリズムが用いられる。
アルゴリズムは、上述したように、『８ビットのデータであるコンテンツ切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるもの』という決まりであり、鍵であるｎは、上述したような数である。
例えば、ａが３、ｎが６である場合には、Ｘを３乗して得られる８行８列の行列を、６×９０°＝５４０°だけ時計回りに回転させることによって得られた８行８列の行列に、コンテンツ切断データを掛け合わせて暗号化が行われる。
これにより生成されたデータが暗号化切断データである。
なお、この実施形態では、コンテンツデータから多数生成されるコンテンツ切断データのすべてを暗号化して暗号化切断データにすることとしている。もっとも、コンテンツ切断データのすべてを暗号化切断データにする必要は必ずしもなく、例えば、コンテンツ切断データの一部のみを暗号化切断データにすることができる。より詳細には、コンテンツ切断データの最初の一つ、或いは最初の幾つかのみを、暗号化切断データにすることができる。コンテンツ切断データのどの部分を暗号化切断データにするかは、暗号化装置１１と復号化装置１２との間で取決めることができる。また、コンテンツ切断データのどの部分を暗号化切断データにするかは、可変にすることができる。この場合、暗号化装置１１でコンテンツ切断データのどの部分を暗号化切断データにしたかという情報は、後述する暗号化データの例えばヘッダに埋め込むこととすれば、それを復号化装置１２に知らせることができる。
【００４９】
暗号化切断データは、接続部３７Ａに送られる。接続部３７Ａは、暗号化切断データを一まとめに接続し、暗号化データを生成する（Ｓ１１０４）。このときの暗号化切断データの並び順は、元のコンテンツ切断データの並び順に対応したものとされる。
【００５０】
以上のようにして、まず、暗号化装置１１がコンテンツデータを暗号化して暗号化データを生成するＳ１１０の過程が終了する。
【００５１】
かかる暗号化データは、それを復号化すべき復号化装置１２へ配布される。配布の形態は、この実施形態では２通りある。
その一つ目は、記録媒体に記録して、例えば郵送により、復号化装置１２のユーザに送られる場合である。この場合、暗号化データは、例えば、接続部３７Ａから、インタフェイス部３１Ａ、バスＢを介して一旦ＨＤＤ２３に記録されるなどの過程を経て、ＤＶＤドライブ２８に挿入されたＤＶＤに記録される。このＤＶＤは、暗号化装置１１の管理者によりユーザに送られる。
二つ目は、ネットワーク１３を介して、復号化装置１２に送信される場合である。この場合、暗号化データは、上述の場合と同様一旦ＨＤＤ２３に記録されてから、暗号化装置１１の通信装置２７から復号化装置１２の通信装置２７へ、ネットワーク１３を介して送られる。なお、暗号化装置１１が、暗号化データを、ストリーミングにより復号化装置に送信することも可能である。この場合、復号化装置では、暗号化データの受信を行いながらの再生が可能となる。例えば、アーティストの行っているライブ演奏等を撮影することにより生成された動画像のデータを、暗号化装置１１から各復号化装置１２に、ネットワーク１３を介して、実時間に近いタイミングで、且つ異なる暗号化データにして送信するようなことも可能となる。
このようにして、暗号化データは、それを復号化すべき復号化装置１２の元へ届けられる。
なお、暗号化装置１１は、複数の復号化装置１２に同じコンテンツのデータから生成した暗号化データを送ることができる。この場合には、暗号化装置１１は、上述の処理を複数回繰り返すことになる。
【００５２】
次に、復号化装置１２で行われる、暗号化データを復号化してコンテンツデータに戻すＳ１３０の処理について、図８を用いて説明する。
【００５３】
まず、暗号化データの読み込みが行われる（Ｓ１２０１）。
暗号化データの読み込みは、ＤＶＤに記録して暗号化データが復号化装置１２に送られた場合には、ＤＶＤドライブ２８に差し込まれたＤＶＤからＤＶＤドライブ２８が暗号化データを読出すことにより行われる。
また、暗号化データが、ネットワーク１３を介して復号化装置１３に送られた場合には、復号化装置１２の通信装置２７がそれを受付けることにより行われる。
いずれにせよ、暗号化データは、ＤＶＤドライブ２８又は通信装置２７から、バスＢを介して、復号部２９Ｂのインタフェイス部３１Ｂに送られる。
【００５４】
インタフェイス部３１Ｂは、この暗号化データを前処理部３２Ｂに送るとともに、暗号化データを受取ったという情報を共通データ生成部３４Ｂに通知する。
前処理部３２Ｂは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する（Ｓ１２０２）。
暗号化データを切断して暗号化切断データを生成する場合、前処理部３２Ｂは、暗号化装置１１の接続部３７Ａで行われたのと逆の処理を行う。つまり、暗号化データは、先頭から８ビット毎に切断され、複数の暗号化切断データに分けられる。
【００５５】
次いで、暗号化切断データは復号化部３３Ｂに送られ、そこで復号化され、コンテンツ切断データとされる（Ｓ１２０３）。
復号化は、暗号化装置１１における暗号化部３３Ａで行われたのと逆の処理として実行される。そのために、復号化装置１２では、暗号化装置１１で暗号化を行う際に必要としたアルゴリズムと鍵を必要とする。
【００５６】
復号化に用いられるアルゴリズムと鍵は、復号化装置１２内で生成される。その仕組を説明する。
復号化装置１２のインタフェイス部３１Ｂが暗号化データを受付けたという情報が共通データ生成部３４Ｂへ送られると、共通データ生成部３４Ｂはそれを契機として共通データを生成する。
復号化装置１２の共通データ生成部３４Ｂで行われる共通データの生成は、暗号化装置１１の共通データ生成部３４Ａで行われたのと同じ過程を経て行われる。なお、復号化装置１２の共通データ生成部３４Ｂは、上述したように、暗号化装置１１の管理テーブルに記録されていた初期行列（及び環境情報）のうちの一組を有している。したがって、復号化装置１２で生成される共通データは、生成された順番が同じもの同士を比較すれば、その暗号化データをコンテンツデータから生成するときに暗号化装置１１で用いられた共通データと同じになっている。
生成された共通データは、共通データ生成部３４Ｂから、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂに送られる。
鍵生成部３５Ｂは、共通データを受付けるたびに、受付けた共通データに基づいて鍵を生成する。復号化装置１２の鍵生成部３５Ｂが鍵を生成する過程は、暗号化装置１１の鍵生成部３５Ａが鍵を生成する過程と同じである。生成された鍵は、鍵生成部３５Ｂから復号化部３３Ｂへ送られる。
アルゴリズム生成部３６Ｂは、受付けた共通データに基づいて、共通データを受付けるたびにアルゴリズムを生成する。復号化装置１２のアルゴリズム生成部３６Ｂがアルゴリズムを生成する過程は、暗号化装置１１のアルゴリズム生成部３６Ａがアルゴリズムを生成する過程と同じである。生成されたアルゴリズムは、アルゴリズム生成部３６Ｂから復号化部３３Ｂへ送られる。
ところで、この暗号化・復号化システムでは、暗号化装置１１で暗号化が行われるたびに暗号化装置１１で新たな共通データが生成され、復号化装置１２で復号化が行われるたびに復号化装置１２で新たな共通データが生成される。また、上述したように、復号化装置１２で生成される共通データは、生成された順番が同じもの同士を比較すれば、暗号化装置１１で生成される共通データと同じになっている。したがって、暗号化装置１１であるコンテンツデータを暗号化するときに生成された共通データと、その共通データに基づいて生成されたアルゴリズム及び鍵はすべて、それらを用いて生成された暗号化データを復号化するときに復号化装置１２で生成される共通データと、その共通データに基づいて生成されたアルゴリズム及び鍵に、常に一致する。
【００５７】
復号化部３３Ｂでは、上述したように、鍵生成部３５Ｂら受付けた鍵と、アルゴリズム生成部３６Ｂから受付けたアルゴリズムを用いて復号化の処理が行われる。より詳細には、復号化部３３Ｂは、アルゴリズム生成部３６Ｂから受付けたアルゴリズム（『８ビットのデータであるコンテンツ切断データを１行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化切断データである』という定義）に基づいて、復号化処理を行うためのアルゴリズム（『暗号化切断データを１行８列の行列Ｚと見た場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列の逆行列に、Ｙを掛け合わせて求められるものがコンテンツ切断データである』という定義）を生成し、鍵を用いて上述の定義にしたがった演算を行うことで、復号化の処理を行う。こうして、復号化部３３Ｂでは、前処理部３２Ｂからストリーム的に供給される暗号化切断データを次々に復号化し、コンテンツ切断データを生成する。
【００５８】
このようにして生成されたコンテンツ切断データは、接続部３７Ｂへ送られる。接続部３７Ｂは、受取ったコンテンツ切断データを一まとめに接続し、暗号化装置１１で暗号化される前の元の状態のコンテンツデータに戻す（Ｓ１２０４）。
このようにして、復号化装置１２が暗号化データを復号化してコンテンツデータに戻すＳ１３０の過程が終了する。
【００５９】
生成されたコンテンツデータは、接続部３７Ｂからインタフェイス部３１Ｂに送られ、ＣＰＵ２１からの指示に基づいて、バスＢを介して例えばＨＤＤ２３へ送られ、そこに保存される。このコンテンツのデータは復号化装置１２で再生することができる。
上述の復号化を行えなかった場合には、コンテンツのデータは、復号化装置１２で再生することもできないし、他の装置でも再生することができない。
【００６０】
≪変形例１≫
以上説明した暗号化・復号化システムでは、暗号化装置１１の共通データ生成部３４Ａと、復号化装置１２の共通データ生成部３４Ｂは、コンテンツ切断データを暗号化又は暗号化切断データを復号化するたびに、新たな共通データを生成していた。したがって、以上説明した暗号化・復号化システムでは、暗号化装置１１の鍵生成部３５Ａ及びアルゴリズム生成部３６Ａと、復号化装置１２の鍵生成部３５Ｂ及びアルゴリズム生成部３６Ｂは、コンテンツ切断データを暗号化又は暗号化切断データを復号化するたびに、新たな鍵及びアルゴリズムを生成していた。
しかしながら、鍵とアルゴリズムは、暗号化装置１１でコンテンツデータを暗号化する場合に少なくとも一つ、復号化装置１２で暗号化データを復号化する場合に少なくとも一つ（暗号化装置１１で使用された価鍵又はアルゴリズムと同数）生成されれば足りる。
例えば、暗号化装置１１では、インタフェイス部３１Ａに新たなコンテンツデータが供給された場合のみ新たな共通データと鍵とアルゴリズムが生成され、復号化装置１２では、インタフェイス部３１Ｂに新たな暗号化データが供給された場合のみ新たな共通データと鍵とアルゴリズムが生成されるようにすることができる。
暗号化装置１１で生成される共通データと復号化装置で生成される共通データが、同じ順番で生成されたもの同士を比較すれば同じであることは、上述の実施形態の場合と同様である。なお、この場合、暗号化装置１１で生成される鍵及びアルゴリズムと、復号化装置１２で生成される鍵及びアルゴリズムは、同じ順番で生成される鍵同士、同じ順番で生成されるアルゴリズム同士で比較した場合には、同じものとなる。上述したように、暗号化装置１１で生成される共通データと復号化装置１２で生成される共通データが、同じ順番で生成されたもの同士を比較すれば同じであるため、暗号化装置１１で共通データに基づいて生成された鍵及びアルゴリズムと、復号化装置１２で共通データに基づいて生成された鍵及びアルゴリズムは、同じ順番で生成されたもの同士を比較すれば同じものとなるのである。
【００６１】
≪変形例２≫
変形例２の暗号化・復号化システムは、概ね、上述の実施形態における暗号化・復号化システムと同じである。
異なるのは、暗号化装置１１における暗号部２９Ａと、復号化装置１２における復号部２９Ｂの構成である。
これら暗号部２９Ａと、復号部２９Ｂの構成を、図９及び図１０に示す。
変形例２における暗号部２９Ａには、鍵生成部３５Ａ及びアルゴリズム生成部３６Ａが存在しない。また、復号化装置管理部３８Ａも存在しない。その代わりに、鍵記録部３５１Ａとアルゴリズム記録部３６１Ａが設けられている。つまり、変形例２における暗号化装置１１では、鍵とアルゴリズムとを新たに作ることはしない。
鍵記録部３５１Ａには、各復号化装置１２に対応させて少なくとも一つの鍵が記録されており、アルゴリズム記録部３６１Ａには各復号化装置１２に対応させて少なくとも一つのアルゴリズムが記録されている。この変形例２では、鍵記録部３５１Ａに記録された各復号化装置１２用の鍵と、アルゴリズム記録部３６１Ａに記録された各復号化装置１２用のアルゴリズムの双方が複数であるものとする。なお、各復号化装置１２用の鍵とアルゴリズムの数は、必ずしも同数である必要はないが、この変形例２では各復号化装置１２用の鍵の数とアルゴリズムの数は同数、より詳細には５個ずつとされている。
鍵記録部３５１Ａに記録された鍵の状態を図１１に、アルゴリズム記録部３６１Ａに記録されたアルゴリズムの状態を図１２に、それぞれ示す。
図１１に示したように、鍵は、各復号化装置１２用に５つずつセットで記録されている。図１２に示したように、アルゴリズムは、各復号化装置１２用に５つずつセットで記録されている。
この変形例２における鍵は、（復号化装置１２の数）×５により求められる数だけ準備されている。準備されている鍵は、そのすべてが互いに異なるものとなっていても、そうでなくてもよい。この変形例２では、準備された鍵の中に同じものがあるが、各復号化装置１２用に準備された鍵のセット同士で比較した場合には、各鍵のセットは他の鍵のセットとは異なるものとなるようにされている。
この変形例２におけるアルゴリズムは、（復号化装置１２の数）×５により求められる数だけ準備されている。準備されているアルゴリズムは、そのすべてが互いに異なるものとなっていても、そうでなくてもよい。この変形例２では、準備されたアルゴリズムの中に同じものがあるが、各復号化装置１２用に準備されたアルゴリズムのセット同士で比較した場合には、各アルゴリズムのセットは他のアルゴリズムのセットとは異なるものとなるようにされている。
変形例２における復号部２９Ｂには、鍵生成部３５Ｂ及びアルゴリズム生成部３６Ｂが存在しない。その代わりに、鍵記録部３５１Ｂとアルゴリズム記録部３６１Ｂが設けられている。つまり、変形例２における各復号化装置１２は、暗号化装置１１と同様に、鍵とアルゴリズムを新たに作ることはしない。
鍵記録部３５１Ｂには少なくとも一つの鍵が記録されており、アルゴリズム記録部３６１Ｂには少なくとも一つのアルゴリズムが記録されている。鍵記録部３５１Ｂに記録された少なくとも一つの鍵は、暗号化装置１１の鍵記録部３５１Ａに記録されたいずれかの復号化装置１２用の鍵に同じである。アルゴリズム記録部３６１Ｂに記録された少なくとも一つのアルゴリズムは、暗号化装置１１のアルゴリズム記録部３６１Ａに記録されたいずれかの復号化装置１２用のアルゴリズムに同じである。この変形例２では、鍵記録部３５１Ｂに記録された鍵は、図１１に示された鍵セットの一つ（その復号化装置１２用の鍵セット）と同じであり、アルゴリズム記録部３６１Ｂに記録されたアルゴリズムは、図１２に示されたアルゴリズムセットの一つ（その復号化装置１２用のアルゴリズムセット）と同じである。
【００６２】
変形例２では、暗号化装置１１で行われる暗号化の処理は、以下のようなものとなる。
まず、上述の実施形態の場合と同様に、コンテンツデータの読み出しが行われる。
読出されたコンテンツデータは、識別子とともに、インタフェイス部３１Ａに送られる。
コンテンツデータは、インタフェイス部３１Ａから前処理部３２Ａへ送られる。インタフェイス部３１Ａは、また、コンテンツデータを受付けたという情報を、少なくとも1つの識別子とともに、暗号化部３３Ａへ送る。
コンテンツデータは、前処理部３２Ａで、所定のビット数毎に切断され、コンテンツ切断データにされる。コンテンツ切断データは、暗号化を行うため、暗号化部３３Ａに送られる。
暗号化部３３Ａは、鍵記録部３５１Ａから読出した鍵と、アルゴリズム記録部３６１Ａから読出したアルゴリズムを用いて、コンテンツ切断データを暗号化する。
暗号化部３３Ａで用いられる鍵は、これから暗号化されるコンテンツデータを復号化することが許された復号化装置１２に対応する鍵のセットの中から選ばれる。どの鍵のセットを選ぶかは、暗号化部３３Ａに送られた識別子に基づいて、暗号化部３３Ａが決定する。暗号化部３３Ａで用いられるアルゴリズムは、これから暗号化されるコンテンツデータを復号化することが許された復号化装置１２に対応するアルゴリズムのセットの中から選ばれる。どのアルゴリズムのセットを選ぶかは、暗号化部３３Ａに送られた識別子に基づいて、暗号化部３３Ａが決定する。
一方、あるコンテンツ切断データを暗号化するにあたって、選択された鍵のセットの中からどの鍵を選択するかと、選択されたアルゴリズムのセットの中からどのアルゴリズムを選択するかは、この変形例２では、共通データにより決定される。
もっとも、より簡単に鍵セットの中から鍵を、アルゴリズムセットの中からアルゴリズムを選択する方法もある。例えば、その鍵セット又はアルゴリズムセットの中から、鍵又はアルゴリズムを復号化装置１２との間で予め取決めた規則に基づいて規則的に選択するようにすることができる。より具体的には、鍵セットの中の鍵に鍵１〜鍵５というように順番を与えておき、鍵１〜鍵５を繰り返し順に暗号化に用いる鍵として選択するようにすることができる。同様に、アルゴリズムの場合にも、アルゴリズムセットの中のアルゴリズムにアルゴリズム１〜アルゴリズム５というように順番を与えておき、アルゴリズム１〜アルゴリズム５を繰り返し順に暗号化に用いるアルゴリズムとして選択するようにすることができる。この場合には、共通データも共通データ生成部３４Ａも不要であるが、この変形例２では、暗号の強度を考慮して、共通データを用いて、鍵とアルゴリズムの選択を行うこととしている。
変形例２でも、共通データの作り方は、上述の実施形態の場合と同様である。
共通データ生成部３４Ａは、生成した共通データを暗号化部３３Ａに送る。これに基づいて、暗号化部３３Ａは、上述のように選択された鍵のセットの中から鍵を選ぶ。この変形例２では、暗号化部３３Ａは、共通データである８行８列の行列を構成する要素の数字をすべて足し合わせてそれを５で割る。上述のようにして選択された鍵のセットに含まれる鍵のうち、その余りとなる数字が末尾についている鍵（ただし、余りが０のときは末尾についている数字が５の鍵）を、暗号化部３３Ａは、コンテンツ切断データを暗号化するための鍵として選択する。このようにして、共通データに基づいて、鍵が選択される。
共通データ生成部３４Ａから受付けた共通データに基づいて、暗号化部３３Ａは、上述のように選択されたアルゴリズムのセットの中からアルゴリズムを選ぶ。この変形では、暗号化部３３Ａは、共通データである８行８列の行列を構成する要素の数字のうち０を除くものをすべて掛け合わせてそれを５で割る。上述のようにして選択されたアルゴリズムのセットに含まれるアルゴリズムのうち、その余りとなる数字が末尾についているアルゴリズム（ただし、余りが０のときは末尾についている数字が５のアルゴリズム）を、暗号化部３３Ａは、コンテンツ切断データを暗号化するためのアルゴリズムとして選択する。このようにして、共通データに基づいて、アルゴリズムが選択される。
以上のようにして読み出された鍵とアルゴリズムを用いて、暗号化部３３ＡＢは、コンテンツ切断データを暗号化する。かかる暗号化の処理は、上述の実施形態の場合と同様にして行われる。
このようにしてコンテンツ切断データを暗号化して得られるのが、暗号化切断データである。この変形例２では、コンテンツデータから多数生成されるコンテンツ切断データのすべてを暗号化して暗号化切断データにする。もっとも、コンテンツ切断データのすべてを暗号化切断データにする必要は必ずしもないのは、上述の実施形態の場合と同様である。
暗号化切断データは、接続部３７Ａに送られる。接続部３７Ａは、暗号化切断データを一まとめに接続し、暗号化データを生成する。
【００６３】
次に、復号化装置１２で行われる、暗号化データを復号化してコンテンツデータに戻す処理について説明する。
変形例２の場合も、上述の実施形態の場合と同様、まず、暗号化データの読み込みが行われる。
読み込まれた暗号化データは、復号部２９Ａのインタフェイス部３１Ｂに送られる。
インタフェイス部３１Ｂは、この暗号化データを前処理部３２Ｂに送るとともに、暗号化データを受取ったという情報を共通データ生成部３４Ｂに通知する。
前処理部３２Ｂは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する。
次いで、暗号化切断データは復号化部３３Ｂに送られ、そこで復号化され、コンテンツ切断データとされる。
復号化は、暗号化装置１１における暗号化部３３Ａで行われたのと逆の処理として実行される。そのために、復号化装置１２では、暗号化装置１１で暗号化を行う際に必要としたアルゴリズムと鍵を必要とする。
復号化部３３Ｂが用いる鍵とアルゴリズムは、暗号化装置１１で行われたのと同様の過程を経て、鍵記録部３５１Ｂとアルゴリズム記録部３６１Ｂから復号化部３３Ｂにより読出される。そのために必要となる共通データを共通データ生成部３４Ｂが生成するが、共通データの生成の仕方は、上述の実施形態の場合と同様である。鍵記録部３５１Ｂには鍵のセットが一組のみ、アルゴリズム記録部３６１Ｂにはアルゴリズムのセットが一組のみ記録されているので、鍵のセットの選択と、アルゴリズムのセットの選択はここでは行われない。
復号化部３３Ｂは、読出した鍵とアルゴリズムを用いて、暗号化切断データを順次復号化して、コンテンツ切断データに戻す。
このようにして生成されたコンテンツ切断データは、接続部３７Ｂへ送られる。接続部３７Ｂは、受取ったコンテンツ切断データを一まとめに接続し、暗号化装置１１で暗号化される前の元の状態のコンテンツデータに戻す。
このコンテンツのデータは復号化装置１２で再生することができる。
【００６４】
≪変形例３≫
変形例３の暗号化・復号化システムは、概ね、上述の実施形態における暗号化・復号化システムと同じであり、上述の実施形態における暗号化・復号化システムと変形例２の暗号化・復号化システムの中間的な性格を有するものである。
変形例３の暗号化・復号化システムが、上述の実施形態における暗号化・復号化システムと異なるのは、暗号化装置１１における暗号部２９Ａと、復号化装置１２における復号部２９Ｂの構成である。
これら暗号部２９Ａと、復号部２９Ｂの構成を、図１３及び図１４に示す。
変形例３における暗号部２９Ａには、鍵生成部３５Ａが存在するが、アルゴリズム生成部３６Ａが存在しない。また、変形例２の場合と異なって、復号化装置管理部３８Ａが存在している。変形例３では、アルゴリズム生成部の代わりに、アルゴリズム記録部３６１Ａが設けられている。つまり、変形例３の暗号部２９Ａでは、上述の実施形態の場合と同様に鍵は新たに生成されるが、変形例２の場合と同様にアルゴリズムは新たに生成されない。
アルゴリズム記録部３６１Ａは、変形例２におけるそれと同様のものとされている。即ち、アルゴリズム記録部３６１Ａには各復号化装置１２に対応させて少なくとも一つのアルゴリズムが記録されている。この変形例３では、アルゴリズム記録部３６１Ａに記録された各復号化装置１２用のアルゴリズムが複数であるものとする。なお、各復号化装置１２用のアルゴリズムは、必ずしも同数である必要はないが、この変形例３では各復号化装置１２用のアルゴリズムの数は同数、より詳細には５個ずつとされている。アルゴリズムは、図１２に示した変形例２の場合と同様の状態で、アルゴリズム記録部３６１Ａに記録されている。
この変形例３におけるアルゴリズムは、（復号化装置１２の数）×５により求められる数だけ準備されている。準備されているアルゴリズムは、そのすべてが互いに異なるものとなっていても、そうでなくてもよい。この変形例３では、準備されたアルゴリズムの中に同じものがあるが、各復号化装置１２用に準備されたアルゴリズムのセット同士で比較した場合には、各アルゴリズムのセットは他のアルゴリズムのセットとは異なるものとなるようにされている。これらの点は、変形例２の場合と同様である。
変形例３における復号部２９Ｂには、鍵生成部３５Ｂが存在するが、アルゴリズム生成部３６Ｂが存在しない。変形例３では、アルゴリズム生成部の代わりに、アルゴリズム記録部３６１Ｂが設けられている。変形例３の復号部２９Ｂでは、上述の実施形態の場合と同様に鍵は新たに生成されるが、変形例２の場合と同様にアルゴリズムは新たに生成されない。
アルゴリズム記録部３６１Ｂは、変形例２におけるそれと同様のものとされている。アルゴリズム記録部３６１Ｂには少なくとも一つのアルゴリズムが記録されている。アルゴリズム記録部３６１Ｂに記録された少なくとも一つのアルゴリズムは、暗号化装置１１のアルゴリズム記録部３６１Ａに記録されたいずれかの復号化装置１２用のアルゴリズムに同じである。この変形例３では、アルゴリズム記録部３６１Ｂに記録された少なくとも一つのアルゴリズムは、図１２に示されたアルゴリズムセットの一つ（その復号化装置１２用のアルゴリズムセット）と同じである。
【００６５】
変形例３では、暗号化装置１１で行われる暗号化の処理は、以下のようなものとなる。簡単にいえば、暗号化の処理は、上述の実施形態で説明した処理と、変形例２で説明した処理を組合わせたものとなる。より具体的には、鍵の生成は上述の実施形態で説明した処理により、使用するアルゴリズムの決定は変形例２で説明した処理により、それぞれ行われる。
まず、変形例３の場合でも、暗号化の処理が行われる際には、上述の実施形態の場合と同様に、コンテンツデータの読み出しが行われる。
読出されたコンテンツデータは、識別子とともに、インタフェイス部３１Ａに送られる。インタフェイス部３１Ａは、このコンテンツデータを前処理部３２Ａに送る。インタフェイス部３１Ａは、また、コンテンツデータを受付けたという情報を、識別子とともに、暗号化部３３Ａと復号化装置管理部３８Ａの双方に送る。
コンテンツデータは、前処理部３２Ａで、所定のビット数毎に切断され、コンテンツ切断データにされる。コンテンツ切断データは、暗号化を行うため、暗号化部３３Ａに送られる。
暗号化部３３Ａは、鍵生成部３５Ａが生成した鍵と、アルゴリズム記録部３６１Ａから読出したアルゴリズムとを用いて、コンテンツ切断データを暗号化する。
鍵は、上述したように、鍵生成部３５Ａが生成するが、鍵生成部３５Ａは、鍵の生成を共通データ生成部３４Ａが生成した共通データに基づいて行うようになっているので、鍵の生成に先立って共通データを共通データ生成部３４Ａがまず生成する。この場合の共通データの生成の仕方は、上述の実施形態の場合と同様である。
共通データ生成部３４Ａは、この共通データを鍵生成部３５Ａと暗号化部３３Ａに送る。
共通データを受取った鍵生成部３５Ａは、それに基づいて鍵を生成する。この場合の鍵の生成の仕方は、上述の実施形態の場合と同様である。生成された鍵は、鍵生成部３５Ａから、暗号化部３３Ａに送られる。
一方、暗号化部３３Ａは、アルゴリズム記録部３６１Ａからアルゴリズムを読出す。暗号化部３３Ａがアルゴリズム記録部３６１Ａからアルゴリズムを読出す方法は、変形例２の場合と同様である。つまり、暗号化部３３Ａで用いられるアルゴリズムは、これから暗号化されるコンテンツデータを復号化することが許された復号化装置１２に対応するアルゴリズムのセットの中から選ばれるのであるが、どのアルゴリズムのセットを選ぶかは、暗号化部３３Ａに送られた識別子に基づいて、暗号化部３３Ａが決定する。また、この場合において、選択されたアルゴリズムのセットの中からどのアルゴリズムを選択するかは、変形例２の場合と同様に決定される。アルゴリズムの選択に共通データが使われても使われなくてもよいが、変形例３では、変形例２の場合と同様、共通データ生成部３４Ａから受取った共通データを用いて決定されるようになっている。
暗号化部３３Ａは、鍵生成部３５Ａから受取った鍵と、アルゴリズム記録部３６１Ａから読出したアルゴリズムとを用いて、コンテンツ切断データを暗号化する。かかる暗号化の処理は、上述の実施形態の場合と同様にして行われる。
このようにしてコンテンツ切断データを暗号化して得られるのが、暗号化切断データである。この変形例３では、コンテンツデータから多数生成されるコンテンツ切断データのすべてを暗号化して暗号化切断データにする。もっとも、コンテンツ切断データのすべてを暗号化切断データにする必要は必ずしもないのは、上述の実施形態の場合と同様である。
暗号化切断データは、接続部３７Ａに送られる。接続部３７Ａは、暗号化切断データを一まとめに接続し、暗号化データを生成する。
【００６６】
次に、復号化装置１２で行われる、暗号化データを復号化してコンテンツデータに戻す処理について説明する。簡単にいえば、復号化の処理は、上述の実施形態で説明した処理と、変形例２で説明した処理を組合わせたものとなる。より具体的には、鍵の生成は上述の実施形態で説明した処理により、使用するアルゴリズムの決定は変形例２で説明した処理により、それぞれ行われる。
変形例３の場合も、上述の実施形態の場合と同様、まず、暗号化データの読み込みが行われる。
読み込まれた暗号化データは、復号部２９Ｂのインタフェイス部３１Ｂに送られる。
インタフェイス部３１Ｂは、この暗号化データを前処理部３２Ｂに送るとともに、暗号化データを受取ったという情報を共通データ生成部３４Ｂに通知する。
前処理部３２Ｂは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する。
次いで、暗号化切断データは復号化部３３Ｂに送られ、そこで復号化され、コンテンツ切断データとされる。
復号化は、暗号化装置１１における暗号化部３３Ａで行われたのと逆の処理として実行される。そのために、復号化装置１２では、暗号化装置１１で暗号化を行う際に用いられたアルゴリズムと鍵を必要とする。
復号化部３３Ｂが用いる鍵は、暗号化装置１１で行われたのと同様の過程を経て、共通データ生成部３４Ｂが生成した共通データに基づいて鍵生成部３５Ｂが生成する。鍵の生成の仕方は、上述の実施形態の場合と同様である。
他方、復号化部３３Ｂが用いるアルゴリズムは、暗号化装置１１で行われたのと同様の過程を経て、アルゴリズム記録部３６１Ｂから読出される。どのアルゴリズムを読出すかは、暗号化装置１１の場合と同様に共通データにより決定されるが、それを可能とするために、復号化部３３Ｂは、上述したように、共通データ生成部３４Ｂから共通データを受取っている。アルゴリズム記録部３６１Ｂにはアルゴリズムのセットが一組のみ記録されているので、アルゴリズムのセットの選択はここでは行われない。
復号化部３３Ｂは、鍵生成部３５Ｂが生成した鍵と、自らがアルゴリズム記録部３６１Ｂから読出したアルゴリズムとを用いて、暗号化切断データを順次復号化して、コンテンツ切断データに戻す。
このようにして生成されたコンテンツ切断データは、接続部３７Ｂへ送られる。接続部３７Ｂは、受取ったコンテンツ切断データを一まとめに接続し、暗号化装置１１で暗号化される前の元の状態のコンテンツデータに戻す。
このコンテンツのデータは復号化装置１２で再生することができる。
【００６７】
なお、変形例３では、暗号化装置１１、復号化装置１２の双方で、鍵を、上述の実施形態と同様の方法で生成し、アルゴリズムを、変形例２の場合と同様の方法で読出すこととしていたが、これを逆にすることも当然に可能である。
即ち、変形例３は、暗号化装置１１、復号化装置１２の双方で、アルゴリズムを、上述の実施形態と同様の方法で生成し、鍵を、変形例２の場合と同様の方法で読出すようにすることもできる。
【００６８】
≪変形例４≫
変形例４の暗号化・復号化システムは、概ね、上述の実施形態における暗号化・復号化システムと同じである。
変形例４の暗号化・復号化システムが、上述の実施形態における暗号化・復号化システムと異なるのは、暗号化装置１１における暗号部２９Ａの構成と、復号化装置１２における復号部２９Ｂの構成である。
暗号部２９Ａと、復号部２９Ｂの構成を、図１５及び図１６に示す。
変形例４における暗号部２９Ａには、特定情報生成部３９Ａが設けられている。特定情報生成部３９Ａは、暗号化切断データ（のうちの少なくとも一つ）に含められる特定情報を生成するものである。特定情報は、コンテンツ切断データに含められておりコンテンツ切断データと一緒に暗号化して暗号化切断データに含められるものであり、且つそれが含められた暗号化切断データよりも後の暗号化切断データを復号化するための鍵及びアルゴリズムの少なくとも一方を特定するための情報である。特定情報は、そのような鍵及びアルゴリズムそれ自体でもよく、また、鍵及びアルゴリズムを特定するための情報でもよい。鍵及びアルゴリズムを特定するための情報の例としては、共通データ、環境情報を挙げることができる。変形例４では、特定情報は、共通データであるものとしてとりあえず説明を行うこととする。変形例４では、特定情報生成部３９Ａは、共通データ生成部３４Ａから共通データ（２つ目以降の共通データ）を受取り、それを特定情報として暗号化部３３Ａに送るようになっている。
変形例４における復号部２９Ｂには、特定情報読出部３９Ｂが設けられている。特定情報読出部３９Ｂは、復号化部３３Ｂで暗号化切断データを復号化して生成されたコンテンツ切断データから、コンテンツ切断データに特定情報が含まれる場合には、その特定情報を読出すものである。特定情報読出部３９Ｂは、読出した特定情報を、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂに送るようになっている。
【００６９】
変形例４では、暗号化装置１１で行われる暗号化の処理は、以下のようなものとなる。
変形例４の場合でも、暗号化の処理が行われる際には、上述の実施形態の場合と同様に、コンテンツデータの読み出しが行われる。
読出されたコンテンツデータは、識別子とともに、インタフェイス部３１Ａに送られる。インタフェイス部３１Ａは、このコンテンツデータを前処理部３２Ａに送る。インタフェイス部３１Ａは、また、コンテンツデータを受付けたという情報を、暗号化部３３Ａと復号化装置管理部３８Ａの双方に送る。インタフェイス部３１Ａは、この情報を復号化装置管理部３８Ａに送るときにはそれに識別子を付け加える。
コンテンツデータは、前処理部３２Ａで、所定のビット数毎に切断され、コンテンツ切断データにされる。コンテンツ切断データは、暗号化を行うため、暗号化部３３Ａに送られる。なお、後述するように、この変形例４では、コンテンツ切断データのうちの前から４つのみを暗号化するようにしており、それ以降のコンテンツ切断データを暗号化しない。したがって、前処理部３２Ａは、コンテンツ切断データを４つのみ生成し、コンテンツデータのそれより後の部分は切断しないようになっていても構わない。
暗号化部３３Ａは、鍵生成部３５Ａが生成した鍵と、アルゴリズム生成部３６Ａが生成したアルゴリズムとを用いて、コンテンツ切断データを暗号化する。
鍵は、上述したように、鍵生成部３５Ａが生成し、アルゴリズムは、上述したように、アルゴリズム生成部３６Ａが生成するが、鍵生成部３５Ａは、鍵の生成を共通データ生成部３４Ａが生成した共通データに基づいて行うようになっており、アルゴリズム生成部３６Ａは、アルゴリズムの生成を共通データ生成部３４Ａが生成した共通データに基づいて行うようになっているので、鍵とアルゴリズムの生成に先立って共通データを共通データ生成部３４Ａがまず生成する。
共通データの生成の仕方は、上述の実施形態の場合と略同様である。１つ目の共通データは上述の実施形態の場合と同様にして生成される。２つ目以降の共通データの生成の仕方には、上述の実施形態の場合と若干異なる点がある。もっとも、２つ目以降の共通データの生成の仕方も、基本的な部分では上述の実施形態の場合と同様である。２つ目以降の共通データも、上述の実施形態の場合で説明したような式を用いて連続的に発生させられる。ただし、変形例４では、暗号化装置１１で生成される２つ目以降の共通データは、復号化装置１２が同じ共通データを生成することのできないものとして生成される。例えば、２つ目以降の共通データは、復号化装置１２が持っていない初期行列を用いて、或いは復号化装置１２が持っておらず、また、復号化装置１２との間で取決めの行われていない環境情報を用いて、共通データ生成部３４Ａによって生成される。初期行列を異なるものとすれば、或いは、環境情報として復号化装置１２が持っておらず、また、復号化装置１２との間で取決めの行われていないデータを用いれば、暗号化装置１１と復号化装置１２の双方が連続的な共通データの生成を行えることには変わりはないが、暗号化装置１１と復号化装置１２が、同じ順番に生成されたもの同士を比較した場合に同じものとなる共通データを生成することができなくなる。変形例４では、２つ目以降の共通データをそのようなものとすることとしている。変形例４では、このようなやり方で、２つ目〜４つ目までの共通データを生成するようにしている。
この共通データを共通データ生成部３４Ａは、鍵生成部３５Ａと、アルゴリズム生成部３６Ａと、特定情報生成部３９Ａに送る。
共通データを受取った鍵生成部３５Ａは、それに基づいて鍵を生成する。この場合の鍵の生成の仕方は、上述の実施形態の場合と同様である。生成された鍵は、鍵生成部３５Ａから、暗号化部３３Ａに送られる。
共通データを受取ったアルゴリズム生成部３６Ａは、それに基づいてアルゴリズムを生成する。この場合のアルゴリズムの生成の仕方は、上述の実施形態の場合と同様である。生成されたアルゴリズムは、アルゴリズム生成部３６Ａから、暗号化部３３Ａに送られる。
暗号化部３３Ａは、鍵生成部３５Ａから受取った鍵と、アルゴリズム生成部３６Ａから受取ったアルゴリズムを用いて、コンテンツ切断データを暗号化する。かかる暗号化の処理は、上述の実施形態の場合と同様にして行われる。ただし、変形例４で暗号化部３３Ａが暗号化するコンテンツ切断データは、多数のコンテンツ切断データのうちの最初の４つのみである。また、変形例４では、上述したように、最初の４つのコンテンツ切断データを暗号化する前に、それらコンテンツ切断データのうちの最後のものを除くもの（この変形例４では、最初の３つ）に特定情報を含める。この手順も含めた暗号化の方法について説明する。
まず、暗号化部３３Ａは、１つ目のコンテンツ切断データを暗号化するに当たって、共通データ生成部３４Ａが生成した２つ目の共通データを、特定情報生成部３９Ａを介して予め受取る。そして、暗号化部３３Ａは、この２つ目の共通データ（特定情報）を１つ目のコンテンツ切断データに含める。特定情報をコンテンツ切断データに含める場合、特定情報をコンテンツ切断データのどの部分に含めるかということには特に制限がなく、例えば、コンテンツ切断データのそれぞれで特定情報を置く位置を変えることも可能であるが、復号化装置１２がそれを特定情報であると把握できるようにするためには、暗号化装置１１と復号化装置１２との間でコンテンツ切断データのどこに特定情報を置くかということについての取決めを予め行っておくのが好ましい。この変形例４では、コンテンツ切断データの先頭に特定情報を接続することとしている。
暗号化部３３Ａは、次に、特定情報が含められた１つ目のコンテンツ切断データを暗号化する。このとき暗号化の処理に用いる鍵とアルゴリズムは、上述したように、鍵生成部３５Ａと、アルゴリズム生成部３６Ａから、それぞれ受取ったものである。この鍵と、アルゴリズムは、１つ目の共通データに基づいて、鍵生成部３５Ａと、アルゴリズム生成部３６Ａがそれぞれ生成したものである。このようにして暗号化されたコンテンツ切断データが暗号化切断データである。暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
暗号化部３３Ａは、２つ目のコンテンツ切断データを暗号化する。暗号化部３３Ａは、それに先立って、共通データ生成部３４Ａが生成した３つ目の共通データを、特定情報生成部３９Ａを介して受取る。そして、暗号化部３３Ａは、この３つ目の共通データ（特定情報）を２つ目のコンテンツ切断データに含める。
暗号化部３３Ａは、次に、特定情報が含められた２つ目のコンテンツ切断データを暗号化する。このとき暗号化の処理に用いる鍵とアルゴリズムは、２つ目の共通データに基づいて、鍵生成部３５Ａと、アルゴリズム生成部３６Ａが生成したものである。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
同様に、暗号化部３３Ａは、３つ目のコンテンツ切断データを暗号化する。暗号化部３３Ａは、それに先立って４つ目の共通データ（特定情報）を３つ目のコンテンツ切断データに含める。
暗号化部３３Ａは、次に、特定情報が含められた３つ目のコンテンツ切断データを暗号化する。このとき暗号化の処理に用いる鍵とアルゴリズムは、３つ目の共通データに基づいて、鍵生成部３５Ａと、アルゴリズム生成部３６Ａが生成したものである。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
次に、暗号化部３３Ａは、４つ目のコンテンツ切断データを暗号化する。このコンテンツ切断データには、特定情報を含めない。このとき暗号化の処理に用いる鍵とアルゴリズムは、４つ目の共通データに基づいて、鍵生成部３５Ａと、アルゴリズム生成部３６Ａが生成したものである。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
以上のようにして生成された暗号化切断データは、接続部３７Ａに送られる。また、暗号化されなかったコンテンツ切断データも接続部３７Ａに送られる。接続部３７Ａは、暗号化切断データとコンテンツ切断データを一まとめに接続し、暗号化データを生成する。
【００７０】
次に、復号化装置１２で行われる、暗号化データを復号化してコンテンツデータに戻す処理について説明する。
変形例４の場合も、上述の実施形態の場合と同様、まず、暗号化データの読み込みが行われる。
読み込まれた暗号化データは、復号部２９Ｂのインタフェイス部３１Ｂに送られる。
インタフェイス部３１Ｂは、この暗号化データを前処理部３２Ｂに送るとともに、暗号化データを受取ったという情報を共通データ生成部３４Ｂに通知する。
前処理部３２Ｂは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する。なお、前処理部３２Ｂは、この場合４つの暗号化切断データを生成するのが必要最小限の役割であり、そこから先の暗号化データは上述したように暗号化されていないので、それらを切断するかどうかは問わない。
次いで、暗号化切断データは復号化部３３Ｂに送られ、そこで復号化され、コンテンツ切断データとされる。
復号化は、暗号化装置１１における暗号化部３３Ａで行われたのと逆の処理として実行される。そのために、復号化装置１２では、暗号化装置１１で暗号化を行う際に用いられたアルゴリズムと鍵を必要とする。
復号化部３３Ｂが用いる鍵とアルゴリズムは、共通データに基づいて、鍵生成部３５Ｂ又はアルゴリズム生成部３６Ｂが生成する。鍵とアルゴリズムの生成の仕方自体は、上述の実施形態の場合と同様である。
この変形例４の場合は、復号化される暗号化切断データによって、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂの共通データの入手の仕方が異なっている。
変形例４の場合には、１つ目の共通データは、上述の実施形態の場合と同様に、復号化装置１２が有する暗号化装置１１が有するのと同じ初期行列と環境情報を用いて生成される。鍵生成部３５Ｂとアルゴリズム生成部３６Ｂは、共通データ生成部３４Ｂからこの共通データを受取り、これに基づいて鍵又はアルゴリズムを生成する。この鍵とアルゴリズムは、復号化部３３Ｂに送られる。この鍵とアルゴリズムを用いて、復号化部３３Ｂは、１つ目の暗号化切断データを復号化してコンテンツ切断データに戻す。このコンテンツ切断データは、接続部３７Ｂに送られる。
次に、２つ目の暗号化切断データの復号化について説明する。この暗号化切断データを復号化するには、この暗号化切断データを暗号化したときに暗号化装置１１で用いられた鍵とアルゴリズムが必要となる。この鍵とアルゴリズムは、暗号化装置１１で生成された２つ目の共通データに基づいて生成されるが、上述した理由で、復号化装置１２は暗号化装置１１で生成された２つ目の共通データと同じ共通データを生成することができない。変形例４では、２つ目の共通データを、復号化部３３Ｂが復号化した１つ目のコンテンツ切断データから取出すようにしている。上述したように、１つ目のコンテンツ切断データには、特定情報として２つ目の共通データが入っている。特定情報読出部３９Ｂは、この特定情報（２つ目の共通データ）を１つ目のコンテンツ切断データから読出し、それを鍵生成部３５Ｂとアルゴリズム生成部３６Ｂに送る。この２つ目の共通データに基づいて、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂは、鍵又はアルゴリズムを生成する。この鍵とアルゴリズムは、暗号化装置１１で２つ目に作られた鍵とアルゴリズムに一致する。この鍵とアルゴリズムは、復号化部３３Ｂに送られる。この鍵とアルゴリズムを用いて、２つ目の暗号化切断データは復号化され、コンテンツ切断データに戻される。
同様に、２つ目のコンテンツ切断データに含まれており、特定情報読出部３９Ｂが読出し、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂに送られた３つ目の共通データに基づいて生成された３つ目の鍵と３つ目のアルゴリズムにより、３つ目の暗号化切断データは復号化される。
同様に、３つ目のコンテンツ切断データに含まれており、特定情報読出部３９Ｂが読出し、鍵生成部３５Ｂとアルゴリズム生成部３６Ｂに送られた４つ目の共通データに基づいて生成された４つ目の鍵と４つ目のアルゴリズムにより、４つ目の暗号化切断データは復号化される。
このようにして生成された復号化データは、また、その後に続く復号化データも、接続部３７Ｂに送られる。
このようにして生成されたコンテンツ切断データは、接続部３７Ｂが一まとめに接続し、暗号化装置１１で暗号化される前の元の状態のコンテンツデータに戻す。
このコンテンツのデータは復号化装置１２で再生することができる。
【００７１】
なお、変形例４では、特定情報として、共通データを用いたが、上述したように鍵とアルゴリズムそれ自体、或いは環境情報を特定情報とすることができる。
鍵とアルゴリズムを特定情報とする場合、暗号化装置１１の暗号化部３３Ａは、１つ目のコンテンツ切断データに、２つ目のコンテンツ切断データを暗号化するときに使用する鍵とアルゴリズムを含める。同様に暗号化部３３Ａは、あるコンテンツ切断データに、次のコンテンツ切断データを暗号化するときに使用する鍵とアルゴリズムを含めることができる。この場合、復号化装置１２の復号化部３３Ｂは、２つ目以降の暗号化切断データを復号化する場合、その直前に復号化したコンテンツ切断データから取出したアルゴリズムと鍵により、その暗号化切断データを復号化すればよい。
環境情報を特定情報とする場合、暗号化装置１１の暗号化部３３Ａは、１つ目のコンテンツ切断データに、２つ目のコンテンツ切断データを暗号化するときに使用する鍵とアルゴリズムを生成するのに使用される共通データを生成するための環境情報を含める。同様に暗号化部３３Ａは、あるコンテンツ切断データに、次のコンテンツ切断データを暗号化するときに使用する鍵とアルゴリズムを生成するための共通データを生成するための環境情報を含める。この場合、復号化装置１２の復号化部３３Ｂは、２つ目以降の暗号化切断データを復号化する場合、その直前に復号化したコンテンツ切断データから取出した環境情報を用いて生成した共通データに基づいて鍵とアルゴリズムを生成し、それに基づいて、その暗号化切断データを復号化すればよい。
【００７２】
変形例４では、特定情報は、その特定情報が含まれた暗号化切断データの直後の暗号化切断データを復号化するための鍵とアルゴリズムを特定するものとされていた。しかしながら、特定情報は、その特定情報が含まれた暗号化切断データの直後の暗号化切断データを復号化するための鍵とアルゴリズムを特定するものに限られず、その特定情報が含まれた暗号化切断データよりも後の暗号化切断データを復号化するための鍵とアルゴリズムを特定するものであればよい。
例えば、特定情報は、１つ目の暗号化切断データのみに含まれていてもよい。この場合、この特定情報は、例えば、そこから後のすべての暗号化切断データを復号化するための共通の鍵と共通のアルゴリズムを特定するものであってもよい。このような場合、２つ目以降の暗号化切断データは、復号化装置１２で、同じ鍵とアルゴリズムで復号化されることになる。
また、他の例として、特定情報は、１つ目の暗号化切断データと、２つ目の暗号化切断データと、３つ目の暗号化切断データに含まれていて、１つ目の暗号化切断データに含まれていた特定情報は、３ｎ＋１（ｎは自然数）番目の暗号化切断データを復号化するための鍵とアルゴリズムを特定するもの、２つ目の暗号化切断データに含まれていた特定情報は、３ｎ＋２（ｎは自然数）番目の暗号化切断データを復号化するための鍵とアルゴリズムを特定するもの、３つ目の暗号化切断データに含まれていた特定情報は、３ｎ（ｎは自然数）番目の暗号化切断データを復号化するための鍵とアルゴリズムを特定するものとすることができる。このように、特定情報は、それが含まれていた暗号化切断データよりも後ろの暗号化切断データを復号化するのに用いる鍵とアルゴリズム（より詳しくは、これらの少なくとも一方）を特定することができるようなものであれば、どのようなものでもよいのである。
【００７３】
≪変形例５≫
変形例５の暗号化・復号化システムは、概ね、上述の実施形態における暗号化・復号化システムと同じである。簡単にいうと、変形例４の暗号化システムを、変形例２の暗号化システムに応用したものである。
変形例５の暗号化・復号化システムが、上述の実施形態における暗号化・復号化システムと異なるのは、暗号化装置１１における暗号部２９Ａの構成と、復号化装置１２における復号部２９Ｂの構成である。
これら暗号部２９Ａと、復号部２９Ｂの構成を、図１７及び図１８に示す。
変形例５における暗号部２９Ａには、変形例２の場合と同様に鍵生成部３５Ａ及びアルゴリズム生成部３６Ａが存在せず、また、復号化装置管理部３８Ａも存在しない。その代わりに、鍵記録部３５１Ａとアルゴリズム記録部３６１Ａが設けられている。つまり、変形例５における暗号化装置１１では、鍵とアルゴリズムとを新たに作ることはしない。
鍵記録部３５１Ａには、各復号化装置１２に対応させて少なくとも一つの鍵が記録されており、アルゴリズム記録部３６１Ａには各復号化装置１２に対応させて少なくとも一つのアルゴリズムが記録されている。この変形例４で鍵記録部３５１Ａに記録されているデータは、変形例２の鍵記録部３５１Ａに記録されていた場合と同様のものである。この変形例５でアルゴリズム記録部３６１Ａに記録されているデータは、変形例２のアルゴリズム記録部３６１Ａに記録されていた場合と同様のものである。
また、変形例５における暗号部２９Ａには、変形例４の場合と同様に、特定情報生成部３９Ａが設けられている。特定情報生成部３９Ａは、暗号化切断データ（のうちの少なくとも一つ）に含められる特定情報を生成するものである。特定情報は、変形例４の場合と同様のものとされている。変形例５では、特定情報は、共通データであるものとしてとりあえず説明を行うこととするが、これが他のものでもよいのは変形例４の場合と同様である。特定情報生成部３９Ａは、共通データ生成部３４Ａから共通データ（２つ目以降の共通データ）を受取り、それを特定情報として暗号化部３３Ａに送るようになっている。
変形例５における復号部２９Ｂには、変形例２の場合と同様に、鍵生成部３５Ｂ及びアルゴリズム生成部３６Ｂが存在せず、その代わりに、鍵記録部３５１Ｂとアルゴリズム記録部３６１Ｂが設けられている。つまり、変形例５における各復号化装置１２は、鍵とアルゴリズムを新たに作ることはしない。
鍵記録部３５１Ｂには少なくとも一つの鍵が記録されており、アルゴリズム記録部３６１Ｂには少なくとも一つのアルゴリズムが記録されている。鍵記録部３５１Ｂに記録されたデータは、変形例２の鍵記録部３５１Ｂに記録されていた場合と同様のものである。この変形例４でアルゴリズム記録部３６１Ｂに記録されているデータは、変形例２のアルゴリズム記録部３６１Ｂに記録されていた場合と同様のものである。
また、変形例５における復号部２９Ｂには、変形例４の場合と同様、特定情報読出部３９Ｂが設けられている。特定情報読出部３９Ｂは、復号化部３３Ｂで暗号化切断データを復号化して生成されたコンテンツ切断データから、コンテンツ切断データに特定情報が含まれる場合には、その特定情報を読出すものである。特定情報読出部３９Ｂは、読出した特定情報を、鍵記録部３５１Ｂとアルゴリズム記録部３６１Ｂに送るようになっている。
【００７４】
変形例５では、暗号化装置１１で行われる暗号化の処理は、以下のようなものとなる。変形例５の暗号化装置１１で行われる暗号化の処理は、変形例２の処理と変形例４の処理を組合わせたようなものとなる。
変形例５の場合でも、暗号化の処理が行われる際には、上述の実施形態の場合と同様に、コンテンツデータの読み出しが行われる。
読出されたコンテンツデータは、識別子とともに、インタフェイス部３１Ａに送られる。インタフェイス部３１Ａは、このコンテンツデータを前処理部３２Ａに送る。インタフェイス部３１Ａは、また、コンテンツデータを受付けたという情報を、識別子とともに、暗号化部３３Ａに送る。
コンテンツデータは、前処理部３２Ａで、所定のビット数毎に切断され、コンテンツ切断データにされる。変形例５で暗号化されるコンテンツ切断データの数は変形例４の場合と同様に４つであるので、変形例５でも少なくとも４つのコンテンツ切断データが生成されれば足りる。コンテンツ切断データは、暗号化を行われるため、暗号化部３３Ａに送られる。
暗号化部３３Ａは、鍵記録部３５１Ａから読出した鍵と、アルゴリズム記録部３６１Ａから読出したアルゴリズムとを用いて、コンテンツ切断データを暗号化する。
鍵は、鍵記録部３５１Ａから読出され、アルゴリズムは、アルゴリズム記録部３６１Ａから読出されて使用されるが、変形例５では変形例２の場合と同様に、暗号化部３３Ａは、どの鍵セットを鍵の読出し対象として選択するかと、どのアルゴリズムセットをアルゴリズムの読出し対象として選択するかを上述の識別子により、また、選択された鍵セットからどの鍵を読出すかと、選択されたアルゴリズムセットからどのアルゴリズムを読出すかとを、共通データ生成部３４Ａが生成した共通データに基づいて決定するようになっている。なお、暗号化部３３Ａの鍵とアルゴリズムの読出し方の処理は、変形例２の場合と同じにすることができる。
変形例５における共通データの生成の仕方は、変形例４の場合と同様である。つまり、１つ目の共通データは上述の実施形態の場合と同様にして生成される。２つ目以降の共通データの生成の仕方は、復号化装置１２が同じ共通データを生成することのできないものとして生成される。変形例５における具体的な共通データの発生の仕方も、変形例４の場合と同様にすることができる。この共通データは共通データ生成部３４Ａから暗号化部３３Ａに送られる。また、２つ目以降の共通データの場合には、特定情報生成部３９Ａへも送られる。特定情報生成部３９Ａは、この共通データを特定情報として暗号化部３３Ａに送る。
暗号化部３３Ａが、鍵記録部３５１Ａから受取った鍵と、アルゴリズム記録部３６１Ａから受取ったアルゴリズムを用いて、コンテンツ切断データを暗号化する場合の処理は、上述の実施形態の場合と同様である。上述したように、変形例５で暗号化部３３Ａが暗号化するコンテンツ切断データは、多数のコンテンツ切断データのうちの最初の４つのみである。また、変形例５では、上述したように、最初の４つのコンテンツ切断データを暗号化する前に、それらコンテンツ切断データのうちの最後のものを除くもの（この変形例５では、最初の３つ）に特定情報を含める。この手順も含めた暗号化の方法は、変形例４の場合と同様である。
まず、暗号化部３３Ａは、１つ目のコンテンツ切断データを暗号化するに当たって、共通データ生成部３４Ａが生成した２つ目の共通データを、特定情報生成部３９Ａを介して予め受取る。そして、暗号化部３３Ａは、この２つ目の共通データ（特定情報）を１つ目のコンテンツ切断データに含める。特定情報をコンテンツ切断データに含める場合におけるコンテンツ切断データに対する位置は、変形例４の場合同様に決定できる。暗号化部３３Ａは、次に、特定情報が含められた１つ目のコンテンツ切断データを暗号化する。このとき暗号化の処理に用いる鍵とアルゴリズムは、上述したように、鍵記録部３５１Ａと、アルゴリズム記録部３６１Ａから、それぞれ読出したものである。この鍵と、アルゴリズムは、１つ目の共通データに基づいて、暗号化部３３Ａが読出したものである。このようにして生成された暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
暗号化部３３Ａは、２つ目のコンテンツ切断データを暗号化する。暗号化部３３Ａは、それに先立って、共通データ生成部３４Ａが生成した３つ目の共通データを、特定情報生成部３９Ａを介して受取る。そして、暗号化部３３Ａは、この３つ目の共通データ（特定情報）を２つ目のコンテンツ切断データに含める。暗号化部３３Ａは、次に、特定情報が含められた２つ目のコンテンツ切断データを暗号化する。暗号化の方法は変形例４の場合と同様である。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
同様に、暗号化部３３Ａは、３つ目のコンテンツ切断データを暗号化する。暗号化部３３Ａは、それに先立って４つ目の共通データ（特定情報）を３つ目のコンテンツ切断データに含める。暗号化部３３Ａは、次に、特定情報が含められた３つ目のコンテンツ切断データを暗号化する。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
次に、暗号化部３３Ａは、４つ目のコンテンツ切断データを暗号化する。このコンテンツ切断データには、特定情報を含めない。暗号化部３３Ａが暗号化の処理に用いる鍵とアルゴリズムは、４つ目の共通データに基づいて、暗号化部３３Ａが読出したものである。このようにして得られた暗号化切断データは、暗号化部３３Ａから、接続部３７Ａに送られる。
以上のようにして生成された暗号化切断データは、接続部３７Ａに送られる。また、暗号化されなかったコンテンツ切断データも接続部３７Ａに送られる。接続部３７Ａは、暗号化切断データとコンテンツ切断データを一まとめに接続し、暗号化データを生成する。
【００７５】
次に、復号化装置１２で行われる、暗号化データを復号化してコンテンツデータに戻す処理について説明する。変形例５の復号化装置１２で行われる復号化の処理は、変形例２の処理と変形例４の処理を組合わせたようなものとなる。
変形例５の場合も、上述の実施形態の場合と同様、まず、暗号化データの読み込みが行われる。
読み込まれた暗号化データは、復号部２９Ｂのインタフェイス部３１Ｂに送られる。
インタフェイス部３１Ｂは、この暗号化データを前処理部３２Ｂに送るとともに、暗号化データを受取ったという情報を共通データ生成部３４Ｂに通知する。
前処理部３２Ｂは、受付けた暗号化データを所定のビット数毎に切断して、暗号化切断データを生成する。なお、前処理部３２Ｂは、この場合４つの暗号化切断データを生成するのが必要最小限の役割である。
次いで、暗号化切断データは復号化部３３Ｂに送られ、そこで復号化され、コンテンツ切断データとされる。
復号化は、暗号化装置１１における暗号化部３３Ａで行われたのと逆の処理として実行される。そのために、復号化装置１２では、暗号化装置１１で暗号化を行う際に用いられたアルゴリズムと鍵を必要とする。
復号化部３３Ｂが用いる鍵とアルゴリズムは、共通データに基づいて、鍵記録部３５１Ｂ又はアルゴリズム記録部３６１Ｂから、復号化部３３Ｂが読出す。鍵とアルゴリズムの読出し方は、変形例４の場合と同様である。
変形例５では、復号化される暗号化切断データによって、復号化部３３Ｂの共通データの入手の仕方が異なっている。変形例５の場合、変形例４の場合と同様、復号化部３３Ｂは、復号化装置１２が有する暗号化装置１１が有するのと同じ初期行列と環境情報を用いて共通データ生成部３４Ｂによって生成される。復号化部３３Ｂは、共通データ生成部３４Ｂから受取ったこの共通データに基づいて鍵記録部３５１Ｂとアルゴリズム記録部３６１Ｂから読出された鍵とアルゴリズムを用いて、１つ目の暗号化切断データを復号化する。
次に、２つ目以降４つ目までの暗号化切断データを復号化する場合にも、鍵記録部３５１Ｂから読出す鍵と、アルゴリズム記録部３６１Ｂから読出すアルゴリズムとを決定するために、共通データが必要となる。この場合の共通データは、変形例４の場合と同様に、その直前の暗号化切断データを復号化することにより生成されたコンテンツ切断データに特定情報として含まれていたものであり、特定情報読出部３９Ｂがそのコンテンツ切断データから読出した共通データである。特定情報読出部３９Ｂが読出した共通データは、復号化部３３Ｂに送られ、その次の暗号化切断データを復号化するために用いられる。
２つ目から４つ目のコンテンツ切断データは、また、その後に続く復号化データも、接続部３７Ｂに送られる。
このようにして生成されたコンテンツ切断データは、接続部３７Ｂが一まとめに接続し、暗号化装置１１で暗号化される前の元の状態のコンテンツデータに戻す。
このコンテンツのデータは復号化装置１２で再生することができる。
【００７６】
なお、変形例５でも、変形例４の場合と同様に、鍵とアルゴリズムそれ自体、或いは環境情報を特定情報とすることができる。鍵とアルゴリズムを特定情報とする場合、環境情報を特定情報とする場合の処理は、変形例４の場合と同様である。
変形例５では、変形例４の場合と同様、特定情報を、その特定情報が含まれた暗号化切断データよりも後の暗号化切断データを復号化するための鍵とアルゴリズムを特定するものとすることができる。
【００７７】
なお、変形例４を変形例２と組合わせて変形例５として成立させられたのと同様に、変形例４を変形例３と組合わせることももちろん可能である。この場合、暗号化装置１１と復号化装置１２の双方で、鍵とアルゴリズムのどちらか一方を新たに発生させ、鍵とアルゴリズムの他方を記録されたものから選択するようにするとともに、暗号化装置１１と復号化装置１２の双方で、鍵又はアルゴリズムの選択のために、特定情報を利用できるようにする。
【図面の簡単な説明】
【００７８】
【図１】実施形態の暗号化・復号化システムの全体構成を示す図。
【図２】図１に示した暗号化・復号化システムに含まれる暗号化装置のハードウエア構成を示す図。
【図３】図１に示した暗号化・復号化システムに含まれる暗号化装置の暗号部の構成を示すブロック図。
【図４】図１に示した暗号化・復号化システムに含まれる復号化装置の復号部の構成を示すブロック図。
【図５】図１に示した暗号化・復号化システムで実行される処理の流れを示す流れ図。
【図６】図１に示した暗号化・復号化システムの暗号化装置で実行される暗号化の処理の流れを示す流れ図。
【図７】図１に示した暗号化・復号化システムの暗号化装置が有する管理テーブルに記録されたデータを概念的に示す図。
【図８】図１に示した暗号化・復号化システムの復号化装置で実行される復号化の処理の流れを示す流れ図。
【図９】変形例２の暗号化・復号化システムに含まれる暗号化装置の暗号部の構成を示すブロック図。
【図１０】変形例２の暗号化・復号化システムに含まれる復号化装置の復号部の構成を示すブロック図。
【図１１】変形例２の暗号化・復号化システムに含まれる暗号化装置の鍵記録部に記録されたデータを概念的に示すブロック図。
【図１２】変形例２の暗号化・復号化システムに含まれる暗号化装置のアルゴリズム記録部に記録されたデータを概念的に示すブロック図。
【図１３】変形例３の暗号化・復号化システムに含まれる暗号化装置の暗号部の構成を示すブロック図。
【図１４】変形例３の暗号化・復号化システムに含まれる復号化装置の復号部の構成を示すブロック図。
【図１５】変形例４の暗号化・復号化システムに含まれる暗号化装置の暗号部の構成を示すブロック図。
【図１６】変形例４の暗号化・復号化システムに含まれる復号化装置の復号部の構成を示すブロック図。
【図１７】変形例５の暗号化・復号化システムに含まれる暗号化装置の暗号部の構成を示すブロック図。
【図１８】変形例５の暗号化・復号化システムに含まれる復号化装置の復号部の構成を示すブロック図。
【符号の説明】
【００７９】
１１    暗号化装置
１２    復号化装置
１３    ネットワーク
３１Ａ    インタフェイス部
３１Ｂ    インタフェイス部
３２Ａ    前処理部
３２Ｂ    前処理部
３３Ａ    暗号化部
３３Ｂ    復号化部
３４Ａ    共通データ生成部
３４Ｂ    共通データ生成部
３５Ａ    鍵生成部
３５Ｂ    鍵生成部
３６Ａ    アルゴリズム生成部
３６Ｂ    アルゴリズム生成部
３５１Ａ    鍵記録部
３５１Ｂ    鍵記録部
３６１Ａ    アルゴリズム記録部
３６１Ｂ    アルゴリズム記録部
【図１】
2008306690.tif 000002
【図２】
2008306690.tif 000003
【図３】
2008306690.tif 000004
【図４】
2008306690.tif 000005
【図５】
2008306690.tif 000006
【図６】
2008306690.tif 000007
【図７】
2008306690.tif 000008
【図８】
2008306690.tif 000009
【図９】
2008306690.tif 000010
【図１０】
2008306690.tif 000011
【図１１】
2008306690.tif 000012
【図１２】
2008306690.tif 000013
【図１３】
2008306690.tif 000014
【図１４】
2008306690.tif 000015
【図１５】
2008306690.tif 000016
【図１６】
2008306690.tif 000017
【図１７】
2008306690.tif 000018
【図１８】
2008306690.tif 000019