暗号化装置及び方法、 復号装置及び方法、 並びに記憶媒体 技術分野
この発明は、 例えば CD (Co即 act Disc) 2のような光ディスクに、 オーディォデータ等のコンテンツのデータを記録/再生する際に、 コン テンッのデータの保護を図るた明めにデータを暗号化して記録するのに用 いて好適な暗号化装置及び方法、 復号装置及び方法、 並びに記憶媒体に 田
関する。
背景技術
近年、 大容量の記録媒体として光ディスクの開発が進められてきてい る。 例えば音楽情報が記録された CD (Compact Disc)、 コンピュータ用 のデータが記録される C D— R OM (Compact Disc Read Only Memory) 映像情報を取り扱う DVD (Digital Versatile Disc または Digital Video Disc) 等が知られている。
ここに挙げた光ディスクは、 読み出し専用のディスクである。 最近で は、 C D— R (CD-Recordable)ディスク 、 C D— R W (CD - Rewr i table) ディスク等のように、 データの追記や、 書き換えが可能な光ディスクが 実用化されている。 さらに、 CDと同様な形状で記録容量を高めた倍密 度 C Dや、 通常の C Dプレーヤとパーソナルコンピュー夕との双方との 親和性が高められる CD 2等、 様々な光ディスクの開発が進められてい る。
このような光ディスクの普及に伴って、 光ディスクに記録されたコン テンッのデータが不正に複製されて使用されたり、 複製されたものが不
正に販売されたりして、 著作権者に不利益を与えることが危惧されてい る。 そこで、 光ディスクにオーディオデータやビデオデータのようなコ ンテンッデータを記録する際に、 著作権者の権利を保護することを目的 として、 コンテンッデータに対して暗号化処理を施こすことが行われて いる。
このように、 光ディスクにコンテンツのデータを記録する際に用いる 暗号化方式としては、 DE S (Data Encryption Standard) や tripple D E S等のブロック暗号が使われてきている。 DE Sは代表的な共通鍵 暗号であり、 64ビット (8バイト) のデータを初期転置 (スクランプ ル) を行い、 32ビットずつ分けたデータを、 56ビットの 1個の暗号 鍵から生成された 1 6個の鍵で次々と非線形処理を行い、 再び転置を行 つて、 暗号化するものである。
ところが、 DE Sのようなブロック暗号は、 ブロックの長さが比較的 短いため、 類似のブロックが頻繁に現れる可能性があり、 暗号強度に問 題がある。
そこで、 喑号強度を上げるために、 CB C (Ciphering Block
Chaining ) 方式を用いることが考えられている。 CB C方式は、 プロ ック単位で暗号化したデータを連鎖させていくことで暗号強度を上げて いくものである。
すなわち、 CB C方式では、 暗号化を行う際には、 今回の入力ブロッ クデ一夕と、 その 1つ前のブロックデータを暗号化したデータとの EX 一 ORがとられ、 暗号化される。 復号を行う際には、 暗号化ブロックデ 一夕が復号され、 その前の暗号化ブロックデ一夕との EX— ORがとら れて、 元のブロックデータが復号される。 このように、 CB C方式では, 前のブロックデータと連鎖させながら暗号化されるため、 暗号強度を上 げることができる。
このように、 光ディスクにコンテンツのデータを記録する際に、 CB C方式で暗号化を行うと、 暗号強度が上げられ、 より、 強力に、 著作権 の保護を図ることができる。 ところが、 CB C方式では、 前のブロック データと連鎖させながら暗号化していくため、 暗号化を行う際の最初の ブロックでは、 直前の暗号化ブロックがないため、 初期値を用意する必 要がある。 このように CB C方式で暗号化を行う際の初期値としては、 固定値を使うことが最も簡単である。 ところが、 CB C方式の暗号化を 行う際の初期値として固定値を用いたのでは、 秘匿性に問題があり、 高 い暗号強度が維持できない。 また、 初期値として固定値を用意するため には、 この初期値となる固定値をどこかにストアしておく必要が生じる そこで、 暗号化のブロックには含まれていない他の領域のデータから 初期値を作ることが考えられる。 例えば、 エラー訂正のための E C C
(Error Correcting Code ) や媒体情報が含まれている。 これらのデー 夕は、 著作権を有するようなデータそのものではないので、 保護する必 要はなく、 通常、 暗号化のブロックには含められない。 そこで、 EC C や媒体情報のような、 他の領域のデータから初期値を作ることが考えら れる。
つまり、 第 2 5図は、 ECCや媒体情報のような他の領域のデータか ら、 C B C方式で暗号化を行う際の初期値を作るようにした例である。 第 2 5図に示すように、 入力ブロックデータ Di を 0〜2 5 5までの 2 5 6個のブロックデータとし、 1ブロックは 8バイト (64ビット) と する。
最初に、 初期値 i n Vとして、 他の領域からのデータが入力され、 E X— ORゲート 5 0 1で、 入力ブロックデータ DO と初期値 i n Vとの EX— ORがとられ、 これがブロック暗号化回路 5 0 2で鍵情報 Kによ り喑号化されて、 暗号化プロックデータ EDO が生成される。
次に、 EX— ORゲート 5 0 1で、 入力ブロックデータ Dl と、 その 前の暗号化ブロックデータ EDO との EX— ORがとられ、 これがプロ ック暗号化回路 1 0 2で鍵情報 Kにより暗号化されて、 暗号化ブロック データ ED1 が生成される。
以下、 入力ブロックデータ Di と、 その前の暗号化ブロックデータ E D i-1 との EX— ORがとられ、 これがブロック暗号化回路 5 02で鍵 情報 Kにより暗号化されて、 暗号化プロックデータ E D iが生成される このように、 初期値 i nVをブロックのデータ以外、 例えば、 ECC や媒体情報から作るようにすれば、 初期値が固定値とならないため、 秘 匿性が上がる。
ところが、 このように、 初期値 i nVをブロックのデータ以外、 例え ば、 EC Cや媒体情報から作るようにすると、 コンテンツデータ以外の データが暗号化のために必ず必要になる。 このため、 コンテンツデータ のみを暗号化してデータ伝送することができなくなり、 コンテンッのデ 一夕を伝送する際には、 必ず、 E.C Cや媒体情報を一緒に送る必要が生 じてくる。
また、 CB C方式で暗号化を行う際の初期値を発生するための他の方 法として、 初期値を乱数により発生させることが考えられる。
つまり、 第 26図に示すように、 最初に、 乱数により発生された値が 初期値としてブロックデータ DO に入れられる。
この初期値の入ったブロックデータ DO は、 ブロック暗号化回路 5 1 2で鍵情報 Kにより暗号化されて、 暗号化ブロックデータ ED1 が生成 される。
次に、 EX— ORゲート 5 1 1で、 入力ブロックデータ D1 と、 その 前の暗号化ブロックデータ EDO との EX— ORがとられ、 これがブロ ック暗号化回路 5 1 2で鍵情報 Kにより暗号化されて、 暗号化ブロック
データ E D I が生成される。
以下、 入力ブロックデ一夕 D i と、 その前の暗号化ブロックデータ E D i -1 との E X— O Rがとられ、 これがブロック暗号化回路 5 1 2で鍵 情報 Kにより暗号化されて、 暗号化ブロックデータ E D iが生成される, しかしながら、 このように、 乱数により初期値を発生させると、 プロ ックデータ D O には乱数により発生された初期値が入ることになり、 ブ ロックデータ D Oには、 コンテンツデータが入れられなくなる。 したが つて、 1セクタの 0〜2 5 5までの 2 5 6ブロック (2 0 4 8バイト) のうちの 2 0 4 0バイトにしかコンテンツデータを入れることができな くなり、 データ領域が有効に利用できないという問題が生じてくる。
また、 初期値を乱数により発生させるようにするためには、 乱数発生 回路が必要になる。 秘匿性を高めるためには、 乱数としてランダムな符 号を発生できるものが必要であり、 このような乱数発生回路を設けると 回路規模が増大するという問題が生じてくる。
したがって、 この発明の目的は、 連鎖的な暗号化を行う場合に、 初期 値のための特別な領域のデータや乱数が不要であり、 しかも、 秘匿性が 高い暗号化装置及び方法、 復号装置及び方法、 並びに記憶媒体を提供す ることにある。
この発明の他の目的は、 連鎖的な暗号化を行う場合に、 データ領域が 有効に利用できる暗号化装置及び方法、 復号装置及び方法、 並びに記憶 媒体を提供することにある。 発明の開示
この発明は、 コンテンッデータの第 1の部分のデータに応じて初期値 を生成する生成手段と、 生成された初期値に応じてコンテンツデータの 第 2の部分のデータを暗号化し、 暗号化データを出力すると共に、 当該
出力される暗号化データに応じて、 コンテンツデータの第 1及び第 2の 部分のデータとは異なる部分のデータを連鎖的に暗号化する暗号手段と を備えるようにした暗号化装置である。
この発明は、 コンテンツデータの第 1の部分のデータに応じて初期値 を生成し、 生成された初期値に応じてコンテンツデータの第 2の部分の データを暗号化し、 暗号化データを出力すると共に、 当該出力される喑 号化データに応じて、 コンテンツデ一夕の第 1及び第 2の部分のデータ とは異なる部分のデータを連鎖的に暗号化するようにした暗号化方法で ある。
この発明は、 暗号化されたコンテンツデータの第 1の部分のデータで ある初期値に基づいて、 暗号化されたコンテンツデータの第 2の部分の データを復号し復号データを出力すると共に、 第 1及び第 2の部分のデ 一夕とは異なる部分のデータを、 暗号化されたコンテンツデータの第 2 の部分のデータに基づいて連鎖的に復号する手段と、 暗号化されたコン テンッデータの第 1の部分のデータから第 1の部分のデータを生成する 生成手段とを備えるようにした復号装置である。
この発明は、 暗号化されたコンテンツデータの第 1の部分のデータで ある初期値に基づいて、 暗号化されたコンテンツデータの第 2の部分の データを復号し復号データを出力し、 第 1及び第 2の部分のデータとは 異なる部分のデータを、 暗号化されたコンテンツデータの第 2の部分の データに基づいて連鎖的に復号し、 暗号化されたコンテンツデータの第 1の部分のデータから第 1の部分のデータを生成するようにした復号方 法である。
この発明は、 コンテンツデータの第 1の部分のデータに応じて初期値 を生成し、 生成された初期値に応じてコンテンツデータの第 2の部分の データを暗号化し、 暗号化データを出力すると共に、 当該出力される暗
号化データに応じて、 コンテンッデータの第 1及び第 2の部分のデータ とは異なる部分のデ一タを連鎖的に暗号化して、 コンテンツのデータを 記憶するようにした記憶媒体である。
この発明は、 コンテンツデータのストリームの所定の部分のデータに 応じて初期値を生成する生成手段と、 生成された初期値に応じてコンテ ンッデ—夕を暗号化し、 暗号化データを出力すると共に、 当該出力され る暗号化デ一夕に応じて、 コンテンツデー夕とは異なる部分のデータを 連鎖的に暗号化する暗号手段とを備えるようにした暗号化装置である。
この発明は、 コンテンッデータのストリームの所定の部分のデータに 応じて初期値を生成し、 生成された初期値に応じてコンテンツデータを 暗号化し、 暗号化データを出力すると共に、 当該出力される暗号化デー 夕に応じて、 コンテンツデータとは異なる部分のデータを連鎖的に暗号 化するようにした暗号化方法である。
この発明は、 コンテンッデータのストリ一ムの所定の部分のデータに 応じて初期値を生成する生成手段と、 初期値に基づいて、 暗号化された コンテンツデ一夕の第 1の部分のデータを復号し復号データを出力する と共に、 暗号化されたコンテンツデ一夕の第 1の部分のデータとは異な る第 2の部分のデ一夕を、 暗号化されたコンテンツデータの第 1の部分 のデータに基づいて連鎖的に復号する復号手段とを備える復号装置であ る。
この発明は、 コンテンッデータのストリームの所定の部分のデータに 応じて初期値を生成し、 初期値に基づいて、 暗号化されたコンテンツデ 一夕の第 1の部分を復号し復号デ一夕を出力し、 暗号化されたコンテン ッデータの第 1の部分のデータとは異なる第 2の部分のデータを、 暗号 化されたコンテンツデ一夕の第 1の部分のデータに基づいて連鎖的に復 号するようにした復号方法である。
この発明は、 コンテンッデータのストリームの所定の部分のデータに 応じて初期値を生成し、 生成された初期値に応じてコンテンツデータを 暗号化し、 暗号化データを出力すると共に、 当該出力される暗号化デー 夕に応じて、 コンテンツデータとは異なる部分のデータを連鎖的に暗号 化して、 コンテンツのデータを記憶するようにした記憶媒体である。 コンテンッのデータがブロック化され、 鎖状に連鎖して暗号化される そして、 このときの初期値を、 そのセクタのコンテンツデ一夕そのもの から生成している。 このため、 初期値を乱数等で発生する必要がなく、 データ領域のロスがない。 また、 コンテンツデータはランダ厶に変化し ているため、 秘匿性が高い。 更に、 乱数発生器等を容易する必要がなく 回路規模が増大しない。
また、 コンテンッデータから生成される初期値自体が他のコンテンツ データで暗号化される。 更に、 初期値として使うコンテンツデータを自 由に選ぶことができる。 これにより、 秘匿性が向上される。
さらに、 M P E Gストリームを記録する場合には、 ヘッダに含まれる ユニークな情報を使って、 初期値を生成している。 ヘッダの情報はュニ ークであり、 S C Rや P T Sのような時間情報は、 時間と共に変化する ため、 秘匿性が高い。 また、 M P E Gストリームのヘッダの情報を使つ て暗号化の初期値を形成しているので、 M P E Gストリームを保ったま ま、 伝送することができる。 さらに、 乱数発生器等を容易する必要がな く、 回路規模が増大しない。 図面の簡単な説明
第 1図はこの発明が適用された光ディスクの一例の略線図、 第 2図は この発明が適用された記録装置の一例のブロック図、 第 3図はこの発明 が適用された再生装置の一例のブロック図、 第 4図はセクタの構成を示
す略線図、 第 5図はプロックの構成を示す略線図、 第 6図はこの発明が 適用された暗号化処理の説明に用いるプロック図、 第 7図はこの発明が 適用された暗号化処理の説明に用いるブロック図、 第 8図はこの発明が 適用された復号処理の説明に用いるブロック図、 第 9図はこの発明が適 用された復号処理の説明に用いるブロック図、 第 1 0図、 第 1 1図、 第 1 2図、 第 1 3図、 第 1 4図、 第 1 5図、 及び第 1 6図はこの発明が適 用された暗号化処理の説明に用いるフローチャート、 第 1 7図は M P E Gストリ一ムを記録する場合の説明に用いる略線図、 第 1 8図は M P E Gストリ一ムを記録する場合の説明に用いる略線図、 第 1 9図は M P E Gストリームを記録する場合のブロックの構成を示す略線図、 第 2 0図 はこの発明が適用された暗号化処理の説明に用いるブロック図、 第 2 1 図 A及び第 2 1図 Bはこの発明が適用された暗号化処理の説明に用いる ブロック図、 第 2 2図はこの発明が適用された暗号化処理の説明に用い るブロック図、 第 2 3図はこの発明が適用された暗号化処理の説明に用 いるブロック図、 第 2 4図はこの発明が適用された復号処理の説明に用 いるブロック図、 第 2 5図は従来の暗号化処理の説明に用いるブロック 図、 第 2 6図は従来の暗号化処理の説明に用いるブロック図である。 発明を実施するための最良の形態
以下、 この発明の実施の形態について図面を参照して説明する。 この 発明は、 例えば、 C D (Compac t Di sc) 2にコンテンツデータを記録/ 再生する際に、 データの保護を図るために、 コンテンツのデータを暗号 化するのに用いて好適である。
第 1図は、 この発明が適用できる C D 2の外観の構成を示すものであ る。 C D 2は、 通常の C Dと同様に、 例えば直径 1 2 0 mmの光デイス クである。 ただし、 所謂シングル C Dのように、 直径 8 0脑としても良
い。
CD 2は、 既存の CDプレーヤと、 パーソナルコンピュータとの双方 との親和性を考慮して開発されている。 このような CD 2は、 第 1図に 示すように、 その中心にセンターホールが設けられ、 内周側に領域 AR 1が設けられ、 さらにその外周に、 領域 AR 2が設けられる。 内周側の 領域 AR 1と、 外周側の領域 AR 2との間には、 ミラー部 M lが設けら れ、 このミラー部 M lにより、 内周側の領域 A R 1と外周側の領域 A R 2とが区切られている。 内周側の領域 AR 1の最内周には、 リードイン 領域 L I N 1が設けられ、 その最外周には、 リードアウト領域 LOUT 1が設けられる。 外周側の領域 AR 2の最内周には、 リードイン領¾ I N 2が設けられ、 その最外周には、 リードアウト領域 LOUT 2が設 けられる。
内周側の領域 A R 1は、 既存の CDプレーヤとの親和性が図られた領 域である。 この領域 AR 1には、 通常の CDプレーヤでも再生できるよ うに、 例えば、 オーディオデータが通常の CD— D A (CD Digital Audio) と同様なフォーマットで記録されている。 また、 この内周側の 領域 AR 1は、 通常の CD— DAと同様に扱えるように、 通常、 コンテ ンッのデータに対する暗号化は行われない。 勿論、 著作権の保護を図る ために、 この内周側の領域 A R 1に記録するデータを暗号化する場合も 考えられる。 また、 この内周側の領域 AR 1に、 ビデオデ一夕や、 コン ピュー夕プログラムデータ等、 オーディォデ一夕以外のデータを記録す るようにしても良い。 また、 この内周側の領域 AR 1に、 コンテンツの データを圧縮して記録するようにしても良い
これに対して、 外周側の領域 AR 2は、 パーソナルコンピュータとの 親和性を図るようにした領域である。 この領域 AR 2には、 倍密度でデ 一夕が記録できる。 この領域 AR 2には、 例えば、 オーディオデータが
圧縮されて記録される。 圧縮方式としては、 例えば MP 3 (MPEG-1 Audio Layer-3 ) 方式が用いられており、 また、 パーソナルコンピュー 夕との親和性が図れるように、 ファイル化されている。
MP 3は、 MP EG 1で規定されている 3つのレイヤの圧縮方式の 1 つであり、 各帯域の出力を MDCT (Modified Discrete Cosine
Transform) で周波数軸に分割し、 量子化した後、 ハフマン符号化する ようにしたものである。 オーディオデータを MP 3方式で圧縮すること で、 記録容量を拡大できると共に、 パーソナルコンピュータと同様のフ アイルシステムでデータを极うことができる。 このため、 外周側の領域 AR 2に MP 3方式でファイル化されて記録されているコンテンツのデ 一夕を、 パーソナルコンピュータのハードディスクに移動させて、 パー ソナルコンピュータに音楽サーバを構築したり、 フラッシュメモリが装 着される携帯型の MP 3再生プレーヤに移動させて、 外で音楽再生を楽 しんだりすることが容易になる。
このように、 外周側の領域 AR 2に記録されているコンテンツのデー 夕は、 パーソナルコンピュータとの親和性が図られ、 取り扱いが容易で ある。 ところが、 この外周側の領域 A R 2に記録されているコンテンツ のデータは、 外部に持ち出されることが多くなるため、 著作権の保護が 守られなくなる可能性が高い。 このため、 外周側の領域 AR 2に記録さ れるコンテンツのデータには、 コピーや再生を制限するために、 暗号化 処理が施されるとともに、 この外周側の領域 A R 2には、 例えば、 コピ 一禁止/許可、 コピーの世代管理、 コピーの個数制限、 再生禁止/許可. 再生回数の制限、 再生時間の制限等を管理するための著作権管理情報が 記録される。
なお、 ここでは、 領域 AR 2に記録するデ一タを MP 3でファイル化 しているが、 勿論、 領域 AR 2に記録されるコンテンツのデータは、 M
P 3のファイルに限られるものではない。 オーディォデータの圧縮方式 としては、 MP 3の他に、 MP EG 2—AAC (Advanced Audio Coding ) 、 AT AC (Adaptive TRansform Acoustic Coding) 3等 が知られている。 また、 オーディオデータに限らず、 ビデオデータゃ静 止画データ、 テキストデータ、 コンピュータプログラム等、 様々なデー 夕を領域 AR 2に記録することが可能である。 また、 領域 AR 2に記録 するコンテンツのデータであっても、 暗号化する必要がなければ、 暗号 化せずに記録しても良い、
このように、 CD 2は、 内周側の領域 A R 1を使って、 通常の CDと 同様に CDプレーヤで再生することができ、 外周側の領域 A R 2を使う ことで、 パーソナルコンピュータや携帯型のプレーヤと連携させながら データを扱うことができる。
この発明は、 このような C D 2において、 特に、 外周側の領域 A R 2 に、 コンテンッのデ一夕を暗号化して記録/再生するのに用いて好適で ある。
第 2図は、 この発明が適用された記録装置の一例である。 第 2図にお いて、 入力端子 1にコンテンツデータが供給される。 コンテンツデータ は、 例えば、 オーディオデータである。 オーディオデータとしては、 P CMデータでも良いし、 MP 3等のストリームであっても良い。 また、 オーディオデータの他、 動画データ、 静止画データ、 ゲームのプロダラ ムデ一夕、 ウェブページのデータ、 テキスト等、 種々のものをコンテン ッデータとして記録することが考えられる。 この入力端子 1からのコン テンッデータは、 暗号化回路 4に供給される。
また、 入力端子 2に鍵情報 Kが供給される。 入力端子 2からの鍵情報 Kが暗号化回路 4に供給される。
暗号化回路 4は、 入力端子 1からのコンテンツデータを、 入力端子 2
からの鍵情報 Kを用いて暗号化するものである。 暗号化方式としては、 ブロック暗号が用いられる。 ブロック暗号は、 例えば、 8バイ トずつを 単位として暗号化を行っており、 暗号化回路 4はブロック化回路を備え ている。 この例では、 ブロック単位で暗号化したデータを連鎖させてい くことで、 暗号化強度を上げるようにしている。 このように、 ブロック 単位で暗号化したデータを連鎖させていくようなものは、 C B C
(C ipher i ng B l ock Cha ining ) 方式として知られている。
暗号化回路 4の出力がエラー訂正符号化回路 5に供給される。 エラー 訂正符号化回路 5で、 暗号化回路 4で暗号化されたコンテンツデータに 対して、 エラー訂正符号が付加される。
エラ一訂正符号化回路 5の出力は、 変調回路 6に供給される。 変調回 路 6で、 記録データが所定の変調方式で変調される。 変調回路 6の出力 が記録回路 7に供給される。
記録回路 7の出力が光学ピックアップ 8に供給される。 記録回路 7は. システムコントローラ 1 3により制御される。 光学ピックァップ 8によ り、 光ディスク 1 0に、 データが記録される。 光ディスク 1 0は、 例え ば、 C D 2の光ディスクである。
光学ピックアップ 8は、 光ディスク 1 0の半径方向に移動可能とされ ている。 また、 図示していないが、 光学ピックアップ 8からのレーザー 光を光ディスク 1 0のトラックに沿って照射するためのトラッキングサ —ポ回路や、 光学ピックアップ 8からのレーザー光のスポットを光ディ スク 1 0上に合焦させるためのフォ一カスサーポ回路、 光ディスク 1 0 の回転を制御するスピンドルサ一ポ回路等、 各種のサーポ回路が設けら れている。
また、 入力端子 2からの鍵情報 Kがミックス回路 9に供給される。 入 力端子 3に著作権管理情報 Rが供給され、 この著作権管理情報 Rが書き
換え回路 1 1を介して、 ミックス回路 9供給される。'ミックス回路 9の 出力が記録回路 1 2を介して光学ピックアップ 8に供給される。 光学ピ ックアップ 8により、 記録回路 1 2により、 光ディスク 1 0に鍵情報 K や著作権管理情報 Rが記録される。
著作権管理情報 Rは、 例えば、 コピー禁止 許可、 コピーの世代管理、 コピーの個数制限、 再生禁止 Z許可、 再生回数の制限、 再生時間の制限 等を管理するための情報である。 コピーの世代管理やコピーの個数制限, 再生回数の制限や再生時間の制限を行う場合には、 コピーや再生が行わ れる毎に、 著作権管理情報 Rを書き換える必要がある。 この著作権管理 情報 Rの書き換えは、 書き換え回路 1 1により行われる。
また、 鍵情報 Kや著作権管理情報 Rの記録場所については、 光デイス ク 1 0のリードィンゃリードァゥト領域に記録したり、 トラックの半径 方向にゥォブルデ一夕として記録したりすることが考えられる。
第 3図は、 再生系の構成を示すものである。 第 3図において、 光ディ スク 2 0の記録信号は、 光学ピックアップ 2 2で再生される。 光デイス ク 2 0は、 第 2図における光ディスク 1 0と対応しており、 光ディスク 2 0としては、 例えば、 C D 2が用いられる。 光学ピックアップ 2 2の 出力が再生アンプ 2 3を介して、 復調回路 2 4に供給される。 光学ピッ クアップ 2 2の動きは、 システムコントローラ 2 9の制御の基に、 ァク セス制御回路 3 0により制御される。 アクセス制御回路 3 0は、 光学ピ ックアツプの送り機構、 光学ピックアップ 2 2からのレーザー光を光デ イスク 2 0のトラックに沿って照射するためのトラッキングサーポ回路 や、 光学ピックアップ 2 2からのレーザー光のスポットを光ディスク 2 0上に合焦させるためのフォーカスサ一ポ回路等のサーポ回路からなる c 復調回路 2 4の出力がエラ一訂正回路 2 5に供給される。 エラー訂正 回路 2 5で、 エラ一訂正処理がなされる。 エラー訂正回路 2 5の出力が
暗号解読回路 2 6に供給されると共に、 鍵管理情報読出回路 2 7に供給 される。 鍵管理情報読出回路 2 7の出力が暗号解読回路 2 6に供給され る。
暗号解読回路 26は、 鍵管理情報読出回路 2 7で読み出された鍵情報 Kを使って、 再生データの暗号解読の処理を行うものである。 前述した ように、 この例では、 暗号化方式として、 CB C方式が使われている。 暗号解読回路 26は、 このような CB C方式の暗号の解読処理を行うも のである。
暗号解読回路 2 6の出力が再生回路 2 8に供給される。 再生回路 2 8 の出力が出力端子 3 1から出力される。 また、 鍵管理情報読出回路 2 7 で読み出された著作権管理情報 Rにより、 コピーや再生が制限される。 上述のように、 この例では、 暗号化方式として、 C B C方式が使われ ている。 すなわち、 記録系においては、 暗号化回路 4で、 入力されたコ ンテンッデータに対して、 CBC方式により、 暗号化処理が行われる。 そして、 再生系においては、 暗号解読回路 26により、 再生されたコン テンッデータに対して、 暗号解読処理が行われる。
なお、 ブロック喑号は、 DE Sや AE S、 F EAL、 M I S TY等、 何を用いても良い。
C B C方式では、 ブロック単位で暗号化したデータを連鎖させること で、 暗号の強度が上げられる。 この例では、 第 4図に示すように、 20 48バイトが 1セクタとされ、 このセクタを単位として、 光ディスク 1 0、 2 0へのデータの記録/再生が行われる。
つまり、 CDでは、 98フレームからなるサブコードプロックが 1セ クタとされている。 この 1セクタの領域の大きさは 2 3 5 2バイ トであ り、 そのうち、 2 048バイ卜がデータ領域となっている。
例えば、 D E S方式で暗号化する場合には、 64ビットを 1ブロック
として処理され、 5 6ビットの鍵が用いられる。 このため、 第 5図に示 すように、 1セクタは、 8バイト (6 4ビット) 単位で、 2 5 6のブロ ックに分割される。
そして、 各セクタ内において、 前ブロックと連鎖させながら、 C B C 方式により、 暗号化処理が行われる。
すなわち、 C B C方式では、 今回のブロックデータと、 その 1つ前の ブロックデー夕を暗号化したデータとの E X— O Rがとられ、 これが喑 号化される。 1つのセクタ内で C B C方式により暗号化処理が終了した ら、 次のセクタで、 また、 同様に、 C B C方式により暗号化処理が行わ れる。
このように、 この例では、 C B C方式を用いることにより、 暗号の強 度が上げられる。 そして、 各セクタで C B C方式で暗号化が行われてい る。 このため、 エラーの発生等によりデータの再生が不可能になったよ うな場合でも、 その影響がそのセクタ内で完結し、 他のセクタにおよぶ ことがなくなる。
そして、 この発明の実施の形態では、 初期値として、 同一セクタ内の ブロックのデータが利用される。 このように、 同一のセクタ内のブロッ クのデ一夕を初期値として使うことで、 データ領域のロスがなくなる。 また、 音楽デ一夕や画像データのようなコンテンツデータの場合には、 それ自体の値がランダムに変化している。 このため、 コンテンツのデー 夕を利用すると、 初期値の秘匿性も高い。
初期値として同一セクタ内のブロックのデータを利用する場合、 その データそのものでは、 秘匿性が十分でない。 そこで、 同一のセクタ内の プロックのデータを暗号化したものを初期値として利用することが考え られる。 更に、 この例では、 同一セクタ内の 1つのブロックデ一夕と、 そのセクタ内のそれ以外のブロックデ一夕との E X— O Rをとり、 これ
を暗号化したものを初期値としている。
つまり、 第 6図及び第 7図を使って、 暗号化処理について説明する。 第 6図は、 初期値を生成するときのプロセスを示し、 第 7図は、 連鎖的 にプロック暗号を行うときのプロセスを示すものである。
暗号化処理を行う場合には、 先ず、 第 6図に示すようにして、 初期値 が生成される。
すなわち、 第 6図に示すように、 DO 〜D255 までの 1セクタ内のブ ロックデータのうちの 1つ Dj が EX— ORゲ一ト 1 0 1に送られる。 また、 同一のセクタ内のブロックデータ Dj を除くブロックデータ Di の関数 f (Di ) が EX—〇Rゲート 1 0 1に送られる。
EX— ORゲート 1 0 1で、 ブロックデ一夕 Dj と、 ブロックデータ D j 以外のブロックデータ Di の関数 f (Di ) との EX— ORが求め られる。
なお、 ブロックデータ Dj と、 ブロックデータ Dj 以外の全てのブロ ックデータ Di の関数 f (Di ) との EX— ORは、 ブロックデータ D j と、 ブロックデータ Dj 以外の全てのブロックデータ Di の関数 f
(Di ) との EX— ORでも良いし、 ブロックデータ Dj と、 ブロック データ Dj 以外の 1つのブロックデータ D i の関数 f (Di ) との EX — ORでも良いし、 ブロックデータ Di の数をいくつにしても良い。 ま た、 関数 (Di ) も、 何を用いても良い。
この EX— ORゲート 1 0 1の出力は、 ブロック暗号化回路 1 02に 送られる。 ブロック暗号化回路 1 02で、 EX— ORゲート 1 0 1の出 力が鍵情報 Kにより暗号化される。 これにより、 初期値 i n Vが求めら れる。 また、 この値は、 ブロックデータ D]' を暗号化したデータ EDj としても用いられる。
このようにして、 初期値が求められたら、 第 7図に示すように、 この
初期値を使って、 今回のブロックデータと、 その 1つ前のブロックデー 夕を暗号化したデータとの E X— O Rがとられ、 これが喑号化される。 そして、 ブロックデータ Djのときには、 初期値としても使われている データ E D j が暗号化したブロックデ一夕として使われる。
つまり、 初期値として使った入カブ口ックデータ Dj が ( j = 1〜 2 54) の何れかであるときには、 以下のようにして暗号化が行われる。 先ず、 EX— ORゲート 1 1 1で、 入カブ口ックデータ DO と、 第 6 図で求められた初期値 i nVとの EX— ORがとられ、 この EX— OR ゲート 1 1 1の出力がブロック暗号化回路 1 1 2に供給される。
ブロック暗号化回路 1 1 2で、 EX— ORゲート 1 1 1の出力と鍵情 報 Kとから、 暗号化ブロックデータ EDO が求められる。
次に、 EX— ORゲート 1 1 1で、 入力ブロックデータ D1 と、 暗号 化ブロックデータ EDO との EX— ORがとられ、 この EX— ORゲー ト 1 1 1の出力がブロック暗号化回路 1 1 2に供給され、 ブロック暗号 ィ匕回路 1 1 2で、 EX— ORゲート 1 1 1の出力と鍵情報 Kとから、 暗 号化ブロックデータ ED1 が求められる。
以下、 同様にして、 入力データ D2 、 D3 、 …から、 暗号化ブロック データ ED2 、 ED3 、 …が求められる。
入力ブロックデータ D2 、 D3 、 …を暗号化していき、 入力ブロック データが D]' になったら、 第 6図で求められた初期値 i n Vが暗号化ブ ロックデータ EDjとして出力される。
そして、 再び、 EX— ORゲート 1 1 1で、 入力ブロックデータ Di と、 暗号化ブロックデータ E Di_l との EX— ORがとられ、 この EX 一 ORゲート 1 1 1の出力がブロック暗号化回路 1 1 2に供給され、 ブ ロック暗号化回路 1 1 2で、 EX— ORゲ一ト 1 1 1の出力と鍵情報 K とから、 暗号化ブロックデータ EDi が求められる。
入力データ D255 が暗号化されて暗号化ブロックデータ ED255 が出 力されるまで、 同様の処理が繰り返される。
初期値として使った入力ブロックデータ D j が最初のブロックデータ ( j = 0) のときには、 以下のようにして暗号化が行われる。
先ず、 第 6図で求められた初期値 i nVが暗号化ブロックデータ ED 0 として出力される。
それから、 第 7図に示す EX— ORゲート 1 1 1で、 入力ブロックデ 一夕 D1 と、 暗号化ブロックデータ EDO (初期値 i n Vと等しい) と の E X— O Rゲー卜がとられ、 この EX— ORゲート 1 1 1の出力がブ ロック暗号化回路 1 1 2に供給され、 ブロック暗号化回路 1 1 2で、 E X— ORゲート 1 1 1の出力と鍵情報 Kとから、 暗号化ブロックデ一夕 ED1 が求められる。
以下、 入力データ D 255 が暗号化されて暗号化ブロックデータ ED 255 が出力されるまで、 同様の処理が繰り返され、 入力データ D2 、 D 3 、 …から、 暗号化ブロックデータ ED2 、 ED3 、 …が求められる。 初期値として使った入力ブロックデータ D ]' が最後のブロックデータ ( j = 2 5 5 ) のときには、 以下のようにして暗号化が行われる。 先ず、 第 7図に示す EX— ORゲート 1 1 1で、 入力ブロックデータ DO と、 第 6図で求められた初期値 i nVとの EX— ORがとられ、 こ の EX— ORゲ一ト 1 1 1の出力がブロック暗号化回路 1 1 2に供給さ れる。
ブロック暗号化回路 1 1 2で、 EX— ORゲート 1 1 1の出力と鍵情 報 Kとから、 暗号化ブロックデータ EDO'が求められる。
次に、 E X— ORゲ一ト 1 1 1で、 入力ブロックデータ D1 と、 暗号 化ブロックデータ EDO との EX— ORがとられ、 この EX—〇Rゲ一 ト 1 1 1の出力がブロック暗号化回路 1 1 2に供給され、 ブロック暗号
化回路 1 1 2で、 EX— ORゲート 1 1 1の出力と鍵情報 とから、 暗 号化ブロックデータ ED1 が求められる。
以下、 同様にして、 入力データ D2 、 D3 、 …から、 暗号化ブロック データ ED2 、 ED3 、 …が求められる。 入力データ D254 の暗号化ブ ロックデータ ED 254 が求められるまで、 同様の処理が繰り返される。 最後のブロックデータ D255 になったら、 第 6図で求められた初期値 i n Vが暗号化ブロックデータ ED 255 として出力される。
次に、 第 8図及び第 9図を使って、 復号処理について説明する。 第 8 図は、 連鎖的にプロック暗号を行うときのプロセスを示すものであり、 第 9図は、 初期値を暗号化したブロックデータを復号するときのプロセ スを示すものである。
初期値として使った入力ブロックデータ Dj が ( j = l〜 2 54) の 何れかであるときには、 以下のようにして復号が行われる。
先ず、 第 8図に示すように、 暗号化ブロックデータ EDO と、 鍵情報 Kとがブロック喑号復号回路 1 2 1に送られ、 ブロック暗号復号回路 1 2 1で、 暗号の復号処理が行われる。
ブロック暗号復号回路 1 2 1の出力が EX— ORゲート 1 22に送ら れる。 また、 EX— ORゲート 1 22には、 初期値 i nVが送られる。 この初期値 i n Vは、 暗号化ブロックデータ EDj である。
EX— ORゲート 1 2 2で、 ブロック喑号復号回路 1 2 1の出力と、 暗号化ブロックデータ EDj との EX— ORがとられて、 ブロックデー 夕 DO が復号される。
次に、 暗号化ブロックデータ ED1 と、 鍵情報 Kとがブロック暗号復 号回路 1 2 1に送られる。 ブロック喑号復号回路 1 2 1で暗号が復号さ れる。 ブロック暗号復号回路 1 2 1の出力が EX— ORゲート 1 22に 送られる。
また、 EX— ORゲート 1 22には、 その前の暗号化ブロックデータ EDO とが送られる。
EX— ORゲート 1 22で、 ブロック暗号復号回路 1 2 1の出力と、 その前の暗号化ブロックデータ E DO との EX— ORがとられて、 ブロ ックデ一夕 D1 が復号される。
以下、 同様にして、 暗号化ブロックデータ EDI 、 ED2 、 …力、ら、 ブロックデータ Dl 、 D2 、 …が復号されていく。
このように、 ブロックデータ D2 、 D3 、 …を復号していく間に、 復 号するブロックデータが初期値に相当する暗号化ブロックデータ E D j になったら、 第 9図に示すように、 暗号化ブロックデータ EDj と、 鍵 情報 Kとがブロック暗号復号回路 1 3 1に送られ、 ブロック喑号復号回 路 1 3 1で喑号の復号処理が行われる。
ブロック暗号復号回路 1 3 1の出力が EX— ORゲート 1 3 2に送ら れる。 また、 EX— ORゲート 1 3 2には、 ブロックデータ Dj 以外の データとの間の関数 f (Di ) が送られる。
EX— ORゲート 1 32で、 ブロック喑号復号回路 1 3 1の出力と、 ブロックデータ Dj 以外のデータとの間の関数 f (Di ) との EX—〇 Rがとられて、 ブロックデ一タ Dj が復号される。
ブロックデータ Dj が復号されたら、 第 8図に戻り、 暗号化ブロック データ EDi と、 鍵情報 Kとがブロック喑号復号回路 1 2 1に送られる, ブロック暗号復号回路 1 2 1で暗号が復号される。 ブロック喑号復号回 路 1 2 1の出力が EX— ORゲート 1 22に送られる。 また、 EX— Q Rゲ一ト 1 22には、 その前の暗号化ブロックデータ ED i- 1 が送られ る。 EX— ORゲート 1 22で、 ブロック喑号復号回路 1 2 1の出力と その前の暗号化ブロックデータ E D i- 1 との EX— ORがとられて、 ブ ロックデータ Di が復号される。
以下、 暗号化ブロックデータ ED 255 が復号されるまで、 同様な処理 が繰り返される。
初期値として使った入力ブロックデータ D j が最初のブロックデータ ( j = 0) のときには、 以下のようにして復号が行われる。
先ず、 第 9図に示すように、 暗号化ブロックデータ EDO と、 鍵情報 Kとがブロック暗号復号回路 1 3 1に送られ、 ブロック暗号復号回路 1 3 1で暗号の復号処理が行われる。
ブロック喑号復号回路 1 3 1の出力が EX— ORゲート 1 3 2に送ら れる。 また、 EX— ORゲート 1 3 2には、 ブロックデ一夕 DO 以外の データとの間の関数 f (Di ) が送られる。
EX— ORゲート 1 32で、 ブロック喑号復号回路 1 3 1の出力と、 ブロックデータ Dj 以外のデータとの関数 f (Di ) との EX— ORが とられて、 ブロックデータ DO が復号される。
ブロックデータ DO が復号されたら、 第 8図に示すように、 暗号化ブ ロックデータ ED1 と、 鍵情報 Kとがブロック暗号復号回路 1 2 1に送 られ、 ブロック暗号復号回路 1 2 1で、 暗号の復号処理が行われる。 ブロック暗号復号回路 1 2 1の出力が EX— ORゲート 1 2 2に送ら れる。 また、 EX— ORゲート 1 2 2には、 初期値 i n Vが送られる。 初期値 i n Vは、 暗号化ブロックデータ EDO である。
EX— ORゲート 1 22で、 ブロック暗号復号回路 1 2 1の出力と、 暗号化ブロックデータ EDO との EX— ORがとられて、 ブロックデ一 夕 D1 が復号される。
次に、 暗号化ブロックデータ ED2 と、 鍵情報 Kとがブロック暗号復 号回路 1 2 1に送られる。 ブロック喑号復号回路 1 2 1で暗号解読処理 が行われる。
ブロック暗号復号回路 1 2 1の出力が EX— ORゲート 1 22に送ら
れる。 また、 EX— ORゲート 1 22には、 その前の暗号化ブロックデ 一夕 ED1 が送られる。
EX— ORゲート 1 2 2で、 ブロック喑号復号回路 1 2 1の出力と、 その前の暗号化ブロックデータ ED1 との EX— ORがとられて、 ブロ ックデータ D 2 が復号される。
以下、 暗号化ブロックデータ ED 255 が復号されるまで、 同様な処理 が繰り返される。
初期値として使った入力ブロックデータ D j が最後のブロックデータ ( j = 2 5 5 ) のときには、 以下のようにして復号が行われる。
先ず、 第 8図に示すように、 暗号化ブロックデータ EDO と、 鍵情報 Kとがブロック喑号復号回路 1 2 1に送られ、 プロック暗号復号回路 1 2 1で、 喑号の復号処理が行われる。
ブロック喑号復号回路 1 2 1の出力が EX— ORゲート 1 22に送ら れる。 また、 EX— ORゲート 1 22には、 初期値 i nVが送られる。 この初期値 i nVは、 暗号化ブロックデータ ED255 である。
EX— ORゲ一ト 1 22で、 ブロック暗号復号回路 1 2 1の出力と、 暗号化ブロックデ一夕 ED255 との EX— ORがとられて、 ブロックデ 一夕 DO が復号される。
次に、 暗号化ブロックデータ ED1 と、 鍵情報 Kとがブロック暗号復 号回路 1 2 1に送られる。 ブロック暗号復号回路 1 2 1で暗号が復号さ れる。 ブロック暗号復号回路 1 2 1の出力が EX— ORゲート 1 22に 送られる。
また、 EX— ORゲート 1 22には、 その前の暗号化ブロックデータ EDO が送られる。
EX— ORゲート 1 2 2で、 ブロック暗号復号回路 1 2 1の出力と、 その前の暗号化ブロックデータ EDO との EX—〇Rがとられて、 ブロ
ックデ一夕 Dl が復号される。
以下、 同様にして、 暗号化ブロックデータ ED2 、 ED3 、 …から、 ブロックデータ D 2 、 D3 、 …が復号されていく。
暗号化ブロックデータ ED 254 から、 ブロックデータ D 254 が復号さ れたら、 第 9図に示すように、 暗号化ブロックデータ ED 255 と、 鍵情 報 Kとがブロック喑号復号回路 1 2 1に送られ、 ブロック暗号復号回路 1 3 1で暗号の復号処理が行われる。
ブロック暗号復号回路 1 3 1の出力が EX—〇Rゲート 1 3 2に送ら れる。 また、 EX— ORゲート 1 32には、 ブロックデータ Dj 以外の データとの間の関数 : f (Di ) が送られる。
EX— ORゲ一ト 1 3 2で、 ブロック暗号復号回路 1 3 1の出力と、 ブロックデータ Dj 以外のデータとの間の関数 f (Di ) との EX— O Rがとられて、 ブロックデータ D255 が復号される。
なお、 上述の例では、 連鎖も初期値も鍵情報も、 全て、 64ビットで 処理しているが、 1 2 8ビットでも、 2 5 6ビットでも良い。
第 1 0図〜第 1 2図は、 上述のように、 データを暗号化して記録する ときの処理を示すフロ一チャートである。 この処理では、 例えば 2 04 8バイ 卜からなる 1セクタが C B Cにより暗号化される。 1セクタは、 8バイ ト ( 64ビット) 毎の 2 5 6のブロックに分割される。
第 1 0図において、 先ず、 1セクタ (例えば 2 048バイ ト) に相当 するブロックデータ DO 〜!)255 のうちの 1つのブロックデータ Dj が 読み出される (ステップ S 1 ) 。 そして、 ブロックデータ Di の関数 f (Di ) との EX— ORが鍵情報 Kにより暗号化されて、 初期値 i nV が生成される (ステップ S 2) 。 この初期値 i nVが保存される (ステ ップ S 3 ) 。
そして、 初期値を作るのに用いたブロックデータ Dj が最初のブロッ
クデータ ( j = 0) か否かが判断される (ステップ S 4) 。
( j = 0 ) なら、 初期値 i nVが読み出され (ステップ S 5 ) 、 この 初期値 i n Vがブロックデ一夕 DO の暗号化ブロックデータ EDO とさ れる (ステップ S 6) 。 求められた暗号化ブロックデータ EDO が保存 される (ステップ S 7 ) 。
ブロックデータの番号 iが ( i = l ) に初期化される (ステップ S 8) 。 初期値 i n Vが読み出され (暗号化ブロックデータ DO と等し レ (ステップ S 9) 、 ブロックデータ D1 が読み出される (ステップ S 1 0) 。 初期値 i n Vとブロックデータ D1 との EX— ORが鍵情報 Kで暗号化され、 ブロックデータ D1 の暗号化ブロックデータ ED1 が 生成される (ステップ S 1 1) 。 この暗号化ブロックデータ EDi が保 存される (ステップ S 1 2) 。 そして、 ブロックデータの番号 iが ( i = 2) にィンクリメントされる (ステツプ S 1 3) 。
ブロックデータの番号 iがィンクリメントされたら、 暗号化ブロック データ EDi_l が読み出され( ステップ S 1 4) 、 ブロックデータ Di が読み出される (ステップ S 1 5) 。 暗号化ブロックデータ EDi- 1 と ブロックデータ Di との EX— ORが鍵情報 Kで暗号化され、 ブロック データ Di の暗号化ブロックデータ EDi が生成される (ステップ S 1 6) 。 この暗号化プロックデ一タ EDi が保存される (ステップ S 1 7 ) 。 そして、 ブロックデータの番号 iがインクリメントされる (ステ ップ S 1 8 ) 。
ブロック番号 iが 「 2 5 6」 に達したか否かが判断され (ステップ S 1 9) 、 プロック番号 iが 「 2 5 6」 に達していなければ、 ステップ S 1 4にリターンされる。 そして、 ブロック番号 iが 「 2 5 6」 に達する まで、 同様の処理が繰り返され、 暗号化ブロックデータ EDi が求めら れていき、 ブロック番号 iが 「 2 5 6」 に達してブロックデ一夕 D255
まで求められたら処理が終了される。
ステップ S 4で、 初期値を作るのに用いたブロックデータ Dj が最初 のプロックデータ ( j = 0) でなければ、 第 1 1図に示すように、 初期 値を作るのに用いたブロックデータ Dj が最後のブロックデータ (j = 2 5 5 ) か否かが判断される (ステップ S 2 0) 。
( j = 2 5 5 ) なら、 ブロック番号 iが ( i = 0) に初期化される (ステップ S 2 1) 。 そして、 ステップ S 2で求められた初期値 i n V が読み出され (ステップ S 2 2) 、 ブロックデ一夕 DO が読み出される (ステップ S 2 3) 。 初期値 i nVとブロックデータ DO との EX—〇 Rが鍵情報 Kで暗号化され、 ブロックデータ DO の暗号化ブロックデ一 夕 EDO が生成される (ステップ S 24) 。 この暗号化ブロックデータ EDO が保存される (ステップ S 2 5) 。 そして、 ブロックデータの番 号 iが ( i = l) にインクリメントされる (ステップ S 2 6) 。
ブロックデータの番号 iがィンクリメントされたら、 暗号化ブロック データ EDi- 1 が読み出され( ステップ S 2 7 ) 、 ブロックデータ Di が読み出される (ステップ S 28) 。 暗号化ブロックデータ ED i-1 と ブロックデータ Di との EX— ORが鍵情報 Kで暗号化され、 ブロック データ Di の暗号化ブロックデータ ED i が生成される (ステップ S 2 9) 。 この暗号化ブロックデータ EDi が保存される (ステップ S 3 0 ) 。 そして、 ブロックデータの番号 iがインクリメントされる (ステ ップ S 3 1 ) 。
ブロック番号 iが 「 2 5 5」 に達したか否かが判断され (ステップ S 3 2) 、 ブロック番号 iが 「 2 5 5」 に達していなければ、 ステップ S 2 7にリターンされる。 そして、 ブロック番号 iが 「 2 5 5」 に達する まで、 同様の処理が繰り返され、 暗号化ブロックデータ EDi が求めら れていく。
ブロック番号が 「 2 5 5」 になったら、 ステップ S 2で求められた初 期値 i n Vが読み出される (ステップ S 33) 。 そして、 この初期値 i n Vが暗号化ブロックデータ ED255 とされて (ステップ S 34) 、 保 存され (ステップ S 3 5) 、 処理が終了される。
ステップ S 4で初期値を作るのに用いたブロックデータ Dj が最初の ブロックデータ (j = 0) ではないと判断され、 ステップ S 2 0で、 最 後のブロックデータ (j = 2 5 5 ) でもないと判断されたら、 第 1 2図 に示すように、 ブロックデータの番号 iが ( i = 0) に初期化される (ステップ S 3 6) 。 ステップ S 2で求められた初期値 i nVが読み出 され (ステップ S 3 7) 、 ブロックデータ DO が読み出される (ステツ プ S 3 8) 。 初期値 i nVとブロックデータ DO との EX— ORが鍵情 報 Kで暗号化され、 ブロックデータ DO の暗号化ブロックデータ EDO が生成される (ステップ S 3 9) 。 この暗号化ブロックデータ E DO が 保存される (ステップ S 40) 。 そして、 ブロックデータの番号 iが ( i = 1 ) にインクリメントされる (ステップ S 4 1 )
ブロックデータの番号 iがインクリメントされたら、 今回のブロック 番号 iは初期値を作るのに用いる所の番号 j ( j = i ) であるか否かが 判断される (ステップ S 42) (j i ) でなければ、 暗号化ブロッ クデータ EDi- 1 が読み出され( ステップ S 43) 、 ブロックデータ D i が読み出される (ステップ S 44) 。 暗号化ブロックデータ EDi - 1 とブロックデータ Di との EX— ORが鍵情報 Kで暗号化され、 ブロッ クデータ Di の暗号化ブロックデータ EDi が生成される (ステップ S 4 5) 。 この暗号化ブロックデ一夕 EDi が保存される (ステップ S 4 6) 。 そして、 ブロックデータの番号 iがインクリメントされる (ステ ップ S 47 )
ブロック番号 iが 「 2 5 6」 に達したか否かが判断され (ステップ S
48) 、 ブロック番号 iが 「 2 5 6」 に達していなければ、 ステップ S 42にリターンされる。
ステップ S 42で、 (j = i ) であると判断されたら、 ステップ S 2 で求められた初期値 i nVが読み出され (ステップ S 49) 、 この初期 値 i n Vがブロックデータ D j の暗号化ブロックデータ EDj とされる (ステップ S 5 0) 。 この暗号化ブロックデータ EDj が保存される (ステップ S 5 1) 。 そして、 ステップ S 47に進む。
そして、 ブロック番号 iが 「 2 5 6」 に達するまで、 同様の処理が繰 り返される。 ブロック番号 iが 「 2 5 6」 に達し、 ブロックデータ D 255 までの暗号化ブロックデータが求められたら、 処理が終了される。 次に、 喑号を復号するときの処理について説明する。 第 1 3図〜第 1 6図は、 喑号を復号する場合の処理を示すフローチャートである。
第 1 3図〜第 1 6図において、 初期値として用いたブロック番号 jが ( j = 0) か否かが判断される (ステップ S 1 0 1) 。
( j = 0 ) のときには、 暗号化ブロックデータ EDO が読み出される (ステップ S 1 0 2) 。 この暗号化ブロックデータ EDO が鍵情報 で 復号され、 この復号値と関数 f (Di ) との EX— ORにより、 ブロッ クデ一夕 DO が生成される (ステップ S 1 0 3) 。 このブロックデータ DO が保存される (ステップ S 1 04) 。
ブロック番号 iが ( i = 1 ) に初期化される (ステップ S 1 0 5 ) 。 暗号化ブロックデータ ED1 が読み出される (ステップ S 1 0 6) 。 そ して、 暗号化ブロックデータ EDO が読み出される (ステップ S 1 0 7 ) 。 暗号化ブロックデータ EDO が初期値 i n Vとされる (ステップ S 1 0 8 ) 。
暗号化ブロックデータ ED1 が鍵情報 Kで復号され、 この復号値と初 期値 i nV (暗号化ブロックデータ EDO と等しい) との EX— ORが
とられて、 ブロックデータ Dl が生成される (ステップ S 1 0 9) 。 生 成されたブロックデータ D1 が保存される (ステップ S 1 1 0) 。 そし て、 ブロック番号 iが ( i = 2) にインクリメントされる (ステップ S 1 1 1 ) o
暗号化ブロックデータ EDi が読み出される (ステップ S 1 1 2) 。 暗号化ブロックデータ EDi-1 が読み出される (ステップ S 1 1 3) 。 暗号化ブロックデータ EDi が鍵情報 Kで復号され、 この復号値と暗号 化ブロックデータ EDi-1との EX—〇Rがとられて、 ブロックデー夕 D i が生成される (ステップ S 1 14) 。 このブロックデータ Di が保 存される (ステツプ S 1 1 5 ) 。 そして、 ブロック番号 iがィンクリメ ントされる (ステップ S 1 1 6) 。
ブロック番号 iが 「 2 5 6」 に達したか否かが判断され (ステップ S 1 1 7) , ブロック番号 iが 「 2 5 6」 に達していなければ、 ステップ S 1 1 2にリターンされる。 プロック番号 iが 「 2 5 6」 に達するまで. 同様の処理が繰り返される。 ブロック番号 iが 「 2 5 6」 に達し、 プロ ックデータ D255 まで復号されたら、 処理が終了される。
ステップ S 1 0 1で、 初期値として用いたブロック番号 jが ( j = 0) ではないと判断されたら、 第 14図に示すように、 初期値として用 いたブロック番号 jが (j = 2 5 5 ) か否かが判断される (ステップ S 1 1 8) 。
( j = 2 5 5 ) なら、 ブロック番号 iが ( i = 0) に初期化される (ステップ S 1 1 9) 。 暗号化ブロックデ一夕 EDO が読み出される (ステップ S 1 2 0) 。 暗号化ブロックデータ ED 255 が読み出される (ステップ S 1 2 1 ) 。 暗号化ブロックデータ ED 255 が初期値 i n V とされる (ステップ S 1 2 2 ) 。
暗号化ブロックデータ EDO が鍵情報 Kで復号され、 この復号値と初
期値 i nVとの EX— ORがとられて、 プロックデータ DO が生成され る (ステップ S 1 23) 。 生成されたブロックデータ DO が保存される (ステップ S 1 24 ) 。 そして、 ブロック番号 iが ( i = 1 ) にインク リメントされる (ステップ S 1 2 5) 。
暗号化ブロックデータ EDi が読み出される (ステップ S 1 2 6) 。 暗号化ブロックデータ EDi-1 が読み出される (ステップ S 1 2 7) 。 暗号化ブロックデータ EDi が鍵情報 Kで復号され、 この復号値と暗号 ィ匕ブロックデー夕 EDi-1との EX— ORがとられて、 ブロックデ一夕 D i が生成される (ステップ S 1 28) 。 このブロックデータ Di が保 存される (ステップ S 1 2 9) 。 そして、 ブロック番号 iがインクリメ ントされる (ステップ S 1 3 0 ) 。
ブロック番号 iが 「 2 5 5」 に達したか否かが判断され (ステップ S 1 3 1) , ブロック番号 iが 「 2 5 5」 に達していなければ、 ステップ S 1 2 6にリターンされる。 ブロック番号 iが 「 2 5 5」 に達するまで. 同様の処理が繰り返される。
ブロック番号 iが 「 2 5 5」 に達し、 ブロックデ一夕 D254 までの処 理が完了したら、 暗号化ブロックデータ ED 255 が読み出される (ステ ップ S 1 3 2) 。 この暗号化ブロックデータ ED 255 が鍵情報 Kで復号 され、 この復号値と関数 f (Di ) との EX— ORにより、 ブロックデ 一夕 D255 が生成される (ステップ S 1 3 3) 。 このブロックデータ D 255 が保存されて (ステップ S 1 34) 、 処理が終了される。
ステップ S 1 0 1で、 ( j = 0 ) ではないと判断され、 ステップ S 1 1 8で、 ( j = 2 5 5 ) ではないと判断されたら、 第 1 5図に示すよう に、 ブロック番号 iが ( i = 0) に初期化される (ステップ S 1 3 5) , 暗号化ブロックデータ EDO が読み出される (ステップ S 1 3 6) 。 暗号化ブロックデータ EDj が読み出される (ステップ S 1 3 7) 。 暗
号化ブロックデータ ED j が初期値 i n Vとされる (ステップ S 1 3 8) 。
暗号化ブロックデータ EDO が鍵情報 Kで復号され、 この復号値と初 期値 i nVとの EX— ORがとられて、 ブロックデータ DO が生成され る (ステップ S 1 3 9) 。 生成されたブロックデータ DO が保存される (ステップ S 140) 。 そして、 第 1 6図に示すように、 ブロック番号 iが ( i = 1 ) にィンクリメントされる (ステップ S 14 1) 。
ブロックデ一夕の番号 iがインクリメントされたら、 今回のブロック 番号 iは初期値を作るのに用いる所の番号 j ( j = i ) であるか否かが 判断される (ステップ S 142) 。
( j = i ) でなければ、 暗号化ブロックデ一夕 EDi が読み出される (ステップ S 143) 。 暗号化ブロックデータ EDi-1 が読み出される (ステップ S 144) 。 暗号化ブロックデ一夕 EDi が鍵情報 Kで復号 され、 この復号値と暗号化ブロックデータ EDi- 1 との EX—〇Rがと られて、 ブロックデ一夕 Di が生成される (ステップ S 1 45) 。 この ブロックデータ Di が保存される (ステップ S 146) 。 そして、 プロ ック番号 iがインクリメントされる (ステップ S 147) 。
ブロック番号 iが 「 2 5 6」 に達したか否かが判断され (ステップ S 148) 、 ブロック番号 iが 「 2 5 6」 に達していなければ、 ステップ S 1 42にリターンされる。
ステップ S 142で、 ( i = j ) であると判断されたら、 暗号化プロ ックデータ EDj が読み出される (ステップ S 149) 。 この暗号化ブ ロックデータ EDjが鍵情報 Kで復号され、 この復号値と関数 f (D i ) との EX— ORにより、 ブロックデータ Dj が生成される (ステツ プ S 1 5 0) 。 このブロックデ一タ Dj が保存される (ステップ S 1.5 1) 。 そして、 ステップ S 147に進められる。
そして、 ブロック番号 iが 「 2 5 6」 に達するまで、 同様の処理が繰 り返される。 ブロック番号 iが 「 2 5 6」 に達し、 ブロックデ一夕 D 255 までの復号が完了したら、 処理が終了される。
なお、 初期値を暗号化したプロックデータ D ]' については、 常に固定 の所にしておいても良いし、 変更できるようにしても良い。 初期値を暗 号化したブロックデータ D j を変更可能としておくことで、 秘匿性を上 げることができる。
以上のように、 この発明では、 ブロック暗号化を連鎖的に行う場合の 初期値を、 コンテンツデ一夕そのものから生成している。 このため、 デ 一夕領域のロスがないと共に、 コンテンツデータはランダムに変化して いるため、 秘匿性が高い。
つまり、 コンテンツデータが音楽データのような場合には、 サンプリ ングにより得られたデータであるため、 それ自身、 ランダマイズ化され たデータであると言える。 ある時点の音楽データの値がどのレベルであ るかを知ることは、 非常に困難なことである。 したがって、 コンテンツ データ自身から初期値を作ると、 乱数を初期値として用いたと同じよう に、 秘匿性が向上する。
次に、 コンテンツのデータとして、 M P E Gストリームを記録する場 合について説明する。
第 1図に示したように、 C D 2の光ディスクは、 内周側の領域 A R 1 と、 外周側の領域 A R 2とがあり、 領域 A R 2には、 M P 3方式でファ ィル化されたオーディオデータが記録される。 M P 3方式は、 M P E G 1で使用されるオーディォデ一夕の 3つのレイヤのうちの一つである。 したがって、 外周側の領域 A R 2に M P 3のデータを記録する場合には, M P E Gストリームに準拠して、 データの記録が行われる。
M P E Gのストリームは、 上位レイヤ (プログラムレイヤ、 パックレ
ィャ) と、 下位レイヤ ひ°ケットレイヤ) でストリームが構成される。 すなわち、 MPEGストリームでは、 1つのプログラムのシーケンスは 複数のパックからなり、 各パックは、 一般的には、 複数のパケットから 構成される。 各パックの先頭には、 パックヘッダが設けられる。 バケツ トは、 パケットヘッダとデータとからなる。
CDでは、 9 8フレームからなるブロックがセクタとされ、 このセク 夕を単位として、 データが記録される。
第 1 7図は、 CDにMP EGストリームを記録したときのデータ構造 を示すものである。 第 1 7図に示すように、 CDの 1セクタには、 2 0 48バイ トのデータ領域が設けられる。 この 2 048バイ トのデータ領 域に、 原則として、 1セクタに、 MP EGストリームのパック及びパケ ットが配置される。 第 1 8図に示すように、 ファイルの先頭には、 ファ ィルヘッダが設けられる。 このファイルヘッダには、 著作者の管理情報 が配置される。
第 1 7図に示すように、 1セクタの先頭には、 パックヘッダが設けら れる。 このパックヘッダは、 例えば 14バイトからなる。 このパックへ ッダには、 パックスタートコードや、 S CR (System Clock
Reference) 、 ビットレートが含まれている。
パックヘッダに続いて、 パケットヘッダが設けられる。 このパケット ヘッダは、 例えば、 1 8バイトからなる。 このパケットヘッダには、 パ ケットスタートコード、 ストリーム I D、 PE S (Packetized
Elementary Stream) へッタ s、 PTS (Presentation Time Stamp)が 含まれている。
1セクタの残りの 2 0 1 6バイトに、 MP E G方式で圧縮されたコン テンッのデータ (例えば、 圧縮されたオーディオデータ) が配置される このように、 MP 3のような MP E Gのファイルは、 パックとバケツ
トからなる構成のストリームに組み込まれる。 そして、 第 1 8図に示す ように、 ファイルの先頭には、 ファイルヘッダが設けられる。 このファ ィルヘッダには、 ファイル I Dや I S RC (International Standard Recording Code) のような著作者の管理情報が含められる。 I S RCは. その曲のマスターテープや作成時に付けられる曲、 会社、 録音年、 レコ ーデイング番号等からなる 1 2桁のコードである。 さらに、 ディスクを 自体を識別できるようなディスク I Dを設けるようにしても良い。
このように、 C Dに MP E Gのストリームを記録する場合には、 2 0 48バイ トの 1セクタのデータ領域に、 原則として、 パック及びセクタ のデータが記録される。 これら 1セクタのデータのうち暗号化が必要な のは 2 0 1 6バイトのデータであり、 14バイトのパックヘッダ及び 1 8バイ卜のバケツトヘッダは暗号化は不要である。
第 1 9図は、 1セクタ分の MP EGストリームのコンテンツのデータ を暗号化する塲合のブロックの構成を示すものである。 上述のように、 MP E Gストリームの場合には、 1セクタのデータのうち、 暗号化する 必要があるのは、 2 0 1 6バイトのデ一夕である。 したがって、 MP E Gストリームを暗号化する場合には、 第 1 9図に示すように、 1セクタ のデータは、 8バイト (64ビット) 単位で、 2 5 2のブロックに分割 される。 そして、 前述と同様に、 今回のブロックデ一夕と、 その 1つ前 のブロックデータを暗号化したデ一夕との EX— ORをとつて、 暗号化 するような CB C方式により、 暗号化される。
C B C方式で暗号化する場合には、 初期値が必要である。 前述の例で は、 初期値を、 同一セクタ内のブロックのコンテンツデータから生成す るようにしている。 MP E Gストリームの場合にも、 これと同様に、 同 一セクタ内のブロックのコンテンツデータそのものから初期値を作って も良いが、 MP EGストリームのヘッダのユニーク性を着目して、 MP
E Gストリームのヘッダから CB Cの初期値を作るようにしても良い。 つまり、 第 1 7図に示したように、 MP EGストリームには、 パック ヘッダと、 パケットヘッダとが設けられている。 また、 第 1 8図に示す ように、 ファイルの先頭には、 ファイルヘッダが設けられる。 これらの ヘッダから初期値を生成することが考えられる。
例えば、 ファイルヘッダには、 I S RCのような著作権の管理情報等 が記録されている。 この著作権の管理情報は、 コンテンツ毎にユニーク な値である。 また、 ディスクヘッダがある場合のは、 ディスクのシリア ル番号のように、 ディスク毎にユニークな値をディスクヘッダに入れる ことができる。 このような情報は、 ディスク毎にユニークな情報である t また、 パックヘッダは、 パックスタ一トコードや、 S CR、 ビットレ ートが含まれている。 この中で、 S CRは、 システムの基準となる S T C (System Time Clock) を較正するための時間情報である。 また、 パ ケットヘッダには、 パケットスタートコード、 ストリーム I D、 PE S ヘッダ長、 PTSが含まれている。 この中で、 PTSは再生の基準とな る時間情報である。 パックヘッダの S CRや、 パケットヘッダの中の P TSは、 時間と共に変化するため、 ユニークな値となる。
このような、 MP EGストリームのヘッダに含まれているユニークな 情報を使つて、 C B C方式で暗号化する場合の初期値を生成することが できる。
MP EGストリームのヘッダの中でユニークな情報を使って、 CB C 方式の初期を生成する場合に、 ヘッダの情報をそのまま用いても良いが, ヘッダの情報をそのまま用いると、 秘匿性が十分でない。 · そこで、 いくつかの MP EGストリームのヘッダの情報から初期値を 生成したり、 ヘッダの情報を暗号化して、 初期値を生成することが考え られる。 具体的には、 以下の方法が考えられる。
まず、 著作権情報のようなファイルヘッダのユニークな情報と、 パッ クヘッダの S C Rやバケツトヘッダの中の P T Sのような時間と共に変 化する情報とを所定の関数により組み合わせて初期値を生成することが 考えられる。
第 2 0図は、 このように、 著作権情報のようなファイルヘッダのュニ —クな情報と、 パックヘッダの S CRやバケツトヘッダの中の P T Sの ような時間と共に変化する情報とから初期値を生成する場合のプロセス の一例である。 第 2 0図において、 £ ー0尺ゲート 2 0 1には、 ファ ィルへッダのユニークな情報が供給されると共に、 パックへッダの S C R又はパケットヘッダの中の P T Sが供給される。 EX— ORゲート 2 0 1で、 ファイルヘッダのユニークな情報と、 パックヘッダの S CR又 はバケツトヘッダの中の PTSとの EX— ORが求められる。 この E X 一 ORゲート 20 1の出力から、 初期値 i nVが求められる。
次に、 著作権情報のようなファイルヘッダのユニークな情報、 又は、 パックへッダの S C Rやバケツトへッダの中の P T Sのような時間と共 に変化する情報を暗号化して、 初期値を生成することが考えられる。 第 2 1図 Aは、 著作権情報のようなファイルヘッダのユニークな情報 を暗号化して初期値を生成する場合のプロセスの一例である。 第 2 1図 Aにおいて、 暗号化回路 2 1 1には、 ファイルヘッダのユニークな情報 が供給される。 暗号化回路 2 1 1で、 このファイルヘッダのユニークな 情報が暗号化され、 暗号化回路 2 1 1の出力から、 初期値 i nVが求め られる。
第 2 1図 Bは、 ノ\°ックヘッダの S C Rやバケツトヘッダの中の PTS のような時間と共に変化する情報を暗号化して初期値を生成する場合の プロセスの一例である。 第 2 1図 Bにおいて、 暗号化回路 221には、 パックヘッダの S C R又はパケットヘッダの中の PTSが供給される。
暗号化回路 2 2 1で、 S CR又は PTSが暗号化され、 暗号化回路 2 2 1の出力から、 初期値 i n Vが求められる。
さらに、 著作権情報のようなファイルヘッダのユニークな情報と、 パ ックヘッダの S CRやパケットヘッダの中の P T Sのような時間と共に 変化する情報とから求められる情報を暗号化して、 初期値を生成するこ とが考えられる。
第 2 2図は、 著作権情報のようなファイルヘッダのユニークな情報と パックヘッダの S CRやパケットヘッダの中の PTSのような時間と共 に変化する情報を、 更に、 暗号化して、 初期値を生成する場合のプロセ スの一例である。 第 22図において、 EX— ORゲート 2 3 1には、 フ アイルヘッダのユニークな情報が供給されると共に、 パックヘッダの S C R又はバケツトヘッダの中の P T Sが供給される。 EX— ORゲート 2 3 1で、 ファイルヘッダのユニークな情報と、 パックヘッダの S CR 又はバケツトヘッダの中の PTSとの EX— ORが求められる。 この E X— ORゲート 2 3 1の出力が暗号化回路 2 3 2に供給される。 暗号化 回路 2 3 2で、 EX— ORゲート 2 3 1の出力が暗号化され、 暗号化回 路 2 3 2の出力から、 初期値 i nVが求められる。
第 2 3図は、 MP E Gストリームを暗号化する場合の暗号化プロセス の一例である。 第 23図において、 E X— 0 Rゲート 30 1— 0で、 入 カブロックデ一夕 DO と、 MP E Gヘッダから求められた初期値 i n V との EX— ORがとられ、 この EX— ORゲ一ト 30 1— 0の出力がブ ロック暗号化回路 3 02 - 0に供給される。
ブロック暗号化回路 3 02— 0で、 EX— ORゲ一ト 3 1 1の出力と 鍵情報 とから、 暗号化ブロックデータ EDO が求められる。
次に、 EX— ORゲート 3 0 1— 1で、 入力ブロックデータ D1 と、 暗号化ブロックデータ EDO との EX— ORがとられ、 この EX— OR
ゲ一ト 3 0 1— 1の出力がブロック暗号化回路 3 0 2 - 1に供給され、 ブロック暗号化回路 302— 1で、 EX— ORゲート 3 0 1— 1の出力 と鍵情報 Kとから、 暗号化ブロックデータ ED1 が求められる。
以下、 同様にして、 入力データ D2 、 D3 、 ·'·、 D251から、 暗号化 ブロックデータ ED2 、 ED3 、 ···、 ED251が求められる。
第 24図 は、 MP EGストリームを復号する場合の復号プロセスの 一例である。 第 24図において、 暗号化ブロックデ一夕 EDO と、 鍵情 報 Kとがブロック喑号復号回路 40 1 - 0に送られ、 ブロック暗号復号 回路 40 1— 0で、 喑号の復号処理が行われる。
ブロック暗号復号回路 40 1 - 0の出力が EX— ORゲート 40 2— 0に送られる。 また、 EX— ORゲート 40 2— 0には、 初期値 i nV が送られる。 この初期値 i n Vは、 暗号化ブロックデータ i nV であ る。
EX— ORゲート 402 _ 0で、 ブロック暗号復号回路 40 1— 0の 出力と、 初期値 i nV との EX— ORがとられて、 ブロックデータ DO が復号される。
次に、 暗号化ブロックデータ ED1 と、 鍵情報 Kとがブロック暗号復 号回路 40 1 - 1に送られる。 ブロック暗号復号回路 40 1一 1で暗号 が復号される。 ブロック暗号復号回路 40 1 - 1の出力が EX— ORゲ ート 40 2— 1に送られる。
また、 EX— ORゲート 40 2— 1には、 その前の暗号化ブロックデ 一夕 EDO とが送られる。
EX— ORゲ一ト 402— 1で、 ブロック暗号復号回路 40 1— 1の 出力と、 その前の暗号化ブロックデータ E DO との EX— ORがとられ て、 ブロックデ一夕 D1 が復号される。
以下、 同様にして、 暗号化ブロックデータ EDI 、 ED2 、 …から、
ブロックデータ Dl 、 D2 、 ···、 D251が復号されていく。
このように、 MP E Gストリームを記録する場合には、 MP EGのへ ッダのユニーク性を利用して、 MP E Gヘッダを使って C B C方式で喑 号化を行う場合の初期値を作ることができる。 なお、 上述の例では、 フ アイルヘッダと、 パックへッダ又はパケットヘッダの S CR又は PTS 等の時間情報とを使って初期値を生成しているが、 さらに、 ディスクへ ッダの情報を用いるようにしても良い。
なお、 上述の例では、 コンテンツのデータを CD 2の光ディスクに記 録しているが、 記録媒体としては、 CD 2の光ディスクに限定されるも のではない。 この発明は、 CD—: DAや CD— ROM、 CD— Rや CD 一 RWにコンテンツのデータを記録する場合にも、 同様に適用すること ができる。 また、 光ディスクに限らず、 磁気ディスク、 フラッシュメモ リカード等、 種々の記録媒体にコンテンツのデータを記録する場合に同 様に適用できる。
さらに、 この発明は、 コンテンツのデータをネットワークで配信する 場合に用いても好適である。
つまり、 近年、 音楽データのようなコンテンツのデータをネットヮー クを使って配信するようなサービスが普及している。 このようなサービ スでは、 コンテンツのデータの保護を図るために、 コンテンツのデータ を暗号化することが望まれる。 この発明では、 プロック暗号化を連鎖的 に行う場合の初期値を、 コンテンッデータそのもの又は MP E Gストリ ームのデータから生成しているため、 コンテンッのデータを配信する場 合の暗号化にも好都合である。
この発明によれば、 コンテンツのデ一夕がブロック化され、 鎖状に連 鎖して暗号化される。 そして、 このときの初期値を、 そのセクタのコン テンッデ一夕そのものから生成している。 このため、 初期値を乱数等で
発生する必要がなく、 データ領域のロスがない。 また、 コンテンツデ一 夕はランダムに変化しているため、 秘匿性が高い。 更に、 乱数発生器等 を容易する必要がなく、 回路規模が増大しない。
また、 この発明によれば、 コンテンツデータから生成される初期値自 体が他のコンテンツデータで暗号化される。 更に、 初期値として使うコ ンテンッデータを自由に選ぶことができる。 これにより、 秘匿性が向上 される。
さらに、 この発明によれば、 MP E Gストリームを記録する場合には、 ヘッダに含まれるユニークな情報を使って、 初期値を生成している。 へ ッダの情報はユニークであり、 S CRや PTSのような時間情報は、 時 間と共に変化するため、 秘匿性が高い。 また、 MP EGストリームのへ ッダの情報を使って暗号化の初期値を形成しているので、 MP E Gスト リームを保ったまま、 伝送することができる。 さらに、 乱数発生器等を 容易する必要がなく、 回路規模が増大しない。 産業上の利用可能性
以上のように、 この発明にかかる暗号化装置及び方法、 復号装置及び 方法、 並びに記憶媒体は、 例えば CD (Compact Disc) 2のような光デ イスクに、 オーディォデ一夕等のコンテンツのデータを記録/再生する 際に、 コンテンッのデ一夕の保護を図るためにデータを暗号化して記録 するのに用いて好適である。