JP2009544183A - コーディックとは独立した人間の知覚に対する刺激を表現する素材の暗号化 - Google Patents
コーディックとは独立した人間の知覚に対する刺激を表現する素材の暗号化 Download PDFInfo
- Publication number
- JP2009544183A JP2009544183A JP2009519543A JP2009519543A JP2009544183A JP 2009544183 A JP2009544183 A JP 2009544183A JP 2009519543 A JP2009519543 A JP 2009519543A JP 2009519543 A JP2009519543 A JP 2009519543A JP 2009544183 A JP2009544183 A JP 2009544183A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encryption
- encrypted
- row
- column
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
イメージやサウンドを表すデータフレームを暗号化するプロセッサであって、例えば、このデータフレームから選択されたデータを具備する制御データを暗号化するための第1の暗号化処理を用い、そして、このデータフレームから選択されていないデータを暗号化するための第2の暗号化処理を用いる。第1の暗号化処理は、データフレームの受取対象者に関連付けることのできるキーに応答する。第2の暗号化処理は、この制御データから取得又は導き出されたキーに応答する。暗号化された制御データと暗号化された選択されていないデータは、別の媒体を用いて受信器に配信することができる。受信器は、第1の暗号化処理や第2の暗号化処理とは逆の処理となる暗号解読処理を用いてデータフレームを復元する。第2の暗号化処理の効率的な実施の形態を開示する。
Description
本願発明は一般的には暗号化に関し、さらに詳細には、静的視覚映像及び動的視覚映像及びサウンドのような人間の知覚に対する刺激を表現する素材の暗号化に関する。
インターネットを含む種々の配信媒体を通して、ディジタルフォーマットにより、人間の知覚に対する刺激を表現するマルチメディアエンターテイメントコンテンツ及び他の素材が消費者に配信されている。一方では、ディジタルフォーマットを使用することによりこのような素材の配信を容易にしているが、他方ではまた、この素材の権限のない複写や提示を容易にしている。
著作権による保護がなわれている素材の権限のない使用に対する保護を手助けするために、一般的にディジタル著作権管理(DRM)と称される種々の方法が開発されている。一般的なDRMの手法は、素材の一部又は全部を暗号化し、自由にこの素材を配信するが、その素材を使用する権利を取得している個人にのみこの暗号化された情報を解読する手段を配信するよう制御する。暗号化された情報を解読する方法は、一般に2つの手法のうちの1つとなる。
第1のDRM手法は、素材に関連した素材指向の暗号解読キーに基づく暗号化及び解読方法を用いる。解読に必要な素材指向のキーは、その素材に対して一意的であり、権限のあるすべての受取人に確かなそして制御された方法で配信される。この手法の一例として、ワシントン州レドモンドのマイクロソフトから入手可能なソフトウェアであるウィンドウズメディアプレーヤーに用いられており、ウィンドウズメディアDRMと称されている。この特有な実施形態では、権限のある各受取人にその受取人にとって特有なコンテンツ認可証又はディジタルファイルに与える。コンテンツ認可証には、受取人にとって特有な受取人指向のマスターキーに基づく暗号を用いて暗号化されている素材指向のキーが含まれている。
第2のDRM手法は、素材の所定の受取人に関連づけられた受取人指向の暗号解読キーに基づく暗号化及び暗号解読法を用いる。暗号解読に必要な受取人指向のキーは、その受取人にとって特有であり、異なった素材に対して違うものとすることができる。この手法の一例は、カリフォルニア州のアップルコンピュータ社により提供されているiTunesに用いられており、フェアプレーDRMと称されている。この特有な実施形態では、権限のある各受取人に、受取人指向のマスターキーに基づく暗号を用いて暗号化されてい受取人指向のキーをを与える。
どちらの手法でも、一般に受取人はひとつだけマスターキーを持つ。どちらの手法も他方よりも有利な点を持つ。第1の素材指向の手法は効率的ではあるが確実性に欠ける。第1の素材指向の手法に用いる配信サーバーとして役割を果たすコンピュータシステムは、すべての権限のある受取人に対して素材を一度に暗号化することができるので、必要とするコンピュータ資源が少なくてすむ。残念ながら、1つの素材指向のキーが暗号解読又は権限無く公開されることにより公開されてしまった場合は、素材すべての配信の安全確保に障害が起こる。
どちらの手法においても、しかしながら、非対称キー又は公開キー/プライベートキーを用いた方法のようなより安全な方法を行うために必要な計算資源は極めて高価なため、すべての素材が暗号化されるときは、対称キー又は秘密キー暗号化方法がしばしば用いられる。素材のうちの選択部分に安全性を高めた暗号化処理を適用し、素材の残りの部分に安全性の低めた暗号化処理を適用するか又は暗号化処理を適用しないことにより、安全性を犠牲にすることなく効率を上げることができる。素材のうちの選択部分を、素材の残りの部分が選択部分なしでは本質的に価値が無いように選択することが望ましい。
安全性を高めた暗号化処理を用いて選択部分のどこを暗号化するかを選択するために、基本的に2つの手法が存在する。第1の手法は素材の論理構成に基づくものであり、伝達又は保存するための信号に素材をエンコードし、その後再生又は表示するためにデコードするために用いられるエンコーディング/デコーディング(コーディック)技術に依存する。このコーディックに依存する手法では、所定の暗号効率に対して安全性を最適化することができるが、一般に異なった形式の素材又は異なったエンコード技術によりエンコードされた所定の素材に対して単一の選択としないことを容認するような方法で、素材の選択部分を選択する。コーディックに依存しない方法は、広い範囲での使用が好ましい。
本願発明の目的は、保護のレベルを下げずに処理効率を改善し、効率を下げずに保護のレベルを改善するか又は、効率と安全性の均衡を保ちながら改善する、コーディックに依存しない方法で人間の知覚に対する刺激を表現する素材の、権限のない複写や表示を保護することである。
このような目的は、独立項の中に記載されているように、本願発明により達成される。有用な実施形態が独立項の中に記載されている。
本願発明の種々の特徴及び好ましい実施の形態は、以下の説明及び類似の参照番号は類似する要素を表す以下の図面を参照することによりよく理解されるであろう。以下の説明及び図面の内容は、例示であって、本願発明の技術的範囲を限定するためのものではない。
A.序
図1及び図2は、静的視覚映像及び動的視覚映像及びサウンドのような人間の知覚に対する刺激を表現する特定の素材を暗号化して表現したものを生成するシステムの概略ブロック線図である。エンコードされた表現は、所定の受取人に読解させ表示させるために、受信器に分配される。この明細書において、特に、1以上のフレームに配列したデータで表した素材について言及する。用語「フレーム」は、必要とされるデータの区分又は区画を意味する。この文脈において、ここで引用するフレームは、伝達又は保存のため素材をエンコードするために用いるエンコーディング技法に関する、データの区分に対応するものである必要はない。単一の映像を表現するデータはひとつのフレームにまとめることができる。動画中の複数の映像を表現するデータは、例えば、一般に一連のフレーム中にまとめられる。
図1及び図2は、静的視覚映像及び動的視覚映像及びサウンドのような人間の知覚に対する刺激を表現する特定の素材を暗号化して表現したものを生成するシステムの概略ブロック線図である。エンコードされた表現は、所定の受取人に読解させ表示させるために、受信器に分配される。この明細書において、特に、1以上のフレームに配列したデータで表した素材について言及する。用語「フレーム」は、必要とされるデータの区分又は区画を意味する。この文脈において、ここで引用するフレームは、伝達又は保存のため素材をエンコードするために用いるエンコーディング技法に関する、データの区分に対応するものである必要はない。単一の映像を表現するデータはひとつのフレームにまとめることができる。動画中の複数の映像を表現するデータは、例えば、一般に一連のフレーム中にまとめられる。
図1を参照して、プロセッサ3は、所定の素材の表示を搬送する経路1から1以上の信号を受け取り、所定の素材の一部を表現する選択されたデータを含む制御データを取得し、第1の暗号化されたデータを生成するためにこの制御データに第1の暗号化処理を適用し、この第1の暗号化されたデータを経路5に沿って送られる第1のエンコードされた信号に組み立てる。第1の暗号化処理では、第1の暗号キーに応答し、制御データは、同様に、第2の暗号キーを表すか又は第2の暗号キーに相当する。
プロセッサ4は、データのフレームを搬送する経路2から1以上の信号を受け取り、選択されたデータに含まれないデータのフレーム中の選択されないデータを取得し、第2の暗号化されたデータを生成するためにこの選択されないデータに第2の暗号化処理を適用し、この第2の暗号化されたデータを経路6に沿って送られる第2のエンコードされた信号に組み立てる。第2の暗号化処理はこの第2の暗号キーに応答する。
経路5及び6に沿って送られたエンコードされた信号はそれぞれ配信媒体7及び8に配信される。配信媒体7及び8は、ベースバンド又は超音波から紫外線周波数領域を含むスペクトルにわたって変調された通信信号のための、電気、光学、又は無線通信とすることができ、あるいは、磁気テープ、磁気カード、磁気ディスク、光学カード、光学ディスク、及び紙を含む媒体上の検出可能なマークを含む基本的にあらゆる記録技術を用いた保存媒体とすることができる。配信媒体7及び8は、第1のエンコードされた信号と第2のエンコードされた信号とをそれぞれ経路11及び12に送る。
受信器15は、第1のエンコードされた信号と第2のエンコードされた信号とをそれぞれ経路11及び12から受け取る。受信器15では、第1の暗号化されたデータに第1の暗号解読処理を適用して、所定の素材のデータのフレーム中にある選択されたデータを含む制御データを取得する。第1の暗号解読処理は、第1の解読キーに応答し、制御データには、第2の解読キーを取得又は導き出す情報が含まれる。受信器15では、第2の暗号解読処理を第2の暗号化されたデータに適用して、選択されていないデータを取得する。第2の暗号解読処理は、第2の解読キーに応答する。選択されたデータは、選択されていないデータと結合されて、人間の知覚に対する刺激を表現する特定の素材を表すデータのフレームに入れられる。
選択されたデータ及び選択されていないデータの各々には、データのフレーム中の所定の素材を表現する少なくともいくつかのデータが含まれる。しかしながら、選択されたデータ及び選択されていないデータが、全体として、データのフレーム中の所定の素材を表現するすべてのデータの構成要素となる必要はない。フレーム中の他のデータは、第1の暗号化処理によっても暗号化されず、第2の暗号化処理によっても暗号化されていない形で、受信器15に配信することができる。この、他のデータは、暗号化されずに受信器15に配信することができるので、「プレーンテキストデータ」とここでは称する。しかしながら、いわゆるプレーンテキストデータは、必要であれば、他の処理により暗号化又はスクランブル化することができる。
好ましい実施の形態において、第1の暗号キーと第1の解読キーは、所定の受取人と関連付けられており、第1の暗号化処理と第1の暗号解読処理は、所定の受取人以外の人が第1の暗号化されたデータを解読することが不可能なように設計されていて、それにより、図に示したように、プロセッサ3を受取人指向プロセッサとする。第2の暗号キーと第2の解読キーは所定の素材と関連付けられることが好ましく、第2の暗号化処理と第2の暗号解読処理は、第2の暗号キー無いでは誰も第2の暗号化されたデータを解読することが不可能なように設計されていて、それにより、図に示したように、プロセッサ4を素材指向のプロセッサとする。
図2に示したシステムは図1に示したシステムと類似するが、プロセッサ10がプロセッサ3及び4が実行する動作を行う点で異なる。
図3は、上述したような図1及び2で示したプロセッサ及び受信器のネットワークの概略ブロック線図である。配信設備20は、配信媒体7及び8の実施の形態を表す。例えば、配信設備20は、広域ネットワーク、地域的ネットワーク、物理的記憶媒体の輸送、あるいは、ネットワークと輸送の結合とすることができる。
プロセッサ3及びプロセッサ4について記載した動作は、同時にでも、異なった時間にでも行うことができる。第1の暗号化されたデータは、第2の暗号化されたデータの生成の前、又は後、又は同時に生成することができる。第1のエンコードされた信号は、第2のエンコードされた信号の配信の前、又は後、又は同時に配信することができる。使用可能な処理資源により、別々のコンピュータシステムに処理を割り振ることができる。例えば、動画に対して、第2の暗号化されたデータを一度すべての受取人に対して生成し、所定の受取人にすぐに又はその後配信するために1以上の記憶媒体に記憶させることができる。第1の暗号化されたデータを生成し、所定の各受取人からの要求に応じてその後配信することができる。
動画についての所定の素材の暗号化及び配信システムにおいて、例えば、第2のエンコードされた信号を伝送するために必要な帯域幅又は記憶容量は、一般に第1のエンコードされた信号を伝送するためのものよりかなり大きい。このようなシステムにおいて、この2つのエンコードされた信号に対して異なった形式の配信媒体を用いることが好ましい。例えば、第1のエンコードされた信号は、伝達媒体により配信し、第2のエンコードされた信号は、物理的な記憶媒体により配信してもよい。あるいは、第1のエンコードされた信号は、無線伝達媒体により配信し、第2のエンコードされた信号は、電気的又は光学的伝達媒体により配信してもよい。必要に応じて、第2のエンコードされたデータはまた、配信コストを下げることができるピアツーピアネットワークで配信しても良い。第2の暗号化されたデータと一緒に、どんなプレーンテキストデータでも、本質的に任意の方法で配信することができる。
B.伝送器
図4及び図5は、プロセッサ10の実施の形態の概略ブロック線図である。この実施の形態の特徴はプロセッサ3及び4に適用することができる。
図4及び図5は、プロセッサ10の実施の形態の概略ブロック線図である。この実施の形態の特徴はプロセッサ3及び4に適用することができる。
図4を参照して、キーサーバー31は、所定の素材の表示を伝達する経路1から1以上の信号を受け取る。所定の素材の表示又は所定の素材のデータのフレームは経路2に沿ってセレクタ42に送られる。は経路2に沿って送られたデータのフレームは保存されキーサーバー31から直接アクセスできるか又は、所定の素材の表示に応答して,不図示の信号源から取得することができる。セレクタ42はデータのフレームを取得し、その一部分を選択し、そして、選択したデータを経路43に沿って暗号器33に送る。選択したデータは、必要なら他のデータと結合されて制御データの構成要素となる。暗号器33では制御データに第1の暗号化処理を適用して第1の暗号化されたデータを生成し、経路36に沿って送出する。第1の暗号化処理は、経路32を介してキーサーバー31から提供される第1の暗号キーに応答する。必要に応じて、第1の暗号化処理は、経路35から受け取る第1の初期化ベクトル(IV)に応答させることもできる。必要に応じて、第1のIVはキーサーバー31から提供することができる。第1のIVの使用については任意であるが、もし使用するのであれば、図中に示していないが何らかの方法で暗号化しておくことが好ましい。
第2の暗号キーを表す少なくとも選択されたデータの一部は、経路43に沿って暗号器45に送られる。暗号器45では、データのフレーム中の選択されなかったデータに第2の暗号化処理を適用して第2の暗号化されたデータ生成し、経路6に沿って送出する。選択されなかったデータは、選択されたデータに含まれないデータのフレーム中のデータの少なくとも一部を表している。第2の暗号化処理は、第2の暗号キーに応答し、経路46から受け取った第2のIVに応答させることもできる。必要に応じて、第2のIVは、キーサーバー31から提供することができる。第2のIVの使用については任意であるが、もし使用するのであれば、暗号器33に送られ、選択されたデータと結合して制御データとなる。
アセンブラ34は、第1の暗号化されたデータと、経路5に沿って送られたエンコードされた出力信号として用いられている第1のIVとを組み立てる。第2の暗号化されたデータも図示した出力信号に組み立てることができる。動画を表現する素材を暗号化し配信する実施の形態において、例えば、第1の暗号化されたデータと第2の暗号化されたデータとは、上記のように、また、図1及び図2で示したように別々の配信媒体により配信するために、別々の出力信号に組み立てることができる。
図5に示したプロセッサの実施の形態は、図4の実施の形態と類似するが、暗号器45において、経路44を介してキーサーバーから受け取ったものであり、選択されたデータで表されていない第2の暗号キーに応答する第2の暗号化処理を適用する点で異なる。この第2の暗号キーは、暗号器32に送られ、選択されたデータと結合されて制御データとなる。
C.受信器
図6及び図7は、受信器15の実施の形態の概略ブロック線図である。図6に記載した受信器15は、図4に記載のプロセッサ10により生成された信号を受け取り解読するために都合よく用いることができる。図7に記載の受信器15は、図5に記載のプロセッサ10により生成された信号を受け取り解読するために都合よく用いることができる。
図6及び図7は、受信器15の実施の形態の概略ブロック線図である。図6に記載した受信器15は、図4に記載のプロセッサ10により生成された信号を受け取り解読するために都合よく用いることができる。図7に記載の受信器15は、図5に記載のプロセッサ10により生成された信号を受け取り解読するために都合よく用いることができる。
図6を参照すると、暗号解読器51は第1の暗号化されたデータを経路11から受け取り、経路52から第1の解読キーを受け取り、そして第1の暗号解読処理を第1の暗号化されたデータに適用して、制御データを生成して経路53に送出する。第1の解読処理は、第1の解読キーに応答する。制御データには、人間の知覚に対する刺激を表現する特定の素材を表すデータのフレーム中の選択されたデータが含まれる。選択されたデータは、そこから第2の暗号キーを取得又は導き出すことのできる情報を表す。第2の解読キーは経路53に沿って暗号解読器61に送られる。第1の暗号解読処理は、経路55から受け取った第1のIVにも応答させることができる。第1のIVの使用は原則として任意であるが、IVを使用したプロセッサ10における補完的な第1の暗号化処理により第1の暗号化されたデータが生成されている場合は、第1のIVを使用すべきである。第1のIVが暗号化される場合は、第1のIVは図示されていない何らかの方法で暗号化される。
暗号解読器61は、経路12から第2の暗号化されたデータを受け取り、経路53から第2の解読キーを受け取り、そして、第2の暗号化されたデータに第2の暗号解読処理を適用して、選択されていないデータを生成して経路63に送出する。この選択されていないデータは、選択されたデータ内に含まれないデータのフレーム中のデータの少なくとも一部を表す。第2の暗号解読処理は第2の解読キーに応答し、また、第2のIVに応答させることもできる。第2のIVを使用する場合は、第2のIVは、制御データから取得し経路65に沿って送る。第2のIVの使用は原則として任意であるが、第2のIVを使用したプロセッサ10における補完的な第2の暗号化処理により第2の暗号化されたデータが生成されている場合は、第2のIVを使用すべきである。
アセンブラ54は、選択されたデータと選択されていないデータとを集めて、特定の素材を表すデータのフレーム中に組み立てる。プレーンテキストのような他のデータも、選択されたデータ及び選択されていないデータに結合されてデータのフレーム中に組み立てることができる。
図7の受信器15に実施の形態は、図6の実施の形態と類似するが、暗号解読器61では、選択されたデータでは表されない制御データ中の情報から取得又は導き出された第2の解読キーに応答する第2の暗号化処理を適用する点で異なる。第2の解読キーは経路62から取得する。
D.暗号化処理
1.概観
第1の暗号化処理及び第2の暗号化処理は種々の方法で行うことができる。この2つの処理は、同一の方法、あるいは、異なった方法で行うことができる。動画についての特定の素材の暗号化のためのシステムの実施の形態において、例えば、より効率的な対称秘密キーによる暗号化方法は、第2の暗号化処理を行うために使用し、効率の劣る非対称公開キー/プライベートキーによる暗号化方法は、第1の暗号化処理を行うために使用する。いくつかの対称キーによる暗号化方法には、新暗号規格(Advanced Encryption Standard:AES)によるブロック暗号、データ暗号化標準(Data Encryption Standard:DES)を変形したもの、LaiとMasseyが提案した国際データ暗号化アルゴリズム(International Data Encryption Algorithm:IDEA)、及び下記の暗号が含まれる。いくつかの非対称キーによる暗号化方法には、Rivest、Shamir、及びAdlemanによって提案されたRSA暗号、及び、ElGamalによって提案されたElGamal暗号が含まれる。多種多様な暗号解読キーの配信及び交換プロトコルが用いられている。適切なキーの配信及び交換プロトコルを選択するために通常の考慮が払われる。
1.概観
第1の暗号化処理及び第2の暗号化処理は種々の方法で行うことができる。この2つの処理は、同一の方法、あるいは、異なった方法で行うことができる。動画についての特定の素材の暗号化のためのシステムの実施の形態において、例えば、より効率的な対称秘密キーによる暗号化方法は、第2の暗号化処理を行うために使用し、効率の劣る非対称公開キー/プライベートキーによる暗号化方法は、第1の暗号化処理を行うために使用する。いくつかの対称キーによる暗号化方法には、新暗号規格(Advanced Encryption Standard:AES)によるブロック暗号、データ暗号化標準(Data Encryption Standard:DES)を変形したもの、LaiとMasseyが提案した国際データ暗号化アルゴリズム(International Data Encryption Algorithm:IDEA)、及び下記の暗号が含まれる。いくつかの非対称キーによる暗号化方法には、Rivest、Shamir、及びAdlemanによって提案されたRSA暗号、及び、ElGamalによって提案されたElGamal暗号が含まれる。多種多様な暗号解読キーの配信及び交換プロトコルが用いられている。適切なキーの配信及び交換プロトコルを選択するために通常の考慮が払われる。
好ましい実施の形態において、最初の暗号キーは公開キーであり、最初の解読キーは、特定の素材の所定の受取人と関連づけられた公開キー/プライベートキーのペアのプライベートキーであり、そして第2の暗号キーと第2の解読キーは、特定の素材と関連づけられた対称キーである。ひとつのキーを特定の素材のすべてのフレームに用いることができるか、あるいは、対称キーのインスタンスを上述のあるいは下記の各フレーム中のデータから取得することができる。好ましい実施の形態において、最初の暗号化/暗号解読処理及び関連するキーは、受取人指向であるといわれ、第2の暗号化/暗号解読処理及び関連するキーは、素材指向であるといわれる。このことは図1に表され、受取人指向のプロセッサとしてプロセッサ3が、そして、素材指向のプロセッサとしてプロセッサ4が示されている。
第2の 暗号化処理を実行するために用いることのできるいくつかの方法を以下に説明する。
2.基本的実施の形態
第2の暗号化処理は、本質的にどんな可逆変換によっても実施することができる。ひとつの適切な形式の変換は以下のように表現することができる。
第2の暗号化処理は、本質的にどんな可逆変換によっても実施することができる。ひとつの適切な形式の変換は以下のように表現することができる。
Y=A・X (1)
ここで、
A=k行・m列のマトリックス
X=暗号化すべきデータのフレーム中の選択されていないデータ、及び
Y=この暗号化処理により生成された第2の暗号化されたデータ、である。
ここで、
A=k行・m列のマトリックス
X=暗号化すべきデータのフレーム中の選択されていないデータ、及び
Y=この暗号化処理により生成された第2の暗号化されたデータ、である。
相補的な暗号解読処理は、以下のように表現することができる。
Y=A−1・X (2)
ここで、A−1は前記マトリックスAの逆マトリックスである。
ここで、A−1は前記マトリックスAの逆マトリックスである。
暗号化すべきデータXのフレームは、有限フィールド中のm個のシンボル又は要素で固定された長さのk個のパケットにより構成される行及び列に整理される。k個のパケットのそれぞれはデータのフレーム中の行となり、パケット中のm個のシンボルは、データのフレーム中のそれぞれの列となる。この結果としてできたデータYは、以下に説明するように、k行・m列のデータのフレームとなる。
以下の例では、各シンボルは1バイトのデータであると仮定する。ここで各バイトは8ビットを含む。パケットの具体的な長さは本質的ではないが、第1の暗号化されたパケットに、ランダムにそのビットの値を推測する、ばか力暗号解析(brute−force crypto analysis)攻撃をかけることが、そのパケットの暗号化に用いたキーを力づくでランダムに推測するより簡単ではないように、パケットの具体的な長さは少なくとも暗号キーの長さより小さくならないように選択することが好ましい。
式(1)で示した変換の1実施の形態は、以下のように表してもよい。
y0=x0 (3)
yi=a・xi+b・yi−1+c・xi−1
ただし、1≦i<k
ここで、
x0は、データXのフレーム内の行0又はパケット0
xiは、データXのフレーム内の行i又はパケットi
yiは、暗号化されたデータYのフレーム内の行i又はパケットi
a,b,cは、ゼロでないマトリックス係数。
yi=a・xi+b・yi−1+c・xi−1
ただし、1≦i<k
ここで、
x0は、データXのフレーム内の行0又はパケット0
xiは、データXのフレーム内の行i又はパケットi
yiは、暗号化されたデータYのフレーム内の行i又はパケットi
a,b,cは、ゼロでないマトリックス係数。
以下に説明する他のマトリックス係数と同様に、これらのマトリックス係数は、希望するどのような方法で定めてもよいが、暗号化すべきデータの各フレームに対して選択されたデータの少なくとも一部に応じて擬似乱数値を生成する処理により定めることが好ましい。暗号化マトリックスAが可逆であるためには、これらの値はゼロであってはならない。
式(3)の表現は、以下の説明で基本変換(basic transform)と称する変換を表している。基本変換では、データの第1の行又はパケットx0を暗号化しない。このパケットは、第1の暗号化処理により暗号化された、上述の制御データ内の選択されたデータに対応する。
1実施の形態において、式(3)の表現における項は、8ビット有限フィールドにおいて定義される8ビットの数である。必要に応じて、マトリックスに8ビットより長いデータ記号を適用することを許容する、より長い有限フィールドを用いることができる。有限フィールドの使用により、キャリービットや、算術下位桁あふれや、算術上位桁あふれを心配することなく、固定ビット数(この例では8ビット)のデータ要素に対して行う算術演算により、変換を行うことができる。式(3)の表現で示した算術演算はi=1,2に対して以下のように表すことができる。
式(5)は、式(3)の表現は式(1)で示した変換の特別な場合であることを示すにすぎない。(3)で表した式は、係数a,b,cがすべて非ゼロである、最大階数の可逆マトリックス変換と等価である。式(3)の表現における変換は、可逆特性を満足する多くの変換のうちの1つに過ぎないが、3タップの線形フィルターで実行することができるので非常に魅力的である。この変換における計算の複雑さは、各列に対して0(k)であり、これは、マトリックス全体に非ゼロの係数を持つ変換の0(k2)と比較して非常に低い。
式(3)の表現の暗号化処理は漸進的に又は増加させつつデータの行又はパケット適用することができる。暗号化処理をはじめることができるようになる前に、入力データの全フレームを有効にする必要はない。これにより、暗号化のために記憶すべきデータの記憶量を減少させること、又は、バッファのための時間遅れを減少させることが可能となる。同様の利点が相補的な暗号解読処理に当てはまり、この暗号解読処理は以下のようにあらわされる。
ただし、1≦i<k
式(6)は、係数がゼロでない値を持つならば可逆的である。しかし、暗号化された各パケットが先のパケットのコンテンツに依存するよう、係数b及びcもまた、ゼロでない値を持つようにすることが重要である。このことにより、権限のない受取人が先のすべてのパケットを暗号解読しないことにはパケットを解読することができないようになる。
式(6)は、係数がゼロでない値を持つならば可逆的である。しかし、暗号化された各パケットが先のパケットのコンテンツに依存するよう、係数b及びcもまた、ゼロでない値を持つようにすることが重要である。このことにより、権限のない受取人が先のすべてのパケットを暗号解読しないことにはパケットを解読することができないようになる。
3.代替的実施の形態
第2の暗号化処理及びその相補的な第2の暗号解読処理に使うことのできる、代替的な基本変換及び代替的な基本逆変換(basic inverse transform)は、マトリックスの乗算演算において項の順序を逆にすることにより、それぞれ式(1)及び式(2)に示す変換により導き出すことができる。これらの代替的変換は、ここで詳細に説明することはしない。これらの実施は、基本変換の議論から、マトリックスの乗算演算において項の順序を逆にすること、マトリックスを入れ替えること、行ベクトルと列ベクトルとを交換すること、及び行と列の参照指標を入れ替えることにより、直接的に取得することができる。
第2の暗号化処理及びその相補的な第2の暗号解読処理に使うことのできる、代替的な基本変換及び代替的な基本逆変換(basic inverse transform)は、マトリックスの乗算演算において項の順序を逆にすることにより、それぞれ式(1)及び式(2)に示す変換により導き出すことができる。これらの代替的変換は、ここで詳細に説明することはしない。これらの実施は、基本変換の議論から、マトリックスの乗算演算において項の順序を逆にすること、マトリックスを入れ替えること、行ベクトルと列ベクトルとを交換すること、及び行と列の参照指標を入れ替えることにより、直接的に取得することができる。
上述の基本変換と下記の付加的な特性を加えたその変形は、マトリックスAの係数に暗号化すべきデータXのフレームを乗算する数学的処理に相当する。式(3)に示した方程式を検討することにより、データXのフレームの各列、又はデータYのフレームの各列に対する数学的演算は、他の列に対する数学的演算と独立に行なわれることが分かった。基本変換によるセキュリティーレベルは、以下に説明する1以上の特性を用いることにより改善することができる。
上述の代替的変換又は、付加的な特性を加えたその変形は、第2の暗号化処理を実施するために用いられ、この実施の形態は、暗号化すべきデータXのフレームに係数のマトリックスAを乗算する数学的処理に相当する。データXのフレームの各列、又はデータYのフレームの各列に対する数学的演算は、他の列に対する数学的演算と独立に行なわれる。この代替的基本変換によるセキュリティーのレベルは、行と列の参照指標を入れ替え、上述した他の変更を行うことにより、以下の説明から導き出すことのできる以下に説明する1以上の特性を変更したものを用いることにより、改善することができる。
以下の説明において、マトリックス演算に関して、又は行と列に配列された係数のマトリックスについての種々の数学演算において、変換の適用について言及する。このように言及することは、代替的な実施の形態について説明するのに都合がよく、この変換を適用しなければならない特別な方法を暗示するものではない。上述のマルチタップフィルターの適用のような他の方法も可能である。
a)付加的な特性
代替的実施の形態を実現させることのできるひとつの方法は、基本変換の適用に加えて種々の演算を行うことにより付加的な特性を暗号化処理に組み込むことである。これらの付加的な特性は相互に結合して用いることができる。
代替的実施の形態を実現させることのできるひとつの方法は、基本変換の適用に加えて種々の演算を行うことにより付加的な特性を暗号化処理に組み込むことである。これらの付加的な特性は相互に結合して用いることができる。
(1)列の置換(column permutations)
暗号化変換における列の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
暗号化変換における列の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
(a)マトリックス係数
1つの形態では、暗号化すべきデータXのフレームに適用する前に変換マトリックスAの列の配置を変更する。マトリックスのm列を、m!の可能な順序又は置換のいずれかに配置変更することができる。この順序は、上述の制御データの少なくとも一部により指定される。1実施の形態において、置換の順序は、以下の式で表されるように、データのフレームから選択されたデータ中の第1のパケット又は行x0から導き出される。
1つの形態では、暗号化すべきデータXのフレームに適用する前に変換マトリックスAの列の配置を変更する。マトリックスのm列を、m!の可能な順序又は置換のいずれかに配置変更することができる。この順序は、上述の制御データの少なくとも一部により指定される。1実施の形態において、置換の順序は、以下の式で表されるように、データのフレームから選択されたデータ中の第1のパケット又は行x0から導き出される。
A’[i,j]=A[i,F(x0,j)] (7a)
ただし、0≦i<k,0≦j<m
ここで、
A[i,j]=行i、列jの係数マトリックスA、
F(x0,j)=列jの置換した列番号、
A’[i,j]=列を置換した係数マトリックスA、
である。
ただし、0≦i<k,0≦j<m
ここで、
A[i,j]=行i、列jの係数マトリックスA、
F(x0,j)=列jの置換した列番号、
A’[i,j]=列を置換した係数マトリックスA、
である。
この式によれば、F(x0,j)は、列jに移された元の列の指標番号を表す。
列の置換は、マトリックスの行から行へと変化させることのできる行に依存させてもよい。これは、基本的に、行番号に依存するいかなる方法によっても行うことができる。1つの方法では、各行に対して異なった回数の置換関数(permutation function)Fを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。1つの例では、以下の式で表されるような、行数に等しい回数の置換関数が行使される。
A’[i,j]=A[i,Fi(x0,j)] (7b)
ただし、
0≦i<k,0≦j<k
(b)データパケット
もう1つの特徴は、この変換マトリックスを暗号化すべきデータに適用する前後に、データの列を再構成することである。前述の式(3)の基本変換と共に用いると、この基本変換を適用する前に選択されなかったデータXの列を再構成することによる結果と、この基本変換を適用した後に暗号化されたデータYの列を再構成することによる結果とは同じ結果となる。
ただし、
0≦i<k,0≦j<k
(b)データパケット
もう1つの特徴は、この変換マトリックスを暗号化すべきデータに適用する前後に、データの列を再構成することである。前述の式(3)の基本変換と共に用いると、この基本変換を適用する前に選択されなかったデータXの列を再構成することによる結果と、この基本変換を適用した後に暗号化されたデータYの列を再構成することによる結果とは同じ結果となる。
データのm列は、m!の順序または置換のどの1つで再構成してもよい。この順序は、上述の制御データの少なくとも一部により指定される。データXのフレームの列置換の1つの実施の形態は、例えば、以下の式で表されるようなデータのフレームから選択されたデータ中の第1のパケットまたは行x0から、置換順序を導き出す。
X’[i,j]=X[i,Fi(x0,j)] (8a)
ただし、
0≦i<k,0≦j<m
ここで、
X[i,j]=データXのフレームの行i中のデータのバイトj
F(x0,j)=列jの置換した列番号、
X’[i,j]=置換後のデータXのフレームの行i中のデータのバイトj、
である。
ただし、
0≦i<k,0≦j<m
ここで、
X[i,j]=データXのフレームの行i中のデータのバイトj
F(x0,j)=列jの置換した列番号、
X’[i,j]=置換後のデータXのフレームの行i中のデータのバイトj、
である。
列の置換は、行ごとに変化させることができるように、行に依存させてもよい。これは、基本的に、行番号に依存するいかなる方法によっても行うことができる。1つの方法では、各行に対して異なった回数の置換関数Fを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。暗号化すべきデータXに対する1つの例では、以下の式で表されるような、行数に等しい回数の置換関数が行使される。
X’[i,j]=X[i,Fi(x0,j)] (8b)
ただし、
0≦i<k,0≦j<m
(2)行の置換
暗号化変換における行の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
ただし、
0≦i<k,0≦j<m
(2)行の置換
暗号化変換における行の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
(a)暗号化すべきデータパケット
1つの形態では、変換マトリックスを適用する前にデータXのフレームのに適用する前に変換マトリックスAの行の配置を変更する。最初の行は移動させないことが好ましい。暗号化すべきデータの行の置換は以下のように表すことができる。
1つの形態では、変換マトリックスを適用する前にデータXのフレームのに適用する前に変換マトリックスAの行の配置を変更する。最初の行は移動させないことが好ましい。暗号化すべきデータの行の置換は以下のように表すことができる。
X’[i,j]=X[G(x0,i),j] (9)
ただし、
1≦i<k,0≦j<m
ここで、
X’[i,j]=置換後のデータXのフレームの行i中のデータのバイトj
G(x0,i)=行iに対する、置換された行番号
この表記において、G(x0,i)は、行iに移行した元の行の指標番号を表す。
ただし、
1≦i<k,0≦j<m
ここで、
X’[i,j]=置換後のデータXのフレームの行i中のデータのバイトj
G(x0,i)=行iに対する、置換された行番号
この表記において、G(x0,i)は、行iに移行した元の行の指標番号を表す。
行の置換は、マトリックスの列から列へと変化させることのできる列に依存させてもよい。これは、基本的に、列番号に依存するいかなる方法によっても行うことができる。1つの方法では、各列に対して異なった回数の置換関数Gを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。1つの例では、以下の式で表されるような、列数に1を加えた数に等しい回数の置換関数が行使される。
X’[i,j]=X[Gj+1(x0,i),j] (10)
ただし、
1≦i<k,0≦j<m
である。
ただし、
1≦i<k,0≦j<m
である。
(b)暗号化されたデータのパケット
もう1つの特徴は、暗号化すべきデータの行の順序を再構成することである。これは、変換マトリックスAの行を置換することにより、または、この変換マトリックスを適用した後に、暗号化されたデータYのフレーム中の暗号化されたデータの行を置換することにより行うことができる。変換マトリックス中の行の置換は以下のように表すことができる。
もう1つの特徴は、暗号化すべきデータの行の順序を再構成することである。これは、変換マトリックスAの行を置換することにより、または、この変換マトリックスを適用した後に、暗号化されたデータYのフレーム中の暗号化されたデータの行を置換することにより行うことができる。変換マトリックス中の行の置換は以下のように表すことができる。
A’[i,j]=A[G(x0,i),j] (11a)
ただし、
1≦i<k,0≦j<m
ここで、
A’[i,j]=行i、列jの係数マトリックスA、
G(x0,i)=行iの置換した行番号、である。
ただし、
1≦i<k,0≦j<m
ここで、
A’[i,j]=行i、列jの係数マトリックスA、
G(x0,i)=行iの置換した行番号、である。
暗号化されたデータYの行の置換は以下のように表される。
Y’[i,j]=Y[G(x0,i),j] (11b)
ただし、
1≦i<k,0≦j<m
ここで、
Y’[i,j]=置換後の、行i、列jにおける暗号化されたデータである。
ただし、
1≦i<k,0≦j<m
ここで、
Y’[i,j]=置換後の、行i、列jにおける暗号化されたデータである。
行の置換は、列ごとに変化させることができ、これは、基本的に、列番号に依存するいかなる方法によっても行うことができる。1つの方法は、式(10)に関連させて先に説明してあるとおりである。変換マトリックスAと暗号化されたデータYに対する行の置換の方法は以下のように表される。
A’[i,j]=A[Gj+1(x0,i),j] (12a)
ただし、
1≦i<k,0≦j<m
Y’[i,j]=Y[Gj+1(x0,i),j] (12b)
ただし、
1≦i<k,0≦j<m、である。
ただし、
1≦i<k,0≦j<m
Y’[i,j]=Y[Gj+1(x0,i),j] (12b)
ただし、
1≦i<k,0≦j<m、である。
(3)行と列の置換
他の形態では、1以上の行と列の置換方法を用いる。必要に応じて、変換マトリックスを適用する前と後に、行及び/又は列を置換することができる。さらに、行に依存する列置換と行に依存しない列置換とのどんな組み合わせも、列に依存する行置換と列に依存しない列置換と一緒に用いることができるが、置換を行う順序が重要である。読解を行っている間、逆の順序で相補的な逆置換が行われる。
他の形態では、1以上の行と列の置換方法を用いる。必要に応じて、変換マトリックスを適用する前と後に、行及び/又は列を置換することができる。さらに、行に依存する列置換と行に依存しない列置換とのどんな組み合わせも、列に依存する行置換と列に依存しない列置換と一緒に用いることができるが、置換を行う順序が重要である。読解を行っている間、逆の順序で相補的な逆置換が行われる。
(4)1次元ダイナミック係数
他の形態では、各行に異なる係数のセットを用いるために、基本変換マトリックスAの係数a,b及びcを修正する。この形態により、式(3)で示した方程式は以下のように書き換えることができる。
他の形態では、各行に異なる係数のセットを用いるために、基本変換マトリックスAの係数a,b及びcを修正する。この形態により、式(3)で示した方程式は以下のように書き換えることができる。
y0,j=x0,j
ただし、0≦j<m (13)
yi,j=ai・xi,j+bi・yi−1,j+ci・xi−1,j
ただし、0≦j<m
ここで、
x0,j=データXのフレームの行0におけるバイトjのデータ、
xi,j=データXのフレームの行iにおけるバイトjのデータ、
yi,j=暗号化されたデータXのフレームの行iにおけるバイトjのデータ、
ai,bi,ci=行iを変換するためのマトリックス係数、
である。
ただし、0≦j<m (13)
yi,j=ai・xi,j+bi・yi−1,j+ci・xi−1,j
ただし、0≦j<m
ここで、
x0,j=データXのフレームの行0におけるバイトjのデータ、
xi,j=データXのフレームの行iにおけるバイトjのデータ、
yi,j=暗号化されたデータXのフレームの行iにおけるバイトjのデータ、
ai,bi,ci=行iを変換するためのマトリックス係数、
である。
係数は、コントロールデータにアクセスしなければ、係数の値を予測することが難しくなるような方法で、このコントロールデータの少なくとも一部から導き出すことが好ましい。1実施の形態において、係数は、データのフレームから選択したデータにおける、最初の行x0から導き出される。この係数を導き出すために用いる方法又は関数の選択は、暗号処理の全体的な安全性に実際的に顕著な影響を与えるかもしれないが、原則として、特定の方法の使用が不可欠であるというわけではない。使用可能な方法を以下に説明する。係数の変換を1次元でのみ行うので、この形態は1次元ダイナミック係数と称される。この1次元ダイナミック係数の技法は、上述のどのような行及び列の置換技法と組み合わせて使うことができる。
(5)2次元ダイナミック係数
他の形態では、行に依存し列に依存する方法で変換マトリックス係数を変更する。これを行うことのできるひとつの方法は、上述の行に依存する係数を1次元ダイナミック係数として生成し、列に依存する値の第2の係数のセットd,e及びfを生成し、この列に依存する係数と行に依存する係数とを乗算する。この形態により、式(3)又は式(13)で示された方程式は以下のように記述することができる。
他の形態では、行に依存し列に依存する方法で変換マトリックス係数を変更する。これを行うことのできるひとつの方法は、上述の行に依存する係数を1次元ダイナミック係数として生成し、列に依存する値の第2の係数のセットd,e及びfを生成し、この列に依存する係数と行に依存する係数とを乗算する。この形態により、式(3)又は式(13)で示された方程式は以下のように記述することができる。
y0,j=x0,j
ただし、0≦j<m (15)
yi,j=ai・dj・xi,j+bi・ej・yi−1,j+ci・fj・xi−1,j
ただし、0≦j<m
ここで、
dj,ej,fj=列jを変換するための列に依存するマトリックス係数、
である。
ただし、0≦j<m (15)
yi,j=ai・dj・xi,j+bi・ej・yi−1,j+ci・fj・xi−1,j
ただし、0≦j<m
ここで、
dj,ej,fj=列jを変換するための列に依存するマトリックス係数、
である。
列に依存する係数と行に依存する係数のどれもがゼロでないなら、変換は可逆となる。これはこの変換が可逆であるための十分条件であるが必要条件ではない。
式(15)の方程式は、ここでダイナミックマトリックスと称するデータ構造を用いるマトリックス乗算として表現することができる。ダイナミックマトリックスにおける係数は、データYのフレームの異なった行及び/又は列における暗号化されたデータを生成するために行われる数学演算に対して変動する値を有する。例えば、式(15)の方程式のダイナミックマトリックスにおける係数は、以下の2つの式で示される。
ここで、A{θ}=データYのフレームのセットとなった列における暗号化されたデータを生成するために用いられるマトリックスAの係数、
である。
である。
ダイナミックマトリックスで表される変換は、様々な方法で実行することができる。この変換は、マトリックス{A}のセットから選択したマトリックスを用いてデータXのフレームとマトリックスとの乗算として実行することができる。この変換はまた、フィルターのセットから選択したマルチタップフィルターを用いてデータXのフィルターにフィルターを適用することにより実行することもできる。マトリックス又はフィルターは、データYのフレーム中に生成した第2の暗号化されたデータの行及び/又は列に基づきダイナミックに選択される。より詳しくは、マトリックスの乗算による実施の形態についてのこの明細書中で説明する。
例えば、式(15)で表される変換は、式(16)及び(17)で表される2つのマトリックスのセットから選択したマトリックスを用いた、マトリックスの乗算として実行することができる。これらの2つのマトリックスセットから適切なものが、データYのフレームに対して生成されたデータの列の関数として選択される。この特別な例では、列0又は1の暗号化されたデータが生成されるときは式(16)で表されるマトリックスが選択され、次いで、データYのフレームにおける他のすべての列の暗号化されたデータが生成されるときは式(17)で表されるマトリックスが選択される。
行に依存する係数と列に依存する係数とは、制御データにアクセスすることなく係数値を予想することが難しくなるような方法で、少なくとも部分的には制御データから導き出されることが好ましい。1つの実施の形態では、データのフレームから選択されたデータ中の第1番目の行x0から係数が導き出される。この係数を導き出すために用いられる方法又は関数の選択は、暗号化処理の全体的な安全性に影響を及ぼす上で実際的には重要かもしれないが、本質的にどんな方法を選択するかは本質的ではない。以下に可能な方法を説明する。結果として生じるマトリックスの係数は2次元に変わるので、この形態は、2次元ダイナミック係数と称される。
この2次元ダイナミック係数技法は、上述のどの列及び行の置換技法と組み合わせることもできる。
(6)ゼロバイト防止
データXのフレーム中のデータの1以上の行におけるすべてのバイトがゼロの値又は同じ値であるならば、第2の暗号化処理により提供される安全性のレベルが損なわれてしまうかもしれない。変換方程式にゼロでない項を加えることにより、このような状況が起こる可能性を本質的にゼロにまで減少させることができる。この形態は、繰り返し値は、ゼロではなく他の値に対して起こりやすいため、ここではゼロバイト防止技法と称する。式(15)で表される変換に対してゼロバイト防止技法を実行するために用いることのできる2つの方法が、方程式(18)及び(19)で表される。
データXのフレーム中のデータの1以上の行におけるすべてのバイトがゼロの値又は同じ値であるならば、第2の暗号化処理により提供される安全性のレベルが損なわれてしまうかもしれない。変換方程式にゼロでない項を加えることにより、このような状況が起こる可能性を本質的にゼロにまで減少させることができる。この形態は、繰り返し値は、ゼロではなく他の値に対して起こりやすいため、ここではゼロバイト防止技法と称する。式(15)で表される変換に対してゼロバイト防止技法を実行するために用いることのできる2つの方法が、方程式(18)及び(19)で表される。
yi,j=ai・dj・xi,j+bi・ej・yi−1,j+ci・fj・xi−1,j+gi・hj
ただし、1≦i<k,0≦j<m (18)
yi,j=ai・dj・(xi,j+gi・hj)+bi・ej・yi−1,j+ci・fj・xi−1,j ただし、1≦i<k,0≦j<m (19)
ここで、
gi=行に依存するゼロでない係数
hj=列に依存するゼロでない係数
であり、
必要に応じて、さらにゼロでない係数を追加することができる。ゼロでない項を1つだけ追加したのは、バイトの行に同じ値の変換を適用することになる確率を減らす量と、この技法を実行するのに必要なコンピュータのリソースとのバランスを象徴するものである。
ただし、1≦i<k,0≦j<m (18)
yi,j=ai・dj・(xi,j+gi・hj)+bi・ej・yi−1,j+ci・fj・xi−1,j ただし、1≦i<k,0≦j<m (19)
ここで、
gi=行に依存するゼロでない係数
hj=列に依存するゼロでない係数
であり、
必要に応じて、さらにゼロでない係数を追加することができる。ゼロでない項を1つだけ追加したのは、バイトの行に同じ値の変換を適用することになる確率を減らす量と、この技法を実行するのに必要なコンピュータのリソースとのバランスを象徴するものである。
上述の2つのゼロバイト防止技法は、以下のように、この変換にゼロバイト防止ダイナミックマトリックスBを加える1つの演算と数学的に等価である。
ここで
B{j}=列jにおけるマトリックスBの係数である。
B{j}=列jにおけるマトリックスBの係数である。
マトリックスAにおける係数の値についての表現と、ゼロ防止ダイナミックマトリックスBにおける係数の値についての表現とがすべての行と列について同じであるが、これらの値は、上述の2次元ダイナミック係数技法から導き出したのものなので、実際の値は行から行、列から列で変化する。
必要に応じて、上述の、列に依存する係数d,e,及びfを1に等しくすることで、1次元ダイナミック係数技法のような静的マトリックスを用いることができる。このゼロバイト防止技法は、行と行とで変動しない値にa,b,及びcを設定することにより、基本変換と共に用いることができる。
(7)初期ベクトル
上述の置換技法及びダイナミック係数技法の好ましい実施の形態は、制御データ中の情報から得られたか又は導き出されたデータに応答して係数の置換又は係数の修正を制御するものである。1実施の形態において、フレームの行x0におけるデータを用いる。用いられるデータが異なったフレームに対して一定又は予想可能であるならば、置換順序及び係数の修正の結果もまた予想可能であり、第2の暗号化処理での安全性のレベルを低下させるであろう。
上述の置換技法及びダイナミック係数技法の好ましい実施の形態は、制御データ中の情報から得られたか又は導き出されたデータに応答して係数の置換又は係数の修正を制御するものである。1実施の形態において、フレームの行x0におけるデータを用いる。用いられるデータが異なったフレームに対して一定又は予想可能であるならば、置換順序及び係数の修正の結果もまた予想可能であり、第2の暗号化処理での安全性のレベルを低下させるであろう。
この状況は、置換順序又はダイナミック係数を取得するために用いる方法に予測不可能な数又は初期ベクトル(IV)を導入するような形態を用いることにより本質的に排除することができる。IVと第1番目の行のデータx0のような他のデータの両方が用いられる。IVは、好ましい実施の形態における特定の素材と関連するが、意図する受取人のような他の要素と関連させることもできる。用いられるあらゆるIVは、制御データに含まれており、第1の暗号化処理で暗号化される。
IVは、フレームのシーケンスを暗号化するときに時々変更することができる。IVからの新しい値の存在が、すでに信号内に存在する他のデータから予想又は見つけ出すことができないならば、IVの変化は、第1の暗号化されたデータ又は第2の暗号化されたデータに含まれるか又はそれに関連付けされたいくつかの付加的なデータにより示すことができる。必要に応じて、異なったIVをデータのフレームに対して用いることができる。この新しい値は、予測可能であるかもしれないし予測不可能かもしれない。予測可能な値を生成する1つの方法は、IVを1つのフレームから次のフレームに予測可能な方法又は特定の方法で修正することである。例えば、IVを連続する各フレームに対して固定量だけ増加させるか又は制御データから得られる量だけ増加させることとすることができる。
IVを取得するために用いられる方法又は関数の選択は、暗号化処理の全体的な安全性に影響を及ぼす上で実際的には重要かもしれないが、本質的にどんな方法を選択するかは本質的ではない。以下に可能な方法を説明する。
b)初期化
行と列の置換とダイナミック係数を用いる好ましい実施の形態では、データx0の最初の行のように、データのフレーム中の選択されたデータから導き出された初期データに応答して、置換された行と列の順序とダイナミック係数の値とを制御する。第2の暗号化処理の安全性は、初期データの各ビット値を選択されたデータ中の各ビット値に依存させれば、強化することができる。このことは、暗号ブロック連鎖(CBC)のような連鎖機構によるブロック暗号を用いることにより行うことができる。この暗号化方法は、現行のブロックを暗号化する前に、先の暗号化したデータのブロックと、現行のデータのブロックとの間で排他的OR(XOR)演算を実行するものである。
行と列の置換とダイナミック係数を用いる好ましい実施の形態では、データx0の最初の行のように、データのフレーム中の選択されたデータから導き出された初期データに応答して、置換された行と列の順序とダイナミック係数の値とを制御する。第2の暗号化処理の安全性は、初期データの各ビット値を選択されたデータ中の各ビット値に依存させれば、強化することができる。このことは、暗号ブロック連鎖(CBC)のような連鎖機構によるブロック暗号を用いることにより行うことができる。この暗号化方法は、現行のブロックを暗号化する前に、先の暗号化したデータのブロックと、現行のデータのブロックとの間で排他的OR(XOR)演算を実行するものである。
1実施の形態において、第1の行のデータx0は、データのブロックP0,P1,P2,・・・PSに分割される。ブロック暗号化が各ブロックに順番に適用される。ブロック暗号化により得られた暗号化されたデータC0,C1,C2,・・・Csのブロックは、上述のIVの計算又は置換の初期化及びダイナミック係数技法に用いることのできる、バイナリデータの疑似乱数のストリームを表す。初期化には行x0の長さより長いビットストリームが必要であるならば、暗号化により、行の最初の部分を包み込むことができ、その行の最後から暗号化されたブロックCsを用いて、再度暗号化する前に第1のデータブロックP0のXORにその処理を続けることができる。第1のデータブロックP0の初期暗号化では、IV又は、データx0の第1の行のすべて又は一部から導き出した第1暗号キー又はその両方を用いることができる。これには多くのバリエーションが可能である。特定の技法が重要な意味を持つわけではない。
必要に応じて、暗号化処理において、第1の行x0のすべてのデータブロックP0,P1,P2,・・・Psに初期パスを作ることができる。1実施の形態において、初期パスから得られた暗号化されたデータブロックC0,C1,C2,・・・Csは、データの第1の行x0を置き換えるために用いられる。
いくつかの係数がゼロの場合、変換の結果は非可逆となってしまうので、ダイナミック係数技法には特に注意が必要である。初期化データからゼロ値のバイトをすべて削除することによりこの問題を避けることができる。この技法を用いる1つの方法は、疑似乱数のストリーム中の各バイトを検査し、そのバイトがゼロでない値である場合に初期化データにそのバイトを挿入することである。
列と行とを置換する技法に用いられた、置換された順序は、種々の方法で生成することができる。この置換された順序は、データx0の第1の行から導き出された情報に基づくことが好ましい。効率的で統計的偏りのない1つの方法は、一連の数の順序に構成させる値の範囲を単調に減少させる範囲で疑似乱数を生成することにより、置換された順序を生成することである。
例えば、列の置換された順序は、列番号の配列CXを組み立てて、ランダムにその番号の順序を再配置することにより生成することができる。この配列は、各配列要素CX[i]が番号iを持つように、0からm−1まで番号をつけたm個の要素からなる。この処理では、上述のCBC技法のような技法を用いて、データx0の第1の行から疑似乱数N1,N2,・・・Nmを反復的に導き出す。第1番目の反復計算により生成された番号N1は、0からm−1までの範囲(m−1を含む)に限定される値を持つ。一連の反復計算の数は、一様に減少する範囲に限定される。記号Rが繰り返しの数を表すならば、R番目の繰り返しからの疑似乱数の数NRは、0≦NR≦m−Rで表すことのできる範囲に限定される。例えば、第1番目の反復計算により生成された数N1の範囲は、0≦N1≦m−1であり、最後のあるいはm番目の反復計算により生成された数Nmの範囲は、0≦Nm≦0である。必要に応じて、最後の反復計算による数Nmは、疑似乱数を導き出すことなくゼロに設定しておくことができる。置換された順序は、配列CXの要素を再配置することにより生成する。各反復計算において、配列の要素CX[m−R]中に記録された値は、配列の要素CX[NR]中に記録された値に入れ替えられる。最後の反復計算が完了すると、i=0からm−1に対する一連の配列の要素CX[i]は、データx0の第1番目の行から導き出された、置換された順序における列番号を記録する。
配列の要素RX[i]における置換された順序を生成するために同様の技法を用いることができる。1≦NR≦k−Rで表すことができる範囲内の値で、R=k−1から1まで行う繰り返しのために疑似乱数NRが生成される。最後の反復計算が完了すると、i=1からk−1に対する一連の配列の要素RX[i]は、データx0の第1番目の行から導き出された、置換された順序における行番号を記録する。
初期化ベクトルは、疑似乱数発生装置により生成された疑似乱数のストリームのような、どんな発生源からでも原則的に取得することができる。1つの簡単な方法は、IVのような疑似乱数のストリームの最初の部分を用いることである。例えば、IVが128ビット長である場合、疑似乱数のストリームの最初の128ビットから取得することができる。
ここで説明する具体的な実施の形態と手続は、初期化を行うことができる方法の一例に過ぎない。本質的に、疑似乱数データを生成することができるあらゆる技法を使うことができる。
c)単純化し強化した変換
ここで、単純化し強化した変換(SET)と称する、ダイナミックマトリックスによる特別な変換について説明する。SETは、基本変換の1つの変形であって、マトリックス係数を置換し、上述のように第1番目のデータ行x0から導き出されたバイナリデータの疑似乱数のストリームにより初期化された処理を用いて選択されていないデータをランダム化するものである。SETは、効率的であり多くの処理において好ましいレベルの安全性をもたらしている。
ここで、単純化し強化した変換(SET)と称する、ダイナミックマトリックスによる特別な変換について説明する。SETは、基本変換の1つの変形であって、マトリックス係数を置換し、上述のように第1番目のデータ行x0から導き出されたバイナリデータの疑似乱数のストリームにより初期化された処理を用いて選択されていないデータをランダム化するものである。SETは、効率的であり多くの処理において好ましいレベルの安全性をもたらしている。
SETは、式(23)により表すことができる。
y0,j=x’0,j (23)
ただし、0≦j<m
yi,j=a’i,j・d’i,j・x’i,j
ただし、1≦i<k,0≦j<m
ここで、
x’0,j=データ行x0から導き出されたバイナリデータの疑似乱数のストリーム、 (24a)
a’i,j=ai,R(i,j,k)=行に依存し列をずらしたマトリックス係数、
(24b)
d’i,j=dS(i,j,m),j=列に依存し行をずらしたマトリックス係数、
(24c)
x’i,j=xi,j+x’P(i,j,m),j=暗号化すべきランダム化した、選択されていないデータ、 (24c)
である。
ただし、0≦j<m
yi,j=a’i,j・d’i,j・x’i,j
ただし、1≦i<k,0≦j<m
ここで、
x’0,j=データ行x0から導き出されたバイナリデータの疑似乱数のストリーム、 (24a)
a’i,j=ai,R(i,j,k)=行に依存し列をずらしたマトリックス係数、
(24b)
d’i,j=dS(i,j,m),j=列に依存し行をずらしたマトリックス係数、
(24c)
x’i,j=xi,j+x’P(i,j,m),j=暗号化すべきランダム化した、選択されていないデータ、 (24c)
である。
x’0,jで示したバイナリーデータの疑似乱数のストリームは、第1番目のデータ行x0に適用するCBC処理の最初のパスから導き出すことが好ましい。マトリックス係数a’及びd’はゼロでない値とすべきである。
R(i,j,k)の表記は、係数aの順序を置換する機能を表す。S(i,j,m)の表記は、係数dの順序を置換する機能を表す。P(i,j,m)の表記は、第1番目のデータ行x0のブロックの順序を置換する機能を表す。
上述の置換関数は、以下のような式で表わされるように実施される。
R(i,j,k)=(i−ra(j))mod k (25)
S(i,j,m)=(j−rd(i))mod m (26)
P(i,j,m)=(j−rx(i))mod m (27)
ここで、
ra(j)=0からk−1の整数に対する疑似乱数マッピング関数、
rd(i)=0からm−1の整数に対する疑似乱数マッピング関数、
rx(i)=0からm−1の整数に対する疑似乱数マッピング関数、
mod n=0からn−1の非負の数に帰還するモジュロ演算子、である。
S(i,j,m)=(j−rd(i))mod m (26)
P(i,j,m)=(j−rx(i))mod m (27)
ここで、
ra(j)=0からk−1の整数に対する疑似乱数マッピング関数、
rd(i)=0からm−1の整数に対する疑似乱数マッピング関数、
rx(i)=0からm−1の整数に対する疑似乱数マッピング関数、
mod n=0からn−1の非負の数に帰還するモジュロ演算子、である。
好ましい実施の形態において、各マッピング関数ra(j),rd(i),及びrx(i)は、データの各フレームごとに一度計算される。マッピング関数は、疑似乱数発生装置により生成された数又は上述のCBC初期化処理により生成された数により実行する。
マッピング関数ra(j),rd(i),及びrx(i)は、選択されていないデータの各フレームに対して一度そして一度だけ、0からk−1及び0からm−1の出力範囲で各整数を生成する置換関数として実行されることが好ましい。これらのマッピング関数が置換関数として実行される場合は、係数a’は、行に依存し、列に対して置換されたマトリックス係数となり、d’は、列に依存し、行に対して置換されたマトリックス係数となる。
上述の疑似乱数によるマッピング関数の出力範囲は、一般的に奨励されるものである。異なった範囲の出力を用いることもできるが、結果として生じたSETにより得られる安全性は損なわれるかもしれない。
式(24d)におけるプラス(+)演算子は、第1番目のデータ行x0から導き出されたバイナリデータの疑似乱数のストリームの置換と、残りの行のデータ中の選択されていないデータのブロックとのXOR演算を表す。この置換は、選択されていないデータの各行について変化するバイト又はビットの数だけ、疑似乱数のストリームを循環させる、循環シフトにより実行してもよい。必要に応じて、必要な循環の量の一部又はすべてを暗号化処理で用いるために予め計算し保存しておくこともできる。
必要に応じて、第2の暗号化処理を実行するために代替的にSETを用いることもできる。代替的なSETは、上記方程式に示したa’とd’の係数を置き換え、行ベクトルと列ベクトルとを交換し、行と列の参照指標を交換する。
d)暗号解読キー
上述の技法のいくつかは、暗号キーとIVとの両方に応答する第2の暗号化処理を用いることができる。IVそのものは暗号キーの1つの形式だと考えてもよい。必要に応じて、IVを生成するための上述の技法又は他の初期化データを暗号キーを生成するために用いることができる。このような方法で取得した暗号キーは素材指向のキーである。
上述の技法のいくつかは、暗号キーとIVとの両方に応答する第2の暗号化処理を用いることができる。IVそのものは暗号キーの1つの形式だと考えてもよい。必要に応じて、IVを生成するための上述の技法又は他の初期化データを暗号キーを生成するために用いることができる。このような方法で取得した暗号キーは素材指向のキーである。
データのフレーム中の残りのデータの全部又は少なくとも一部を暗号化するためにこれを用いることができる。IVは第1の暗号化処理により暗号化され、第1の暗号化されたデータ中に含まれる。この手法の1つの利点は、第2の暗号解読処理のための解読キーを導き出すために、受信器15が必要とするデータを配信する簡単な方法を提供する点にある。
必要に応じて、同じ暗号化アルゴリズムを第1の暗号化処理と第2の暗号化処理に用いることができ、同じ暗号解読処理を第1の暗号化処理と第2の暗号化処理に用いることができる。本質的にどんなアルゴリズムを用いてもよいが、AES又はDESのような対称キーアルゴリズムは、キー配信を簡単にするので、よい選択である。第1の暗号化処理に非対称キーアルゴリズムを用いる場合は、適切な解読キーを配信するための方法が必要となる。1つの配信方法において、プロセッサ10は、適切な解読キーを導き出し、第1の暗号化処理によって暗号化された制御データ内にそれを含める。
E.暗号解読処理
1.概観
第1の暗号化されたデータと第2の暗号化されたデータとを解読するために用いられる、第1の暗号解読処理と第2の暗号解読処理とは、種々の方法で実行することができるが、暗号化されたデータを生成するために用いられる第1の暗号化処理と第2の暗号化処理のそれぞれの逆の処理となる。上述の基本変換により生成される暗号化するためのデータに適切な処理の例について、以下に説明する。
1.概観
第1の暗号化されたデータと第2の暗号化されたデータとを解読するために用いられる、第1の暗号解読処理と第2の暗号解読処理とは、種々の方法で実行することができるが、暗号化されたデータを生成するために用いられる第1の暗号化処理と第2の暗号化処理のそれぞれの逆の処理となる。上述の基本変換により生成される暗号化するためのデータに適切な処理の例について、以下に説明する。
2.基本的実施の形態
第2の暗号解読処理は、第2の暗号化されたデータを生成するために用いられる変換を逆方向に行う適切な変換により行うことができる。上述の式(2)にその例が示されている。上述の式(6)に示された基本逆変換は、受信器15が、式(3)で示された基本変換を採用するシステムで用いるのに適切である。
第2の暗号解読処理は、第2の暗号化されたデータを生成するために用いられる変換を逆方向に行う適切な変換により行うことができる。上述の式(2)にその例が示されている。上述の式(6)に示された基本逆変換は、受信器15が、式(3)で示された基本変換を採用するシステムで用いるのに適切である。
3.代替的実施形態
第2の暗号化処理が式(3)の基本変換を用い、上述の付加的な特徴を実行するのならば、以下に説明する対応する逆特性が、式(6)の逆変換と共に用いられる。
第2の暗号化処理が式(3)の基本変換を用い、上述の付加的な特徴を実行するのならば、以下に説明する対応する逆特性が、式(6)の逆変換と共に用いられる。
基本逆変換の実施形態は、上述の付加的な特徴と共に又はそれとは別に、暗号化すべきデータYのフレームでマトリックスA−1を乗算する算術処理に対応する。式(6)で示した方程式データを検討すると、データYのフレーム又はデータXのフレームの各列に対する算術演算は、他の列第2の暗号化処理に対する算術演算と独立に行うことを示している。安全のレベルは、以下に説明する1以上の特徴を用いることにより改善することができる。
第2の暗号化処理が代替的な変換又は上述の付加的な特徴のバリエーションを用いるなら、この暗号化処理は、代替的な基本逆変換又は対応するその適切なバリエーションを用いるべきである。適切な逆変換を実行することは、マトリックスA−1の係数で暗号化すべきデータYのフレームを乗算する算術処理に対応する。データYのフレームの行又はデータXのフレームの行に対する算術演算は、他の行に対する算術演算とは独立に行う。第2の暗号化処理も、上述の付加的な特徴のバリエーションに組み込まれるならば、対応する逆変換の特性もこの暗号化処理に組み込まれる。対応する逆変換の特性は、上述したように、列と行の参照指標を交換することにより、以下の説明から導き出すことができる。
逆変換の適用について、以下の説明では、マトリックス演算又は種々の行又は列に配列されたマトリックス係数を有する算術演算の語で説明する。暗号化処理の説明については、これらの参照指標は、代替的実施の形態を説明するには便利な方法であり、この逆変換を組み込まなければならない特定の方法を示そうとするものではない。暗号化すべきデータYのフレームに1以上のマルチタップフィルターを適用するような他の実施の形態による方法によっても可能である。
a)付加的な逆変換特性
上述の付加的な逆変換特性に相補的な特性は、ここで逆変換特性と称され、以下に説明する基本逆変換の適用に付加する種々の演算を実行することで実現することができる。(1)列と行の置換
逆変換特性では、第2の暗号化処理で行われるのとは逆の方法で暗号化されたデータY又は暗号化されたデータXの、逆行列A−1の列、行、又は列と行の両方を再配列する。置換が変換マトリックスを適用する前になされるならば、対応する逆置換は、逆変換マトリックスを適用した後になされる。置換が変換マトリックスを適用した後になされるならば、対応する逆置換は、逆変換マトリックスを適用する前になされる。
上述の付加的な逆変換特性に相補的な特性は、ここで逆変換特性と称され、以下に説明する基本逆変換の適用に付加する種々の演算を実行することで実現することができる。(1)列と行の置換
逆変換特性では、第2の暗号化処理で行われるのとは逆の方法で暗号化されたデータY又は暗号化されたデータXの、逆行列A−1の列、行、又は列と行の両方を再配列する。置換が変換マトリックスを適用する前になされるならば、対応する逆置換は、逆変換マトリックスを適用した後になされる。置換が変換マトリックスを適用した後になされるならば、対応する逆置換は、逆変換マトリックスを適用する前になされる。
(2)ダイナミック係数
他の逆変換特性では、データの暗号化に用いられるマトリックスの逆演算を維持するように逆マトリックスの係数を修正する。係数は、上述の1次元又は2次元のダイナミック係数技法のどちらに従って適用してもよい。
他の逆変換特性では、データの暗号化に用いられるマトリックスの逆演算を維持するように逆マトリックスの係数を修正する。係数は、上述の1次元又は2次元のダイナミック係数技法のどちらに従って適用してもよい。
2次元のダイナミック係数を持つ逆変換は、適切なマトリックスが逆マトリックス{A−1}のセットから選択されるダイナミックマトリックスとのマトリックスの乗算として実行してもよい。逆マトリックスのセットにおける各マトリックスは、第2の暗号化変換を表すマトリックス{A}のセット中のそれぞれのマトリックスの逆演算である。必要に応じて、逆変換は、第2の暗号化変換を表すフィルターのセット中のそれぞれのフィルターに対すして各フィルターが逆演算となる、マルチタップフィルターのセットを適用することにより実行される。
(3)ゼロバイトの防止
もう1つの逆変換特性は、上述のゼロバイト防止技法の逆となる。逆変換技法は、以下のように、逆変換からゼロバイト防止ダイナミックマトリックスBを導き出す演算と数学的に等価である。
もう1つの逆変換特性は、上述のゼロバイト防止技法の逆となる。逆変換技法は、以下のように、逆変換からゼロバイト防止ダイナミックマトリックスBを導き出す演算と数学的に等価である。
X=A−1・(Y−B)=A−1・Y−A−1・B=A−1・Y−B−1 (28)
ここで、B−1は、ゼロバイト防止逆変換ダイナミックマトリックスである。
ここで、B−1は、ゼロバイト防止逆変換ダイナミックマトリックスである。
ダイナミックマトリックスB及びその逆B−1は、上述した、式(21)及び(22)で示されたように用いられる、ゼロバイト防止技法の具体的実施の形態に依存する。必要に応じて、逆変換ダイナミックマトリックスB−1は、以下のように計算することができる。
B−1=A−1・B (29)
(4)ベクトルの初期化
上述の置換及びダイナミック係数技法では、制御データ中の情報から取得又は導き出したデータに応答して、係数の置換と修正を制御する。この制御データは、第1の暗号化処理により暗号化され、第1の暗号化されたデータ中に含められる。逆置換技法及び逆ダイナミック係数技法では、第1の暗号化されたデータを読解することにより得られた、同じデータに応答してその動作を制御する。必要なIVには、この第1の暗号化されたデータが含まれる。
(4)ベクトルの初期化
上述の置換及びダイナミック係数技法では、制御データ中の情報から取得又は導き出したデータに応答して、係数の置換と修正を制御する。この制御データは、第1の暗号化処理により暗号化され、第1の暗号化されたデータ中に含められる。逆置換技法及び逆ダイナミック係数技法では、第1の暗号化されたデータを読解することにより得られた、同じデータに応答してその動作を制御する。必要なIVには、この第1の暗号化されたデータが含まれる。
b)初期化
第2の暗号解読処理における逆変換特性の実施の形態では、第2の暗号化処理における相補的特性により用いられたのと同じ初期化データから動作の初期化を行うことができる。この初期化データは、暗号化のために導き出したのと同じ方法で導き出すことができる。この動出のために必要なすべてのデータは、第1の暗号化されたデータ中に含まれている。
第2の暗号解読処理における逆変換特性の実施の形態では、第2の暗号化処理における相補的特性により用いられたのと同じ初期化データから動作の初期化を行うことができる。この初期化データは、暗号化のために導き出したのと同じ方法で導き出すことができる。この動出のために必要なすべてのデータは、第1の暗号化されたデータ中に含まれている。
c)単純化され強化された逆変換
SETが第2の暗号化処理を行うために用いられる場合は、第2の暗号解読処理は、ここで、単純化され強化された逆変換と称される逆変換(SET)により実行される。SETは、マトリックス係数を置換し、選択されていないデータを再ランダム化する特性により強化された基本逆変換のバリエーションである。
SETが第2の暗号化処理を行うために用いられる場合は、第2の暗号解読処理は、ここで、単純化され強化された逆変換と称される逆変換(SET)により実行される。SETは、マトリックス係数を置換し、選択されていないデータを再ランダム化する特性により強化された基本逆変換のバリエーションである。
SETは、式(30)により表すことができる。
x’0,j=y0,j
ただし、0≦j<m (30)
x’i,j=yi,j/(a’i,j・d’i,j)
ここで、 (31)
xi,j=x’i,j+x’p(i,j,m)=暗号読解後の選択されていないデータ、
である。
式(31)におけるプラス(+)演算子は、第1のデータx0から導き出したバイナリデータの疑似乱数のストリームの置換と、データの残りの行における選択されていないデータの暗号化されたブロックとの間のXOR演算を意味する。置換は、選択されていないデータの各行に対して変化する多くのバイト又はビットにより、疑似乱数のストリームを回転させる、循環シフトにより実行することができる。必要に応じて、回転の必要量のいくつか又はすべては、前もって計算され暗号解読処理のときに使うために保存される。
ただし、0≦j<m (30)
x’i,j=yi,j/(a’i,j・d’i,j)
ここで、 (31)
xi,j=x’i,j+x’p(i,j,m)=暗号読解後の選択されていないデータ、
である。
式(31)におけるプラス(+)演算子は、第1のデータx0から導き出したバイナリデータの疑似乱数のストリームの置換と、データの残りの行における選択されていないデータの暗号化されたブロックとの間のXOR演算を意味する。置換は、選択されていないデータの各行に対して変化する多くのバイト又はビットにより、疑似乱数のストリームを回転させる、循環シフトにより実行することができる。必要に応じて、回転の必要量のいくつか又はすべては、前もって計算され暗号解読処理のときに使うために保存される。
第2の暗号化処理で上述の代替的なSETを用いる場合は、対応する代替的なISETを第2の暗号解読処理に用いる。代替的なISETは、行ベクトルと列ベクトルとを交換し、行と列の参照指標を入れ替えることにより、式(30)で示されるマトリックス係数表されるマトリックスを置換することにより、ISETから導き出すことができる。
d)暗号解読キー
受信器15は、本質的に必要とされるどんな方法ででも必要なすべての暗号解読キーを取得することができる。好ましい実施の形態において、第2の暗号解読キーは、第1の暗号化されたデータを読解することにより受け取った制御データから取得、又は導き出す。第1の暗号化されたデータを読解するために必要な第1の暗号解読キーは、必要とされるどのような方法ででも配信することができる。例えば第1の暗号解読キーが、意図する受取人に関連付けられた、公開キー/プライベートキーのペアにおける、その受取人のプライベートキーである場合は、公開キーは、第1の暗号化されたデータを生成するために用いられ、プライベートキーは、データを暗号化させた第1の方法により生成されており、第1の暗号化されたデータの配信とは別の確かな方法で受取人に配信させる。逆に言えば、キーのペアは、受取人によって作ることができ、提供された公開キーは、データを暗号化するものに提供される。後者の方法は、公開キー配信するために必要なソースチャンネルを必要としないという利点がある。
受信器15は、本質的に必要とされるどんな方法ででも必要なすべての暗号解読キーを取得することができる。好ましい実施の形態において、第2の暗号解読キーは、第1の暗号化されたデータを読解することにより受け取った制御データから取得、又は導き出す。第1の暗号化されたデータを読解するために必要な第1の暗号解読キーは、必要とされるどのような方法ででも配信することができる。例えば第1の暗号解読キーが、意図する受取人に関連付けられた、公開キー/プライベートキーのペアにおける、その受取人のプライベートキーである場合は、公開キーは、第1の暗号化されたデータを生成するために用いられ、プライベートキーは、データを暗号化させた第1の方法により生成されており、第1の暗号化されたデータの配信とは別の確かな方法で受取人に配信させる。逆に言えば、キーのペアは、受取人によって作ることができ、提供された公開キーは、データを暗号化するものに提供される。後者の方法は、公開キー配信するために必要なソースチャンネルを必要としないという利点がある。
F.実施の形態
本発明のさまざまな特徴を組み込んだ装置は、コンピュータ又は汎用コンピュータに見られる構成要素と同様な構成要素と結合したディジタル信号プロセッサ回路のような専用化した構成要素を含む他の装置により実行されるソフトウェアを含むさまざまな方法で実施することができる。図8は、本発明の特徴を実施するために用いることのできる装置70の概略ブロック図である。プロセッサ72は計算手段を提供する。RAM73は処理のためのプロセッサ72により用いられるランダムアクセスメモリ(RAM)のシステムである。ROM74は、装置を動作させるのに必要なプログラムを保存するための、及び、おそらく本発明のさまざまな特徴を実行することのできるリードオンリーメモリ(ROM)のような固定記憶の形態を示す。I/O制御75は、通信チャンネル76,77を用いて信号を受信し送信するインターフェース回路を示す。図示の実施の形態では、すべての主要なシステム構成要素は、2以上の物理的または論理的バスを表すバス71に接続されているが、バス構成は本発明を実施するためにからなずしも必要ではない。
本発明のさまざまな特徴を組み込んだ装置は、コンピュータ又は汎用コンピュータに見られる構成要素と同様な構成要素と結合したディジタル信号プロセッサ回路のような専用化した構成要素を含む他の装置により実行されるソフトウェアを含むさまざまな方法で実施することができる。図8は、本発明の特徴を実施するために用いることのできる装置70の概略ブロック図である。プロセッサ72は計算手段を提供する。RAM73は処理のためのプロセッサ72により用いられるランダムアクセスメモリ(RAM)のシステムである。ROM74は、装置を動作させるのに必要なプログラムを保存するための、及び、おそらく本発明のさまざまな特徴を実行することのできるリードオンリーメモリ(ROM)のような固定記憶の形態を示す。I/O制御75は、通信チャンネル76,77を用いて信号を受信し送信するインターフェース回路を示す。図示の実施の形態では、すべての主要なシステム構成要素は、2以上の物理的または論理的バスを表すバス71に接続されているが、バス構成は本発明を実施するためにからなずしも必要ではない。
汎用コンピュータシステムにより実施される実施の形態では、キーボードやマウスやディスプレイのような装置とのインターフェースのための構成要素、及び、磁気テープ又はディスク或いは光学的記憶媒体のような記憶媒体を有する記憶装置78を制御するための構成要素を付加的に含めることができる。この記憶媒体はオペレーティングシステムに対する指令プログラム、ユーティリティープログラム、及びアプリケーションプログラムを記憶するために使うことができ、また、本発明のさまざまな特徴を実行するプログラムを含有することができる。
本発明のさまざまな特徴を実行するために必要な機能は、個別の論理要素、集積回路、1以上のASICs及び/又はプログラム制御されるプロセッサを含む広くさまざまな方法に用いられる構成要素により実行される。これらの構成要素を用いる方法は本発明にとって重要ではない。
本発明を実施するソフトウェアは、超音波から赤外周波数を含む範囲のスペクトルでのベースバンド通信経路又は変調通信経路のような機械的に読み取り可能なさまざまな媒体、又は、磁気テープ、磁気カード、磁気ディスク、光学カード又は光学ディスク、及び紙を含む媒体上の検出可能なマーキングを含んで、原則としてあらゆる記憶技術を用いて情報を伝達する記憶媒体により伝達することができる。
Claims (44)
- 人間の知覚に対する刺激を表現する所定の素材を特定又は搬送するデータを搬送する1以上の信号を受け取るステップと、
第1の暗号化キーを取得するステップと、
データフレーム中の選択されたデータと、所定の素材と関連付けられた第1の暗号化キーとは異なる第2の暗号化キーを表す情報とを具備する制御データを取得するステップであって、選択されたデータは、少なくとも所定の素材の一部を表し、データフレーム中のすべてのデータより少ないことを特徴とする、ステップと、
第1の暗号化されたデータを生成するために前記制御データに第1の暗号化処理を適用するステップであって、該第1の暗号化処理は、前記第1の暗号化キーに応答するものであることを特徴とする、ステップと、
前記選択されたデータに含まれないデータフレーム中の選択されていないデータの暗号化された形式を表す第2の暗号化されたデータに対する解読キーを取得するのに用いるために、前記第1の暗号化されたデータを、受取人に配信するための第1のエンコードされたデータに組み立てるステップと、
を具備するエンコーディング方法。 - 第2の暗号化されたデータを生成するために、選択されていないデータに第2の暗号化処理を適用することを特徴とする請求項1に記載のエンコーディング方法。
- 前記選択されていないデータは、記号からなり、前記第2の暗号化処理は、前記選択されていないデータの記号を係数で乗算する算術演算を具備し、前記記号は、列と行に配列され、各列に対する算術演算は他の列に対する算術演算とは独立に行われるか又は、各行に対する算術演算は他の行に対する算術演算とは独立に行われることを特徴とする請求項2に記載のエンコーディング方法。
- 前記選択されたデータは、第2の暗号化キーを表す情報を具備することを特徴とする請求項3に記載のエンコーディング方法。
- 前記第2の暗号化されたデータを前記第1のエンコードされた信号に組み立てるステップを具備することを特徴とする請求項2乃至請求項4のいずれか1項に記載のエンコーディング方法。
- 前記第2の暗号化されたデータを前記第2のエンコードされた信号に組み立てるステップを具備することを特徴とする請求項2乃至請求項4のいずれか1項に記載のエンコーディング方法。
- 第1の配信経路に沿って第1のエンコードされた信号を受取人に配信するステップと、
第2の配信経路に沿って第2のエンコードされた信号を受取人に配信するステップと、
を具備することを特徴とする請求項6に記載のエンコーディング方法。 - 前記第1の暗号化キーは、所定の素材受取対象者と関係付けられており、
前記第1の配信経路は、受け取り対象者に配信するのが容易である受取人指向の配信ネットワークの一部であり、
前記第2の配信経路は、複数の受取人に配信するのが容易である素材指向の配信ネットワークの一部であることを特徴とする請求項7に記載のエンコーディング方法。 - 素材指向の配信ネットワークは、ピアツーピアネットワークであることを特徴とする請求項8に記載のエンコーディング方法。
- 前記第1の暗号化処理は、第1の暗号化されたデータを生成するために第1のコンピュータシステムで実行され、前記第2の暗号化処理は第2の暗号化されたデータを生成するために第2のコンピュータシステムで実行されることを特徴とする請求項2乃至請求項9のいずれか1項に記載のエンコーディング方法。
- 前記第2の暗号化処理は、第2の暗号化されたデータを漸進的に生成するために前記選択されていないデータの部分に漸増的に適用されることを特徴とする請求項2乃至請求項10のいずれか1項に記載のエンコーディング方法。
- 前記算術的演算では、列及び行を構成する記号にダイナミックマトリックス中の係数を乗算し、
前記ダイナミックマトリックスは、乗算される列及び行に応答して、1セットのマトリックスから係数のマトリックスを選択する処理により実行されるものであることを特徴とする請求項3乃至請求項10のいずれか1項に記載のエンコーディング方法。 - 前記第2の暗号化処理はさらに、前記制御データに応答して列の置換を行うステップを具備することを特徴とする請求項3乃至請求項11のいずれか1項に記載のエンコーディング方法。
- 前記列の置換は、行を横切って変化することを特徴とする請求項13に記載のエンコーディング方法。
- 前記前記第2の暗号化処理はさらに、前記係数を乗算する前に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項3乃至請求項11のいずれか1項に記載のエンコーディング方法。
- 前記行の置換は、列を横切って変化することを特徴とする請求項15に記載のエンコーディング方法。
- 前記第2の暗号化処理はさらに、前記係数を乗算した後に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項3乃至請求項11のいずれか1項に記載のエンコーディング方法。
- 前記行の置換は、列を横切って変化することを特徴とする請求項17に記載のエンコーディング方法。
- 前記係数は、前記乗算が、前記記号の列又は行に1以上のフィルターを反復して適用するのと等価となるような、ゼロの係数が三角形に配列されるように配置されていることを特徴とする請求項3乃至請求項11のいずれか1項に記載のエンコーディング方法。
- 前記1以上のフィルターのタップの係数は、前記制御データに応じて列ごとに変化することを特徴とする請求項19に記載のエンコーディング方法。
- 前記1以上のフィルターのタップの係数は、前記制御データに応じて列及び行ごとに変化することを特徴とする請求項19に記載のエンコーディング方法。
- 前記第1の暗号化キーは、前記所定の素材の受け取り対象者に関係付けられていることを特徴とする請求項1乃至請求項21のいずれか1項に記載のエンコーディング方法。
- データフレーム中の選択されたデータを具備する制御データを表す第1の暗号化されたデータを搬送する第1のエンコードされた信号を受信するステップであって、前記選択されたデータは、人間の知覚に対する刺激を表現する所定の素材の少なくとも一部を表し、該選択されたデータは、前記データフレーム中のすべてのデータより少ないことを特徴とする、ステップと、
前記制御データを復元するために前記第1の暗号化されたデータに第1の暗号解読処理を適用するステップであって、該第1の暗号解読処理は第1の解読キーに応答し、前記制御データは所定の素材に関連付けられ、該第1の解読キーとは異なる第2の解読キーを表す情報を具備することを特徴とする、ステップと、
前記選択されたデータ中に含まれないデータフレーム中の選択されていないデータを復元するために第2の暗号化されたデータに第2の暗号解読処理を適用するステップであって、該第2の暗号解読処理は、前記第2の解読キーに応答することを特徴とする、ステップと、
前記選択されたデータと前記選択されていないデータとをデータフレームに組み立てることにより、前記所定の素材の少なくとも一部を表す信号を生成するステップと、
を具備するデコーディング方法 - 前記第2の暗号化されたデータに前記第2の暗号解読処理を適用するステップであって、該第2の暗号解読処理は、前記第2の暗号化されたデータに該第2の暗号化されたデータ列及び行に配列された係数を乗算する算術演算であって、該算術演算は、各列に対する算術演算は他の列に対する算術演算とは独立に行われるか又は、各行に対する算術演算は他の行対する算術演算とは独立に行われることを特徴とする、請求項23に記載のデコーディング方法。
- 前記選択されたデータは、前記第2の解読キーを表す情報を具備することを特徴とする請求項24に記載のデコーディング方法。
- 前記第1のエンコードされた信号から前記第2の暗号化されたデータを取得するステップを具備することを特徴とする請求項23乃至請求項25のいずれか1項に記載のデコーディング方法。
- 前記第2のエンコードされた信号前記第2の暗号化されたデータを取得するステップを具備することを特徴とする請求項23乃至請求項25のいずれか1項に記載のデコーディング方法。
- 第1の配信経路から前記第1のエンコードされた信号を受け取るステップと、
第2の配信経路から前記第2のエンコードされた信号を受け取るステップと、
を具備することを特徴とする請求項27に記載のデコーディング方法。 - 前記第1の解読キーは、前記所定の素材の受け取り対象者に関係付けられ、
前記第1の配信経路は、前記受け取り対象者への配信を容易にする受取人指向の配信ネットワークの一部であり、
前記第2の配信経路は、複数の受取人への配信を容易にする素材指向の配信ネットワークの一部であることを特徴とする請求項28に記載のデコーディング方法。 - 前記素材指向の配信ネットワークは、ピアツーピアネットワークであることを特徴とする請求項29に記載のデコーディング方法。
- 前記第2の暗号解読処理は、前記選択されていないデータデータを漸進的に生成するために、前記第2の暗号化されたデータの部分に漸増的に適用されることを特徴とする請求項23乃至請求項30のいずれか1項に記載のデコーディング方法。
- 前記算術演算は、前記第2の暗号化されたデータの列及び行にダイナミックマトリックスの係数を乗算し、
該ダイナミックマトリックス乗算される列及び行に応答して、1セットのマトリックスから係数のマトリックスを選択する処理により実行されるものであることを特徴とする請求項24乃至請求項31のいずれか1項に記載のデコーディング方法。 - 前記第2の暗号解読処理はさらに、前記制御データに応答して前記列の置換を行うステップを具備することを特徴とする請求項24乃至請求項31のいずれか1項に記載のデコーディング方法。
- 前記列の置換は、行を横切って変化することを特徴とする請求項33に記載のデコーディング方法。
- 前記第2の暗号解読処理はさらに、前記係数を乗算する前に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項24乃至請求項31のいずれか1項に記載のデコーディング方法。
- 前記行の置換は、列を横切って変化することを特徴とする請求項35に記載のデコーディング方法。
- 前記第2の暗号解読処理はさらに、前記係数を乗算した後に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項24乃至請求項31のいずれか1項に記載のデコーディング方法。
- 前記行の置換は、列を横切って変化することを特徴とする請求項37に記載のデコーディング方法。
- 前記係数は、前記乗算が、前記暗号化されたデータの列又は行に1以上のフィルターを反復して適用するのと等価となるような、ゼロの係数が三角形に配列されるように配置されていることを特徴とする請求項24乃至請求項31のいずれか1項に記載のデコーディング方法。
- 前記1以上のフィルターのタップの係数は、前記制御データに応じて列ごとに変化することを特徴とする請求項39に記載のデコーディング方法。
- 前記1以上のフィルターのタップの係数は、前記制御データに応じて列及び行ごとに変化することを特徴とする請求項39に記載のデコーディング方法。
- 前記第1の解読キーは、前記所定の素材の受け取り対象者に関係付けられていることを特徴とする請求項25乃至請求項41のいずれか1項に記載のデコーディング方法。
- 請求項1乃至請求項42のいずれか1項に記載の方法のステップを行う部品を具備することを特徴とする装置。
- 請求項1乃至請求項42のいずれか1項に記載の方法を実行する装置により実施可能な命令を組み込んだプログラムを伝達する媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83077406P | 2006-07-13 | 2006-07-13 | |
PCT/US2007/015988 WO2008024159A2 (en) | 2006-07-13 | 2007-07-13 | Codec-independent encryption of material that represents stimuli intended for human perception |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009544183A true JP2009544183A (ja) | 2009-12-10 |
Family
ID=39047164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009519543A Pending JP2009544183A (ja) | 2006-07-13 | 2007-07-13 | コーディックとは独立した人間の知覚に対する刺激を表現する素材の暗号化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100014669A1 (ja) |
EP (1) | EP2041911A2 (ja) |
JP (1) | JP2009544183A (ja) |
CN (1) | CN101490999A (ja) |
TW (1) | TW200904113A (ja) |
WO (1) | WO2008024159A2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101632084B (zh) * | 2007-03-13 | 2012-05-02 | Nxp股份有限公司 | 对至少二维的数据集的加密和解密 |
ES2742286T3 (es) * | 2010-03-25 | 2020-02-13 | Massachusetts Inst Technology | Codificación de red segura para transmisión por secuencias de vídeo, inalámbrica de multirresolución |
US10530574B2 (en) * | 2010-03-25 | 2020-01-07 | Massachusetts Institute Of Technology | Secure network coding for multi-description wireless transmission |
US9294113B2 (en) | 2011-07-05 | 2016-03-22 | Massachusetts Institute Of Technology | Energy-efficient time-stampless adaptive nonuniform sampling |
US9544126B2 (en) | 2011-10-31 | 2017-01-10 | Massachusetts Institute Of Technology | Joint use of multi-packet reception and network coding for performance improvement |
WO2013067488A1 (en) | 2011-11-05 | 2013-05-10 | Massachusetts Institute Of Technology | Method and apparatus for efficient transmission of information to multiple nodes |
US8780693B2 (en) | 2011-11-08 | 2014-07-15 | Massachusetts Institute Of Technology | Coding approach for a robust and flexible communication protocol |
US9537759B2 (en) | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
US9160687B2 (en) | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US8792643B1 (en) | 2012-02-16 | 2014-07-29 | Google Inc. | System and methodology for decrypting encrypted media |
US9369255B2 (en) | 2012-10-18 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network |
CN103795525B (zh) * | 2012-10-31 | 2017-03-01 | 英业达科技有限公司 | 数据加密的方法 |
TWI492092B (zh) * | 2012-11-15 | 2015-07-11 | Inventec Corp | 資料加密的方法 |
US8880892B2 (en) * | 2013-03-13 | 2014-11-04 | Willow, Inc. | Secured embedded data encryption systems |
US10311243B2 (en) | 2013-03-14 | 2019-06-04 | Massachusetts Institute Of Technology | Method and apparatus for secure communication |
US9607003B2 (en) | 2013-03-14 | 2017-03-28 | Massachusetts Institute Of Technology | Network coded storage with multi-resolution codes |
US9369541B2 (en) | 2013-03-14 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for implementing distributed content caching in a content delivery network |
US9019643B2 (en) | 2013-03-15 | 2015-04-28 | Massachusetts Institute Of Technology | Method and apparatus to reduce access time in a data storage device using coded seeking |
US9185529B2 (en) | 2013-03-15 | 2015-11-10 | Massachusetts Institute Of Technology | Wireless reliability architecture and methods using network coding |
US20160012237A1 (en) * | 2013-03-27 | 2016-01-14 | Irdeto B.V. | Aes implementation with error correction |
TWI547134B (zh) * | 2014-07-09 | 2016-08-21 | 瑞昱半導體股份有限公司 | 解密引擎以及解密方法 |
US10604924B2 (en) * | 2016-12-13 | 2020-03-31 | Newtonoid Technologies, L.L.C. | Smart urinals and methods of making and using same |
ES2926238T3 (es) | 2017-03-29 | 2022-10-24 | Massachusetts Inst Technology | Sistema y técnica para la generación de paquetes basados en codificación de red de ventana deslizante |
ES2950133T3 (es) | 2018-05-16 | 2023-10-05 | Code On Tech Inc | Aparato de codificación multitrayecto y técnicas relacionadas |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02279083A (ja) * | 1989-04-20 | 1990-11-15 | Sony Corp | データ受信装置 |
JPH05316079A (ja) * | 1992-05-11 | 1993-11-26 | Sony Corp | 情報処理装置 |
JPH09237043A (ja) * | 1996-03-01 | 1997-09-09 | Toyo Commun Equip Co Ltd | 秘話方法及び秘話装置 |
JPH10126406A (ja) * | 1996-10-23 | 1998-05-15 | Toyo Commun Equip Co Ltd | ネットワークにおけるデータの暗号方式 |
JP2000252974A (ja) * | 1999-03-03 | 2000-09-14 | Kobe Steel Ltd | ディジタル情報暗号化装置,及びディジタル情報再生装置 |
JP2002026896A (ja) * | 2000-06-07 | 2002-01-25 | Samsung Electronics Co Ltd | 高速複製防止方法 |
JP2002312327A (ja) * | 2001-04-10 | 2002-10-25 | Nippon Telegraph & Telephone East Corp | ピア・ツー・ピアネットワークを利用した流通コンテンツの提供ならびに課金方法、およびそのサーバ |
JP2002537584A (ja) * | 1999-02-16 | 2002-11-05 | チューンツー.コム,インコーポレイテッド | 符号化された波形のディジタルサンプリングを使用するオーディオ合成 |
JP2004023293A (ja) * | 2002-06-13 | 2004-01-22 | Kazuhiro Miyamoto | 暗号化及び復号化するためのプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4200770A (en) * | 1977-09-06 | 1980-04-29 | Stanford University | Cryptographic apparatus and method |
US6301362B1 (en) * | 1998-06-12 | 2001-10-09 | International Business Machines Corporation | Method and apparatus for cryptographically transforming an input block into an output block |
US7127619B2 (en) * | 2001-06-06 | 2006-10-24 | Sony Corporation | Decoding and decryption of partially encrypted information |
-
2007
- 2007-07-13 CN CN200780026398.4A patent/CN101490999A/zh active Pending
- 2007-07-13 EP EP07836064A patent/EP2041911A2/en not_active Withdrawn
- 2007-07-13 US US12/309,342 patent/US20100014669A1/en not_active Abandoned
- 2007-07-13 WO PCT/US2007/015988 patent/WO2008024159A2/en active Application Filing
- 2007-07-13 JP JP2009519543A patent/JP2009544183A/ja active Pending
- 2007-08-07 TW TW096128985A patent/TW200904113A/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02279083A (ja) * | 1989-04-20 | 1990-11-15 | Sony Corp | データ受信装置 |
JPH05316079A (ja) * | 1992-05-11 | 1993-11-26 | Sony Corp | 情報処理装置 |
JPH09237043A (ja) * | 1996-03-01 | 1997-09-09 | Toyo Commun Equip Co Ltd | 秘話方法及び秘話装置 |
JPH10126406A (ja) * | 1996-10-23 | 1998-05-15 | Toyo Commun Equip Co Ltd | ネットワークにおけるデータの暗号方式 |
JP2002537584A (ja) * | 1999-02-16 | 2002-11-05 | チューンツー.コム,インコーポレイテッド | 符号化された波形のディジタルサンプリングを使用するオーディオ合成 |
JP2000252974A (ja) * | 1999-03-03 | 2000-09-14 | Kobe Steel Ltd | ディジタル情報暗号化装置,及びディジタル情報再生装置 |
JP2002026896A (ja) * | 2000-06-07 | 2002-01-25 | Samsung Electronics Co Ltd | 高速複製防止方法 |
JP2002312327A (ja) * | 2001-04-10 | 2002-10-25 | Nippon Telegraph & Telephone East Corp | ピア・ツー・ピアネットワークを利用した流通コンテンツの提供ならびに課金方法、およびそのサーバ |
JP2004023293A (ja) * | 2002-06-13 | 2004-01-22 | Kazuhiro Miyamoto | 暗号化及び復号化するためのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100014669A1 (en) | 2010-01-21 |
WO2008024159A2 (en) | 2008-02-28 |
EP2041911A2 (en) | 2009-04-01 |
TW200904113A (en) | 2009-01-16 |
CN101490999A (zh) | 2009-07-22 |
WO2008024159A3 (en) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009544183A (ja) | コーディックとは独立した人間の知覚に対する刺激を表現する素材の暗号化 | |
JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
EP0624013B1 (en) | Device and method for data encryption | |
Sharma | A Review of Information Security using Cryptography Technique. | |
KR20050087815A (ko) | 키공유 시스템, 공유키 생성장치 및 공유키 복원장치 | |
CN1836396B (zh) | 用于加密和/或解密数据的可追踪方法和系统 | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
Saraswathi et al. | A block cipher algorithm for multimedia content protection with random substitution using binary tree traversal | |
JP5732429B2 (ja) | 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム | |
CN109639423B (zh) | 一种解密算法的构成装置 | |
JP2021072593A (ja) | 暗号処理システム及び暗号処理方法 | |
Dzwonkowski et al. | Quaternion encryption method for image and video transmission | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
Naskar et al. | A secure symmetric image encryption based on linear geometry | |
Radha et al. | A chaotic block cipher for real-time multimedia | |
WO2007031894A2 (en) | Improved cryptographic method and system | |
Tarawneh | Cryptography: Recent Advances and Research Perspectives | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
KR102022333B1 (ko) | 공개키 암호 알고리즘을 이용한 암호화/복호화 방법 및 장치 | |
Charru et al. | Improved Cryptography Algorithm to Enhanced Data Security | |
Padhi et al. | Modified version of XTS (XOR-Encrypt-XOR with Ciphertext Stealing) using tweakable enciphering scheme | |
WO2024028961A1 (ja) | 暗号システム、方法及びプログラム | |
JP2011008055A (ja) | 計算システム、計算方法、ならびに、プログラム | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
Pavani et al. | Secure Data Communication using Cryptography and Steganography Standards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120207 |