JP2006330126A - 暗号化処理方法、および復号化処理方法 - Google Patents

暗号化処理方法、および復号化処理方法 Download PDF

Info

Publication number
JP2006330126A
JP2006330126A JP2005150394A JP2005150394A JP2006330126A JP 2006330126 A JP2006330126 A JP 2006330126A JP 2005150394 A JP2005150394 A JP 2005150394A JP 2005150394 A JP2005150394 A JP 2005150394A JP 2006330126 A JP2006330126 A JP 2006330126A
Authority
JP
Japan
Prior art keywords
buffer
data
block
blocks
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005150394A
Other languages
English (en)
Inventor
Yoshinori Sugiyama
美紀 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005150394A priority Critical patent/JP2006330126A/ja
Publication of JP2006330126A publication Critical patent/JP2006330126A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】平文データ、および暗号文データを一時記憶するバッファの共用化を図ることでハードウェア量を削減するとともに、暗号化チェーンの切れ目により発生するデータの不正な上書きなどの不都合を防止する。
【解決手段】供給元からの平文データを、所定のブロック数を転送単位とする転送手順に従ったデータサイズで転送するステップと、平文データを、ブロック数Mのバッファサイズを有したバッファに格納するステップと、バッファに格納された平文データをブロック単位で読み出し、暗号文データを生成するステップと、生成した暗号文データをバッファに書き込むステップと、暗号文データを、供給先に転送するステップとを有し、平文データは、ブロック数Mのバッファサイズよりも少ないブロック数を転送単位とする転送を含む転送手順で、バッファに転送される。
【選択図】図2

Description

