(57)【要約】【課題】可変長のブロック暗号回路において、構成を簡単化するとともに、ホストコンピュータの負担を軽くする。【解決手段】平文メモリ１１と、原データをブロック単位で暗号化処理あるいは復号化処理する暗号化回路１３とを設ける。外部から原データを平文メモリ１１に転送する。この転送された原データを、暗号化回路１３に供給してブロック単位で暗号化処理あるいは復号化処理する。この処理結果のデータを、平文メモリ１１の原データと置換する。平文メモリ１１に転送された原データのすべてが処理結果のデータに置換されたとき、この処理結果のデータを外部に出力する。【選択図】　　　　図１
2004126323.tif 000002
【特許請求の範囲】
【請求項１】
外部からのデータを第１のメモリに転送し、
この第１のメモリに転送されたデータを第２のメモリに転送し、
この第２のメモリに蓄積されたデータを所定のブロック単位で暗号化処理し、
この暗号化処理されたデータを上記第２のメモリに転送し、
上記第２のメモリに蓄積されている上記暗号化処理されたデータが、上記ブロック単位の整数倍になったとき、当該暗号化処理されたデータを上記第１のメモリに転送する
ようにしたブロック暗号方法。
【請求項２】
請求項１に記載のブロック暗号方法において、
上記データを、上記ブロック単位の整数倍の単位で上記第１のメモリから第２のメモリに転送する
ようにしたブロック暗号方法。
【請求項３】
請求項１に記載のブロック暗号方法において、
上記第１のメモリから上記第２のメモリに転送されたデータを初期値あるいは１つ前の暗号化処理されたデータと演算処理してから暗号化処理する
ようにしたブロック暗号方法。
【請求項４】
外部からの暗号化されたデータを第１のメモリに転送するステップと、
上記暗号化されたデータを上記第１のメモリから第２のメモリに転送するステップと、
上記第２のメモリに蓄積された暗号化されたデータを所定のブロック単位で復号処理するステップと、
上記復号処理されたデータを上記第２のメモリに転送するステップと、
上記復号処理されたデータが上記ブロック単位の整数倍となったとき、当該復号されたデータを上記第１のメモリに転送するステップと
からなるブロック復号方法。
【請求項５】
請求項４に記載のブロック復号方法において、
上記暗号化されたデータを、上記ブロック単位の整数倍の単位で上記第１のメモリから第２のメモリに転送する
ようにしたブロック復号方法。
【請求項６】
請求項４に記載のブロック復号方法において、
上記第１のメモリから上記第２のメモリに転送された暗号化されたデータを初期値あるいは１つ前の暗号化されたデータと演算処理してから暗号化処理する
ようにしたブロック復号方法。
【請求項７】
メモリと、
このメモリに蓄積されたデータをブロック単位で暗号化処理する暗号化回路とを有し、
外部から転送されたデータを上記メモリに蓄積した後、上記暗号化回路に供給してブロック単位で暗号化処理し、
その暗号化処理されたデータを上記メモリに蓄積し、
上記暗号化処理されたデータが上記ブロック単位の整数倍になったとき、当該暗号化処理されたデータを外部に出力する
ようにしたブロック暗号回路。
【請求項８】
請求項７に記載のブロック暗号回路において、
上記データと初期値あるいは１つ前の暗号化されたデータと演算処理してから暗号化処理する
ようにしたブロック暗号回路。
【請求項９】
暗号文データを蓄積するためのメモリと、
このメモリに蓄積された暗号文データをブロック単位で復号化処理する復号化回路と
を有し、
外部から転送された暗号文データを上記メモリに蓄積した後、ブロック単位で上記復号化回路に供給して復号化処理し、
その復号化処理されたデータを上記メモリに蓄積し、
上記復号化処理されたデータが上記ブロック単位の整数倍になったとき、その復号化処理されたデータを外部に出力する
ようにしたブロック復号回路。
【請求項１０】
請求項９に記載のブロック復号回路において、
上記暗号文データと初期値あるいは１つ前の復号化されたデータとを演算処理してから復号化処理をする
ようにしたブロック復号回路。
【請求項１１】
外部からのデータを蓄積する第１のメモリと、
第１のメモリと第２のメモリとの間でデータの送受信を行う通信回路と、
この通信回路を通じて上記第１のメモリから送信されたデータを蓄積する第２のメモリと、
この第２のメモリに蓄積されたデータを所定のブロック単位で暗号化処理し、上記第２のメモリに送信する暗号化回路と、
上記暗号化回路により暗号化処理されたデータが上記ブロック単位の整数倍となったとき、当該暗号化されたデータを上記第１のメモリに転送させるように上記第２のメモリを制御するメモリ制御回路と
からなる暗号装置。
【請求項１２】
請求項１１に記載の暗号装置において、
上記メモリ制御回路は、上記データを上記ブロック単位の整数倍の単位で上記第１のメモリから上記第２のメモリに送信させる
ようにした暗号装置。
【請求項１３】
外部からの暗号文データを蓄積する第１のメモリと、
この第１のメモリと第２のメモリとの間で上記暗号文データの送受信を行う通信回路と、
この通信回路により上記第１のメモリから送信された暗号文データを蓄積する第２のメモリと、
この第２のメモリに蓄積された暗号文データを所定のブロック単位で復号化処理し、上記第２のメモリに送信する復号化回路と、
この復号化回路により復号化処理された平文データが上記ブロック単位の整数倍となったとき、当該復号化された平文データを上記第１のメモリに転送させるように上記第２のメモリを制御するメモリ制御回路と
からなる復号装置。
【請求項１４】
請求項１３に記載の復号装置において、
上記メモリ制御回路は、上記暗号文データを上記ブロック単位の整数倍の単位で上記第１のメモリから上記第２のメモリに送信させる
ようにした復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ブロック暗号方法、ブロック暗号回路、暗号装置、ブロック復号方法、ブロック復号回路および復号装置に関する。
【０００２】
【従来の技術】
平文データを暗号化する方法として、平文データの例えば６４ビットを１ブロックとし、このブロック単位で暗号化をするブロック暗号処理法がある。そして、このブロック暗号処理は、ブロックおよび鍵の使い方によって、ＥＣＢ、ＣＢＣ、ＯＦＢ、ＣＦＢの４つのモードに分類することができる。
【０００３】
そして、ＣＢＣモードにおいてはブロック連鎖暗号化処理が行われるが、このＣＢＣモードのブロック暗号回路を、データの流れを中心にして示すと、図５に示すとおりである。
【０００４】
すなわち、平文データの第１番目のブロック１Ａと、初期値（初期化ベクトル）ＩＶとがイクスクルーシブオア回路２Ａに供給され、その出力が暗号化回路３Ａに供給されて秘密鍵により暗号文データの第１番目のブロック４Ａが作成される。次に、平文データの第２番目のブロック１Ｂと、第１番目の暗号文データ４Ａとがイクスクルーシブオア回路２Ｂに供給され、その出力が暗号化回路３Ｂに供給されて秘密鍵により暗号文データの第２番目のブロック４Ｂが作成される。さらに、平文データの第３番目のブロック１Ｃと、第２番目の暗号文データ４Ｂとがイクスクルーシブオア回路２Ｃに供給され、その出力が暗号化回路３Ｃに供給されて秘密鍵により暗号文データの第３番目のブロック４Ｃが作成される。
【０００５】
そして、以下同様に、平文データの第ｎ番目のブロックと、１つ前の第（ｎ−１）番目の暗号文データとのイクスクルーシブオア出力が秘密鍵により暗号化されて暗号文データの第ｎ番目のブロックが作成される（例えば、特許文献１参照）。
【０００６】
こうして、図５のブロック暗号回路によれば、平文データをＣＢＣモードにより暗号化することができる。また、図６に示すように、信号の流れを逆にするとともに、回路３Ａ、３Ｂ、３Ｃ、・・を復号化回路として使用すれば、暗号文データを平文データに復号化することができる。
【０００７】
なお、図５はデータの流れを中心にして示すものであり、実際のブロック暗号回路においては、イクスクルーシブオア回路２Ａ、２Ｂ、２Ｃ、・・・は、このブロック暗号回路を使用するホストコンピュータのソフトウェア処理により実現される。さらに、暗号化回路３Ａ、３Ｂ、３Ｃ、・・・は、ハードウェアにより構成されるが、そのうちの１つだけが設けられ、その暗号化回路が、平文データのブロック１Ａ、１Ｂ、１Ｃ、・・・および暗号文データのブロック４Ａ、４Ｂ、４Ｃ、・・・に対して共通に使用される。
【０００８】
また、イクスクルーシブオア回路２Ａ、２Ｂ、２Ｃ、・・・などにおける処理を変更することにより、ＥＣＢモードのブロック暗号処理などを実現することができるので、イクスクルーシブオア回路２Ａ、２Ｂ、２Ｃ、・・・などにおける処理は、モード処理とも呼ばれている。
【０００９】
【特許文献１】
特開２０００−３３８８６６
【００１０】
【発明が解決しようとする課題】
ところで、音楽などのデジタルオーディオデータをディスクに記録して販売する場合に、不正コピーを防止するため、そのデジタルオーディオデータを暗号化してディスクに記録しておくことが考えられている。そして、その場合、図５により説明したブロック暗号化を適用することができる。
【００１１】
ところが、図５のブロック暗号回路においては、コンピュータがイクスクルーシブオア処理などのモード処理をする場合、例えば６４ビットずつブロック単位で処理をするので、平文データ（デジタルオーディオデータ）が長いとき、コンピュータに負担がかかってしまう。例えば、平文データの長さが２Ｋバイトであるとすれば、コンピュータはモード処理を２５６回（＝２Ｋバイト／６４ビット）実行する必要があり、コンピュータにとってかなりの負担となってしまう。
【００１２】
このため、ブロック暗号化されたディスクを再生するプレーヤの場合、システム制御用のマイクロコンピュータとは別に、復号化用のマイクロコンピュータを必要としたり、あるいはシステム制御用兼暗号化用のマイクロコンピュータとして処理能力の高いものが必要になってしまう。
【００１３】
この発明は、このような点にかんがみ、コンピュータの負担が軽く、しかも、簡単な構成で任意の長さの平文データに対応できるブロック暗号回路を提供しようとするものである。
【００１４】
【課題を解決するための手段】
この発明においては、例えば、
平文メモリと、
原データをブロック単位で暗号化処理あるいは復号化処理する暗号化回路と
を有し、
外部から上記原データを上記平文メモリに転送し、
この平文メモリに転送された原データを、上記暗号化回路に供給してブロック単位で暗号化処理あるいは復号化処理し、
この処理結果のデータを、上記平文メモリの原データと置換し、
上記平文メモリに転送された上記原データのすべてが上記処理結果のデータに置換されたとき、この処理結果のデータを外部に出力する
ようにしたブロック暗号回路
とするものである。
したがって、ホストコンピュータは、平文データあるいは暗号文データを平文メモリの容量単位でアクセスすることになる。
【００１５】
【発明の実施の形態】
▲１▼　ブロック暗号回路の構成および処理内容
図１において、符号１０は、この発明によるブロック暗号回路を全体として示し、符号２０は、ブロック暗号回路１０を使用するホストコンピュータを示す。
【００１６】
そして、ブロック暗号回路１０は、平文メモリ１１と、データコントロール回路１２と、暗号化回路１３とを有する。この場合、平文メモリ１１は、平文データおよび暗号文データを暗号化あるいは復号化が終了するまで保持するためのものであり、平文データのブロックの複数個分の容量、例えば２Ｋバイト（＝６４ビット×２５６ブロック）の容量を有する。
【００１７】
また、データコントロール回路１２は、図５のイクスクルーシブオア回路２Ａに対応するイクスクルーシブオア回路１２Ａと、ラッチ回路１２Ｂとを有する。さらに、暗号化回路１３は、図５の暗号化回路３Ａに対応するものであるが、汎用のブロック暗号化回路により構成され、入力されたデータを１ブロック単位で暗号化するものである。なお、暗号化回路１３は暗号文データの復号化にも使用される。
【００１８】
さらに、ブロック暗号回路１０は、メモリコントロール回路１４と、初期値メモリ１５と、レジスタ１６とを有する。この場合、メモリコントロール回路１４は、平文メモリ１１の書き込み・読み出しおよびそのアドレスなどを制御するためのものである。また、メモリ１５は、ホストコンピュータ２０から供給される初期値ＩＶを保持するものであり、レジスタ１６は、ホストコンピュータ２０から供給されるモードフラグＣＢＣＦ、ＩＶフラグＩＶＦ、暗号フラグＣＲＹＦを保持するものである。
【００１９】
ここで、モードフラグＣＢＣＦは、暗号・復号モードをＣＢＣモードとＥＣＢモードとに切り換えるためのものであり、ＣＢＣモードで暗号化・復号化するときには、ＣＢＣＦ＝“１”とされ、ＥＣＢモードで暗号化・復号化するときには、ＣＢＣＦ＝“０”とされる。また、ＩＶフラグＩＶＦは、暗号化あるいは復号化するときに、初期値ＩＶの使用を制御するためのものであり、平文データあるいは暗号文データの第１番目のブロックを暗号化あるいは復号化するとき（初期値ＩＶを使用するとき）は、ＩＶＦ＝“１”とされ、第２番目以降のブロックを暗号化あるいは復号化するとき（初期値ＩＶを使用しないとき）は、ＩＶＦ＝“０”とされる。さらに、暗号フラグＣＲＹＦは、暗号化を行うときには、ＣＲＹＦ＝“１”とされ、復号化を行うときには、ＣＲＹＦ＝“０”とされる。
【００２０】
そして、暗号化回路１３はデータコントロール回路１２に接続され、残る回路１１、１２、１４〜１７は、ブロック暗号回路１０の内部バス１９を通じてコンピュータ２０に接続される。また、コンピュータ２０のメモリ２３には、暗号化する平文データあるいは復号化する暗号文データが用意される。この平文データあるいは暗号文データは、平文メモリ１１の容量よりも大きくてもよい。また、その平文データあるいは暗号文データが１ブロック６４ビットの整数倍ではないときには、最後にダミーデータが付加されて整数倍とされる。
【００２１】
そして、ブロック暗号回路１０は、ホストコンピュータ２０のメモリ２３に用意されている平文データあるいは暗号文データを暗号化処理あるいは復号化処理をするとき、例えば図２のフローチャート１００に示すような流れで、その処理を行うものである。これを以下に説明する。
【００２２】
▲１▼−１　ＣＢＣモードによる暗号化
ホストコンピュータ２０がブロック暗号回路１０をＣＢＣモードで使用して平文の暗号化をする場合には、フローチャート１００のステップ１０１として示すように、コンピュータ２０からメモリ１５に初期値ＩＶがロードされるとともに、レジスタ１６に“１”レベルのフラグＣＢＣＦ、ＩＶＦ、ＣＲＹＦがロードされる。続いて、ステップ１０２として示すように、メモリ２３に用意されている平文データのうち、最初の２Ｋバイトが平文メモリ１１に転送される。なお、この転送はメモリコントロール回路１４のＤＭＡ転送により実行される。
【００２３】
次に、ステップ１１１として示すように、平文メモリ１１の平文データのうち、第ｎ番目のブロック、今の場合、第１番目のブロックが指定され、さらに、ステップ１１２として示すように、データコントロール回路１２がレジスタ１６の暗号フラグＣＲＹＦをチェックすることにより、暗号化および復号化のどちらを行うのかが判別される。今の場合は、ＣＲＹＦ＝“１”で暗号化なので、処理の流れはステップ１１２からステップ１１３に進む。
【００２４】
そして、ステップ１１３として示すように、データコントロール回路１２がレジスタ１６のモードフラグＣＢＣＦをチェックすることにより、暗号化をＣＢＣモードとＥＣＢモードとのどちらで行うのかが判別される。今の場合は、ＣＢＣＦ＝“１”でＣＢＣモードなので、処理の流れはステップ１１３からステップ１１４に進む。そして、ステップ１１４として示すように、ＩＶフラグＩＶＦをチェックすることにより、ステップ１１１により指定されたブロックが、平文メモリ１１における平文データの第１番目のブロックであるかどうかが判別される。
【００２５】
そして、第１番目のブロックのときには（このとき、ＩＶＦ＝“１”である）、処理の流れはステップ１１４からステップ１１５に進み、このステップ１１５において、ステップ１１１により指定された第ｎ番目のブロック、今の場合、第１番目のブロックと、ステップ１０１によりメモリ１５にロードされた初期値ＩＶとが、イクスクルーシブオア回路１２Ａに供給される。さらに、このとき、ＩＶＦ＝“０”レベルとされる（したがって、以後、ステップ１１４が実行されたとき、処理の流れはステップ１１４からステップ１１６に進むことになる）。
【００２６】
また、ステップ１１４において、ステップ１１１により指定されたブロックが、平文メモリ１１における平文データの第２番目以降のブロックのときには（このとき、ＩＶＦ＝“０”である）、処理の流れはステップ１１４からステップ１１６に進み、このステップ１１６において、ステップ１１１により指定された第ｎ番目のブロックのデータと、１つ前の第（ｎ−１）番目の暗号化されたブロックのデータとが、イクスクルーシブオア回路１２Ａに供給される。こうして、ステップ１１５あるいは１１６により、イクスクルーシブオア出力が形成される。
【００２７】
そして、処理の流れはステップ１１５あるいは１１６からステップ１１７に進み、このステップ１１７において、ステップ１１５あるいは１１６のイクスクルーシブオア出力が、暗号化回路１３に供給されて暗号文データに暗号化され、平文メモリ１１のもとの平文データのブロックと置換される。次に、ステップ１１８として示すように、ステップ１１７により暗号化されたブロックがラッチ回路１２Ｂにラッチされる。このラッチされたイクスクルーシブオア出力は、上述のように、ステップ１１６において、１つ前の第（ｎ−１）番目のブロックのデータとして使用される。
【００２８】
続いて、ステップ１１９として示すように、平文メモリ１１のすべてのブロックに対してステップ１１７の暗号化処理が実行されたかどうかが判別され、暗号化処理のされていないブロックが残っているときには、処理の流れはステップ１１９からステップ１１１に戻る。こうして、平文メモリ１１の平文データは、１ブロックずつ暗号文データに暗号化されていく。
【００２９】
そして、平文メモリ１１のすべてのブロックに対してステップ１１７の暗号化処理が実行されたときには、処理の流れはステップ１１９からステップ１３１に進み、このステップ１３１において、平文メモリ１１に作成された暗号文データがコンピュータ２０のメモリ２３に転送される。なお、この転送もメモリコントロール回路１４のＤＭＡ転送により実行される。
【００３０】
以上で、コンピュータ２０のメモリ２３に用意されている平文データのうち、最初の２Ｋバイトが暗号化されたことになるので、これでフローチャート１００の処理はいったん終了する。そして、メモリ２３に用意されている平文データが２Ｋバイトよりも多く、したがって、暗号化されていない平文データが残っているときには、その残っている平文データに対してフローチャート１００の処理が繰り返される。
【００３１】
▲１▼−２　ＥＣＢモードによる暗号化
コンピュータ２０に用意されている平文データをＥＣＢモードで暗号化する場合にも、フローチャート１００の処理の流れとされるが、ステップ１０１におけるメモリ１５への初期値ＩＶのロードは行われない。また、レジスタ１６にロードされるモードフラグＣＢＣＦは“０”レベルとされる。
【００３２】
すると、フローチャート１００における処理の流れは、ステップ１１３からステップ１１７に進むので、イクスクルーシブオア回路１２Ａにおけるイクスクルーシブオア処理は実行されず、第ｎ番目の平文データのブロックは、そのブロックだけで暗号化回路１３により暗号化されることになる。したがって、ＥＣＢモードの暗号文データが得られることになる。
【００３３】
▲１▼−３　ＣＢＣモードによる復号化
コンピュータ２０がブロック暗号回路１０をＣＢＣモードで使用して暗号文の復号化をする場合には、フローチャート１００のステップ１０１として示すように、コンピュータ２０のメモリ２３からメモリ１５に初期値ＩＶがロードされ、さらに、レジスタ１６に、“１”レベルのフラグＣＢＣＦ、ＩＶＦがロードされるとともに、“０”レベルの暗号フラグＣＲＹＦがロードされる。
【００３４】
そして、ステップ１０２として示すように、コンピュータ２０のメモリ２３に用意されている暗号文データの最初の２Ｋバイトが平文メモリ１１に転送され、そのうちの第ｎ番目（今の場合はｎ＝１）のブロックが指定される。続いて、ステップ１１２として示すように、データコントロール回路１２がレジスタ１６の暗号フラグＣＲＹＦをチェックすることにより、暗号化および復号化のどちらを行うのかが判別され、今の場合、ＣＲＹＦ＝“０”で復号化なので、処理の流れはステップ１１２からステップ１２１に進む。
【００３５】
そして、ステップ１２１として示すように、平文メモリ１１の暗号文のうち、ステップ１１１により指定された第ｎ番目のブロックがラッチ回路１２Ｂにラッチされ、次に、ステップ１２２として示すように、平文メモリ１１の暗号文データのうち、ステップ１１１により指定された第ｎ番目のブロックが暗号化回路１３に供給されて平文データ（イクスクルーシブオア処理前の平文データ）に復号化される。なお、ラッチ回路１２Ｂにラッチされたブロックは、後述するように、第ｎ番目のブロック復号化データにイクスクルーシブオア処理をするとき、その１つ前の第（ｎ−１）番目のブロックとして使用される。
【００３６】
次に、処理の流れはステップ１２３に進み、データコントロール回路１２がレジスタ１６のモードフラグＣＢＣＦをチェックすることにより、復号化をＣＢＣモードおよびＥＣＢモードのどちらで行うのかが判別される。今の場合は、ＣＢＣＦ＝“１”でＣＢＣモードなので、処理の流れはステップ１２３からステップ１２４に進む。そして、ステップ１２４として示すように、ＩＶフラグＩＶＦをチェックすることにより、ステップ１１１により指定されたブロックが、平文メモリ１１における暗号文データの第１番目のブロックであるかどうかが判別される。
【００３７】
そして、第１番目のブロックのときには（このとき、ＩＶＦ＝“１”である）、処理の流れはステップ１２４からステップ１２５に進み、このステップ１２５において、ステップ１２２により復号化された平文データのブロックと、ステップ１０１によりメモリ１５にロードされた初期値ＩＶとが、イクスクルーシブオア回路１２Ａに供給されてもとの平文データとされ、この平文データが平文メモリ１１のもとの暗号文データのブロックと置換される。さらに、このとき、ＩＶＦ＝“０”レベルとされる。
【００３８】
また、ステップ１２４において、ステップ１１１により指定されたブロックが、平文メモリ１１における暗号文データの第２番目以降のブロックのときには（このとき、ＩＶＦ＝“０”である）、処理の流れはステップ１２４からステップ１２６に進む。そして、このステップ１２６において、ステップ１２２により復号化された平文データのブロックと、ステップ１２１によりラッチ回路１２Ｂにラッチされている１つ前の第（ｎ−１）番目のブロックのデータとが、イクスクルーシブオア回路１２Ａに供給されてもとの平文データとされ、この平文データが平文メモリ１１のもとの暗号文データのブロックの位置に書き込まれる。
【００３９】
そして、以後、▲１▼−１の暗号化時と同様、ステップ１１９以降の処理が実行され、平文メモリ１１の暗号文データは、１ブロックずつ平文データに復号されていき、平文メモリ１１のすべてのブロックに対しての復号化処理が実行されると、その平文データがコンピュータ２０のメモリ２３に転送される。
【００４０】
そして、コンピュータ２０のメモリ２３に、復号化されていない暗号文データが残っているときには、以上の処理が繰り返され、コンピュータ２０のメモリ２３に用意されているすべての暗号文データが復号化されたとき、すべての処理を終了する。
【００４１】
▲１▼−４　ＥＣＢモードによる復号化
コンピュータ２０に用意されている暗号文データをＥＣＢモードで復号化する場合には、ステップ１０１におけるメモリ１５への初期値ＩＶのロードは行われない。また、レジスタ１６にロードされるフラグＣＢＣＦ、ＣＲＹＦは“０”レベルとされる。
【００４２】
すると、フローチャート１００における処理の流れは、ステップ１２３からステップ１１９に進むので、イクスクルーシブオア回路１２Ａにおけるイクスクルーシブオア処理は実行されず、第ｎ番目の平文データのブロックは、そのまま平文メモリ１１のもとの暗号文データと置換されることになる。したがって、ＥＣＢモードの平文データが得られることになる。
【００４３】
▲１▼−５　まとめ
上述のようにして、平文データのブロック暗号化（および暗号文データのブロック復号化）が実行されるが、その場合、ホストコンピュータ２０は、平文データを平文メモリ１１の容量単位でブロック暗号回路１０にアクセスすればよいので、コンピュータ２０の負担が軽くなる。
【００４４】
すなわち、図５の暗号回路の場合には、ホストコンピュータは、１ブロック６４ビットごとに平文データの送信および暗号文データの受信を行う必要があり、その送信および受信の回数が多くなるので、ホストコンピュータの負担が大きくなるが、図１のブロック暗号回路１０の場合には、ホストコンピュータ２０は、例えば３２ブロック２Ｋバイトごとに平文データの送信および暗号文データの受信を行えばよく、その送信および受信回数が１／２５６（＝６４ビット／２Ｋバイト）と大幅に少なくなるので、ホストコンピュータ２０の負担が軽くなる。さらに、ホストコンピュータ２０が暗号化処理に必要とする時間も短縮することができる。
【００４５】
また、ホストコンピュータ２０は、ブロック暗号回路１０に平文データを送信した後は、ブロック暗号回路１０から暗号化データを受信するまで、ブロックのイクスクルーシブオア処理やブロックの管理などの処理をする必要がないので、この点からも負担が軽くなり、ホストコンピュータ２０は本来の処理に集中できる。例えば、ＣＤプレーヤなどに使用した場合には、そのシステム制御用のコンピュータがホストコンピュータ２０となるが、システム制御のための処理に集中できる。また、このことにより、特に携帯用の機器においては、システム制御用のコンピュータとして高度のものを使用する必要がなくなる。
【００４６】
さらに、暗号化する平文データの長さは、平文メモリ１１の容量の整数倍である必要がなく、任意の長さの平文データを暗号化することができる。すなわち、可変長のブロック暗号回路である。また、平文メモリー１１の容量を単位として暗号化処理および復号化処理を行うことができるので、連鎖暗号処理時における伝送誤りの影響を軽減することができる。しかも、以上の効果を得るために、特殊な回路を必要とすることがない。
【００４７】
▲２▼　記録再生装置
図３は、この発明をＣＤ−Ｒ／ＲＷ記録再生装置に適用した場合の一形態を示す。
【００４８】
すなわち、暗号化および復号化を必要としない記録時には、信号源、例えばマイクロフォン３１からのオーディオ信号がインターフェイス回路３３に供給されてデジタルオーディオデータにＡ／Ｄ変換され、このデジタルオーディオデータが、後述するマイクロコンピュータ４０のシステムバス４９を通じてディスクインターフェイス回路３４に供給されてエラー訂正用のエンコード処理および記録用のＥＦＭ変調処理が行われる。そして、このエンコード処理および変調処理の行われた信号が、ディスクドライブ装置３５に供給され、ＣＤ−ＲあるいはＣＤ−ＲＷなどのディスク３６に記録される。
【００４９】
また、再生時には、ドライブ装置３５によりディスク３６から信号が再生され、この再生信号がディスクインターフェイス回路３４に供給されて記録時とは相補の処理、すなわち、ＥＦＭ復調処理およびエラー訂正用のデコード処理が行われ、もとのデジタルオーディオデータが取り出される。そして、このデジタルオーディオデータがシステムバス４９を通じてインターフェイス回路３３に供給されてアナログのオーディオ信号にＤ／Ａ変換され、このオーディオ信号が所定の信号出力先、例えばスピーカ３２に供給される。
【００５０】
なお、デジタルオーディオデータ以外のデジタルデータをディスク３６に対して記録あるいは再生する場合には、そのためのエンコード処理やデコード処理などが必要となるが、それらの処理もディスクインターフェイス回路３４において実行される。
【００５１】
また、マイクロコンピュータ４０は、この記録再生装置全体の動作を制御するシステムコントロール回路を構成しているもので、ＣＰＵ４１、各種のプログラムおよびデータの書き込まれたＲＯＭ４２、ワークエリア用のＲＡＭ４３を有し、これらがシステムバス４９に接続される。さらに、▲１▼において説明したブロック暗号回路１０が、その内部バス１９を通じてシステムバス４９に接続される。なお、ＲＡＭ４３は、その一部のアドレスエリアがメモリ２３として使用される。
【００５２】
さらに、ユーザインターフェイスとして、各種の操作キー４４およびディスプレイ、例えばＬＣＤ４５もシステムバス４９に接続される。また、システムバス４９には、外部インターフェイスとしてＵＳＢインターフェイス回路４６が接続され、このＵＳＢインターフェイス回路４６に、外部機器として例えばパーソナルコンピュータ５０が接続される。
【００５３】
そして、オーディオ信号の暗号化および記録と、再生および復号化の処理が、以下のように行われる。
【００５４】
▲２▼−１　オーディオ信号の暗号化および記録
オーディオ信号を暗号化してディスク３６に記録する場合には、マイクロフォン３１からのオーディオ信号がインターフェイス回路３３に供給されてデジタルオーディオデータにＡ／Ｄ変換され、このデジタルオーディオデータがＲＡＭ４３にいったんバッファリングされてからブロック暗号回路１０に供給される。こうして、ＲＡＭ４３のデジタルオーディオデータは、ブロック暗号回路１０により例えば２Ｋバイトごとに▲１▼において説明したように暗号データにブロック暗号化される。
【００５５】
そして、このＲＡＭ４３の暗号データが、ディスクインターフェイス回路３４に供給されてエラー訂正用のエンコード処理および記録用のＥＦＭ変調処理が行われ、その後、ディスクドライブ装置３５に供給され、ディスク３６に記録される。
【００５６】
▲２▼−２　オーディオ信号の再生および復号化
ディスク３６に記録されているオーディオ信号を復号化して再生する場合には、ドライブ装置３５によりディスク３６から信号が再生され、この再生信号がディスクインターフェイス回路３４に供給されてもとの暗号データがデコードされて取り出される。そして、この暗号データが、ＲＡＭ４３にいったんバッファリングされてから例えば２Ｋバイトずつブロック暗号回路１０に供給され、▲１▼において説明したように、もとのデジタルオーディオデータにブロック復号化される。
【００５７】
そして、この復号化されたデジタルオーディオデータが、ＲＡＭ４３からインターフェイス回路３３に供給されてもとのアナログのオーディオ信号にＤ／Ａ変換され、このオーディオ信号が例えばスピーカ３２に供給される。
【００５８】
▲２▼−３　暗号データの再暗号化
これは、例えば、ディスク３６に暗号化されて記録されているオーディオ信号を、いったん復号化してから別の秘密鍵を使用して再び暗号化し、その再暗号文データをパーソナルコンピュータ５０に出力する場合である。また、以下は、復号化されたデジタルオーディオデータを、４Ｋバイトごと再暗号化する場合である。そして、この場合には、ＣＰＵ４１は、例えば図４に示すルーチン２００を実行する。
【００５９】
すなわち、ディスク３６の再生が開始されると、▲２▼−２と同様、ディスク３６からの再生信号が、ディスクインターフェイス回路３４によりもとの暗号文データにデコードされて出力されるが、ステップ２０１において、その暗号文データがＲＡＭ４３に順次書き込まれていく。このとき、ステップ２０２において、ＲＡＭ４３への暗号文データの書き込みが２Ｋバイトに達したかどうかが判別され、達していないときには、ステップ２０１により暗号文データのＲＡＭ４３への書き込みが続行される。
【００６０】
そして、ＲＡＭ４３に書き込まれた暗号文データが２Ｋバイトに達すると、ＣＰＵ４１の処理はステップ２０２からステップ２０３に進み、このステップ２０３において、フローチャート１００の処理が実行されてＲＡＭ４３の暗号文データは平文データ（デジタルオーディオデータ）に復号化され、次にステップ２０４において、ＲＡＭ４３における平文データが４Ｋバイトに達したかどうかが判別され、達していないときには、処理はステップ２０１に戻る。こうして、ＲＡＭ４３には、ディスク３６から再生された暗号文データが順次書き込まれていくとともに、その暗号文データは２Ｋバイトごとに平文データ（デジタルオーディオデータ）に復号化されていく。
【００６１】
そして、ＲＡＭ４３における平文データが４Ｋバイトに達すると、これがステップ２０４において判別され、処理はステップ２０４からステップ２１１に進み、このステップ２１１において、フローチャート１００の処理が実行され、ＲＡＭ４３の４Ｋバイトの平文データのうち、前半の２Ｋバイトの平文データが暗号文データに暗号化される。
【００６２】
続いて、処理はステップ２１２に進み、このステップ２１２において、再びフローチャート１００の処理が実行され、ＲＡＭ４３の４Ｋバイトの平文データのうち、後半の２Ｋバイトの平文データが暗号文データに暗号化される。なお、この場合、ステップ２１２におけるフローチャート１００の処理のときには、ステップ１０１の初期化は実行されず、ステップ２１１におけるフローチャート１００の処理のときのフラグＣＢＣＦ、ＩＶＦ、ＣＲＹＦの値がそのまま使用される。
【００６３】
そして、ステップ２１３において、ディスク３６の再生を終了するかどうかが判別され、終了しないときには、処理はステップ２１３からステップ２０１に戻り、ステップ２０１以降の処理が繰り返される。したがって、ＲＡＭ４３には、再暗号文データが４Ｋバイトずつ得られるが、この再暗号文データは、ＵＳＢインターフェイス回路４６を通じて例えばパーソナルコンピュータ５０が供給される。
【００６４】
こうして、ディスク３６に暗号化されて記録されているオーディオ信号は再暗号化されてパーソナルコンピュータ５０に出力されるが、この場合、フローチャート２００からも明かなように、マイクロコンピュータ４０は、暗号文データあるいは平文データの２Ｋバイトごとに処理を実行すればよいので、上記のようにディスク３６を再生しながらリアルタイムで処理を実行することができる。
【００６５】
▲３▼　その他
フローチャート１００において、ステップ１３１の処理が終了した場合に、メモリ２３に平文データが残っているとき、ステップ１３１に続いてステップ１０２から処理を繰り返すこともできる。
【００６６】
〔この明細書で使用している略語の一覧〕
Ａ／Ｄ　　：Ａｎａｌｏｇ　ｔｏ　Ｄｉｇｉｔａｌ
ＣＢＣ　　：Ｃｉｐｈｅｒ　Ｂｌｏｃｋ　Ｃｈａｉｎｉｎｇ
ＣＤ　　　：Ｃｏｍｐａｃｔ　Ｄｉｓｃ
ＣＤ−Ｒ　：ＣＤ　Ｒｅｃｏｒｄａｂｌｅ
ＣＤ−ＲＷ：ＣＤ　ＲｅＷｒｉｔａｂｌｅ
ＣＦＢ　　：Ｋ−ｂｉｔ　Ｃｉｐｈｅｒ　ＦｅｅｄＢａｃｋ
ＣＰＵ　　：Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ
Ｄ／Ａ　　：Ｄｉｇｉｔａｌ　ｔｏ　Ａｎａｌｏｇ
ＤＭＡ　　：Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ
ＥＣＢ　　：Ｅｌｅｃｔｒｏｎｉｃ　Ｃｏｄｅ　Ｂｏｏｋ
ＥＦＭ　　：Ｅｉｇｈｔ　ｔｏ　Ｆｏｕｒｔｅｅｎ　Ｍｏｄｕｌａｔｉｏｎ
Ｋ　　　　：１０２４
ＬＣＤ　　：Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ
ＯＦＢ　　：Ｋ−ｂｉｔ　Ｏｕｔｐｕｔ　ＦｅｅｄＢａｃｋ
ＲＡＭ　　：Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ
ＲＯＭ　　：Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ
ＵＳＢ　　：Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ
【００６７】
【発明の効果】
この発明によれば、ホストコンピュータは、平文データ（あるいは暗号文データ）を平文メモリの容量単位で暗号回路にアクセスすればよいので、ホストコンピュータの負担が大幅に軽くなる。さらに、ホストコンピュータが暗号化処理に必要とする時間も短縮することができる。
【００６８】
また、ホストコンピュータは、暗号回路に平文データを送信した後は、暗号回路から暗号化データを受信するまで、ブロックのイクスクルーシブオア処理やブロックの管理などの処理をする必要がないので、この点からも負担が軽くなり、本来のシステム制御に集中できる。
【００６９】
さらに、任意の長さの平文データを暗号化することができ、すなわち、可変長のブロック暗号回路である。また、平文メモリーの容量を単位として暗号化処理および復号化処理を行うことができるので、連鎖暗号処理時における伝送誤りの影響を軽減することができる。しかも、以上の効果を得るために、特殊な回路を必要とすることがない。
【００７０】
また、ディスクなどに暗号化されて記録されているオーディオ信号を再暗号化して外部に出力することができるが、この場合、ホストコンピュータは、暗号文データあるいは平文データを平文メモリの容量単位で処理すればよいので、リアルタイムで処理を実行することができる。
【図面の簡単な説明】
【図１】この発明の一形態を示す系統図である。
【図２】図１の回路の処理の流れを示すフローチャートである。
【図３】この発明の一形態を示す系統図である。
【図４】図３の回路の処理を示すフローチャートである。
【図５】この発明を説明するための系統図である。
【図６】この発明を説明するための系統図である。
【符号の説明】
１０…ブロック暗号回路、１１…平文メモリ、１２…データコントロール回路、１２Ａ…イクスクルーシブオア回路、１２Ｂ…ラッチ回路、１３…暗号化回路、１４…メモリコントロール回路、１５…メモリ、１６…レジスタ、２０…ホストコンピュータ
【図１】
2004126323.tif 000003
【図２】
2004126323.tif 000004
【図３】
2004126323.tif 000005
【図４】
2004126323.tif 000006
【図５】
2004126323.tif 000007
【図６】
2004126323.tif 000008