JPH11161162A - 暗号化方法または復号化方法およびそれを用いた装置 - Google Patents

暗号化方法または復号化方法およびそれを用いた装置

Info

Publication number
JPH11161162A
JPH11161162A JP9326455A JP32645597A JPH11161162A JP H11161162 A JPH11161162 A JP H11161162A JP 9326455 A JP9326455 A JP 9326455A JP 32645597 A JP32645597 A JP 32645597A JP H11161162 A JPH11161162 A JP H11161162A
Authority
JP
Japan
Prior art keywords
block
conversion
encryption
parallel
blocks
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
JP9326455A
Other languages
English (en)
Inventor
Shin Aikawa
慎 相川
Kazuo Takaragi
和夫 宝木
Soichi Furuya
聡一 古屋
Shigeru Hirahata
茂 平畠
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9326455A priority Critical patent/JPH11161162A/ja
Publication of JPH11161162A publication Critical patent/JPH11161162A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】データの暗号変換および復号変換を並列に処理
することができる、暗号/復号変換システムを提供する
こと。 【解決手段】暗号および復号変換を行う情報処理機器
に、複数の演算を並列に行う、複数の演算手段を備え、
暗号変換すべき平文メッセージを、ブロック暗号の基本
単位である1ブロック長よりも長い、ビット列を1フレ
ームとする、複数フレームに分割し、複数フレームから
1ブロックずつデータを取り出して、取り出した複数ブ
ロックを、同時に、暗号変換および復号変換を行う構成
にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ、情
報処理装置、情報家電機器等の間で伝送されるデータ
の、暗号/復号技術に関するものである。
【0002】
【従来の技術】近年の、パーソナルコンピュータや、デ
ジタル情報家電の普及に伴い、画像、音声、データなど
のマルチメディア情報を機器間でやり取りする機会が増
えてきた。マルチメディア・データは、デジタル・デー
タなので、簡単に複製できてしまい、不正コピーや、著
作権侵害などが、大きな問題となっている。この問題を
解決するには、暗号技術が必須となる。機器間を接続す
る通信路上を流れるデータを暗号化することで、盗聴お
よび改ざんを防止し、不正コピーを防ぐことができる。
データの暗号化に関しては、ブロック暗号を用いる場合
が多い。
【0003】ブロック暗号とは暗号化したいデータを一
定長のデータ(ブロックデータ)に分割し、ブロック単
位に、同一長の暗号データに暗号化する共通鍵暗合方式
である。ブロック暗号においては、通常一定の期間に同
一の暗号鍵が使用されるため、同一のブロックデータが
いつも同一の暗号データに変換されることになり、安全
上あまり望ましくない。そこで、その対処法として、ブ
ロック暗号の利用モードのある暗号文ブロック連鎖(Ci
pher Block Chaining, CBC)モードを用いること
が多い。以下、CBCモードによる暗号変換および復号
変換方式についての説明を図24を用いて行う。ここ
で、ブロックデータの長さは64ビットとして説明してい
く。図24において、2001から2003はブロック暗号変換
部であり、2011から2013はブロック復号変換部である。
すべてのブロック暗号部およびブロック復号部は、同じ
鍵データを用いる。また、2021から2026は排他的論理和
演算部である。
【0004】まず、CBCモードによる暗号変換につい
て説明する。暗号化したいデータ(平文データ)は、先
頭から、64ビット長のブロックデータに分割されてい
く。これを平文ブロックと呼ぶ。図24においては、平
文データは、平文ブロックM[1]241、平文ブロックM[2]2
42、平文ブロックM[3]243、... というように分割され
ていく。平文ブロックは、暗号変換され、暗号文ブロッ
クとなる。最初の平文ブロックM[1]241の暗号変換に
は、64ビット長の初期値IV2061を用いる。M[1]241と初
期値IV2061は排他的論理和部2021で、排他的論理和をと
った後に、ブロック暗号部2001で暗号変換されて、暗号
文ブロックC[1]251になる。次に、平文ブロックM[2]242
は、暗号文ブロックC[1]251と排他的論理和部2022で、
排他的論理和をとった後に、ブロック暗号部2002に入力
され、暗号化されて、暗号文ブロックC[2]252になる。
以下、同様の処理を、繰り返して、暗号文ブロックを生
成していく。変換された、暗号文ブロックを順番に結合
したものが、暗号文データになる。以上が、CBCモー
ドによる暗号変換である。CBCモードによる暗号変換
は、直前に変換した暗号文ブロックを、順次、フィード
バックしていくので、最初の平文ブロックから順番に変
換していく必要がある。
【0005】次に、CBCモードによる復号変換につい
て説明する。前述したCBCモードによる暗号変換で、
暗号変換された、暗号文データは、暗号文ブロックC[1]
251、暗号文ブロックC[2]252、平文ブロックC[3]25
3、... というように分割されていく。最初の暗号文ブ
ロックC[1]251の暗号変換には、64ビット長の初期値IV2
061を用いる。これは、前述の暗号変換の際に用いた初
期値と同じ値である。C[1]251は、ブロック復号部2011
で復号変換して、初期値IV2061と、排他的論理和部2024
で、排他的論理和をとって、平文ブロックM[1]241にな
る。
【0006】次に、暗号文ブロックC[2]252は、ブロッ
ク復号部2012で復号変換して、暗号文ブロックC[1]251
と排他的論理和部2025で、排他的論理和をとって、平文
ブロックM[2]242になる。以下、同様の処理を、繰り返
して、平文ブロックを生成していく。生成された、平文
ブロックを順番に結合したものが、平文データになる。
以上が、CBCモードによる復号変換である。CBCモ
ードによる復号変換は、前述したCBCモードの暗号変
換とは異なり、変換結果は、フィードバックされない。
【0007】
【発明が解決しようとする課題】前述したように、CB
Cモードによる暗号変換は、最初のブロックデータから
順番に処理していく必要があるので、高速処理の妨げと
なっていた。
【0008】本発明の目的は、CBCモードによる暗号
変換および復号変換の処理速度を向上させることにあ
る。
【0009】より具体的には、データの暗号変換および
復号変換を並列化する手段を提供し、暗号変換および復
号変換の処理速度を向上させることにある。
【0010】
【課題を解決するための手段】上述した目的を達成する
ため、暗号および復号変換を行う情報処理機器は、複数
の演算を並列に行う、複数の演算手段を備え、暗号変換
すべき平文メッセージを、ブロック暗号の基本単位であ
る1ブロック長よりも長い、ビット列を1フレームとす
る、複数フレームに分割し、複数フレームから1ブロッ
クずつデータを取り出して、取り出した複数ブロック
を、同時に、暗号変換および復号変換を行う。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を用いて説明する。
【0012】図1は、本発明の第1実施形態に係る、暗
号/復号変換システムを内蔵した、情報処理機器の構成
図である。図1において、100は情報処理機器、119は外
部バスである。また、情報処理機器100は、暗号/復号
変換システム101と、外部バスインターフェイス116と、
内部データ処理部118が、内部バス171で接続された形態
で構成されている。情報処理機器100は、外部バス119を
介して、他の機器から暗号文データを受け取り、暗号/
復号変換システム101で、復号化して、平文データを得
て、内部データ処理部118でデータ処理をする機能と、
内部データ処理部118から、出力される平文データを、
暗号/復号変換システム101で、暗号化して、暗号文デ
ータを得て、外部バス119を介して、他の機器に送信す
る機能を持っている。このような情報処理機器100の具
体例として、たとえば、デジタルVTRや、デジタル放
送受信機内蔵TVなどが考えられる。
【0013】暗号/復号変換システム101は、暗号/復
号変換部A111と、暗号/復号変換部B112と、暗号/復
号変換部C113と、メモリ115と、並列処理制御部117と
で構成される。
【0014】暗号/復号変換部A111と、暗号/復号変
換部B112と、暗号/復号変換部C113は、制御部121
と、変換部131で構成される。変換部131は、従来の技術
で説明した、CBCモードによる暗号変換および復号変
換を行う。
【0015】メモリ115には、データ領域135と、鍵デー
タ領域136と、初期値領域137に分割される。データ領域
135は、暗号/復号変換するデータを一時的に保存する
領域である。鍵データ領域136は、暗号/復号変換に用
いる、鍵データを保存する領域である。初期値領域137
は、CBCモードにおける、暗号/復号変換の際に用い
る初期値を保存しておく領域である。ここで、鍵データ
および初期値は、暗号通信を行いたい機器間で、共有し
ておく必要がある。本発明においては、機器間での鍵共
有については直接関係しないので詳細は省略することに
する。
【0016】データ領域135には、暗号/復号変換シス
テム101外部から、暗号あるいは復号変換を行いたいデ
ータが、順次、書き込まれてくる。データ領域135に書
き込まれてくるデータは、暗号/復号変換部A111と、
暗号/復号変換部B112と、暗号/復号変換部C113に、
並列に読み込まれていき、暗号あるいは復号変換され、
その結果が再び、データ領域に書き込まれていく。これ
によって、データ領域135内のデータが暗号あるいは復
号変換処理されていく。データ領域135内の暗号あるい
は復号変換処理されたデータは、順次、暗号/復号変換
システム101外部に読み出されていく。
【0017】以下、暗号/復号変換システム101が、平
文データを暗号変換する手順を図2を用いて説明してい
く。平文データ220は、データ領域135に書き込まれ、暗
号変換を行うために、フレームに分割されていく。ここ
で、フレームは、ブロック暗号変換の基本変換単位であ
るブロック長よりも、長いビット列である。CBCモー
ドにおける暗号変換は、フレーム毎に完結するものとす
る。これによって、各フレームの暗号変換は、鍵データ
と初期値が与えられれば、独立に行うことができる。C
BCモードにおける暗号変換は、従来の技術で説明した
ように、ブロック単位に行われるので、データ領域135
に書き込まれたフレームは、ブロックに区切られる。こ
こで、ブロック長は64ビットとする。
【0018】図2においては、平文フレームA221は、
平文ブロックM[1]241、平文ブロックM[2]242、平文ブロ
ックM[3]243、... 平文ブロックM[n]248とn個のブロッ
クに分割される。ここで、最後の平文ブロックM[n]248
の長さが、64ビット未満の場合は、端数平文ブロックと
して区別しておく。同様に、データ領域135内の他の平
文フレームもブロックに区切られていく。ブロックに分
割された、平文フレームA221は、暗号/復号変換部A1
11において、ブロック単位に、データ領域135から読み
出され、CBCモードを用いて暗号変換されて、再びデー
タ領域135の同じ場所に書き込まれれいく。すなわち、
平文ブロックM[1]241は暗号文ブロックC[1]251に変換さ
れ、平文ブロックM[2]242は暗号文ブロックC[2]252に変
換され、....というように、順次ブロック列を暗号変換
していく。ここで、最後の平文ブロックが端数平文ブロ
ックの場合は、CBCモードとは異なる方法を用いて、
暗号変換する。これを端数処理と呼ぶ。詳細は後述す
る。暗号/復号変換部111で暗号変換された、暗号文ブ
ロックC[1]251、暗号文ブロックC[2]252、暗号文ブロッ
クC[3]253、... 暗号文ブロックC[n]258、は、暗号文
フレームA231として、結合される。
【0019】同様な処理を、平文フレームBについては
暗号/復号変換部B112が、暗号文フレームB232に変換
し、平文フレームC223については暗号/復号変換部C1
13が、暗号文フレームC233に変換してく。これによっ
て、平文フレームの暗号変換を、並列に行っていくこと
ができる。ここで、それぞれの暗号/復号変換部は、変
換の前に、鍵データ領域136から鍵データを、初期値領
域137から初期値データを読み込んでおく必要がある。
この並列処理の制御は、並列処理制御部117が行い、そ
れぞれの暗号/復号変換部が、平文データのどのフレー
ムを暗号変換すればよいかを指示していく。
【0020】以上、平文データを複数の暗号/復号変換
部で暗号変換していく方法について説明したが、同様
に、暗号文データを複数の暗号/復号変換部で復号変換
していく手順について、図3を用いて説明する。
【0021】暗号文データ230は、データ領域135に書き
込まれ、復号変換を行うために、フレームに分割されて
いく。前述の暗号変換で説明したのと同様に、それぞれ
のフレームは、さらに、下位構造であるブロックに区切
られ、暗号/復号変換部は、順次、暗号文ブロック列を
読み込んで、CBCモードを用いて、平文ブロックに復
号変換して、再びデータ領域135の同じ場所に書き込ん
でいく。ここで、最後の暗号文ブロックの長さが、64
ビット未満の場合は、端数暗号文ブロックとして区別
し、端数処理によって、復号変換を行う。詳細は後述す
る。復号変換された、平文ブロック列は、平文フレーム
として結合される。CBCモードによる復号変換は、フ
レーム毎に完結するので、複数の暗号/復号変換部を用
いて、暗号文フレームを、並列に、復号変換していくこ
とが可能である。この並列処理の制御は、並列処理制御
部117が行い、それぞれの暗号/復号変換部が、暗号文
データのどのフレームを復号変換すればよいかを指示し
ていく。
【0022】次に、図1における、変換部131の内部構
造について、詳細に説明する。
【0023】図4は、変換部131の詳細構成図であり、
以下のモジュールより構成される。411と412と414は3
入力マルチプレクサ、413と415は2入力マルチプレク
サ、421と422はレジスタ、431は排他的論理和演算部、4
41はブロック暗号部である。上記モジュールの入力およ
び出力は、すべて64ビットのパラレル入出力である。ブ
ロック暗号部441は、従来の技術で説明したように、ブ
ロック暗号方式による暗号変換および復号変換を行う。
ブロック暗号方式は、通常、暗号変換と復号変換のアル
ゴリズムが、よく似ているので、容易に、暗号変換と復
号変換を共有できるブロック暗号器を設計することがで
きる(たとえば、本発明者によって提案されている(特
願平09-213327)に詳しい)。
【0024】初めに、この変換部131がCBCモードに
よる暗号変換を行う手順について説明する。変換部131
には、平文ブロック列が順次入力され、暗号文ブロック
を順次出力していく。一番目の平文ブロックの変換のと
きだけは、マルチプレクサ414を介して、レジスタ422に
初期値を設定して保持しておく。平文ブロックは、マル
チプレクサ411を介して、排他的論理和演算部431に入力
され、一方、レジスタ422の値は、マルチプレクサ415を
介して、排他的論理和演算部431に入力される。排他的
論理和演算部431の出力値は、マルチプレクサ412を介し
て、ブロック暗号部441に入力され、鍵データを用い
て、暗号化される。ここで、ブロック暗号部441は暗号
モードに設定する。ブロック暗号部441からの出力は、
暗号文ブロックとして、出力されるとともに、次の平文
ブロックへのフィードバック値として、マルチプレクサ
414を介して、レジスタ422の値を更新し保持される。以
上の様な変換を繰り返していくことで、平文ブロック
を、暗号文ブロックに順次変換していく。ここで、最後
の平文ブロックが、端数平文ブロックの場合は、以下の
ように端数処理を行って、端数暗号文ブロックに変換す
る。
【0025】端数平文ブロックは、マルチプレクサ411
を介して排他的論理和演算部431に入力され、一方で、
レジスタ422の値(直前の暗号文ブロック)を、マルチ
プレクサ415および412を介して、ブロック暗号部441で
暗号変換し(このとき暗号モードに設定する)、出力結
果を、マルチプレクサ413と415を介して、排他的論理和
演算部431に入力する。排他的論理和演算部431の出力値
はマルチプレクサ413を介して、端数暗号文ブロックと
して、出力される。
【0026】以上の処理によって、変換部131は、平文
ブロック列を、暗号文ブロック列に暗号変換していくこ
とができる。ここで、マルチプレクサのスイッチング、
レジスタの値の保存と書き換え、ブロック暗号部の暗号
モードの設定は、制御部121が行う。
【0027】次に、この変換部131がCBCモードによ
る復号変換を行う手順について説明する。変換部131に
は、暗号文ブロック列が順次入力され、平文ブロックを
順次出力していく。一番目の暗号文ブロックの変換のと
きだけは、マルチプレクサ414を介して、レジスタ422に
初期値を設定して保持しておく。暗号文ブロックは、レ
ジスタ421に保持されるとともに、マルチプレクサ412を
介して、ブロック暗号部441に入力されて、復号化され
る。ここで、ブロック暗号部441は復号モードに設定す
る。ブロック暗号器441の出力値はマルチプレクサ411を
介し、排他的論理和演算部431に入力され、一方で、レ
ジスタ422の値は、マルチプレクサ415を介して、排他的
論理和演算部431に入力される。排他的論理和演算部431
の出力値はマルチプレクサ413を介して、平文ブロック
として、出力される。この時、レジスタ421に保持され
ていた値を、マルチプレクサ414を介して、レジスタ422
に保持する。以上の様な変換を繰り返していくことで、
文ブロックを、暗号文ブロックに順次変換していく。こ
こで、最後の暗号文ブロックが、端数暗号文ブロックの
場合は、以下のように端数処理を行って、端数平文ブロ
ックに変換する。
【0028】端数暗号文ブロックは、マルチプレクサ41
1を介して排他的論理和演算部431に入力され、一方で、
レジスタ422の値を、マルチプレクサ412を介して、ブロ
ック暗号部441で暗号変換し(このとき暗号モードに設
定する)、出力結果を、マルチプレクサ413と415を介し
て、排他的論理和演算部431に入力する。排他的論理和
演算部431の出力はマルチプレクサ413を介して、端数平
文ブロックとして、出力される。
【0029】以上の処理によって、変換部131は、暗号
文ブロック列を、平文ブロック列に復号変換していくこ
とができる。ここで、マルチプレクサのスイッチング、
レジスタの値の保存と書き換え、ブロック暗号部441の
暗号および復号モードの設定は、制御部121が行う。
【0030】以上より、変換部131は、暗号変換および
復号変換の両方を行うことが可能である。
【0031】前述したように、暗号/復号変換システム
101は、複数の暗号/復号変換部を用いて、CBCモー
ドによるの暗号変換、あるいは復号変換を、並列に行う
ことができ、一つの暗号/復号変換部のみを用いた場合
よりも、より高速に暗号/復号変換を行うことができ
る。 この暗号/復号変換システム101は、複数の暗号
文データおよび平文データを、同時に、暗号/復号変換
することも可能である。たとえば、図5において、暗号
/復号変換システム101は、内部データ処理部118から出
力される平文データA511を、暗号変換すると同時に、
外部バスインターフェイス116が、外部バス119から受信
する暗号文データB521を、復号変換している。ここ
で、平文データAおよび暗号文データBは、リアルタイ
ム・データであるとし、平文データAの方が、暗号文デ
ータBより、ビットレートが大きいものとする。また、
暗号/復号変換部A111と、暗号/復号変換部B112と、
暗号/復号変換部C113の暗号変換および復号変換の処
理速度は、すべて同じであるとし、単独では、暗号文デ
ータBは、リアルタイムで復号変換できるが、平文デー
タAの暗号変換は、不可能であるとする。しかし、2つ
の暗号/復号変換部を並列化して用いて、処理速度を2
倍にすれば、平文データAを、リアルタイムに暗号変換
できるものとする。
【0032】この場合、平文データAはデータ領域135
に書き込まれていき、暗号/復号変換部A111と、暗号
/復号変換部B112で、並列に暗号変換されていく。こ
の並列暗号変換方法は前述した通りである。また、暗号
文データB135も同時に、データ領域135に書き込まれて
いき、暗号/復号変換部C113で、復号変換されてい
く。また、鍵データ領域136には、平文データAの暗号
化に用いる鍵データA512と、暗号文データBの復号化
に用いる、鍵データB513が保存されており、初期値領
域137には、平文データAの暗号化に用いる初期値A522
と、暗号文データBの復号化に用いる、初期値B523が
保存されている。平文データA511を暗号変換するため
に、事前に、鍵データA512と初期値A522を、暗号/復
号変換部A111と、暗号/復号変換部B112に設定し、暗
号文データB521を復号変換するために、鍵データB513
と初期値B523を、暗号/復号変換部C113に設定してお
く。これによって、二つの、データの暗号変換および復
号変換を、同時にリアルタイムで行うことが可能にな
る。
【0033】次に、暗号/復号変換システム101を用い
て、複数のリアルタイム・データを暗号/復号変換する
ための、暗号/復号変換部の管理方法について述べる。
暗号/復号変換システム101を用いてリアルタイム・デ
ータの暗号変換および復号変換を行う場合、それぞれの
リアルタイム・データのビットレートに合せて、使用す
る暗号/復号変換部の数を動的に設定することができ
る。これによって、効率的に、暗号/復号変換部を使用
することができる。以下、この管理方法について、図面
を用いて説明していく。 ここで、以下の説明におい
て、暗号/復号変換システム101内のにはN個の暗号/
復号変換部が並列化されているものとして一般化する。
また、それぞれの暗号/復号変換部の処理速度をA[bps]
とする。また、暗号/復号変換システム101の並列処理
制御部117は、図6に示すような変換部管理情報330を保
持している。変換部管理情報330は、未使用の暗号/復
号変換部の数M331と、管理変数n332と、管理テーブル
340から構成される。管理テーブル340は、それぞれの暗
号/復号変換部の、識別番号341と、変換するリアルタ
イム・データの識別番号342と、暗号/復号変換部の変
換モード343と、使用状態344から成る。
【0034】図7は、暗号/復号変換システム101の並
列処理制御部117が行う、暗号/復号変換部の管理手順
を示したフローチャートである。このフローチャートを
元に、管理手順をステップ毎に説明していく。
【0035】まず初めに、ステップ301で管理テーブル
が初期化される。すなわち、すべての暗号/復号変換部
の使用状態344を「未使用」にする。 次に、ステップ3
02で未使用の暗号/復号変換部の数M331に、全暗号/
復号変換部数Nを代入する。
【0036】次に、ステップ303で並列暗号/復号変換
システムに入力される、リアルタイム・データの増減を
監視する。
【0037】まず、ステップ303で、リアルタイム・デ
ータが新たに増えた場合を説明する。この場合、まず、
ステップ305でこのリアルタイム・データを処理するた
めに使用する暗号/復号変換部の数を計算して、管理変
数n332に代入する。新たに入力されるリアルタイム・
データのビットレートをB[bps]とすれば、暗号/復号
変換部の数mは、以下の不等式 B < mA を満たさなければ、リアルタイムに暗号/復号変換を行
うことができない。そこで、ステップ304では、使用す
る暗号/復号変換部の数を[B/A]と定め、管理変数
n332に代入する。ここで、[B/A]は、BをAで割
った結果の少数部を切り上げて整数化する演算を表す。
次に、ステップ305で現在の未使用な暗号/復号変換部
の数M331と管理変数n332を比較し、nのほうが小さけ
れば、割当て成功となり、ステップ306で管理テーブル3
40の変更を行う。これは以下のように処理する。まず、
管理テーブル340の使用状態344を検索していき、「未使
用」の暗号/復号変換部をn個選び出す。検索方法は、
たとえば、暗号/復号変換部の識別番号341の若い順に
検索していけばよい。選び出したn個について、識別番
号342にリアルタイム・データの識別番号を設定し、リ
アルタイム・データを暗号変換するならモード343を
「暗号」に、復号変換するなら「復号」に設定する。最
後に選び出したn個暗号/復号変換部の使用状態344を
「使用」に変更する。次に、ステップ306で未使用の暗
号/復号変換部の数M331をM−nに更新する。最後
に、ステップ311で、更新された管理テーブル340の各項
目を元に、並列処理制御部117が、必要な暗号/復号変
換部を制御して、リアルタイム・データの暗号/復号変
換を開始する。
【0038】前記ステップ305において、もし割当てが
失敗したら、ステップ310で適切なエラー処理を行い、
再びステップ303に戻る。エラー処理は、たとえば、必
要な暗号/復号変換部がすべて、未使用になるまで待機
するなどの処理を行う。以上、入力リアルタイム・デー
タが新たに増えた場合の処理について説明した。
【0039】次に、入力リアルタイム・データが減った
場合について説明する。この場合は任意のリアルタイム
・データの暗号/復号変換が終了した後に、使用してい
た暗号/復号変換部を開放する処理を行う。まず、ステ
ップ308で管理テーブル340の更新を行う。これは以下の
ように処理する。まず、管理変数n332を0に初期化す
る。次に暗号/復号変換が終了したリアルタイム・デー
タの識別番号を管理テーブル340から、すべて選び出
す。この選択方法は、たとえば、暗号/復号変換部の識
別番号の若い順に最後まで検索してけばよい。識別番号
が見つかった場合、その暗号/復号変換部の使用状態34
4を「未使用」に変更し、管理変数n332を1増やす。最
後まで検索が終了すると、管理変数n332には、使用し
ていた暗号/復号変換部の数が入力されていることにな
る。次に、ステップ309で未使用の暗号/復号変換部の
数M331をM+nに更新し、ステップ303に戻る。以上、
入力リアルタイム・データが減った場合の処理について
説明した。
【0040】上述した、本発明を用いた実施形態の説明
において、暗号/復号変換システム101による、暗号お
よび復号変換は、CBCモードを用いていたが、他の暗
号運用モードを用いることも可能である。例えば、ブロ
ック暗号方式をそのまま適用する基本モードである、E
CB(Electronic Code Book)モードを用いる場合を考
える。この場合、各フレーム内の各ブロックは、独立に
処理することができるので、一つのフレームから、ブロ
ックを複数個取り出し、取り出したそれぞれのブロック
を、別々の暗号/復号変換器で、同時に変換していく、
ということを繰り返していくことで、並列処理を行うこ
とができる。
【0041】次に、本発明の他の実施形態を説明する。
図8は、本発明の他の実施形態に係る、復号変換システ
ムを内蔵した、情報処理機器の構成図である。情報処理
機器800は、前記第1実施形態の情報処理機器100と同様
の、外部バスインターフェイス116と、内部データ処理
部118とに加えて、復号変換システム801が、内部バス17
1で接続された形態で構成されている。情報処理機器800
は、外部バス119を介して、他の機器から暗号文データ
を受け取り、復号変換システム801で、復号化して、平
文データを得て、内部データ処理部118でデータ処理を
する機能を持っている。情報処理機器800は、機器内部
で復号変換しか行わないので、復号変換システム801
は、本発明の第1実施形態の暗号/復号変換システム10
1よりも、簡単な構成で実現できる。ような情報処理機
器800の具体例として、たとえば、デジタルTVなどが
考えられる。
【0042】本実施形態においても、データの復号変換
にCBCモードを用いるとすれば、本発明の第1実施形
態で説明したように、暗号/復号変換システム101で
は、フレーム単位でしか並列処理が行えなかったのに対
して、復号変換システム801は、復号変換のみ行えばよ
いので、ブロック単位に並列処理を行うことができ、暗
号/復号変換システム101に比べて、少ないメモリ容量
で、並列処理できる。
【0043】復号変換システム801は、第1実施形態の
暗号/復号変換システム101と同様に、メモリ115に加え
て、復号変換部A811と、復号変換部B812と、復号変換
部C813と、メモリ115と、並列処理制御部817とで構成
される。
【0044】復号変換部A811と、復号変換部B812と、
復号変換部C813は、制御部821と、変換部831で構成さ
れる。変換部831は、従来の技術で説明した、CBCモ
ードによる復号変換を行う。
【0045】以下、暗号/復号変換システム801が、暗
号文データを復号変換する手順を図9を用いて説明して
いく。暗号文データ230は、データ領域135に書き込まれ
ていき、CBCモードで復号変換を行うために、フレー
ムに分割され、さらに各フレームは、ブロックに分割さ
れる。ここで、ブロック長は64ビットとする。従来の技
術で説明したように、CBCモードにおける、暗号文ブ
ロックの復号変換は、直前の暗号文ブロックをを用いる
だけでよいので、暗号変換のように、変換したブロック
を、フィードバックする必要がない。したがって、同一
フレーム内でも、直前の暗号文ブロックを参照できれ
ば、ブロック単位に独立に復号変換を行うことができ
る。
【0046】図9においては、暗号文データは、暗号文
フレームA231、暗号文フレームB232、暗号文フレーム
C233、...というようにフレーム分割される。暗号文フ
レームA231は、暗号文ブロックC[1]251、暗号文ブロ
ックC[2]252、暗号文ブロックC[3]253、...暗号文ブ
ロックC[n]258とn個のブロックに分割される。ここ
で、最後の暗号文ブロックC[n]258の長さが、64ビット
未満の場合は、端数暗号文ブロックとして区別してお
く。暗号ブロックが、順番にデータ領域135に書き込ま
れていくと、復号変換部A811は、暗号文ブロックC[1]2
51と、初期値領域から、初期値を読み込み、復号変換し
て、平文ブロックM[1]をデータ領域135に書きむ。復号
変換部B812は、暗号文ブロックC[2]252と、暗号文ブロ
ックC[2]251を読み込み、復号変換して、平文ブロックM
[2]をデータ領域135に書きむ。同様に、復号変換部C81
2は、暗号文ブロックC[3]253と、暗号文ブロックC[2]25
2を読み込み、復号変換して、平文ブロックM[3]をデー
タ領域135に書きむ。以上のような暗号ブロックの復号
化を、復号変換部A811と、復号変換部B812と、復号変
換部C813が、最後のブロックまで、並列に処理してい
く。これによって、同一フレーム内での、並列復号変換
を行うことが可能になる。この並列処理の制御は、並列
処理制御部817が行い、それぞれの復号変換部が、どの
暗号文ブロックを復号変換すればよいかを指示してい
く。
【0047】次に、本実施例の変換部831の内部構造に
ついて、詳細に説明する。
【0048】図10は、変換部831の詳細構成図であ
り、以下のモジュールより構成される。1011は2入力マ
ルチプレクサ、1012は3入力マルチプレクサ、431は排
他的論理和演算部、441はブロック暗号部である。上記
モジュールの入力および出力は、すべて64ビットのパラ
レル入出力である。ブロック暗号部441は、第1実施形
態で説明したものと同様である。
【0049】まず、一番先頭の暗号文ブロックの復号変
換を考える。この場合、変換部431には暗号文ブロック
C[1]と、初期値と、鍵データが入力さる。暗号文C[1]
はマルチプレクサ1011を介して、ブロック暗号部441に
入力され、鍵データを用いて、復号変換される。ここ
で、ブロック暗号部441は復号モードに設定する。ブロ
ック暗号部441からの出力は、排他的論理輪演算部431に
入力される。一方で、初期値がマルチプレクサ1012を介
して、排他的論理和演算部431に入力される。排他的論
理和演算部431の出力値が、平文ブロックM[1]となる。
【0050】次に、2からn-1の間の任意の整数をkと
し、k番目の暗号文ブロックの復号変換を考える。この
場合、変換部431には暗号文ブロックC[k]とその直前の
暗号文ブロックC[k-1]と、鍵データが入力される。暗号
文ブロックC[k]はマルチプレクサ1011を介して、ブロ
ック暗号部441に入力され、鍵データを用いて、復号変
換される。ここで、ブロック暗号部441は復号モードに
設定する。ブロック暗号部441からの出力は、排他的論
理輪演算部431に入力される。一方で、暗号文ブロック
C[k-1]がマルチプレクサ1012を介して、排他的論理和
演算部431に入力される。排他的論理和演算部431の出力
値が、平文ブロックM[k]となる。
【0051】次に、n番目すなわち最後の暗号文ブロッ
クの復号変換を考える。この場合、変換部431には、暗
号文ブロックC[n]とその直前の暗号文ブロックC[n-1]
と、鍵データが入力される。
【0052】まず、暗号文ブロックC[n]が、端数暗号文
ブロックである場合は、以下のように端数処理を行う。
暗号文ブロックC[n]はマルチプレクサ1012を介して、
排他的論理輪演算部431に入力される。一方で、暗号文
ブロックC[n-1]がマルチプレクサ1011を介して、ブロ
ック暗号部441に入力され、鍵データを用いて、暗号変
換される。ここで、ブロック暗号部441は暗号モードに
設定する。ブロック暗号部441からの出力は、排他的論
理和演算部431に入力される。排他的論理和演算部431の
出力値が、平文ブロックM[n]となる。
【0053】次に暗号文ブロックC[n]が、端数ブロック
でなければ以下のように変換を行う。暗号文ブロックC
[n]はマルチプレクサ1011を介して、ブロック暗号部441
に入力され、鍵データを用いて、復号変換される。ここ
で、ブロック暗号部441は復号モードに設定する。ブロ
ック暗号部441からの出力は、排他的論理輪演算部431に
入力される。一方で、暗号文ブロックC[n-1]がマルチ
プレクサ1012を介して、排他的論理和演算部431に入力
される。排他的論理和演算部431の出力値が、平文ブロ
ックM[n]となる。
【0054】以上の処理によって、変換部431は、暗号
文ブロック列を、暗号文ブロック列に暗号変換していく
ことができる。ここで、マルチプレクサのスイッチン
グ、ブロック暗号部の暗号および復号モードの設定は、
制御部821が行う。
【0055】上述した実施形態の説明において、復号変
換システム801による、復号変換は、CBCモードを用
いていたが、他の暗号運用モードを用いることも可能で
ある。例えば、ブロック暗号方式をそのまま適用する基
本モードである、ECB(Electronic Code Book)モー
ドを用いる場合を考える。この場合、各フレーム内の各
ブロックは、独立に処理することができるので、一つの
フレームから、ブロックを複数個取り出し、取り出した
それぞれのブロックを、別々の復号変換器で、同時に変
換していく、ということを繰り返していくことで、並列
処理を行うことができる。
【0056】次に、本発明の他の実施形態を説明する。
図11は、本発明の他の実施形態に係る、暗号/復号変
換システムを内蔵した、情報処理機器の構成図である。
情報処理機器1100は、前記第1実施形態の情報処理機器
100と同様の、外部バスインターフェイス116と、内部デ
ータ処理部118とに加えて、暗号/復号変換システム110
1が、内部バス171で接続された形態で構成されている。
【0057】暗号/復号変換システム1101は、CPU11
01と、メモリ1115とで構成される。CPU1101は、実行
部A1111と、実行部B1112と、実行部C1113と、命令部
1121と、レジスタ部1130が、内部CPUバス1141で接続
されている構成で、3本のパイプラインをもつ、スーパ
ースカラ方式のCPUである。ここで、スーパースカラ
方式とは、複数の実行部を備えることで、1クロック・
サイクル当たり、複数の独立した命令を同時に実行する
ことができる方式である。
【0058】メモリ1115は、前記第1実施形態のメモリ
115と同様の、データ領域135と、鍵データ領域136と、
初期値領域137とに加えて、プログラム領域1181に分割
される。プログラム領域1181には、CPU1101で暗号/
復号変換を行うための、制御プログラムが格納される。
【0059】この制御プログラムは、ROM、Floppy d
isk、または、ネットワークを介して本システムに接続
されたサーバ上の記憶装置から取り込まれることがあ
る。
【0060】レジスタ部1130内には、レジスタA1131
と、レジスタB1132と、レジスタC1133が含まれ、それ
ぞれ1個以上のレジスタから構成される、このような、
情報処理機器1100の具体例として、パーソナルコンピュ
ーターなどが考えられる。
【0061】データ領域135には、暗号/復号変換シス
テム101外部から、暗号あるいは復号変換を行いたいデ
ータが、順次、書き込まれてくる。一方、プログラム領
域に格納されている、制御プログラムをCPU1110の命
令部1121が、順次読み込んで実行していく。制御プログ
ラムは、データ領域135に書き込まれてくるデータを、
レジスタ部1130のレジスタA1131と、レジスタB1132
と、レジスタC1133に、読み込んで、実行部A1111と、
実行部B1112と、実行部C1113を、並列に用いて、暗号
あるいは復号変換させ、その結果を再び、データ領域13
5に書き込んでいくように、プログラムされている。こ
れによって、データ領域135内のデータが暗号あるいは
復号変換処理されていく。データ領域135内の暗号ある
いは復号変換処理されたデータは、順次、暗号/復号変
換システム1101外部に読み出されていく。
【0062】以下、暗号/復号変換システム1101が、具
体的にはCPU1110が制御プログラムを実行し、平文デ
ータを暗号変換する手順を図12を用いて説明してい
く。第1実施例の暗号/復号変換システム101と同様
に、平文データ220は、データ領域135に書き込まれ、暗
号変換を行うために、フレームに分割され、さらにブロ
ックに区切られていく。次に、平文フレームA221の、
先頭の平文ブロックを、レジスタA1131に読み込み、続
いて、平文フレームB222の、先頭の平文ブロックを、
レジスタB1132に読み込み、続いて、平文フレームC22
3の、先頭の平文ブロックを、レジスタC1133に読み込
む。レジスタA1131およびレジスタB1132およびレジス
タC1133に読み込まれた平文ブロックは、すべて独立で
あり、かつ、同じ暗号変換処理を行ことになる。したが
って、CPU内の制御部1141が、レジスタAの暗号変換
処理に実行部A1111を割当てて、レジスタBの暗号変換
処理に実行部B1111を割当てて、レジスタCの暗号変換
処理に実行部C1111を割当る。これによって、レジスタ
A1131とレジスタB1132とレジスタC1133の処理を、3
本のパイプラインを用いて並列実行することができる。
暗号変換処理が終了すると、それぞれのレジスタの値
を、データ領域135の同じ場所に書きこみ、先頭の暗号
文ブロックが生成される。これを、以降の平文ブロック
に対しても、行っていくことで、平文フレームA221
と、平文フレームB222と、平文フレームC223を、暗号
文フレームA231と、暗号文フレームB232と、暗号文フ
レームC233に、並列に、暗号変換していく。同様な処
理を、他の平文フレームでも行っていくことで、平文デ
ータ220の暗号変換を、並列処理することができる。
【0063】次に、暗号/復号変換システム1101が、具
体的にはCPU1110が制御プログラムを実行し、暗号文
データを復号変換する手順を図13を用いて説明してい
く。前述の実施例の復号変換システム801と同様に、暗
号文データ230は、データ領域135に書き込まれていき、
復号変換を行うために、フレームに分割され、さらに各
フレームは、ブロックに分割される。図13において
は、暗号文フレームA231が、暗号文ブロックC[1]251か
ら暗号文ブロックC[n]258に分割される。
【0064】まず、レジスタA1131は、初期値領域か
ら、初期値を読み込み、続いて、データ領域135から暗
号文ブロックC[1]251を読み込みこむ。次にレジスタB1
132は、データ領域135から、暗号文ブロックC[2]252
と、暗号文ブロックC[2]251を読み込む。次に、レジス
タC1133は、データ領域135から、暗号文ブロックC[3]2
53と、暗号文ブロックC[2]252を読み込む。レジスタA1
131およびレジスタB1132およびレジスタC1133の処理
は、すべて独立であるので、CPU内の制御部1141が、
レジスタAの暗号変換処理に実行部A1111を割当てて、
レジスタBの暗号変換処理に実行部B1111を割当てて、
レジスタCの暗号変換処理に実行部C1111を割当る。こ
れによって、レジスタA1131とレジスタB1132とレジス
タC1133の処理を、3本のパイプラインを用いて並列実
行することができる。暗号変換処理が終了すると、それ
ぞれのレジスタの値を、データ領域135に書きこんでい
く。レジスタA1131からは、平文ブロックM[1]が得ら
れ、レジスタB1132からは、平文ブロックM[2]が得ら
れ、レジスタC1133からは、平文ブロックM[3]が得られ
る。
【0065】同様な処理を、以降の暗号文ブロックにつ
いても行っていくことで、暗号文フレーム231の復号変
換を、並列処理することができる。さらに、他の暗号文
フレームに対しても、同様な処理を行うことで、暗号文
データ230を並列に平文データ220に変換できる。
【0066】次に、暗号/復号変換システム1101が、並
列に暗号/復号変換を行うための、メモリ1115のプログ
ラム領域1181に格納される、制御プログラムの構成につ
いて、説明していく。
【0067】図14は、暗号変換の制御を行う暗号変換
プログラム1203、および復号変換の制御を行う復号変換
プログラム1213の生成手順を表している。暗号変換プロ
グラム1203、および復号変換プログラム1213は、機械語
であるので、暗号変換プログラム1203を生成するには、
プログラム言語で書かれた、ソースコード1201を、コン
パイラ1202でコンパイルする。同様に、復号変換1213を
生成するには、ソースコード1211を、コンパイラ1202で
コンパイルする必要がある。
【0068】次に、並列に暗号変換を行うためのソース
コード1201の構成を説明する。まず、並列に暗号変換を
行わない、通常の処理手順を記述した、ソースコードを
図15に示す。前述したように、暗号変換はフレーム毎
に行われる。それぞれのフレームの暗号変換処理は、複
数の処理手順に分割されるが、それぞれの処理手順は、
相関があるので、並列に処理することはできない。図1
5において、処理A1(1311)、処理A2(1312)、処理A
3(1313)、...は、フレームAの暗号変換処理を表して
いる。また、処理B1(1321)、処理B2(1322)、処理B
3(1323)、...は、フレームBの暗号変換処理を表して
いる。また、処理C1(1311)、処理C2(1312)、処理C
3(1313)、...は、フレームCの暗号変換処理を表して
いる。図13のソースコードのように、まず、フレーム
Aを処理し、次にフレームBを処理し、次にフレームC
を処理し、...というように、処理を記述していくと、
全体の暗号変換処理は、並列化されない。次に、並列に
暗号変換を行うように記述された、ソースコードを図1
6に示す。図16のソースコードは、まず、フレームA
の処理A1(1311)と、フレームBの処理B1(1321)と、
フレームCの処理C1(1331)を実行し、次に、フレーム
Aの処理A2(1312)と、フレームBの処理B2(1322)
と、フレームCの処理C2(1332)を実行し、次に、フレ
ームAの処理A3(1313)と、フレームBの処理B3(132
3)と、フレームCの処理C3(1333)を実行し、...とい
うように、記述されている。このように記述すると、処
理A1(1311)と、処理B1(1321)と、処理C1(1331)は
独立であるので、並列に実行され、処理A2(1312)と、
処理B2(1322)と、処理C2(1332)は独立であるので、
並列に実行され、...というように、暗号変換を並列に
処理していくことが可能になる。
【0069】次に、並列に復号変換を行うためのソース
コード1211の構成を説明する。まず、並列に復号変換を
行わない、通常の処理手順を記述した、ソースコードを
図17に示す。前述したように、復号変換はブロック毎
に行われる。それぞれのブロックの復号変換処理は、複
数の処理手順に分割されるが、それぞれの処理手順は、
相関があるので、並列に処理することはできない。図1
5において、処理a1(1511)、処理a2(1512)、処理a
3(1513)、...は、ブロックaの復号変換処理を表して
いる。また、処理b1(1521)、処理b2(1522)、処理b
3(1523)、...は、ブロックbの復号変換処理を表して
いる。また、処理c1(1511)、処理c2(1512)、処理c
3(1513)、...は、ブロックcの復号変換処理を表して
いる。図17のソースコードのように、まず、ブロック
aを処理し、次にブロックbを処理し、次にブロックc
を処理し、...というように、処理を記述していくと、
全体の復号変換処理は、並列化されない。次に、並列に
復号変換を行うように記述された、ソースコードを図1
8に示す。図18のソースコードは、まず、ブロックa
の処理a1(1511)と、ブロックbの処理b1(1521)と、
ブロックcの処理c1(1531)を実行し、次に、ブロック
aの処理a2(1512)と、ブロックbの処理b2(1522)
と、ブロックcの処理c2(1532)を実行し、次に、ブロ
ックaの処理a3(1513)と、ブロックbの処理b3(152
3)と、ブロックcの処理c3(1533)を実行し、...とい
うように、記述されている。このように記述すると、処
理a1(1511)と、処理b1(1521)と、処理c1(1531)は
独立であるので、並列に実行され、処理a2(1512)と、
処理b2(1522)と、処理c2(1532)は独立であるので、
並列に実行され、...というように、復号変換を並列に
処理していくことが可能になる。
【0070】上述した、実施形態の説明において、暗号
/復号変換システム1001による、暗号および復号変換
は、CBCモードを用いていたが、他の暗号運用モード
を用いることも可能である。例えば、ブロック暗号方式
をそのまま適用する基本モードである、ECB(Electro
nic Code Book)モードを用いる場合を考える。この場
合、各フレーム内の各ブロックは、独立に処理すること
ができるので、一つのフレームから、ブロックを複数個
取り出し、取り出したそれぞれのブロックを、CPU11
01内の別々の実行部で、同時に変換していく、というこ
とを繰り返していくことで、並列処理を行うことができ
る。
【0071】次に、本発明の他の実施形態として、DV
D(Digital Video Disc)などのパッケージコンテン
ツを流通させるシステムの実施例を図19に示す。
【0072】コンテンツプロバイダー1401は、著作権管
理機関1418に著作権情報を登録し、コンテンツID情報ID
A 1402を得る。IDAはデジタルデータにID情報などを隠
しもたせる技術である電子透かしを用いてコンテンツデ
ータ1403に埋め込まれ、パッケージコンテンツ1404とな
る。ここで、図20はパッケージコンテンツ1404内のコ
ンテンツデータを表しており、コンテンツ情報IDA 140
2が電子透かしとして含まれている。
【0073】情報家電B 1405がパッケージコンテンツ1
404内のコンテンツデータをパーソナルコンピュータC
1411に転送する場合、情報家電B 1405は著作権管理機
関1419から発行されたユーザID情報IDB 1407を電子透
かしとしてコンテンツデータ内に埋め込み、本発明を用
いた暗号装置1406で鍵データK 1408により暗号化し、
外部バス上に暗号データを流す。図21は経路1409を流
れるコンテンツデータを表しており、コンテンツ情報ID
A 1402およびユーザID情報IDB 1407が電子透かしとし
て含まれている。
【0074】受信側であるパーソナルコンピュータC 1
411は、暗号データを、本発明を用いた復号装置1413で
鍵データK 1415により復号化する。以上の処理におい
て、ユーザ情報や鍵データの管理にICカード1410を用い
てもよい。
【0075】パーソナルコンピュータC 1411がネット
ワーク上にコンテンツデータを流通させる場合、パーソ
ナルコンピュータC 1411は著作権管理機関1419から発
行されたユーザID情報IDC 1414を電子透かしとしてコ
ンテンツデータ内に埋め込み、本発明を用いた暗号装置
1410で、データを鍵データK 1415により暗号化する。
図22は経路1409を流れるコンテンツデータを表してお
り、コンテンツ情報IDA 1402、ユーザID情報IDB 1407
およびユーザID情報IDC 1414が電子透かしとして含ま
れている。以上の処理において、ユーザ情報や鍵データ
の管理にICカード1417を用いてもよい。
【0076】著作権管理機1419は、検査装置1419を用い
て、ネットワーク上を流れるデータを監視し、暗号化さ
れていないデータを検出した場合、データ内のコンテン
ツID情報を著作権情報管理データベース1420と照合し、
不正コピーと判断すれば、不正コピーの発生場所をユー
ザID情報から追跡し、ペナルティを課す。
【0077】また、本発明を用いたデジタル衛星放送な
どのデジタルコンテンツの流通システムの実施例を図2
3に示す。コンテンツプロバイダー1401は、著作権管理
機関1418に著作権情報を登録し、コンテンツID情報IDA
1402を得る。IDAを電子透かしとして埋め込んだコン
テンツデータ1403は、放送センタ1801に送られ、既存の
暗号装置1802で暗号化され、デジタル衛星放送受信機な
どの情報家電に向けて放送される。情報家電は既存の復
号化装置1803で放送データを復号化する。情報家電に
は、既存の復号装置1803に加えて本発明を用いた暗号装
置1406を備えており、その後のコンテンツデータの流通
過程は図19における例と同様に行うことができる。
【0078】このように、デジタル衛星放送などの既存
の暗号システムと本発明の暗号システムを組み合わせ
て、デジタルコンテンツの流通システムを構築すること
も可能であり、パッケージメディア、放送メディア、通
信メディアと幅広く本発明の適用が可能である。
【0079】
【発明の効果】本発明によれば、データの暗号変換を、
または復号変換をそれぞれ高速に処理することができ
る。
【図面の簡単な説明】
【図1】本発明を用いた、情報処理機器の第1実施例で
ある。
【図2】第1実施例における、暗号変換手順の詳細図で
ある。
【図3】第1実施例における、復号変換手順の詳細図で
ある。
【図4】図1における、変換部の詳細図である。
【図5】図1における、情報処理機器が、暗号変換と、
復号変換を同時に行う場合の概要図である。
【図6】図1における、暗号/復号変換システムで、複
数のデータを、リアルタイムに、暗号/復号変換するた
めに用いる管理情報の詳細図である。
【図7】図1における、暗号/復号変換システムで、複
数のデータを、リアルタイムに、暗号/復号変換するた
めの、管理手順ののフローチャートである。
【図8】本発明を用いた、情報処理機器の他の実施例で
ある。
【図9】他の実施例における、復号変換手順の詳細図で
ある。
【図10】図8における、変換部の詳細図である。
【図11】本発明を用いた、情報処理機器の他の実施例
である。
【図12】他の実施例における、暗号変換手順の詳細図
である。
【図13】他の実施例における、復号変換手順の詳細図
である。
【図14】制御プログラムの、生成手順の概要図であ
る。
【図15】暗号変換を行うように記述された、ソースコ
ードの概念図(その1)である。
【図16】暗号変換を行うように記述された、ソースコ
ードの概念図(その2)である。
【図17】復号変換を行うように記述された、ソースコ
ードの概念図(その1)である。
【図18】復号変換を行うように記述された、ソースコ
ードの概念図(その2)である。
【図19】本発明を用いたパッケージコンテンツの流通
システムに関する一実施例である。
【図20】電子透かしを含むコンテンツデータ(その
1)である。
【図21】電子透かしを含むコンテンツデータ(その
2)である。
【図22】電子透かしを含むコンテンツデータ(その
3)である。
【図23】本発明を用いた放送コンテンツの流通システ
ムに関する一実施例である。
【図24】CBCモードによる、暗号変換および復号変
換の処理手順の詳細図である。
【符号の説明】
100…情報処理機器、 101…暗号/復号変換システム、 111…暗号/復号変換部A、 112…暗号/復号変換部B、 113…暗号/復号変換部C、 115…メモリ、 116…外部バスインターフェイス、 117…並列処理制御部、 118…内部データ処理部、 119…外部バス、 121…制御部、 131…変換部、 135…データ領域、 136…鍵データ領域、 137…初期値領域、 171…内部バス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 古屋 聡一 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 平畠 茂 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マルチメディアシステム 開発本部内

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】複数の演算を並列に行う、複数の演算手段
    と、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割する手段と、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、前記複数の演算手段に、並
    列に入力する手段とを備えることを特徴とする並列暗号
    化装置。
  2. 【請求項2】複数の演算を並列に行う、複数の演算手段
    を用い、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、並列に、暗号変換する処理
    を行うことを特徴とする並列暗号化方法。
  3. 【請求項3】複数の演算を並列に行う、複数の演算手段
    と、 復号変換すべき暗号文メッセージを、ブロック暗号の基
    本単位である1ブロック長よりも長い、ビット列を1フ
    レームとする、複数フレームに分割する手段と、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、前記複数の演算手段に、並
    列に入力する手段とを備えることを特徴とする並列復号
    化装置。
  4. 【請求項4】複数の演算を並列に行う、複数演算手段を
    用い、 復号変換すべき暗号文メッセージを、ブロック暗号の基
    本単位である1ブロック長よりも長い、ビット列を1フ
    レームとする、複数フレームに分割し、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、同時に、復号変換する処理
    を行うことを特徴とする並列復号化方法。
  5. 【請求項5】複数の演算を並列に行う、複数の演算手段
    と、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割する手段と複数フレー
    ムから1ブロックずつデータを取り出して、取り出した
    複数ブロックを、前記複数の演算手段に、並列に入力す
    る手段と、 復号変換すべき暗号文メッセージを、ブロック暗号の基
    本単位である1ブロック長よりも長い、ビット列を1フ
    レームとする、複数フレームに分割する手段と、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、前記複数の演算手段に、並
    列に入力する手段とを備えることを特徴とする並列暗号
    化/復号化装置。
  6. 【請求項6】複数の演算を並列に行う、複数演算手段を
    用い、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、並列に、暗号変換する処理
    を行い、 復号変換すべき暗号文メッセージを、ブロック暗号の基
    本単位である1ブロック長よりも長い、ビット列を1フ
    レームとする、複数フレームに分割し、 複数フレームから1ブロックずつデータを取り出して、
    取り出した複数ブロックを、並列に、復号変換する処理
    を行うことを特徴とする並列暗号化/復号化方法。
  7. 【請求項7】複数の演算を並列に行う、2個以上のN個
    の演算手段を含む暗号変換装置であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、該暗号変換装置に入力す
    ることを特徴とする並列暗号方法および装置。
  8. 【請求項8】複数の演算を並列に行う、2個以上のN個
    の演算手段を含むコンピューターの制御方式であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、暗号変換する処理を含む
    ことを特徴とする並列暗号方法および装置。
  9. 【請求項9】複数の演算を並列に行う、2個以上のN個
    の演算手段を含む復号変換装置であって、 復号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、該復号変換装置に入力す
    ることを特徴とする並列復号方法および装置。
  10. 【請求項10】複数の演算を並列に行う、2個以上のN
    個の演算手段を含むコンピューターの制御方式であっ
    て、 復号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、復号変換する処理を含む
    ことを特徴とする並列復号方法および装置。
  11. 【請求項11】複数の演算を並列に行う、2個以上のN
    個の演算手段を含む暗号/復号変換装置であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、該暗号/復号変換装置に
    入力する、並列暗号方法、および、復号変換すべき平文
    メッセージを、ブロック暗号の基本単位である1ブロッ
    ク長よりも長い、ビット列を1フレームとする、複数フ
    レームに分割し、一つのフレームから2乃至N個のブロ
    ックを取り出して、取り出した2乃至N個のブロック
    を、同時に、該暗号/復号変換装置に入力する、並列復
    号方法、を用いることを特徴とする並列暗号/復号方法
    および装置。
  12. 【請求項12】複数の演算を並列に行う、2個以上のN
    個の演算手段を含むコンピューターの制御方式であっ
    て、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、一つのフレームか
    ら2乃至N個のブロックを取り出して、取り出した2乃
    至N個のブロックを、同時に、暗号変換する、並列暗号
    方法、および、復号変換すべき平文メッセージを、ブロ
    ック暗号の基本単位である1ブロック長よりも長い、ビ
    ット列を1フレームとする、複数フレームに分割し、一
    つのフレームから2乃至N個のブロックを取り出して、
    取り出した2乃至N個のブロックを、同時に、復号変換
    する、並列復号方法、を用いる処理を含むことを特徴と
    する並列暗号/復号方法および装置。
  13. 【請求項13】複数の演算を並列に行う、複数の演算手
    段を含む暗号変換装置であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、複数フレームから
    1ブロックずつデータを取り出して、取り出した複数ブ
    ロックを、同時に、該暗号変換装置に入力し、複数個の
    暗号文ブロックを出力し、該複数個の暗号文ブロック
    を、再度、該暗号変換装置に入力することを特徴とする
    並列暗号方法および装置。
  14. 【請求項14】複数の演算を並列に行う、複数の演算手
    段を含むコンピューターの制御方式であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、複数フレームから
    1ブロックずつデータを取り出して、取り出した複数ブ
    ロックを、同時に、暗号変換し、複数個の暗号文ブロッ
    クを出力し、該複数個の暗号文ブロックを、次に暗号変
    換する、複数個の平文ブロックの暗号変換に用いる処理
    を含むことを特徴とする並列暗号方法および装置。
  15. 【請求項15】複数の演算を並列に行う、複数の演算手
    段を含む暗号変換装置であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、複数フレームから
    1ブロックずつデータを取り出して、取り出した複数ブ
    ロックを、同時に、該暗号変換装置に入力し、各複数ブ
    ロックに対して、暗号変換を行い、各暗号変換途中に得
    られる、複数個の中間ブロックを、再度、暗号変換装置
    に入力することを特徴とする並列暗号方法および装置。
  16. 【請求項16】複数の演算を並列に行う、複数の演算手
    段を含むコンピューターの制御方式であって、 暗号変換すべき平文メッセージを、ブロック暗号の基本
    単位である1ブロック長よりも長い、ビット列を1フレ
    ームとする、複数フレームに分割し、複数フレームから
    1ブロックずつデータを取り出して、取り出した複数ブ
    ロックを、同時に、暗号変換し、各暗号変換途中に得ら
    れる、複数個の中間ブロックを、次に暗号変換する、複
    数個の平文ブロックの暗号変換に用いる処理を含むこと
    を特徴とする並列暗号方法および装置。
  17. 【請求項17】装置Aと装置Bと装置Cは、お互いに暗号
    通信できるように構成されており、前記装置Aまたは前
    記装置Bから前記装置Cに送信されたデータは、暗号変換
    されないままであるかどうかを前記装置Cが検査する手
    段と、該データが暗号変換されないままであることが検
    知された場合には、そのことを示す信号を別の装置Dに
    送信する手段とを備えること特徴とする暗号通信システ
    ム。
  18. 【請求項18】前記装置Dは、前記データが暗号変換さ
    れないままであることが検知されたことを示す信号を受
    信した場合、前記装置Dから前記装置Aまたは前記装置B
    に送信するデータを制限する手段を有することを特徴と
    する請求項17記載の暗号通信システム。
  19. 【請求項19】前記装置AまたはBは装置Eと通信できる
    ように構成されており、 前記装置Eは前記装置Aに平文データを暗号方式1により
    暗号化した暗号文1を送る手段を備え、 前記装置Aは該暗号文1を該暗号方式1に対応する復号
    方式1により復号する手段と、 もとの平文データを得た後、暗号方式1とは異なる暗号
    方式2で平文データを再暗号化して暗号文2を得た後、
    前記装置Bに暗号文2を送信する手段とを備えることを
    特徴とする請求項17記載の暗号通信システム。