本発明は、暗復号化回路の暗復号化処理方法に関し、特に、データを一時記憶するバッファを介して暗復号化処理を行なう暗復号化回路の暗復号化処理方法に関する。
近年、マルチメディア関連の技術の進展により、画像データ、音声データ、あるいはこれらのデータを圧縮符号化したストリーム信号などのデジタルデータを処理する装置や方法に関する技術が急速に進展している。とりわけ、情報機器等において利用される記録媒体としてのハードディスク、光ディスク、あるいはメモリカードなど、これら記録媒体の大容量化がめざましく、映像や音声信号をデジタル形式で記録する民生用の映像機器分野においても、ビデオデータのような大容量データを一般家庭で記録して扱うことが可能となっている。一方、これら記録媒体を利用することで、例えば、デジタル動画像を高画質で長時間記録できるため、不正コピーなどの防止を目的とした著作権保護に関する技術が提案されている。また、著作権保護に関する技術の一つとして、記録や通信における情報を秘匿するため、情報を暗号化して記録や通信を行なう暗号化に関する技術がある。このような暗号化技術に関する一例としては、例えば、米国における暗号化標準方式であるDES(Data Encryption Standard)方式などがある。
また、記録媒体に関する著作権保護技術の一例として、例えば、光ディスクの一種であるDVD、あるいはメモリカードの一種であるSDメモリカードでは、CPRM(Content Protection for Recordable Media)と呼ばれる著作権保護技術に基づいて、記録する映像や音声などのコンテンツ保護が図られている。このCPRMと呼ばれる技術では、コンテンツの暗号化、鍵管理、コピー制御などに関した要素技術が規定されており、コンテンツの暗号化に関しては、C2(Cryptomeria Cipher)方式と呼ばれる暗号化技術が採用されている。
上述のDES方式やC2方式は、このような暗号化技術として、64ビットなど所定のデータ長を1ブロックとしたブロック暗号化アルゴリズムが利用されており、暗号化処理方法に応じて、ECB(Electric Codebook)モード、CBC(Cipher Block Chaining)モード、OFB(Output Feedback)モード、CFB(Cipher Feedback)モードと呼ばれる4つのモードが知られている。また、このようなブロック暗号化アルゴリズムを実現するため、ブロック暗号回路やブロック暗号化方法に関する技術が提案されている(例えば、特許文献1参照)。
図8は、従来のCBCモードに対応したブロック暗号回路のブロック図である。図8において、CPU(Central Processing Unit)940は、ブロック暗号回路を利用するマイクロコンピュータなどであり、CPU940の指示に応じて、供給元メモリ950に記憶された平文データが暗号化され、暗号化されたデータである暗号文データが供給先メモリ960に転送され、記録される。供給元メモリ950に記憶された平文データは、所定のデータ長を単位とするブロックで区分されており、さらに複数のブロックを一つの転送単位として、共通バス941を介して、バッファ932に転送される。図8では、4つのブロックを転送単位として平文データがバッファ932に格納される一例を示している。
バッファ932に格納された平文データは、暗号制御部931の制御に従い、ブロック単位で暗号化処理部910に供給される。暗号化処理部910は、供給された平文データに対して、CBCモードに基づき、暗号化チェーンとする所定のブロック長のデータ毎に、ブロック連鎖暗号化処理を行ない、ブロック単位の暗号文データを生成する。すなわち、暗号化処理部910は、CBCモードに基づき、平文データが先頭ブロックであるとき、エクスクルーシブオア回路911が平文データと初期値データとの排他的論理和演算を実行し、平文データが先頭ブロック以外のとき、エクスクルーシブオア回路911が平文データとレジスタ913に記憶した一つ前の暗号文データとの排他的論理和演算を実行する。排他的論理和演算結果のデータは、暗号部912により暗号化され、レジスタ913に記憶される。レジスタ913に記憶された暗号文データは、次の排他的論理和演算に利用されるとともに、バッファ932に供給される。
暗号化処理部910から供給された暗号文データは、暗号制御部931の制御に従い、バッファ932に、元の平文データと置換するようにして格納される。バッファ932に格納された全ブロックの平文データが暗号文データへと置換されると、暗号制御部931は、転送単位分のブロックで構成される暗号文データを、共通バス941を介して、供給先メモリ960に転送するよう制御する。このようにして、供給先メモリ960に暗号文データが記録される。
図9は、従来のブロック暗号回路の動作タイミングを示すタイミングチャートである。以下、図9を用いて従来のブロック暗号回路の動作について説明する。図9では、供給元メモリ950からは、R1、R2、R3と、図9に示すようなブロック単位の順番で、R1からR8までのように8ブロックを一つの暗号化チェーンとし、R1からR4までのように4ブロックを一つの転送単位として、平文データがバッファ932に供給される一例を挙げている。
ブロック暗号回路による処理が開始されると、暗号制御部931は、図9に示すような手順で暗号化処理の制御を行なう。すなわち、処理が開始されると、暗号制御部931の制御により、転送単位の平文データR1からR4までが、供給元メモリ950からバッファ932に書き込まれる。バッファ932に平文データR1からR4までが書き込まれると、暗号化処理部910は、R1、R2、R3、R4と順番にブロック単位で暗号化処理を実行する。また、暗号化処理部910で生成された暗号文データは、既に格納されている平文データを上書きするようにブロック単位でバッファ932に格納される。バッファ932に所定のブロック数の暗号文データが格納されると、バッファ932に格納された暗号文データの読み出し処理が実行され、読み出された暗号文データは供給先メモリ960に転送される。このようにして、転送単位の暗号化処理が実行される。
暗号化処理部910は、転送単位毎に次に説明するような動作を実行する。すなわち、ブロック暗号回路による処理が開始された後、暗号化処理に先立ち、図9に示すように、時刻T00から時刻T01までにおいて、平文データR1、R2、R3、R4が、領域BL1、BL2、BL3、BL4で示すバッファ932のそれぞれの領域に格納される。時刻T01において、暗号制御部931の制御により、バッファ932では領域BL1の領域が選択され、暗号化処理部910は、まず、この領域BL1に格納された平文データR1を読み込む。このとき、平文データR1は、暗号化チェーンにおける先頭ブロックであるため、エクスクルーシブオア回路911により、平文データR1と初期値データIVとの排他的論理和演算R1*IVが行なわれ、さらに、暗号部912により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE1が生成される。さらに、この暗号文データE1は、時刻T02においてREGで示すレジスタ913に記憶される。そして、レジスタ913に記憶された暗号文データE1は、暗号化処理により生成した暗号文データW1としてバッファ932へと送出される。これにより、バッファ932では、選択されている領域BL1において、読み出した平文データR1を暗号文データW1で置換するように、送出された暗号文データW1が書き込まれる。
次に、時刻T03において、暗号制御部931の制御により、バッファ932では領域BL2の領域が選択され、暗号化処理部910は、この領域BL2に格納された平文データR2を読み込む。さらに、暗号化処理部910は、エクスクルーシブオア回路911により、読み込んだ平文データR2とレジスタ913に記憶した暗号文データE1との排他的論理和演算R2*E1を実行し、暗号部912により排他的論理和演算結果に対して暗号化処理を施して、暗号文データE2を生成する。さらに、この暗号文データE2は、時刻T04においてREGで示すレジスタ913に記憶される。そして、レジスタ913に記憶された暗号文データE2は、暗号化処理により生成した暗号文データW2としてバッファ932へと送出される。これにより、バッファ932では、選択されている領域BL2において、読み出した平文データR2を暗号文データW2で置換するように、送出された暗号文データW2が書き込まれる。
以下、同様に、バッファ932での領域BL3のブロックが選択されると、平文データR3に対応した暗号文データE3が生成されるとともに、バッファ932の領域BL3には、暗号文データE3が暗号化処理により生成した暗号文データW3として、バッファ932の領域BL3に書き込まれ、次に、バッファ932での領域BL4のブロックが選択されると、平文データR4に対応した暗号文データE4が生成されるとともに、バッファ932の領域BL4には、レジスタ913に記憶した暗号文データE4が、暗号文データW4として、バッファ932の領域BL4に書き込まれる。
このようにして、供給元メモリ950からの転送単位の平文データR1からR4までに対する暗号化処理が実行され、時刻T09において、暗号化処理により生成された暗号文データW1からW4までがバッファ932に格納される。バッファ932に格納された暗号文データW1からW4までは、暗号制御部931の制御により、バッファ932から読み出され、共通バス941を介して、供給先メモリ960に転送され、供給先メモリ960に暗号文データが記録される。なお、このとき、平文データR4に対応した暗号文データE4は、次の転送単位の暗号化処理まで、レジスタ913に記憶される。また、以上のような一連の処理により、一つの転送単位におけるブロック暗号回路の処理が行なわれる。
次に、図9に示す時刻T10から、次の転送単位におけるブロック暗号回路の処理が行なわれる。すなわち、時刻T10から時刻T11までにおいて、次の転送単位の平文データR5、R6、R7、R8が、領域BL1、BL2、BL3、BL4で示すバッファ932のそれぞれの領域に格納される。時刻T11において、暗号制御部931の制御により、バッファ932では領域BL1のブロックが選択され、暗号化処理部910は、まず、この領域BL1に格納された平文データR5を読み込む。平文データR5は、暗号化チェーンの途中のブロックであるため、エクスクルーシブオア回路911により、平文データR5は、前回の暗号化処理でレジスタ913に記憶した暗号文データE4との排他的論理和演算R5*E4が行なわれる。さらに、暗号部912によって、排他的論理和演算結果に対しての暗号化処理が施されて、暗号文データE5が生成される。この暗号文データE5は、時刻T12においてREGで示すレジスタ913に記憶される。そして、暗号化処理部910は、レジスタ913に記憶した暗号文データE5を、暗号化処理により生成した暗号文データW5としてバッファ932へと送出する。これにより、バッファ932では、選択されている領域BL1において、読み出した平文データR5を暗号文データW5で置換するように、送出された暗号文データW5が書き込まれる。このようにして、時刻T12において、バッファ932の領域BL1には、暗号化処理部910での暗号化処理により生成した暗号文データW5が一時記憶される。また、時刻T12において、暗号部912により生成された暗号文データE5がレジスタ913に記憶される。以下、同様にして、バッファ932での領域BL1、BL2、BL3、BL4には、それぞれの平文データR5、R6、R7、R8を置換するように、暗号文データW5、W6、W7、W8が書き込まれる。
以上のようにして、供給元メモリ950からの次の転送単位の平文データR5からR8までに対する暗号化処理が実行され、時刻T19において、暗号化処理により生成された暗号文データW5からW8までがバッファ932に格納される。バッファ932に格納された暗号文データW5からW8までは、暗号制御部931の制御により、バッファ932から読み出され、共通バス941を介して、供給先メモリ960に転送され、供給先メモリ960に暗号文データが記録される。
以上のような転送単位毎の暗号化処理を繰り返すことにより、供給元メモリ950に記憶した平文データを暗号化処理し、暗号化処理されたデータである暗号文データを供給先メモリ960へと格納することができる。
特開2004−126323号公報
しかしながら、上述した従来例の場合、供給元メモリ950からバッファ932に転送する転送単位のブロック数の整数倍のブロック数で暗号化チェーンを構成する一例であったが、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合には、暗号化処理部910が、バッファ932に供給した平文データを読み込む前に生成した暗号文データを上書きするような動作となるなどの不都合が生じるという課題があった。
図10は、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャートである。図10では、供給元メモリ950からバッファ932に転送する転送単位としては、図9の場合と同様に4つのブロックで一つの転送単位とするが、暗号化チェーンに関しては、5つのブロックで一つの暗号化チェーンを構成するような一例を示している。すなわち、図10に示すように、平文データR1からR5までを一つ目の暗号化チェーン、平文データR6からR10までを次の暗号化チェーンとする平文データに対して、4つのブロックを一転送単位とする平文データR1からR4まで、次の平文データR5からR8までというように、供給元メモリ950からバッファ932に平文データが転送され、バッファ932に書き込まれる。暗号化処理部910は、バッファ932に書き込まれた4つのブロックの平文データに対して、図10に示すようなタイミングで暗号化処理を実行する。
なお、図9で説明した場合は、ブロックの終端に格納されているデータが暗復号処理の切れ目であるため、暗復号化演算の終了後、レジスタ913、およびバッファ932に演算結果のデータが格納される。ここで、暗復号処理の切れ目とは、暗号化チェーンの終端、あるいは8バイトを単位とするような暗復号化単位の切れ目を意味する。一方、ブロックの終端に格納されているデータが暗復号処理の切れ目ではない場合には、図10に示すように、暗復号化演算の終了後は、レジスタ913に演算結果のデータが保持されたままとなるため、次のデータの演算終了後、バッファ932に演算結果が格納される。すなわち、最初の平文データR1からR4までの書き込みのとき、図9の場合では、時刻T02から暗号文データE1がレジスタ913に記憶されるとともに、バッファ932に書き込まれ、このようにして処理が開始される。これに対して、最初の平文データR1からR4までの書き込みのとき、図10の場合では、時刻T02から暗号文データE1がレジスタ913に記憶され、一つのブロックサイクル分遅れた時刻T04から暗号文データE1がバッファ932に書き込まれる。このように、最初の平文データR1からR4までの書き込みのとき、図10の場合は、図9の場合に比べて、一つのブロックサイクル分遅れて処理が実行される。
この後、図10に示すように、時刻T10から時刻T11までにおいて、次の転送単位の平文データR5、R6、R7、R8が、領域BL1、BL2、BL3、BL4で示すバッファ932のそれぞれの領域に格納される。時刻T11において、暗号制御部931の制御により、バッファ932では領域BL1のブロックが選択され、暗号化処理部910は、まず、この領域BL1に格納された平文データR5を読み込む。平文データR5は、暗号化チェーンの途中のブロックであるため、エクスクルーシブオア回路911により、平文データR5は、前回の暗号化処理でレジスタ913に記憶した暗号文データE4との排他的論理和演算R5*E4が行なわれる。さらに、暗号部912によって、排他的論理和演算結果に対しての暗号化処理が施されて、暗号文データE5が生成される。さらに、この暗号文データE5は、時刻T12においてREGで示すレジスタ913に記憶される。そして、暗号化処理部910は、この暗号文データE5の生成処理に並行して、レジスタ913に前回から記憶し続けた暗号文データE4を、暗号化処理により生成した暗号文データW4としてバッファ932へと送出する。これにより、バッファ932では、選択されている領域BL1に送出された暗号文データW4が書き込まれる。
次に、時刻T13において、暗号制御部931の制御により、バッファ932では領域BL2の領域が選択され、暗号化処理部910は、この領域BL2に格納された平文データR6を読み込もうとする。しかし、先に領域BL1から読み込んだ平文データR5は、暗号化チェーンの最終端のブロックであるため、時刻T12において、平文データR5に対応する暗号文データE5が、暗号文データW5としてバッファ932の領域BL2に書き込まれる。すなわち、時刻T13において、暗号化処理部910は、この領域BL2に格納された暗号化チェーンの先頭ブロックである平文データR6を読み込もうとするが、暗号化チェーンの最終端のブロックに対応した暗号文データW5が先に書き込まれるため、平文データR6を読み込むことができなくなる。この結果、平文データR6に対する暗号化処理ができなくなるとともに、平文データR6以降の平文データに対しても正しくブロック連鎖暗号化処理を行なうことができなくなる。
以上説明したように、転送単位のブロックの途中に暗号化チェーンの切れ目が発生するような場合、暗号化処理部910が、バッファ932に供給した平文データを読み込む前に生成した暗号文データを上書きするような動作となるなどの不都合が生じるという課題があった。
本発明は、上記課題を解決するためになされたもので、平文データ、および暗号文データを一時記憶するバッファの共用化を図ることでバッファサイズを抑制しハードウェア量を削減するとともに、暗号化チェーンの切れ目により発生するデータの不正な上書きなどの不都合を防止した暗号化処理方法、および復号化処理方法を提供することを目的とする。
上述したような課題を解決するために、本発明の暗号化処理方法は、先頭ブロックを先頭に複数のブロックにより暗号化のためにチェーン化されて、供給元から供給される平文データを、暗号化し、暗号化されたデータを暗号文データとして供給先に供給する暗号化処理方法であって、平文データを、供給元から、所定のブロック数を転送単位とする転送手順に従ったデータサイズで転送するステップと、転送単位で転送された平文データを、ブロック数Mのデータが格納可能なバッファサイズを有したバッファに格納するステップと、バッファに格納された平文データをブロック単位で読み出し、読み出した平文データのブロックがチェーンの先頭ブロックであるとき、初期データと読み出した平文データとの演算を含む演算処理により暗号文データを生成し、読み出した平文データのブロックがチェーンの先頭ブロック以外のとき、1ブロック前に生成した暗号文データと読み出した平文データとの演算を含む演算処理により暗号文データを生成するステップと、生成した暗号文データをブロック単位でバッファに書き込むステップと、バッファに格納された各ブロックの平文データに対応する暗号文データがそれぞれバッファに書き込まれると、暗号文データを、供給先に転送するステップとを有し、平文データは、バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位とする転送を含む転送手順で、バッファに転送する。
また、本発明の復号化処理方法は、先頭ブロックを先頭に複数のブロックにより暗号化のためにチェーン化されて、供給元から供給される暗号文データを、復号化し、復号化されたデータを平文データとして供給先に供給する復号化処理方法であって、暗号文データを、供給元から、所定のブロック数を転送単位とする転送手順に従ったデータサイズで転送するステップと、転送単位で転送された暗号文データを、ブロック数Mのデータが格納可能なバッファサイズを有したバッファに格納するステップと、バッファに格納された暗号文データをブロック単位で読み出し、読み出した暗号文データのブロックがチェーンの先頭ブロックであるとき、初期データと読み出した暗号文データを復号化したデータとの演算を含む演算処理により平文データを復元し、読み出した暗号文データのブロックがチェーンの先頭ブロック以外のとき、1ブロック前に読み出した暗号文データと読み出した暗号文データを復号化したデータとの演算を含む演算処理により平文データを復元するステップと、復元した平文データをブロック単位でバッファに書き込むステップと、バッファに格納された各ブロックの暗号文データに対応する平文データがそれぞれバッファに書き込まれると、平文データを、供給先に転送するステップとを有し、暗号文データは、バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位とする転送を含む転送手順で、バッファに転送する。
本発明の暗号化処理方法、および復号化処理方法によれば、平文データをバッファに転送するとき、バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位とする転送を含む転送手順で平文データをバッファに転送するため、バッファにはバッファサイズよりも少ないブロック数の平文データが格納される。このため、上述したような、転送単位のブロックの途中に暗号化チェーンの切れ目が発生するような場合であっても、生成した暗号文データを空き領域から書き込むことにより、読み出しタイミングと書き込みタイミング間の余裕時間を設けることが可能となり、これによって、平文データ、および暗号文データを一時記憶するバッファの共用化によるハードウェア量が削減できるとともに、暗号化チェーンの切れ目により発生するデータの不正な上書きなどの不都合をも防止することが可能となる。
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるブロック暗復号回路の暗号化処理方法、および復号化処理方法を利用した暗復号装置の一例を示す概略図である。図1では、本発明のブロック暗復号回路が、各種処理を制御するCPU(Central Processing Unit)40とともに、集積回路であるLSI(Large Scale Integration)100に集積された一例を挙げている。図1に示すように、ハードディスクドライブ(以下、HDDと呼ぶ)50に記録されたデジタル動画像データなどのコンテンツデータは、LSI100に含まれるブロック暗復号回路で暗号化処理され、暗号化処理されたデータがSDカードなどの外部メモリ60に記録されたり、HDD50に記録された暗号化されたコンテンツデータが、LSI100に含まれるブロック暗復号回路で復号化処理され、復号化処理されたデータが外部メモリ60に記録されたり、あるいは、逆に、外部メモリ60に記録されたデジタル動画像データなどのコンテンツデータが、LSI100に含まれるブロック暗復号回路で暗号化処理され、暗号化処理されたデータがHDD50に記録されたり、外部メモリ60に記録された暗号化されたコンテンツデータが、LSI100に含まれるブロック暗復号回路で復号化処理され、復号化処理されたデータがHDD50に記録されたりし、このようにして、一方の記録媒体に記憶された平文データが暗号化処理されて他方の記録媒体に暗号文データとして記録されたり、一方の記録媒体に記憶された暗号文データが復号化処理されて他方の記録媒体に平文データとして記録される。また、HDD50に記録されたデータが、暗号化処理、あるいは復号化処理されて、そのHDD50に記録されたり、あるいは、外部メモリ60に記録されたデータが、暗号化処理、あるいは復号化処理されて、その外部メモリ60に記録されたりする形態であってもよい。
本実施の形態1におけるブロック暗復号回路は、ブロック単位の暗復号化処理により暗号化、あるいは復号化されたデータを生成する暗復号化処理部10と、HDD50あるいは外部メモリ60から転送される暗復号化処理を行なうためデータを一時記憶するとともに、暗復号化処理部10での暗復号化処理により生成したデータをも一時記憶するバッファ32とを含む構成である。また、暗復号化処理部10は、内部に、暗復号化処理により生成したデータを一時記憶するレジスタ13を有している。このような基本構成により、HDD50あるいは外部メモリ60から、複数のブロックを転送単位とするデータが、バッファ32にDMA(Direct Memory Access)転送され、次に、バッファ32からブロック単位でデータが暗復号化処理部10にDMA転送され、暗復号化処理部10によりブロック単位の暗復号化処理が実行される。暗復号化処理部10によるブロック単位の暗復号化処理で生成されたデータは、ブロック毎にバッファ32に書き込まれ、バッファ32に所定のブロック数の生成されたデータが書き込まれると、バッファ32からは、所定のブロック数の生成されたデータが転送先であるHDD50あるいは外部メモリ60へとDMA転送される。このようにして、例えば、HDD50に記録されたデジタル動画像データなどのコンテンツデータが、LSI100に含まれるブロック暗復号回路で暗号化処理され、暗号化処理されたデータがSDカードなどの外部メモリ60に記録される。
より具体的な一例として、ブロック暗復号回路は、著作権保護技術として提案されているCPRM(Content Protection for RecordableMedia)に基づいたC2(Cryptomeria Cipher)方式と呼ばれる暗復号化方式に対応した暗復号化処理を実行する暗復号化処理部10を有し、暗復号化処理部10は、このC2方式に基づき512バイトをブロック単位として、このブロック単位毎に暗復号化処理を実行する。また、バッファ32は、例えば、4ブロック分のバイト数である2キロバイトの記憶容量を有する。このような構成に対して、本実施の形態1のブロック暗復号回路では、次のような暗復号化処理方法に基づいた暗復号化処理が実行される。
すなわち、例えば、HDD50に記憶したコンテンツデータを暗号化して外部メモリ60に記録する場合、HDD50からは、まず、所定のブロック数を転送単位としてコンテンツデータがバッファ32にDMA転送される。転送されたコンテンツデータは、バッファ32に一時記憶されるとともに、バッファ32から512バイトのブロック単位でコンテンツデータが暗復号化処理部10にDMA転送される。暗復号化処理部10は、転送された512バイトのコンテンツデータに対して暗号化処理を実行する。このとき、暗復号化処理部10のレジスタ13には、暗号化処理により生成した512バイトの暗号化コンテンツデータが次の暗号化処理のために一時記憶される。また、暗号化処理により生成した512バイトの暗号化コンテンツデータは、1ブロック分の暗号化コンテンツデータとして、バッファ32に書き込まれる。HDD50からバッファ32に転送されたすべてのコンテンツデータに対して、このような暗号化処理が終了すると、バッファ32に一時記憶された暗号化コンテンツデータが外部メモリ60へとDMA転送される。以上のような処理を、例えば、動画像データなど、一つの番組分のコンテンツデータに対して行なうことで、不正コピーなどの防止が図られた状態、すなわち、暗号化されたコンテンツデータの状態で、著作権保護の対象となるような動画像データがSDカードなどの外部メモリ60に記録される。
特に、本実施の形態1におけるブロック暗復号回路の暗復号化処理方法では、例えば、HDD50からバッファ32にコンテンツデータを転送する場合、バッファ32の記憶容量よりも少ないブロック数を転送単位として転送することを特徴としており、これにより、HDD50から転送されるコンテンツデータの暗号化チェーンの切れ目であっても円滑な暗復号化処理を可能としている。
図2、および図3は、本発明の実施の形態1におけるブロック暗復号回路のより詳細な構成を示すブロック図である。図2では、暗号化処理におけるCBCモードに対応したブロック暗復号回路の一例を挙げている。また、図3では、復号化処理におけるCBCモードに対応したブロック暗復号回路の一例を挙げている。以下、まず、図2を参照しながら、暗号化処理に対応した本実施の形態1におけるブロック暗復号回路の構成について説明する。
図2において、CPU40は、ブロック暗復号回路を利用するマイクロコンピュータなどであり、CPU40の指示に応じて、供給元の記録媒体に記憶された暗号化されていない平文データが暗号化され、暗号化されたデータである暗号文データが供給先の記録媒体に記録される。図2では、図1と同様に、記録媒体としてHDD50、および外部メモリ60とした一例を挙げている。以下、HDD50に記憶した平文データを暗号化して外部メモリ60に記録する場合を例に挙げて説明するが、外部メモリ60に記憶した平文データを暗号化してHDD50に記録するような形態であってもよく、また、平文データの供給元として、記録媒体以外の例えば、テレビジョン受信器で受信したコンテンツデータを供給するような形態であってもよい。
図2に示すように、共通バス41に接続されたCPU40を中心として、HDD50が、データ等の受け渡しを行なうためのインタフェースであるI/F部51を介して共通バス41に接続され、また、外部メモリ60も同様に、データ等の受け渡しを行なうためのインタフェースであるI/F部61を介して共通バス41に接続されている。さらに、共通バス41には、ブロック単位の暗復号化処理により暗号化、あるいは復号化されたデータを生成する暗復号化処理部10と、HDD50あるいは外部メモリ60から転送されるデータを一時記憶するとともに、暗復号化処理部10での暗復号化処理により生成したデータをも一時記憶するバッファ32と、本発明の暗復号化処理方法に基づいた暗復号化処理を実行するように暗復号化処理部10、およびバッファ32を制御する暗復号制御部31とが接続されている。暗復号化処理部10、バッファ32、および暗復号制御部31により本実施の形態1におけるブロック暗復号回路が構成され、例えば、HDD50から共通バス41を介してDMA転送された平文データが本ブロック暗復号回路で暗号化され、暗号化されたデータである暗号文データが共通バス41を介して外部メモリ60へとDMA転送される。
HDD50に記憶された平文データは、例えば、512バイトのように所定のデータ長を単位とするブロックで区分されており、さらに複数のブロックを一つの転送単位として、共通バス41を介して、バッファ32に転送される。図2では、バッファ32が、4つのブロック分に相当するデータを格納可能な記憶容量を有した一例を示している。すなわち、バッファ32は、領域BL1、BL2、BL3、およびBL4で区分されるような記憶領域を有しており、各領域には、1ブロック分のデータ長のデータを格納することができる。
バッファに格納された平文データは、暗復号制御部31の制御に従い、ブロック単位で暗復号化処理部10に供給される。図2では、暗復号化処理部10が、CBCモードに基づき、暗号化処理を行なう場合の構成例を示している。暗復号化処理部10は、供給された平文データに対して、CBCモードに基づき、暗号化チェーンとする所定のブロック長のデータ毎に、ブロック連鎖暗号化処理を行ない、ブロック単位毎の暗号文データを生成する。このようなブロック連鎖暗号化処理を行なうため、暗復号化処理部10は、供給されたデータに対して暗号化を行ない暗号文データを生成する暗号部12、暗号部12により生成した暗号文データを一時記憶するレジスタ13、暗号化処理を実行するための初期値データを記憶した初期値レジスタ14、初期値レジスタ14からのデータとレジスタ13からのデータとを選択するマルチプレクサ回路15、および供給された平文データとマルチプレクサ回路15からのデータとの排他的論理和演算を行なうエクスクルーシブオア回路11を有した構成である。
暗復号化処理部10は、このような構成により、CBCモードに応じたブロック連鎖暗号化処理を実行する。CBCモードは、一つ前の暗号文データと平文データとをブロック単位で排他的論理和演算し、その演算結果であるデータに対して暗号化する処理を基本としており、暗号化チェーンとする所定のブロック長の平文データ毎に、このようなブロック連鎖処理を施す。図2の暗復号化処理部10において、初期値レジスタ14には、暗号化チェーンの先頭ブロックに対する排他的論理和演算を実行するための初期値データが記憶されている。また、レジスタ13は、暗号部12で暗号化された一つ前の暗号文データが記憶されている。これら初期値レジスタ14の初期値データ、およびレジスタ13の暗号文データは、マルチプレクサ回路15に供給される。マルチプレクサ回路15は、暗復号制御部31の指示に応じて、初期値データ、または暗号文データのいずれか一方のデータを選択する。選択されたデータは、エクスクルーシブオア回路11に供給される。エクスクルーシブオア回路11は、暗復号化処理部10に供給された平文データとマルチプレクサ回路15からのデータとの排他的論理和演算を実行する。すなわち、暗復号化処理部10に平文データが供給されると、供給された平文データが暗号化チェーンの先頭ブロックの場合、エクスクルーシブオア回路11は、平文データと初期値データとの排他的論理和演算を実行し、暗号部12は、その排他的論理和演算結果であるデータに対して暗号化を行なうことで暗号文データを生成する。さらに、生成された暗号文データは、レジスタ13に記憶される。また、暗復号化処理部10に次のブロックの平文データが供給されると、エクスクルーシブオア回路11は、平文データとレジスタ13に記憶した一つ前の暗号文データとの排他的論理和演算を実行する。暗号部12は、その排他的論理和演算結果であるデータに対して暗号化を行なうことで、次の暗号文データを生成する。さらに、生成された暗号文データは、レジスタ13に記憶される。このようにして、暗復号化処理部10は、暗号化チェーンとする所定のブロック長の平文データに対してブロック連鎖暗号化処理を実行する。
また、レジスタ13に記憶された暗号文データは、次の排他的論理和演算に利用されるとともに、バッファ32に供給される。バッファ32は、暗復号化処理部10から供給された暗号文データを、ブロック単位で格納する。バッファ32に、所定のブロック数の暗号文データが格納されると、暗復号制御部31は、所定のブロック数で構成される暗号文データを、共通バス41を介して、供給先である外部メモリ60に転送するよう制御する。このようにして、HDD50からの平文データが暗号化され、暗号化されたデータである暗号文データが外部メモリ60に記録される。
次に、図3を参照しながら、復号化処理に対応した本実施の形態1におけるブロック暗復号回路の構成について説明する。本実施の形態1におけるブロック暗復号回路において、復号化処理を実行するため、暗復号化処理部10は、図3に示すような復号化処理を実行するための構成をも有する。すなわち、暗復号化処理部10は、供給された暗号文データに対して、CBCモードに基づき、暗号化チェーンとする所定のブロック長のデータ毎に、ブロック連鎖復号化処理を行ない、ブロック単位毎の平文データを生成する。このようなブロック連鎖復号化処理を行なうため、暗復号化処理部10は、供給された暗号文データに対して復号化を行ない元の平文データを復元する復号部22、供給された暗号文データを一時記憶するレジスタ23、復号化処理を実行するための初期値データを記憶した初期値レジスタ24、初期値レジスタ24からのデータとレジスタ23からのデータとを選択するマルチプレクサ回路25、および復号部22で復元された平文データとマルチプレクサ回路25からのデータとの排他的論理和演算を行なうエクスクルーシブオア回路21を有した構成である。
図3において、復号化を行なうための暗号文データは、バッファ32に供給され、バッファ32からブロック単位の暗号文データが暗復号化処理部10に供給される。また、暗復号化処理部10において、初期値レジスタ24には、暗号化チェーンの先頭ブロックに対する排他的論理和演算を実行するための初期値データが記憶されている。また、レジスタ23は、供給された一つ前の暗号文データが記憶されている。これら初期値レジスタ24の初期値データ、およびレジスタ23の暗号文データは、マルチプレクサ回路25に供給される。マルチプレクサ回路25は、暗復号制御部31の指示に応じて、初期値データ、または暗号文データのいずれか一方のデータを選択する。選択されたデータは、エクスクルーシブオア回路21に供給される。一方、暗復号化処理部10に供給された暗号文データは、復号部22に供給されて、暗号化されたデータの復号化処理が実行される。復号部22により復号化されたデータは、エクスクルーシブオア回路21に供給される。エクスクルーシブオア回路21は、復号部22により復号化されたデータとマルチプレクサ回路25からのデータとの排他的論理和演算を実行する。すなわち、暗復号化処理部10に暗号文データが供給されると、供給された暗号文データが暗号化チェーンの先頭ブロックの場合、エクスクルーシブオア回路21は、復号部22により復号化したデータと初期値データとの排他的論理和演算を実行し、その排他的論理和演算結果であるデータを元の平文データとすることで平文データを復元する。また、暗復号化処理部10に次のブロックの暗号文データが供給されると、エクスクルーシブオア回路21は、復号部22により復号化されたデータとレジスタ23に記憶した一つ前の暗号文データとの排他的論理和演算を実行する。この排他的論理和演算結果であるデータを平文データとすることで、次の平文データの復元を行なう。このようにして、暗復号化処理部10は、暗号化チェーンとする所定のブロック長の暗号文データに対してブロック連鎖復号化処理を実行する。
また、復元された平文データは、バッファ32に供給される。バッファ32は、暗復号化処理部10から供給された平文データを、ブロック単位で格納する。バッファ32に、所定のブロック数の平文データが格納されると、暗復号制御部31は、所定のブロック数で構成される平文データを、共通バス41を介して、供給先である外部メモリ60に転送するよう制御する。このようにして、HDD50からの暗号文データが復元され、復元されたデータである平文データが外部メモリ60に記録される。
図4は、本発明の実施の形態1のブロック暗復号回路の動作タイミングを示すタイミングチャートである。以下、図4を用いて本実施の形態1のブロック暗復号回路の動作について説明する。図4では、HDD50から平文データが、R1、R2、R3とするようなブロック単位の順番で、R1からR6までのように6ブロックを一つの暗号化チェーンとし、R1からR3までのように3ブロックを一つの転送単位として、ブロック暗復号回路に供給され、本実施の形態1のブロック暗復号回路により平文データから暗号文データが生成される一例を挙げている。
CPU40からの指示により、ブロック暗復号回路における暗号化処理が開始されると、暗復号制御部31は、図4に示すような手順で暗号化処理の制御を行なう。すなわち、処理が開始されると、暗復号制御部31の制御により、転送単位の平文データR1からR3までが、HDD50からバッファ32に転送され、バッファ32に書き込まれる。このとき、バッファ32の記憶容量が4ブロック分であるのに対して転送される平文データは3ブロックであるため、バッファ32には一つのブロックを空けた状態で平文データR1からR3までが書き込まれる。すなわち、図4に示すように、バッファ32の領域BL1は空けた状態として、平文データR1が領域BL2に、平文データR2が領域BL3に、平文データR3が領域BL4に書き込まれる。
バッファ32に平文データR1からR3までが書き込まれると、暗復号化処理部10は、R1、R2、R3と順番にブロック単位で暗号化処理を実行する。また、暗復号化処理部10で生成された暗号文データは、上述したように、ブロック単位でバッファ32に格納され、バッファ32に所定のブロック数の暗号文データが格納されると、バッファ32に格納された暗号文データの読み出し処理が実行され、読み出された暗号文データは供給先である外部メモリ60に転送される。このようにして、転送単位の暗号化処理が実行される。
暗復号化処理部10は、転送単位毎に次に説明するような動作を実行する。すなわち、ブロック暗復号回路の処理が開始された後、暗号化処理に先立ち、図4に示すように、時刻T00から時刻T01までにおいて、平文データR1、R2、R3が、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。その後、時刻T03において、暗復号制御部31の制御により、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、まず、この領域BL2に格納された平文データR1を読み込む。このとき、平文データR1は、暗号化チェーンにおける先頭ブロックであるため、エクスクルーシブオア回路11により、平文データR1と初期値データIVとの排他的論理和演算R1*IVが行なわれ、さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE1が生成される。さらに、この暗号文データE1は、時刻T04においてREGで示すレジスタ13に記憶される。
次に、時刻T05において、暗復号制御部31の制御により、バッファ32では領域BL3の領域が選択され、暗復号化処理部10は、この領域BL3に格納された平文データR2を読み込む。さらに、暗復号化処理部10は、エクスクルーシブオア回路11により、読み込んだ平文データR2とレジスタ13に記憶した暗号文データE1との排他的論理和演算R2*E1を実行し、暗号部12により排他的論理和演算結果に対して暗号化処理を施して、暗号文データE2を生成する。一方、暗復号化処理部10は、この暗号文データE2の生成処理に並行して、レジスタ13に記憶した暗号文データE1を、暗号化処理により生成した暗号文データW1としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL1が選択され、その結果、領域BL1に暗号文データW1が書き込まれる。このようにして、時刻T06において、バッファ32の領域BL1には、暗復号化処理部10での暗号化処理により生成した暗号文データW1が一時記憶される。また、時刻T06において、暗号部12により生成された暗号文データE2がレジスタ13に記憶される。
以下、同様に、バッファ32での領域BL4の領域が選択されると、平文データR3に対応した暗号文データE3が生成されるとともに、バッファ32の領域BL2には、レジスタ13に記憶した暗号文データE2が暗号文データW2として、バッファ32の領域BL2に書き込まれる。
このようにして、HDD50からの転送単位の平文データR1からR3までに対する暗号化処理が実行され、時刻T09において、暗号化処理により生成された暗号文データW1、およびW2がバッファ32に格納される。バッファ32に格納された暗号文データW1、およびW2は、暗復号制御部31の制御により、バッファ32から読み出され、共通バス41を介して、供給先の外部メモリ60に転送され、外部メモリ60に暗号文データが記録される。なお、このとき、平文データR3に対応した暗号文データE3は、次の転送単位の暗号化処理まで、レジスタ13に記憶される。
また、先頭ブロックを含む暗号文データW1、およびW2がバッファ32から読み出され、外部メモリ60にこの暗号文データW1、およびW2が記録されると、次に、暗復号制御部31の制御により、転送単位の平文データR4からR6までが、HDD50からバッファ32に転送され、バッファ32に書き込まれる。すなわち、図4に示すように、時刻T10から時刻T11までにおいて、平文データR4、R5、R6が、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。その後、時刻T13において、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、まず、この領域BL2に格納された平文データR4を読み込む。このとき、平文データR4は、暗号化チェーンにおける先頭ブロックではないため、エクスクルーシブオア回路11により、平文データR4とレジスタ13に記憶される前回の処理で生成した暗号文データE3との排他的論理和演算R4*E3が実行され、さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE4が生成される。この暗号文データE4は、時刻T14においてレジスタ13に記憶されるとともに、暗復号化処理部10は、この暗号文データE4の生成処理に並行して、レジスタ13に記憶した暗号文データE3を、暗号化処理により生成した暗号文データW3としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL1が選択され、その結果、領域BL1に暗号文データW3が書き込まれる。
以上のような処理をバッファ32に一時記憶した平文データR4、R5、R6に対して実行することにより、時刻T19において、暗号化処理により生成された暗号文データW3からW5までがバッファ32に格納される。
なお、上述したように、ブロックの終端に格納されているデータが暗復号処理の切れ目であるときは、暗復号化演算の終了後、レジスタ13、およびバッファ32に演算結果のデータが格納される。一方、ブロックの終端に格納されているデータが暗復号処理の切れ目ではない場合には、暗復号化演算の終了後は、レジスタ13に演算結果のデータが保持されたままとなり、次のデータの演算終了後、バッファ32に演算結果が格納される。また、暗復号処理の切れ目は、暗号化チェーンの終端、あるいは8バイトを単位とするような暗号化単位の切れ目を意味する。すなわち、図4において、平文データR6は、暗号化チェーンの終端であるため、図4の時刻T19において、平文データR6の演算結果である暗号文データE6が、レジスタ13、およびバッファ32の双方に格納される。
図4において、バッファ32に格納された暗号文データW3からW6までは、暗復号制御部31の制御により、バッファ32から読み出され、共通バス41を介して、供給先の外部メモリ60に転送され、外部メモリ60に暗号文データが記録される。
本実施の形態1のブロック暗復号回路が以上のような動作を繰り返すことにより、HDD50に記憶された平文データが、暗号化され、暗号化されたデータである暗号文データが外部メモリ60に記録される。
次に、本実施の形態1のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の動作について説明する。図5は、本発明の実施の形態1のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャートである。
図5では、HDD50からバッファ32に転送する転送単位としては、図4の場合と同様に3つのブロックで一つの転送単位とするが、暗号化チェーンに関しては、5つのブロックで一つの暗号化チェーンを構成するような一例を示している。すなわち、図5に示すように、平文データR1からR5までを一つ目の暗号化チェーン、平文データR6からR10までを次の暗号化チェーンとする平文データに対して、3つのブロックを一転送単位とする平文データR1からR3まで、次の平文データR4からR6までというように、HDD50からバッファ32に平文データが転送され、バッファ32に書き込まれる。暗復号化処理部10は、バッファ32に書き込まれた3つのブロックの平文データに対して、図5に示すようなタイミングで暗号化処理を実行する。
図5において、時刻T00から時刻T09までは、図4の場合と同様に、先頭ブロックの平文データR1を含む一転送単位の暗号化処理が実行される。この後、時刻T10から、次の転送単位における暗号化処理が行なわれる。すなわち、図5に示すように、時刻T10から時刻T11までにおいて、次の転送単位の平文データR4、R5、R6が、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。
その後、時刻T13において、暗復号制御部31の制御により、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、まず、この領域BL2に格納された平文データR4を読み込む。平文データR4は、暗号化チェーンの途中のブロックであるため、エクスクルーシブオア回路11により、平文データR4は、前回の暗号化処理でレジスタ13に記憶した暗号文データE3との排他的論理和演算R4*E3が行なわれる。さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE4が生成される。さらに、この暗号文データE4は、時刻T14においてレジスタ13に記憶されるとともに、暗復号化処理部10は、この暗号文データE4の生成処理に並行して、レジスタ13に記憶した暗号文データE3を、暗号化処理により生成した暗号文データW3としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL1が選択され、その結果、領域BL1に暗号文データW3が書き込まれる。
次に、時刻T15において、暗復号制御部31の制御により、バッファ32では領域BL3の領域が選択され、暗復号化処理部10は、この領域BL3に格納された平文データR5を読み込む。次に、エクスクルーシブオア回路11により、平文データR5と、前回の暗号化処理でレジスタ13に記憶した暗号文データE4との排他的論理和演算R5*E4が行なわれる。さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE5が生成され、この暗号文データE5は、時刻T16においてレジスタ13に記憶されるとともに、暗復号化処理部10は、この暗号文データE5の生成処理に並行して、レジスタ13に記憶した暗号文データE4を、暗号化処理により生成した暗号文データW4としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL2が選択され、領域BL2に暗号文データW4が書き込まれる。
さらに、時刻T16においては、領域BL2に暗号文データW4が書き込まれるとともに、先に領域BL3から読み込んだ平文データR5は、暗号化チェーンの最終端のブロックであり、暗復号処理の切れ目となるため暗号文データE5が、レジスタ13、およびバッファ32の双方に格納される。このため、平文データR5に対応する暗号文データE5が、暗号文データW5としてバッファ32の領域BL3に書き込まれる。
すなわち、図5に示すように、バッファ32の領域BL3に一時記憶した平文データR5は、時刻T15から時刻T16までの期間で読み込まれ、時刻T16において、領域BL3に暗号文データW5が書き込まれることとなる。このため、領域BL3から読み込んだ平文データR5のように、暗号化チェーンの最終端のブロックであっても、平文データを読み込む前に生成した暗号文データを上書きするような動作となるなどの不都合はなく暗号化処理を継続することができる。このように、HDD50から転送される平文データの暗号化チェーンの切れ目であっても、暗号文データが平文データを上書きするような不都合が生じることなく、円滑な暗復号化処理を可能としている。
(実施の形態2)
図6は、本発明の実施の形態2におけるブロック暗復号回路の暗復号化処理方法に基づいた動作タイミングを示すタイミングチャートである。なお、本実施の形態2において、ブロック暗復号回路の構成は実施の形態1と同様であるため詳細な説明は省略する。
以下、図6を用いて本実施の形態2における暗復号化処理方法に基づくブロック暗復号回路の動作について説明する。図6に示したタイミングに基づく暗復号化処理方法では、HDD50からは、R1、R2、R3とするようなブロック単位の順番で、R1からR7までのように7ブロックを一つの暗号化チェーンとし、暗号化チェーンの先頭のときは、R1からR4までと、バッファ32のブロック数に等しい4ブロックを一つの転送単位とし、暗号化チェーンの先頭以外のときは、例えばR5からR7までと、バッファ32のブロック数よりも1ブロック少ない3ブロックを一つの転送単位として、平文データがブロック暗復号回路に供給され、本実施の形態2のブロック暗復号回路により平文データから暗号文データが生成される一例を挙げている。
CPU40からの指示により、ブロック暗復号回路における暗号化処理が開始されると、暗復号制御部31は、図6に示すような手順で暗号化処理の制御を行なう。すなわち、処理が開始されると、暗復号制御部31の制御により、暗号化チェーンの先頭における転送単位の平文データR1からR4までが、HDD50からバッファ32に転送され、バッファ32に書き込まれる。このとき、バッファ32の記憶容量と転送される平文データとは、どちらも4ブロックであるため、図6に示すように、平文データR1が領域BL1に、平文データR2が領域BL2に、平文データR3が領域BL3に、平文データR4が領域BL4に書き込まれる。
バッファ32に平文データR1からR4までが書き込まれると、暗復号化処理部10は、R1、R2、R3、R4と順番にブロック単位で暗号化処理を実行する。また、暗復号化処理部10で生成された暗号文データは、上述したように、ブロック単位でバッファ32に格納され、バッファ32に所定のブロック数の暗号文データが格納されると、バッファ32に格納された暗号文データの読み出し処理が実行され、読み出された暗号文データは供給先である外部メモリ60に転送される。このようにして、転送単位の暗号化処理が実行される。
暗復号化処理部10は、転送単位毎に次に説明するような動作を実行する。すなわち、ブロック暗復号回路の処理が開始された後、暗号化処理に先立ち、図6に示すように、時刻T00から時刻T01までにおいて、平文データR1、R2、R3、R4が、BL1、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。次に、時刻T01において、暗復号制御部31の制御により、バッファ32では領域BL1の領域が選択され、暗復号化処理部10は、まず、この領域BL1に格納された平文データR1を読み込む。このとき、平文データR1は、暗号化チェーンにおける先頭ブロックであるため、エクスクルーシブオア回路11により、平文データR1と初期値データIVとの排他的論理和演算R1*IVが行なわれ、さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE1が生成される。さらに、この暗号文データE1は、時刻T02においてレジスタ13に記憶される。
次に、時刻T03において、暗復号制御部31の制御により、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、この領域BL2に格納された平文データR2を読み込む。さらに、暗復号化処理部10は、エクスクルーシブオア回路11により、読み込んだ平文データR2とレジスタ13に記憶した暗号文データE1との排他的論理和演算R2*E1を実行し、暗号部12により排他的論理和演算結果に対して暗号化処理を施して、暗号文データE2を生成する。一方、暗復号化処理部10は、この暗号文データE2の生成処理に並行して、レジスタ13に記憶した暗号文データE1を、暗号化処理により生成した暗号文データW1としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL1が選択され、その結果、領域BL1に暗号文データW1が書き込まれる。このようにして、時刻T04において、バッファ32の領域BL1には、暗復号化処理部10での暗号化処理により生成した暗号文データW1が一時記憶される。また、時刻T04において、暗号部12により生成された暗号文データE2がレジスタ13に記憶される。
以下、同様にして、HDD50からの転送単位の平文データR1からR4までに対する暗号化処理が実行され、時刻T09において、暗号化処理により生成された暗号文データW1、W2、およびW3がバッファ32に格納される。バッファ32に格納された暗号文データW1、W2、およびW3は、暗復号制御部31の制御により、バッファ32から読み出され、共通バス41を介して、供給先の外部メモリ60に転送され、外部メモリ60に暗号文データが記録される。なお、このとき、平文データR4に対応した暗号文データE4は、次の転送単位の暗号化処理まで、レジスタ13に記憶される。
また、先頭ブロックを含む暗号文データW1からW3までがバッファ32から読み出され、外部メモリ60に記録されると、次に、暗復号制御部31の制御により、先頭ブロックではない場合の転送単位の平文データR5からR7までが、HDD50からバッファ32に転送され、バッファ32に書き込まれる。すなわち、図6に示すように、時刻T10から時刻T11までにおいて、平文データR5、R6、R7が、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。その後、時刻T13において、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、まず、この領域BL2に格納された平文データR5を読み込む。このとき、平文データR5は、暗号化チェーンにおける先頭ブロックではないため、エクスクルーシブオア回路11により、平文データR5とレジスタ13に記憶される前回の処理で生成した暗号文データE4との排他的論理和演算R5*E4が実行され、さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE5が生成される。この暗号文データE5は、時刻T14においてレジスタ13に記憶されるとともに、暗復号化処理部10は、この暗号文データE5の生成処理に並行して、レジスタ13に記憶した暗号文データE4を、暗号化処理により生成した暗号文データW4としてバッファ32へと送出する。このとき、暗号文データを書き込む領域として、先頭領域に対応した領域BL1が選択され、その結果、領域BL1に暗号文データW4が書き込まれる。
以上のような処理をバッファ32に一時記憶した平文データR5、R6、R7に対して実行することにより、時刻T19において、暗号化処理により生成された暗号文データW4からW7までがバッファ32に格納される。なお、平文データR7は暗号化チェーンの終端であるため、暗号文データW7もこのように、時刻T19において、バッファ32に格納される。バッファ32に格納された暗号文データW4からW7までは、暗復号制御部31の制御により、バッファ32から読み出され、共通バス41を介して、供給先の外部メモリ60に転送され、外部メモリ60に暗号文データが記録される。
ブロック暗復号回路は、以上のような本実施の形態2における暗復号化処理方法に従った動作を繰り返すことにより、HDD50に記憶された平文データが、暗号化され、暗号化されたデータである暗号文データが外部メモリ60に記録される。
次に、本実施の形態2のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の動作について説明する。図7は、本発明の実施の形態2のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャートである。
図7では、HDD50からバッファ32に転送する転送単位としては、図6の場合と同様に、暗号化チェーンの先頭のときは、R1からR4までと、バッファ32のブロック数に等しい4ブロックを一つの転送単位とし、暗号化チェーンの先頭以外のときは、例えばR5からR7までと、バッファ32のブロック数よりも少ない3ブロックを一つの転送単位とするが、暗号化チェーンに関しては、5つのブロックで一つの暗号化チェーンを構成するような一例を示している。すなわち、図7に示すように、平文データR1からR5までを一つ目の暗号化チェーン、平文データR6からR10までを次の暗号化チェーンとする平文データに対して、暗号化チェーンの先頭のときは、4つのブロックを一転送単位とする平文データR1からR4まで、暗号化チェーンの先頭以外のときは、平文データR5からR7までというように、HDD50からバッファ32に平文データが転送され、バッファ32に書き込まれる。暗復号化処理部10は、バッファ32に書き込まれたブロック単位の平文データに対して、図7に示すようなタイミングで暗号化処理を実行する。
図7において、時刻T00から時刻T09までは、図6の場合と同様に、先頭ブロックの平文データR1を含む転送単位の暗号化処理が実行される。この後、時刻T10から、次の転送単位における暗号化処理が行なわれる。すなわち、図7に示すように、時刻T10から時刻T11までにおいて、次の転送単位の平文データR5、R6、R7が、BL2、BL3、BL4で示すバッファ32のそれぞれの領域に格納される。
その後、時刻T13において、暗復号制御部31の制御により、バッファ32では領域BL2の領域が選択され、暗復号化処理部10は、まず、この領域BL2に格納された平文データR5を読み込む。さらに、平文データR5とレジスタ13に記憶し続けた暗号文データE4との排他的論理和演算R5*E4が行なわれ、さらに、暗号部12により排他的論理和演算結果に対して暗号化処理が施されて、暗号文データE5が生成される。この暗号文データE5は、時刻T14においてレジスタ13に記憶される。これと並行して、レジスタ13に前回から記憶し続けた暗号文データE4も、時刻T14において、バッファ32に転送され、領域BL1に格納される。さらに、上述のレジスタ13に記憶した暗号文データE5は、暗号化チェーンの終端の平文データR5に対する暗号文データであるため、この暗号文データE5が、時刻T14においてレジスタ13に記憶されるとともに、この暗号文データE5は、暗号文データW5としてバッファ32へと送出され、領域BL2にも書き込まれる。
このように、平文データR6が暗復号化処理部10に供給される前に暗号文データW5がバッファ32に書き込まれることとなるが、図7に示すように、平文データR6はバッファ32のBL3に記憶されており、一方、暗号文データW5はバッファ32のBL2に書き込まれる。このため、領域BL2から読み込んだ平文データR5のように、暗号化チェーンの最終端のブロックであっても、平文データを読み込む前に生成した暗号文データを上書きするような動作となるなどの不都合はなく暗号化処理を継続することができる。このように、HDD50から転送される平文データの暗号化チェーンの切れ目であっても、暗号文データが平文データを上書きするような不都合が生じることなく、円滑な暗復号化処理を可能としている。
本発明は、例えば、光ディスクの一種であるDVD、あるいはメモリカードの一種であるSDメモリカードなど著作権保護に基づいて、映像や音声などのコンテンツデータを記録するときの暗号化装置や、あるいは映像や音声などの暗号化されたデータを復元するときの復号化装置などに利用することが可能である。
本発明の実施の形態1におけるブロック暗復号回路の暗復号化処理方法を利用した暗復号装置の一例を示す概略図 本発明の実施の形態1におけるブロック暗復号回路の暗号化処理に対応した構成を示すブロック図 本発明の実施の形態1におけるブロック暗復号回路の復号化処理に対応した構成を示すブロック図 本発明の実施の形態1のブロック暗復号回路の動作タイミングを示すタイミングチャート 本発明の実施の形態1のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャート 本発明の実施の形態2におけるブロック暗復号回路の暗復号化処理方法に基づいた動作タイミングを示すタイミングチャート 本発明の実施の形態2のブロック暗復号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャート 従来のCBCモードに対応したブロック暗号回路のブロック図 従来のブロック暗号回路の動作タイミングを示すタイミングチャート 従来のブロック暗号回路において、転送単位のブロック数と暗号化チェーンを構成するブロック数との比が整数倍関係とはならない場合の一例を示したタイミングチャート
符号の説明
10 暗復号化処理部
11,21,911 エクスクルーシブオア回路
12,912 暗号部
13,23,913 レジスタ
14,24 初期値レジスタ
15,25 マルチプレクサ回路
22 復号部
31 暗復号制御部
32,932 バッファ
40,940 CPU
41,941 共通バス
50 HDD
51,61 I/F部
60 外部メモリ
100 LSI
910 暗号化処理部
931 暗号制御部
950 供給元メモリ
960 供給先メモリ