JP9326455A 1997-11-27 1997-11-27 暗号化方法または復号化方法およびそれを用いた装置 Pending JPH11161162A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9326455A JPH11161162A (ja) 1997-11-27 1997-11-27 暗号化方法または復号化方法およびそれを用いた装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9326455A JPH11161162A (ja) 1997-11-27 1997-11-27 暗号化方法または復号化方法およびそれを用いた装置

Publications (1)

Publication Number Publication Date
JPH11161162A true JPH11161162A (ja) 1999-06-18

Family

ID=18188012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9326455A Pending JPH11161162A (ja) 1997-11-27 1997-11-27 暗号化方法または復号化方法およびそれを用いた装置

Country Status (1)

Country Link
JP (1) JPH11161162A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001023298A (ja) * 1999-07-06 2001-01-26 Pioneer Electronic Corp コンテンツの記録媒体及びその再生装置
US7110545B2 (en) 2000-03-09 2006-09-19 Tokyo, Japan Method and apparatus for symmetric-key encryption
JP2007164377A (ja) * 2005-12-12 2007-06-28 Toshiba Corp データ処理装置およびデータ処理方法
JP2008283710A (ja) * 1999-12-29 2008-11-20 Sony Electronics Inc インタフェース生成方法及び双方向送受信装置
JP2009116889A (ja) * 2008-12-11 2009-05-28 Toshiba Corp データ処理装置およびデータ処理方法
JP2011123946A (ja) * 2009-12-10 2011-06-23 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ及びディスク・ドライブにおけるデータ変換処理方法
JP2012068351A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 暗号演算装置及びメモリシステム
US8832460B2 (en) 2003-03-28 2014-09-09 Spansion Llc Inter-bus communication interface device and data security device
CN114979717A (zh) * 2022-07-25 2022-08-30 广州万协通信息技术有限公司 基于设备解码能力的差异性视频加密方法及安全芯片装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001023298A (ja) * 1999-07-06 2001-01-26 Pioneer Electronic Corp コンテンツの記録媒体及びその再生装置
JP2008283710A (ja) * 1999-12-29 2008-11-20 Sony Electronics Inc インタフェース生成方法及び双方向送受信装置
US7110545B2 (en) 2000-03-09 2006-09-19 Tokyo, Japan Method and apparatus for symmetric-key encryption
US7200232B2 (en) 2000-03-09 2007-04-03 Hitachi, Ltd. Method and apparatus for symmetric-key decryption
US7359515B2 (en) 2000-03-09 2008-04-15 Hitachi, Ltd. Method and apparatus for symmetric-key decryption
US8832460B2 (en) 2003-03-28 2014-09-09 Spansion Llc Inter-bus communication interface device and data security device
US10609005B2 (en) 2003-03-28 2020-03-31 Cypress Semiconductor Corporation Security network controller
US9378165B2 (en) 2003-03-28 2016-06-28 Cypress Semiconductor Corporation Inter-bus communication interface device
JP2007164377A (ja) * 2005-12-12 2007-06-28 Toshiba Corp データ処理装置およびデータ処理方法
JP2009116889A (ja) * 2008-12-11 2009-05-28 Toshiba Corp データ処理装置およびデータ処理方法
JP2011123946A (ja) * 2009-12-10 2011-06-23 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ及びディスク・ドライブにおけるデータ変換処理方法
KR101305627B1 (ko) * 2010-09-22 2013-09-09 가부시끼가이샤 도시바 암호 연산 장치 및 메모리 시스템
JP2012068351A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 暗号演算装置及びメモリシステム
CN114979717A (zh) * 2022-07-25 2022-08-30 广州万协通信息技术有限公司 基于设备解码能力的差异性视频加密方法及安全芯片装置
CN114979717B (zh) * 2022-07-25 2022-11-08 广州万协通信息技术有限公司 基于设备解码能力的差异性视频加密方法及安全芯片装置

Similar Documents

Publication Publication Date Title
EP2186250B1 (en) Method and apparatus for hardware-accelerated encryption/decryption
TW490968B (en) Apparatus for encrypting data and cipher system
US8737606B2 (en) Method and system for high throughput blockwise independent encryption/decryption
KR101370223B1 (ko) 로우 레이턴시 블록 암호
JP5822970B2 (ja) 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス
JP2005505069A (ja) メモリ暗号化
US8745411B2 (en) Protecting external volatile memories using low latency encryption/decryption
US20040146158A1 (en) Cryptographic systems and methods supporting multiple modes
US20040019619A1 (en) System and method for generating initial vectors
US7623660B1 (en) Method and system for pipelined decryption
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
JP2010140473A (ja) 命令レベルのソフトウェア暗号化のための方法及び装置
JP2006229863A (ja) 暗号化/復号化装置、通信コントローラ及び電子機器
Harahsheh et al. Performance evaluation of Twofish algorithm on IMAN1 supercomputer
JPH11161162A (ja) 暗号化方法または復号化方法およびそれを用いた装置
JP3769804B2 (ja) 解読化方法および電子機器
JPH08286904A (ja) ソフトウエア暗号化・復号化方法、ソフトウエア暗号化システムおよびソフトウエア復号化システム
Buell Modern symmetric ciphers—Des and Aes
KR20060110383A (ko) 네트워크 보안 프로세서의 다중모드 암호화 장치
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JP2000076144A (ja) 論理回路、マイクロコンピュータ、および論理回路・記憶回路間の通信方法
KR102348802B1 (ko) Aes 암호화 및 복호화 회로
JP4708914B2 (ja) 解読化方法
CN113672946A (zh) 数据加解密组件、相关装置和方法
CN117640115A (zh) 超算作业调度方法、系统、装置、设备及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040713