Claims (14)

  1. 先頭ブロックを先頭に複数のブロックにより暗号化のためにチェーン化されて、供給元から供給される平文データを、暗号化し、暗号化されたデータを暗号文データとして供給先に供給する暗号化処理方法であって、
    前記平文データを、供給元から、所定のブロック数を転送単位とする転送手順に従ったデータサイズで転送するステップと、
    前記転送単位で転送された平文データを、ブロック数Mのデータが格納可能なバッファサイズを有したバッファに格納するステップと、
    バッファに格納された平文データをブロック単位で読み出し、前記読み出した平文データのブロックがチェーンの先頭ブロックであるとき、初期データと読み出した平文データとの演算を含む演算処理により暗号文データを生成し、前記読み出した平文データのブロックがチェーンの先頭ブロック以外のとき、1ブロック前に生成した暗号文データと読み出した平文データとの演算を含む演算処理により暗号文データを生成するステップと、
    前記生成した暗号文データをブロック単位で前記バッファに書き込むステップと、
    前記バッファに格納された各ブロックの平文データに対応する暗号文データがそれぞれ前記バッファに書き込まれると、前記暗号文データを、供給先に転送するステップとを有し、
    前記平文データは、前記バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位とする転送を含む前記転送手順で、前記バッファに転送されることを特徴とする暗号化処理方法。
  2. 前記バッファに空きブロック領域を設け、
    前記バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位として前記平文データを転送するときには、前記平文データを、空きブロック領域以外の領域に転送し、前記生成した暗号文データを、前記バッファの空きブロック領域から前記平文データが格納されたブロック領域へと順番に、ブロック単位で前記バッファに書き込むことを特徴とする請求項1記載の暗号化処理方法。
  3. 前記バッファには、1ブロック分のデータを格納することができる前記空き領域を設けたことを特徴とする請求項2記載の暗号化処理方法。
  4. 前記平文データを前記バッファに転送する転送手順は、
    前記平文データの転送を開始するとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記生成した暗号文データを、前記バッファの空きブロック領域から前記平文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも2ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも2ブロック分少ないブロック数の前記暗号文データがバッファに書き込まれると、前記暗号文データを、供給先に転送し、
    前記平文データの転送の開始以外のとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記生成した暗号文データを、前記バッファの空きブロック領域から前記平文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記暗号文データがバッファに書き込まれると、前記暗号文データを、供給先に転送することを特徴とする請求項3記載の暗号化処理方法。
  5. 前記ブロック数MのMは、3以上の整数であることを特徴とする請求項4記載の暗号化処理方法。
  6. 前記平文データを前記バッファに転送する転送手順は、
    前記平文データの転送を開始するとき、前記バッファのバッファサイズであるブロック数Mを転送単位として、前記バッファの各領域に転送し、前記生成した暗号文データを、前記平文データが格納された各ブロック領域に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記暗号文データがバッファに書き込まれると、前記暗号文データを、供給先に転送し、
    前記平文データの転送の開始以外のとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記生成した暗号文データを、前記バッファの空きブロック領域から前記平文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記暗号文データがバッファに書き込まれると、前記暗号文データを、供給先に転送することを特徴とする請求項3記載の暗号化処理方法。
  7. 前記ブロック数MのMは、2以上の整数であることを特徴とする請求項6記載の暗号化処理方法。
  8. 先頭ブロックを先頭に複数のブロックにより暗号化のためにチェーン化されて、供給元から供給される暗号文データを、復号化し、復号化されたデータを平文データとして供給先に供給する復号化処理方法であって、
    前記暗号文データを、供給元から、所定のブロック数を転送単位とする転送手順に従ったデータサイズで転送するステップと、
    前記転送単位で転送された暗号文データを、ブロック数Mのデータが格納可能なバッファサイズを有したバッファに格納するステップと、
    バッファに格納された暗号文データをブロック単位で読み出し、前記読み出した暗号文データのブロックがチェーンの先頭ブロックであるとき、初期データと読み出した暗号文データを復号化したデータとの演算を含む演算処理により平文データを復元し、前記読み出した暗号文データのブロックがチェーンの先頭ブロック以外のとき、1ブロック前に読み出した暗号文データと読み出した暗号文データを復号化したデータとの演算を含む演算処理により平文データを復元するステップと、
    前記復元した平文データをブロック単位で前記バッファに書き込むステップと、
    前記バッファに格納された各ブロックの暗号文データに対応する平文データがそれぞれ前記バッファに書き込まれると、前記平文データを、供給先に転送するステップとを有し、
    前記暗号文データは、前記バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位とする転送を含む前記転送手順で、前記バッファに転送されることを特徴とする復号化処理方法。
  9. 前記バッファに空きブロック領域を設け、
    前記バッファのバッファサイズであるブロック数Mよりも少ないブロック数を転送単位として前記暗号文データを転送するときには、前記暗号文データを、空きブロック領域以外の領域に転送し、前記生成した平文データを、前記バッファの空きブロック領域から前記暗号文データが格納されたブロック領域へと順番に、ブロック単位で前記バッファに書き込むことを特徴とする請求項8記載の復号化処理方法。
  10. 前記バッファには、1ブロック分のデータを格納することができる前記空き領域を設けたことを特徴とする請求項9記載の復号化処理方法。
  11. 前記暗号文データを前記バッファに転送する転送手順は、
    前記暗号文データの転送を開始するとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記復元した平文データを、前記バッファの空きブロック領域から前記暗号文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも2ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも2ブロック分少ないブロック数の前記平文データがバッファに書き込まれると、前記平文データを、供給先に転送し、
    前記暗号文データの転送の開始以外のとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記復元した平文データを、前記バッファの空きブロック領域から前記暗号文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記平文データがバッファに書き込まれると、前記平文データを、供給先に転送することを特徴とする請求項10記載の復号化処理方法。
  12. 前記ブロック数MのMは、3以上の整数であることを特徴とする請求項11記載の復号化処理方法。
  13. 前記暗号文データを前記バッファに転送する転送手順は、
    前記暗号文データの転送を開始するとき、前記バッファのバッファサイズであるブロック数Mを転送単位として、前記バッファの各領域に転送し、前記復元した平文データを、前記暗号文データが格納された各ブロック領域に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記平文データがバッファに書き込まれると、前記平文データを、供給先に転送し、
    前記暗号文データの転送の開始以外のとき、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数を転送単位として、前記空きブロック領域以外の領域に転送し、前記復元した平文データを、前記バッファの空きブロック領域から前記平文データが格納されたブロック領域へと順番に、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数をバッファに書き込み、前記バッファのバッファサイズであるブロック数Mよりも1ブロック分少ないブロック数の前記平文データがバッファに書き込まれると、前記平文データを、供給先に転送することを特徴とする請求項10記載の復号化処理方法。
  14. 前記ブロック数MのMは、2以上の整数であることを特徴とする請求項13記載の復号化処理方法。
JP2005150394A 2005-05-24 2005-05-24 暗号化処理方法、および復号化処理方法 Pending JP2006330126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005150394A JP2006330126A (ja) 2005-05-24 2005-05-24 暗号化処理方法、および復号化処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005150394A JP2006330126A (ja) 2005-05-24 2005-05-24 暗号化処理方法、および復号化処理方法

Publications (1)

Publication Number Publication Date
JP2006330126A true JP2006330126A (ja) 2006-12-07

Family

ID=37551901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005150394A Pending JP2006330126A (ja) 2005-05-24 2005-05-24 暗号化処理方法、および復号化処理方法

Country Status (1)

Country Link
JP (1) JP2006330126A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044481A (ja) * 2007-08-09 2009-02-26 Ricoh Co Ltd データ処理装置及び画像形成装置
US8321659B2 (en) 2007-02-15 2012-11-27 Fujitsu Limited Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data transfer controlling apparatus
US8478984B2 (en) 2007-02-15 2013-07-02 Fujitsu Limited Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
JP2014241654A (ja) * 2014-10-02 2014-12-25 株式会社ユニバーサルエンターテインメント 通信用システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321659B2 (en) 2007-02-15 2012-11-27 Fujitsu Limited Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data transfer controlling apparatus
US8478984B2 (en) 2007-02-15 2013-07-02 Fujitsu Limited Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
JP2009044481A (ja) * 2007-08-09 2009-02-26 Ricoh Co Ltd データ処理装置及び画像形成装置
JP2014241654A (ja) * 2014-10-02 2014-12-25 株式会社ユニバーサルエンターテインメント 通信用システム

Similar Documents

Publication Publication Date Title
JP4060271B2 (ja) コンテンツ処理装置およびコンテンツ保護プログラム
KR100683342B1 (ko) 디지털 데이터 기록장치, 디지털 데이터 메모리장치, 및제한정보를 포함하는 관리정보를 각 관리정보 송신/수신세션 내의 상이한 키를 이용하여 변환하는 디지털 데이터이용장치
US8495365B2 (en) Content processing apparatus and encryption processing method
EP2352251A1 (en) Content decoding apparatus, content decoding method and integrated circuit
JPH03261987A (ja) ファイル暗号化方法およびファイル暗号システム
JP2003115830A (ja) 情報記録装置及び情報記録再生装置
JP2004226969A (ja) 暗号システム及び多様なモードを支援する方法
JP4585460B2 (ja) 同一コンテンツから派生した形式の異なるコンテンツを複数個所で同時に利用することを防ぐ記憶装置、システム及び方法
US7869595B2 (en) Content copying device and content copying method
WO2005067198A1 (ja) 情報処理装置
KR101117588B1 (ko) 암호화 표시정보를 갖는 기록매체
JP2003218850A (ja) コンテンツ記録再生装置
JP3682840B2 (ja) コンテンツ情報記録方法及びコンテンツ情報記録装置
JP2006330126A (ja) 暗号化処理方法、および復号化処理方法
JP2003044361A (ja) データ保存再生システム、データ保存装置、データ再生装置、データ保存再生方法、プログラム、および媒体
WO2007074819A1 (ja) コンテンツデータ記録再生装置
JP3881513B2 (ja) データ記録装置及びデータ記録方法
US20080260157A1 (en) Recording Apparatus and Recording Medium
KR100602980B1 (ko) 기록 재생 장치 및 영상 음성 신호 기록 재생 장치
KR20080112082A (ko) 데이터 암호화방법, 암호화데이터 재생방법
JPH1185621A (ja) 記録データ暗号化装置
JP3739456B2 (ja) データ再生システム、可換型記録媒体およびデータ再生方法
US20100250961A1 (en) Control device
JP4867935B2 (ja) 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム
JP2004109177A (ja) コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法