(57)【要約】  イメージやサウンドを表すデータフレームを暗号化するプロセッサであって、例えば、このデータフレームから選択されたデータを具備する制御データを暗号化するための第１の暗号化処理を用い、そして、このデータフレームから選択されていないデータを暗号化するための第２の暗号化処理を用いる。第１の暗号化処理は、データフレームの受取対象者に関連付けることのできるキーに応答する。第２の暗号化処理は、この制御データから取得又は導き出されたキーに応答する。暗号化された制御データと暗号化された選択されていないデータは、別の媒体を用いて受信器に配信することができる。受信器は、第１の暗号化処理や第２の暗号化処理とは逆の処理となる暗号解読処理を用いてデータフレームを復元する。第２の暗号化処理の効率的な実施の形態を開示する。
2009544183.tif 000002
【特許請求の範囲】
【請求項１】
人間の知覚に対する刺激を表現する所定の素材を特定又は搬送するデータを搬送する１以上の信号を受け取るステップと、
第１の暗号化キーを取得するステップと、
データフレーム中の選択されたデータと、所定の素材と関連付けられた第１の暗号化キーとは異なる第２の暗号化キーを表す情報とを具備する制御データを取得するステップであって、選択されたデータは、少なくとも所定の素材の一部を表し、データフレーム中のすべてのデータより少ないことを特徴とする、ステップと、
第１の暗号化されたデータを生成するために前記制御データに第１の暗号化処理を適用するステップであって、該第１の暗号化処理は、前記第１の暗号化キーに応答するものであることを特徴とする、ステップと、
前記選択されたデータに含まれないデータフレーム中の選択されていないデータの暗号化された形式を表す第２の暗号化されたデータに対する解読キーを取得するのに用いるために、前記第１の暗号化されたデータを、受取人に配信するための第１のエンコードされたデータに組み立てるステップと、
を具備するエンコーディング方法。
【請求項２】
第２の暗号化されたデータを生成するために、選択されていないデータに第２の暗号化処理を適用することを特徴とする請求項１に記載のエンコーディング方法。
【請求項３】
前記選択されていないデータは、記号からなり、前記第２の暗号化処理は、前記選択されていないデータの記号を係数で乗算する算術演算を具備し、前記記号は、列と行に配列され、各列に対する算術演算は他の列に対する算術演算とは独立に行われるか又は、各行に対する算術演算は他の行に対する算術演算とは独立に行われることを特徴とする請求項２に記載のエンコーディング方法。
【請求項４】
前記選択されたデータは、第２の暗号化キーを表す情報を具備することを特徴とする請求項３に記載のエンコーディング方法。
【請求項５】
前記第２の暗号化されたデータを前記第１のエンコードされた信号に組み立てるステップを具備することを特徴とする請求項２乃至請求項４のいずれか１項に記載のエンコーディング方法。
【請求項６】
前記第２の暗号化されたデータを前記第２のエンコードされた信号に組み立てるステップを具備することを特徴とする請求項２乃至請求項４のいずれか１項に記載のエンコーディング方法。
【請求項７】
第１の配信経路に沿って第１のエンコードされた信号を受取人に配信するステップと、
第２の配信経路に沿って第２のエンコードされた信号を受取人に配信するステップと、
を具備することを特徴とする請求項６に記載のエンコーディング方法。
【請求項８】
前記第１の暗号化キーは、所定の素材受取対象者と関係付けられており、
前記第１の配信経路は、受け取り対象者に配信するのが容易である受取人指向の配信ネットワークの一部であり、
前記第２の配信経路は、複数の受取人に配信するのが容易である素材指向の配信ネットワークの一部であることを特徴とする請求項７に記載のエンコーディング方法。
【請求項９】
素材指向の配信ネットワークは、ピアツーピアネットワークであることを特徴とする請求項８に記載のエンコーディング方法。
【請求項１０】
前記第１の暗号化処理は、第１の暗号化されたデータを生成するために第１のコンピュータシステムで実行され、前記第２の暗号化処理は第２の暗号化されたデータを生成するために第２のコンピュータシステムで実行されることを特徴とする請求項２乃至請求項９のいずれか１項に記載のエンコーディング方法。
【請求項１１】
前記第２の暗号化処理は、第２の暗号化されたデータを漸進的に生成するために前記選択されていないデータの部分に漸増的に適用されることを特徴とする請求項２乃至請求項１０のいずれか１項に記載のエンコーディング方法。
【請求項１２】
前記算術的演算では、列及び行を構成する記号にダイナミックマトリックス中の係数を乗算し、
前記ダイナミックマトリックスは、乗算される列及び行に応答して、１セットのマトリックスから係数のマトリックスを選択する処理により実行されるものであることを特徴とする請求項３乃至請求項１０のいずれか１項に記載のエンコーディング方法。
【請求項１３】
前記第２の暗号化処理はさらに、前記制御データに応答して列の置換を行うステップを具備することを特徴とする請求項３乃至請求項１１のいずれか１項に記載のエンコーディング方法。
【請求項１４】
前記列の置換は、行を横切って変化することを特徴とする請求項１３に記載のエンコーディング方法。
【請求項１５】
前記前記第２の暗号化処理はさらに、前記係数を乗算する前に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項３乃至請求項１１のいずれか１項に記載のエンコーディング方法。
【請求項１６】
前記行の置換は、列を横切って変化することを特徴とする請求項１５に記載のエンコーディング方法。
【請求項１７】
前記第２の暗号化処理はさらに、前記係数を乗算した後に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項３乃至請求項１１のいずれか１項に記載のエンコーディング方法。
【請求項１８】
前記行の置換は、列を横切って変化することを特徴とする請求項１７に記載のエンコーディング方法。
【請求項１９】
前記係数は、前記乗算が、前記記号の列又は行に１以上のフィルターを反復して適用するのと等価となるような、ゼロの係数が三角形に配列されるように配置されていることを特徴とする請求項３乃至請求項１１のいずれか１項に記載のエンコーディング方法。
【請求項２０】
前記１以上のフィルターのタップの係数は、前記制御データに応じて列ごとに変化することを特徴とする請求項１９に記載のエンコーディング方法。
【請求項２１】
前記１以上のフィルターのタップの係数は、前記制御データに応じて列及び行ごとに変化することを特徴とする請求項１９に記載のエンコーディング方法。
【請求項２２】
前記第１の暗号化キーは、前記所定の素材の受け取り対象者に関係付けられていることを特徴とする請求項１乃至請求項２１のいずれか１項に記載のエンコーディング方法。
【請求項２３】
データフレーム中の選択されたデータを具備する制御データを表す第１の暗号化されたデータを搬送する第１のエンコードされた信号を受信するステップであって、前記選択されたデータは、人間の知覚に対する刺激を表現する所定の素材の少なくとも一部を表し、該選択されたデータは、前記データフレーム中のすべてのデータより少ないことを特徴とする、ステップと、
前記制御データを復元するために前記第１の暗号化されたデータに第１の暗号解読処理を適用するステップであって、該第１の暗号解読処理は第１の解読キーに応答し、前記制御データは所定の素材に関連付けられ、該第１の解読キーとは異なる第２の解読キーを表す情報を具備することを特徴とする、ステップと、
前記選択されたデータ中に含まれないデータフレーム中の選択されていないデータを復元するために第２の暗号化されたデータに第２の暗号解読処理を適用するステップであって、該第２の暗号解読処理は、前記第２の解読キーに応答することを特徴とする、ステップと、
前記選択されたデータと前記選択されていないデータとをデータフレームに組み立てることにより、前記所定の素材の少なくとも一部を表す信号を生成するステップと、
を具備するデコーディング方法
【請求項２４】
前記第２の暗号化されたデータに前記第２の暗号解読処理を適用するステップであって、該第２の暗号解読処理は、前記第２の暗号化されたデータに該第２の暗号化されたデータ列及び行に配列された係数を乗算する算術演算であって、該算術演算は、各列に対する算術演算は他の列に対する算術演算とは独立に行われるか又は、各行に対する算術演算は他の行対する算術演算とは独立に行われることを特徴とする、請求項２３に記載のデコーディング方法。
【請求項２５】
前記選択されたデータは、前記第２の解読キーを表す情報を具備することを特徴とする請求項２４に記載のデコーディング方法。
【請求項２６】
前記第１のエンコードされた信号から前記第２の暗号化されたデータを取得するステップを具備することを特徴とする請求項２３乃至請求項２５のいずれか１項に記載のデコーディング方法。
【請求項２７】
前記第２のエンコードされた信号前記第２の暗号化されたデータを取得するステップを具備することを特徴とする請求項２３乃至請求項２５のいずれか１項に記載のデコーディング方法。
【請求項２８】
第１の配信経路から前記第１のエンコードされた信号を受け取るステップと、
第２の配信経路から前記第２のエンコードされた信号を受け取るステップと、
を具備することを特徴とする請求項２７に記載のデコーディング方法。
【請求項２９】
前記第１の解読キーは、前記所定の素材の受け取り対象者に関係付けられ、
前記第１の配信経路は、前記受け取り対象者への配信を容易にする受取人指向の配信ネットワークの一部であり、
前記第２の配信経路は、複数の受取人への配信を容易にする素材指向の配信ネットワークの一部であることを特徴とする請求項２８に記載のデコーディング方法。
【請求項３０】
前記素材指向の配信ネットワークは、ピアツーピアネットワークであることを特徴とする請求項２９に記載のデコーディング方法。
【請求項３１】
前記第２の暗号解読処理は、前記選択されていないデータデータを漸進的に生成するために、前記第２の暗号化されたデータの部分に漸増的に適用されることを特徴とする請求項２３乃至請求項３０のいずれか１項に記載のデコーディング方法。
【請求項３２】
前記算術演算は、前記第２の暗号化されたデータの列及び行にダイナミックマトリックスの係数を乗算し、
該ダイナミックマトリックス乗算される列及び行に応答して、１セットのマトリックスから係数のマトリックスを選択する処理により実行されるものであることを特徴とする請求項２４乃至請求項３１のいずれか１項に記載のデコーディング方法。
【請求項３３】
前記第２の暗号解読処理はさらに、前記制御データに応答して前記列の置換を行うステップを具備することを特徴とする請求項２４乃至請求項３１のいずれか１項に記載のデコーディング方法。
【請求項３４】
前記列の置換は、行を横切って変化することを特徴とする請求項３３に記載のデコーディング方法。
【請求項３５】
前記第２の暗号解読処理はさらに、前記係数を乗算する前に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項２４乃至請求項３１のいずれか１項に記載のデコーディング方法。
【請求項３６】
前記行の置換は、列を横切って変化することを特徴とする請求項３５に記載のデコーディング方法。
【請求項３７】
前記第２の暗号解読処理はさらに、前記係数を乗算した後に前記制御データに応答して行の置換を行うステップを具備することを特徴とする請求項２４乃至請求項３１のいずれか１項に記載のデコーディング方法。
【請求項３８】
前記行の置換は、列を横切って変化することを特徴とする請求項３７に記載のデコーディング方法。
【請求項３９】
前記係数は、前記乗算が、前記暗号化されたデータの列又は行に１以上のフィルターを反復して適用するのと等価となるような、ゼロの係数が三角形に配列されるように配置されていることを特徴とする請求項２４乃至請求項３１のいずれか１項に記載のデコーディング方法。
【請求項４０】
前記１以上のフィルターのタップの係数は、前記制御データに応じて列ごとに変化することを特徴とする請求項３９に記載のデコーディング方法。
【請求項４１】
前記１以上のフィルターのタップの係数は、前記制御データに応じて列及び行ごとに変化することを特徴とする請求項３９に記載のデコーディング方法。
【請求項４２】
前記第１の解読キーは、前記所定の素材の受け取り対象者に関係付けられていることを特徴とする請求項２５乃至請求項４１のいずれか１項に記載のデコーディング方法。
【請求項４３】
請求項１乃至請求項４２のいずれか１項に記載の方法のステップを行う部品を具備することを特徴とする装置。
【請求項４４】
請求項１乃至請求項４２のいずれか１項に記載の方法を実行する装置により実施可能な命令を組み込んだプログラムを伝達する媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は一般的には暗号化に関し、さらに詳細には、静的視覚映像及び動的視覚映像及びサウンドのような人間の知覚に対する刺激を表現する素材の暗号化に関する。
【背景技術】
【０００２】
インターネットを含む種々の配信媒体を通して、ディジタルフォーマットにより、人間の知覚に対する刺激を表現するマルチメディアエンターテイメントコンテンツ及び他の素材が消費者に配信されている。一方では、ディジタルフォーマットを使用することによりこのような素材の配信を容易にしているが、他方ではまた、この素材の権限のない複写や提示を容易にしている。
【０００３】
著作権による保護がなわれている素材の権限のない使用に対する保護を手助けするために、一般的にディジタル著作権管理（ＤＲＭ）と称される種々の方法が開発されている。一般的なＤＲＭの手法は、素材の一部又は全部を暗号化し、自由にこの素材を配信するが、その素材を使用する権利を取得している個人にのみこの暗号化された情報を解読する手段を配信するよう制御する。暗号化された情報を解読する方法は、一般に２つの手法のうちの１つとなる。
【０００４】
第１のＤＲＭ手法は、素材に関連した素材指向の暗号解読キーに基づく暗号化及び解読方法を用いる。解読に必要な素材指向のキーは、その素材に対して一意的であり、権限のあるすべての受取人に確かなそして制御された方法で配信される。この手法の一例として、ワシントン州レドモンドのマイクロソフトから入手可能なソフトウェアであるウィンドウズメディアプレーヤーに用いられており、ウィンドウズメディアＤＲＭと称されている。この特有な実施形態では、権限のある各受取人にその受取人にとって特有なコンテンツ認可証又はディジタルファイルに与える。コンテンツ認可証には、受取人にとって特有な受取人指向のマスターキーに基づく暗号を用いて暗号化されている素材指向のキーが含まれている。
【０００５】
第２のＤＲＭ手法は、素材の所定の受取人に関連づけられた受取人指向の暗号解読キーに基づく暗号化及び暗号解読法を用いる。暗号解読に必要な受取人指向のキーは、その受取人にとって特有であり、異なった素材に対して違うものとすることができる。この手法の一例は、カリフォルニア州のアップルコンピュータ社により提供されているｉＴｕｎｅｓに用いられており、フェアプレーＤＲＭと称されている。この特有な実施形態では、権限のある各受取人に、受取人指向のマスターキーに基づく暗号を用いて暗号化されてい受取人指向のキーをを与える。
【０００６】
どちらの手法でも、一般に受取人はひとつだけマスターキーを持つ。どちらの手法も他方よりも有利な点を持つ。第１の素材指向の手法は効率的ではあるが確実性に欠ける。第１の素材指向の手法に用いる配信サーバーとして役割を果たすコンピュータシステムは、すべての権限のある受取人に対して素材を一度に暗号化することができるので、必要とするコンピュータ資源が少なくてすむ。残念ながら、１つの素材指向のキーが暗号解読又は権限無く公開されることにより公開されてしまった場合は、素材すべての配信の安全確保に障害が起こる。
【０００７】
どちらの手法においても、しかしながら、非対称キー又は公開キー／プライベートキーを用いた方法のようなより安全な方法を行うために必要な計算資源は極めて高価なため、すべての素材が暗号化されるときは、対称キー又は秘密キー暗号化方法がしばしば用いられる。素材のうちの選択部分に安全性を高めた暗号化処理を適用し、素材の残りの部分に安全性の低めた暗号化処理を適用するか又は暗号化処理を適用しないことにより、安全性を犠牲にすることなく効率を上げることができる。素材のうちの選択部分を、素材の残りの部分が選択部分なしでは本質的に価値が無いように選択することが望ましい。
【０００８】
安全性を高めた暗号化処理を用いて選択部分のどこを暗号化するかを選択するために、基本的に２つの手法が存在する。第１の手法は素材の論理構成に基づくものであり、伝達又は保存するための信号に素材をエンコードし、その後再生又は表示するためにデコードするために用いられるエンコーディング／デコーディング（コーディック）技術に依存する。このコーディックに依存する手法では、所定の暗号効率に対して安全性を最適化することができるが、一般に異なった形式の素材又は異なったエンコード技術によりエンコードされた所定の素材に対して単一の選択としないことを容認するような方法で、素材の選択部分を選択する。コーディックに依存しない方法は、広い範囲での使用が好ましい。
【発明の概要】
【０００９】
本願発明の目的は、保護のレベルを下げずに処理効率を改善し、効率を下げずに保護のレベルを改善するか又は、効率と安全性の均衡を保ちながら改善する、コーディックに依存しない方法で人間の知覚に対する刺激を表現する素材の、権限のない複写や表示を保護することである。
【００１０】
このような目的は、独立項の中に記載されているように、本願発明により達成される。有用な実施形態が独立項の中に記載されている。
【００１１】
本願発明の種々の特徴及び好ましい実施の形態は、以下の説明及び類似の参照番号は類似する要素を表す以下の図面を参照することによりよく理解されるであろう。以下の説明及び図面の内容は、例示であって、本願発明の技術的範囲を限定するためのものではない。
【図面の簡単な説明】
【００１２】
【図１】伝達又はそれに続く受信器への送信のための保存を行うために暗号化された素材を用意するシステムの概略ブロック線図である。
【図２】伝達又はそれに続く受信器への送信のための保存を行うために暗号化された素材を用意するシステムの概略ブロック線図である。
【図３】プロセッサと受信器のネットワークの概略ブロック線図である。
【図４】伝達又はそれに続く受信器への送信のための保存を行うために暗号化された素材を用意するプロセッサの概略ブロック線図である。
【図５】伝達又はそれに続く受信器への送信のための保存を行うために暗号化された素材を用意するプロセッサの概略ブロック線図である。
【図６】暗号解読し受取人に提示すべき暗号化された素材を受け取る受信器の概略ブロック線図である。
【図７】暗号解読し受取人に提示すべき暗号化された素材を受け取る受信器の概略ブロック線図である。
【図８】本願発明の種々の形態を実施するために用いられる装置の概略ブロック線図である。
【発明を実施するための形態】
【００１３】
Ａ．序
図１及び図２は、静的視覚映像及び動的視覚映像及びサウンドのような人間の知覚に対する刺激を表現する特定の素材を暗号化して表現したものを生成するシステムの概略ブロック線図である。エンコードされた表現は、所定の受取人に読解させ表示させるために、受信器に分配される。この明細書において、特に、１以上のフレームに配列したデータで表した素材について言及する。用語「フレーム」は、必要とされるデータの区分又は区画を意味する。この文脈において、ここで引用するフレームは、伝達又は保存のため素材をエンコードするために用いるエンコーディング技法に関する、データの区分に対応するものである必要はない。単一の映像を表現するデータはひとつのフレームにまとめることができる。動画中の複数の映像を表現するデータは、例えば、一般に一連のフレーム中にまとめられる。
【００１４】
図１を参照して、プロセッサ３は、所定の素材の表示を搬送する経路１から１以上の信号を受け取り、所定の素材の一部を表現する選択されたデータを含む制御データを取得し、第１の暗号化されたデータを生成するためにこの制御データに第１の暗号化処理を適用し、この第１の暗号化されたデータを経路５に沿って送られる第１のエンコードされた信号に組み立てる。第１の暗号化処理では、第１の暗号キーに応答し、制御データは、同様に、第２の暗号キーを表すか又は第２の暗号キーに相当する。
【００１５】
プロセッサ４は、データのフレームを搬送する経路２から１以上の信号を受け取り、選択されたデータに含まれないデータのフレーム中の選択されないデータを取得し、第２の暗号化されたデータを生成するためにこの選択されないデータに第２の暗号化処理を適用し、この第２の暗号化されたデータを経路６に沿って送られる第２のエンコードされた信号に組み立てる。第２の暗号化処理はこの第２の暗号キーに応答する。
【００１６】
経路５及び６に沿って送られたエンコードされた信号はそれぞれ配信媒体７及び８に配信される。配信媒体７及び８は、ベースバンド又は超音波から紫外線周波数領域を含むスペクトルにわたって変調された通信信号のための、電気、光学、又は無線通信とすることができ、あるいは、磁気テープ、磁気カード、磁気ディスク、光学カード、光学ディスク、及び紙を含む媒体上の検出可能なマークを含む基本的にあらゆる記録技術を用いた保存媒体とすることができる。配信媒体７及び８は、第１のエンコードされた信号と第２のエンコードされた信号とをそれぞれ経路１１及び１２に送る。
【００１７】
受信器１５は、第１のエンコードされた信号と第２のエンコードされた信号とをそれぞれ経路１１及び１２から受け取る。受信器１５では、第１の暗号化されたデータに第１の暗号解読処理を適用して、所定の素材のデータのフレーム中にある選択されたデータを含む制御データを取得する。第１の暗号解読処理は、第１の解読キーに応答し、制御データには、第２の解読キーを取得又は導き出す情報が含まれる。受信器１５では、第２の暗号解読処理を第２の暗号化されたデータに適用して、選択されていないデータを取得する。第２の暗号解読処理は、第２の解読キーに応答する。選択されたデータは、選択されていないデータと結合されて、人間の知覚に対する刺激を表現する特定の素材を表すデータのフレームに入れられる。
【００１８】
選択されたデータ及び選択されていないデータの各々には、データのフレーム中の所定の素材を表現する少なくともいくつかのデータが含まれる。しかしながら、選択されたデータ及び選択されていないデータが、全体として、データのフレーム中の所定の素材を表現するすべてのデータの構成要素となる必要はない。フレーム中の他のデータは、第１の暗号化処理によっても暗号化されず、第２の暗号化処理によっても暗号化されていない形で、受信器１５に配信することができる。この、他のデータは、暗号化されずに受信器１５に配信することができるので、「プレーンテキストデータ」とここでは称する。しかしながら、いわゆるプレーンテキストデータは、必要であれば、他の処理により暗号化又はスクランブル化することができる。
【００１９】
好ましい実施の形態において、第１の暗号キーと第１の解読キーは、所定の受取人と関連付けられており、第１の暗号化処理と第１の暗号解読処理は、所定の受取人以外の人が第１の暗号化されたデータを解読することが不可能なように設計されていて、それにより、図に示したように、プロセッサ３を受取人指向プロセッサとする。第２の暗号キーと第２の解読キーは所定の素材と関連付けられることが好ましく、第２の暗号化処理と第２の暗号解読処理は、第２の暗号キー無いでは誰も第２の暗号化されたデータを解読することが不可能なように設計されていて、それにより、図に示したように、プロセッサ４を素材指向のプロセッサとする。
【００２０】
図２に示したシステムは図１に示したシステムと類似するが、プロセッサ１０がプロセッサ３及び４が実行する動作を行う点で異なる。
【００２１】
図３は、上述したような図１及び２で示したプロセッサ及び受信器のネットワークの概略ブロック線図である。配信設備２０は、配信媒体７及び８の実施の形態を表す。例えば、配信設備２０は、広域ネットワーク、地域的ネットワーク、物理的記憶媒体の輸送、あるいは、ネットワークと輸送の結合とすることができる。
【００２２】
プロセッサ３及びプロセッサ４について記載した動作は、同時にでも、異なった時間にでも行うことができる。第１の暗号化されたデータは、第２の暗号化されたデータの生成の前、又は後、又は同時に生成することができる。第１のエンコードされた信号は、第２のエンコードされた信号の配信の前、又は後、又は同時に配信することができる。使用可能な処理資源により、別々のコンピュータシステムに処理を割り振ることができる。例えば、動画に対して、第２の暗号化されたデータを一度すべての受取人に対して生成し、所定の受取人にすぐに又はその後配信するために１以上の記憶媒体に記憶させることができる。第１の暗号化されたデータを生成し、所定の各受取人からの要求に応じてその後配信することができる。
【００２３】
動画についての所定の素材の暗号化及び配信システムにおいて、例えば、第２のエンコードされた信号を伝送するために必要な帯域幅又は記憶容量は、一般に第１のエンコードされた信号を伝送するためのものよりかなり大きい。このようなシステムにおいて、この２つのエンコードされた信号に対して異なった形式の配信媒体を用いることが好ましい。例えば、第１のエンコードされた信号は、伝達媒体により配信し、第２のエンコードされた信号は、物理的な記憶媒体により配信してもよい。あるいは、第１のエンコードされた信号は、無線伝達媒体により配信し、第２のエンコードされた信号は、電気的又は光学的伝達媒体により配信してもよい。必要に応じて、第２のエンコードされたデータはまた、配信コストを下げることができるピアツーピアネットワークで配信しても良い。第２の暗号化されたデータと一緒に、どんなプレーンテキストデータでも、本質的に任意の方法で配信することができる。
【００２４】
Ｂ．伝送器
図４及び図５は、プロセッサ１０の実施の形態の概略ブロック線図である。この実施の形態の特徴はプロセッサ３及び４に適用することができる。
【００２５】
図４を参照して、キーサーバー３１は、所定の素材の表示を伝達する経路１から１以上の信号を受け取る。所定の素材の表示又は所定の素材のデータのフレームは経路２に沿ってセレクタ４２に送られる。は経路２に沿って送られたデータのフレームは保存されキーサーバー３１から直接アクセスできるか又は、所定の素材の表示に応答して，不図示の信号源から取得することができる。セレクタ４２はデータのフレームを取得し、その一部分を選択し、そして、選択したデータを経路４３に沿って暗号器３３に送る。選択したデータは、必要なら他のデータと結合されて制御データの構成要素となる。暗号器３３では制御データに第１の暗号化処理を適用して第１の暗号化されたデータを生成し、経路３６に沿って送出する。第１の暗号化処理は、経路３２を介してキーサーバー３１から提供される第１の暗号キーに応答する。必要に応じて、第１の暗号化処理は、経路３５から受け取る第１の初期化ベクトル（ＩＶ）に応答させることもできる。必要に応じて、第１のＩＶはキーサーバー３１から提供することができる。第１のＩＶの使用については任意であるが、もし使用するのであれば、図中に示していないが何らかの方法で暗号化しておくことが好ましい。
【００２６】
第２の暗号キーを表す少なくとも選択されたデータの一部は、経路４３に沿って暗号器４５に送られる。暗号器４５では、データのフレーム中の選択されなかったデータに第２の暗号化処理を適用して第２の暗号化されたデータ生成し、経路６に沿って送出する。選択されなかったデータは、選択されたデータに含まれないデータのフレーム中のデータの少なくとも一部を表している。第２の暗号化処理は、第２の暗号キーに応答し、経路４６から受け取った第２のＩＶに応答させることもできる。必要に応じて、第２のＩＶは、キーサーバー３１から提供することができる。第２のＩＶの使用については任意であるが、もし使用するのであれば、暗号器３３に送られ、選択されたデータと結合して制御データとなる。
【００２７】
アセンブラ３４は、第１の暗号化されたデータと、経路５に沿って送られたエンコードされた出力信号として用いられている第１のＩＶとを組み立てる。第２の暗号化されたデータも図示した出力信号に組み立てることができる。動画を表現する素材を暗号化し配信する実施の形態において、例えば、第１の暗号化されたデータと第２の暗号化されたデータとは、上記のように、また、図１及び図２で示したように別々の配信媒体により配信するために、別々の出力信号に組み立てることができる。
【００２８】
図５に示したプロセッサの実施の形態は、図４の実施の形態と類似するが、暗号器４５において、経路４４を介してキーサーバーから受け取ったものであり、選択されたデータで表されていない第２の暗号キーに応答する第２の暗号化処理を適用する点で異なる。この第２の暗号キーは、暗号器３２に送られ、選択されたデータと結合されて制御データとなる。
【００２９】
Ｃ．受信器
図６及び図７は、受信器１５の実施の形態の概略ブロック線図である。図６に記載した受信器１５は、図４に記載のプロセッサ１０により生成された信号を受け取り解読するために都合よく用いることができる。図７に記載の受信器１５は、図５に記載のプロセッサ１０により生成された信号を受け取り解読するために都合よく用いることができる。
【００３０】
図６を参照すると、暗号解読器５１は第１の暗号化されたデータを経路１１から受け取り、経路５２から第１の解読キーを受け取り、そして第１の暗号解読処理を第１の暗号化されたデータに適用して、制御データを生成して経路５３に送出する。第１の解読処理は、第１の解読キーに応答する。制御データには、人間の知覚に対する刺激を表現する特定の素材を表すデータのフレーム中の選択されたデータが含まれる。選択されたデータは、そこから第２の暗号キーを取得又は導き出すことのできる情報を表す。第２の解読キーは経路５３に沿って暗号解読器６１に送られる。第１の暗号解読処理は、経路５５から受け取った第１のＩＶにも応答させることができる。第１のＩＶの使用は原則として任意であるが、ＩＶを使用したプロセッサ１０における補完的な第１の暗号化処理により第１の暗号化されたデータが生成されている場合は、第１のＩＶを使用すべきである。第１のＩＶが暗号化される場合は、第１のＩＶは図示されていない何らかの方法で暗号化される。
【００３１】
暗号解読器６１は、経路１２から第２の暗号化されたデータを受け取り、経路５３から第２の解読キーを受け取り、そして、第２の暗号化されたデータに第２の暗号解読処理を適用して、選択されていないデータを生成して経路６３に送出する。この選択されていないデータは、選択されたデータ内に含まれないデータのフレーム中のデータの少なくとも一部を表す。第２の暗号解読処理は第２の解読キーに応答し、また、第２のＩＶに応答させることもできる。第２のＩＶを使用する場合は、第２のＩＶは、制御データから取得し経路６５に沿って送る。第２のＩＶの使用は原則として任意であるが、第２のＩＶを使用したプロセッサ１０における補完的な第２の暗号化処理により第２の暗号化されたデータが生成されている場合は、第２のＩＶを使用すべきである。
【００３２】
アセンブラ５４は、選択されたデータと選択されていないデータとを集めて、特定の素材を表すデータのフレーム中に組み立てる。プレーンテキストのような他のデータも、選択されたデータ及び選択されていないデータに結合されてデータのフレーム中に組み立てることができる。
【００３３】
図７の受信器１５に実施の形態は、図６の実施の形態と類似するが、暗号解読器６１では、選択されたデータでは表されない制御データ中の情報から取得又は導き出された第２の解読キーに応答する第２の暗号化処理を適用する点で異なる。第２の解読キーは経路６２から取得する。
【００３４】
Ｄ．暗号化処理
１．概観
第１の暗号化処理及び第２の暗号化処理は種々の方法で行うことができる。この２つの処理は、同一の方法、あるいは、異なった方法で行うことができる。動画についての特定の素材の暗号化のためのシステムの実施の形態において、例えば、より効率的な対称秘密キーによる暗号化方法は、第２の暗号化処理を行うために使用し、効率の劣る非対称公開キー／プライベートキーによる暗号化方法は、第１の暗号化処理を行うために使用する。いくつかの対称キーによる暗号化方法には、新暗号規格（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ：ＡＥＳ）によるブロック暗号、データ暗号化標準（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ：ＤＥＳ）を変形したもの、ＬａｉとＭａｓｓｅｙが提案した国際データ暗号化アルゴリズム（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ：ＩＤＥＡ）、及び下記の暗号が含まれる。いくつかの非対称キーによる暗号化方法には、Ｒｉｖｅｓｔ、Ｓｈａｍｉｒ、及びＡｄｌｅｍａｎによって提案されたＲＳＡ暗号、及び、ＥｌＧａｍａｌによって提案されたＥｌＧａｍａｌ暗号が含まれる。多種多様な暗号解読キーの配信及び交換プロトコルが用いられている。適切なキーの配信及び交換プロトコルを選択するために通常の考慮が払われる。
【００３５】
好ましい実施の形態において、最初の暗号キーは公開キーであり、最初の解読キーは、特定の素材の所定の受取人と関連づけられた公開キー／プライベートキーのペアのプライベートキーであり、そして第２の暗号キーと第２の解読キーは、特定の素材と関連づけられた対称キーである。ひとつのキーを特定の素材のすべてのフレームに用いることができるか、あるいは、対称キーのインスタンスを上述のあるいは下記の各フレーム中のデータから取得することができる。好ましい実施の形態において、最初の暗号化／暗号解読処理及び関連するキーは、受取人指向であるといわれ、第２の暗号化／暗号解読処理及び関連するキーは、素材指向であるといわれる。このことは図１に表され、受取人指向のプロセッサとしてプロセッサ３が、そして、素材指向のプロセッサとしてプロセッサ４が示されている。
【００３６】
第２の 暗号化処理を実行するために用いることのできるいくつかの方法を以下に説明する。
【００３７】
２．基本的実施の形態
第２の暗号化処理は、本質的にどんな可逆変換によっても実施することができる。ひとつの適切な形式の変換は以下のように表現することができる。
【００３８】
Ｙ＝Ａ・Ｘ                                                    （１）
ここで、
Ａ＝ｋ行・ｍ列のマトリックス
Ｘ＝暗号化すべきデータのフレーム中の選択されていないデータ、及び
Ｙ＝この暗号化処理により生成された第２の暗号化されたデータ、である。
【００３９】
相補的な暗号解読処理は、以下のように表現することができる。
【００４０】
Ｙ＝Ａ−１・Ｘ                                            （２）
ここで、Ａ−１は前記マトリックスＡの逆マトリックスである。
【００４１】
暗号化すべきデータＸのフレームは、有限フィールド中のｍ個のシンボル又は要素で固定された長さのｋ個のパケットにより構成される行及び列に整理される。ｋ個のパケットのそれぞれはデータのフレーム中の行となり、パケット中のｍ個のシンボルは、データのフレーム中のそれぞれの列となる。この結果としてできたデータＹは、以下に説明するように、ｋ行・ｍ列のデータのフレームとなる。
【００４２】
以下の例では、各シンボルは１バイトのデータであると仮定する。ここで各バイトは８ビットを含む。パケットの具体的な長さは本質的ではないが、第１の暗号化されたパケットに、ランダムにそのビットの値を推測する、ばか力暗号解析（ｂｒｕｔｅ−ｆｏｒｃｅ  ｃｒｙｐｔｏ  ａｎａｌｙｓｉｓ）攻撃をかけることが、そのパケットの暗号化に用いたキーを力づくでランダムに推測するより簡単ではないように、パケットの具体的な長さは少なくとも暗号キーの長さより小さくならないように選択することが好ましい。
【００４３】
式（１）で示した変換の１実施の形態は、以下のように表してもよい。
【００４４】
ｙ０＝ｘ０                                                （３）
ｙｉ＝ａ・ｘｉ＋ｂ・ｙｉ−１＋ｃ・ｘｉ−１
ただし、１≦ｉ＜ｋ
ここで、
ｘ０は、データＸのフレーム内の行０又はパケット０
ｘｉは、データＸのフレーム内の行ｉ又はパケットｉ
ｙｉは、暗号化されたデータＹのフレーム内の行ｉ又はパケットｉ
ａ，ｂ，ｃは、ゼロでないマトリックス係数。
【００４５】
以下に説明する他のマトリックス係数と同様に、これらのマトリックス係数は、希望するどのような方法で定めてもよいが、暗号化すべきデータの各フレームに対して選択されたデータの少なくとも一部に応じて擬似乱数値を生成する処理により定めることが好ましい。暗号化マトリックスＡが可逆であるためには、これらの値はゼロであってはならない。
【００４６】
式（３）の表現は、以下の説明で基本変換（ｂａｓｉｃ  ｔｒａｎｓｆｏｒｍ）と称する変換を表している。基本変換では、データの第１の行又はパケットｘ０を暗号化しない。このパケットは、第１の暗号化処理により暗号化された、上述の制御データ内の選択されたデータに対応する。
【００４７】
１実施の形態において、式（３）の表現における項は、８ビット有限フィールドにおいて定義される８ビットの数である。必要に応じて、マトリックスに８ビットより長いデータ記号を適用することを許容する、より長い有限フィールドを用いることができる。有限フィールドの使用により、キャリービットや、算術下位桁あふれや、算術上位桁あふれを心配することなく、固定ビット数（この例では８ビット）のデータ要素に対して行う算術演算により、変換を行うことができる。式（３）の表現で示した算術演算はｉ＝１，２に対して以下のように表すことができる。
【数１】
2009544183.tif 000003
【００４８】
この表現は、式（５）に示したマトリックスＡの主対角の三角マトリックスの乗算と等価である。
【数２】
2009544183.tif 000004
【００４９】
式（５）は、式（３）の表現は式（１）で示した変換の特別な場合であることを示すにすぎない。（３）で表した式は、係数ａ，ｂ，ｃがすべて非ゼロである、最大階数の可逆マトリックス変換と等価である。式（３）の表現における変換は、可逆特性を満足する多くの変換のうちの１つに過ぎないが、３タップの線形フィルターで実行することができるので非常に魅力的である。この変換における計算の複雑さは、各列に対して０（ｋ）であり、これは、マトリックス全体に非ゼロの係数を持つ変換の０（ｋ２）と比較して非常に低い。
【００５０】
式（３）の表現の暗号化処理は漸進的に又は増加させつつデータの行又はパケット適用することができる。暗号化処理をはじめることができるようになる前に、入力データの全フレームを有効にする必要はない。これにより、暗号化のために記憶すべきデータの記憶量を減少させること、又は、バッファのための時間遅れを減少させることが可能となる。同様の利点が相補的な暗号解読処理に当てはまり、この暗号解読処理は以下のようにあらわされる。
【数３】
2009544183.tif 000005
【００５１】
ただし、１≦ｉ＜ｋ
式（６）は、係数がゼロでない値を持つならば可逆的である。しかし、暗号化された各パケットが先のパケットのコンテンツに依存するよう、係数ｂ及びｃもまた、ゼロでない値を持つようにすることが重要である。このことにより、権限のない受取人が先のすべてのパケットを暗号解読しないことにはパケットを解読することができないようになる。
【００５２】
３．代替的実施の形態
第２の暗号化処理及びその相補的な第２の暗号解読処理に使うことのできる、代替的な基本変換及び代替的な基本逆変換（ｂａｓｉｃ  ｉｎｖｅｒｓｅ  ｔｒａｎｓｆｏｒｍ）は、マトリックスの乗算演算において項の順序を逆にすることにより、それぞれ式（１）及び式（２）に示す変換により導き出すことができる。これらの代替的変換は、ここで詳細に説明することはしない。これらの実施は、基本変換の議論から、マトリックスの乗算演算において項の順序を逆にすること、マトリックスを入れ替えること、行ベクトルと列ベクトルとを交換すること、及び行と列の参照指標を入れ替えることにより、直接的に取得することができる。
【００５３】
上述の基本変換と下記の付加的な特性を加えたその変形は、マトリックスＡの係数に暗号化すべきデータＸのフレームを乗算する数学的処理に相当する。式（３）に示した方程式を検討することにより、データＸのフレームの各列、又はデータＹのフレームの各列に対する数学的演算は、他の列に対する数学的演算と独立に行なわれることが分かった。基本変換によるセキュリティーレベルは、以下に説明する１以上の特性を用いることにより改善することができる。
【００５４】
上述の代替的変換又は、付加的な特性を加えたその変形は、第２の暗号化処理を実施するために用いられ、この実施の形態は、暗号化すべきデータＸのフレームに係数のマトリックスＡを乗算する数学的処理に相当する。データＸのフレームの各列、又はデータＹのフレームの各列に対する数学的演算は、他の列に対する数学的演算と独立に行なわれる。この代替的基本変換によるセキュリティーのレベルは、行と列の参照指標を入れ替え、上述した他の変更を行うことにより、以下の説明から導き出すことのできる以下に説明する１以上の特性を変更したものを用いることにより、改善することができる。
【００５５】
以下の説明において、マトリックス演算に関して、又は行と列に配列された係数のマトリックスについての種々の数学演算において、変換の適用について言及する。このように言及することは、代替的な実施の形態について説明するのに都合がよく、この変換を適用しなければならない特別な方法を暗示するものではない。上述のマルチタップフィルターの適用のような他の方法も可能である。
【００５６】
ａ）付加的な特性
代替的実施の形態を実現させることのできるひとつの方法は、基本変換の適用に加えて種々の演算を行うことにより付加的な特性を暗号化処理に組み込むことである。これらの付加的な特性は相互に結合して用いることができる。
【００５７】
（１）列の置換（ｃｏｌｕｍｎ  ｐｅｒｍｕｔａｔｉｏｎｓ）
暗号化変換における列の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
【００５８】
（ａ）マトリックス係数
１つの形態では、暗号化すべきデータＸのフレームに適用する前に変換マトリックスＡの列の配置を変更する。マトリックスのｍ列を、ｍ！の可能な順序又は置換のいずれかに配置変更することができる。この順序は、上述の制御データの少なくとも一部により指定される。１実施の形態において、置換の順序は、以下の式で表されるように、データのフレームから選択されたデータ中の第１のパケット又は行ｘ０から導き出される。
【００５９】
Ａ’［ｉ，ｊ］＝Ａ［ｉ，Ｆ（ｘ０，ｊ）］                      （７ａ）
ただし、０≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
Ａ［ｉ，ｊ］＝行ｉ、列ｊの係数マトリックスＡ、
Ｆ（ｘ０，ｊ）＝列ｊの置換した列番号、
Ａ’［ｉ，ｊ］＝列を置換した係数マトリックスＡ、
である。
【００６０】
この式によれば、Ｆ（ｘ０，ｊ）は、列ｊに移された元の列の指標番号を表す。
【００６１】
列の置換は、マトリックスの行から行へと変化させることのできる行に依存させてもよい。これは、基本的に、行番号に依存するいかなる方法によっても行うことができる。１つの方法では、各行に対して異なった回数の置換関数（ｐｅｒｍｕｔａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）Ｆを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。１つの例では、以下の式で表されるような、行数に等しい回数の置換関数が行使される。
【００６２】
Ａ’［ｉ，ｊ］＝Ａ［ｉ，Ｆｉ（ｘ０，ｊ）］                      （７ｂ）
ただし、
０≦ｉ＜ｋ，０≦ｊ＜ｋ
（ｂ）データパケット
もう１つの特徴は、この変換マトリックスを暗号化すべきデータに適用する前後に、データの列を再構成することである。前述の式（３）の基本変換と共に用いると、この基本変換を適用する前に選択されなかったデータＸの列を再構成することによる結果と、この基本変換を適用した後に暗号化されたデータＹの列を再構成することによる結果とは同じ結果となる。
【００６３】
データのｍ列は、ｍ！の順序または置換のどの１つで再構成してもよい。この順序は、上述の制御データの少なくとも一部により指定される。データＸのフレームの列置換の１つの実施の形態は、例えば、以下の式で表されるようなデータのフレームから選択されたデータ中の第１のパケットまたは行ｘ０から、置換順序を導き出す。
【００６４】
Ｘ’［ｉ，ｊ］＝Ｘ［ｉ，Ｆｉ（ｘ０，ｊ）］                      （８ａ）
ただし、
０≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
Ｘ［ｉ，ｊ］＝データＸのフレームの行ｉ中のデータのバイトｊ
Ｆ（ｘ０，ｊ）＝列ｊの置換した列番号、
Ｘ’［ｉ，ｊ］＝置換後のデータＸのフレームの行ｉ中のデータのバイトｊ、
である。
【００６５】
列の置換は、行ごとに変化させることができるように、行に依存させてもよい。これは、基本的に、行番号に依存するいかなる方法によっても行うことができる。１つの方法では、各行に対して異なった回数の置換関数Ｆを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。暗号化すべきデータＸに対する１つの例では、以下の式で表されるような、行数に等しい回数の置換関数が行使される。
【００６６】
Ｘ’［ｉ，ｊ］＝Ｘ［ｉ，Ｆｉ（ｘ０，ｊ）］                      （８ｂ）
ただし、
０≦ｉ＜ｋ，０≦ｊ＜ｍ
（２）行の置換
暗号化変換における行の順序を変更又は置換することにより、基本変換によるセキュリティーのレベルをあげることができる。これは、以下に説明する種々の方法により行うことができる。この順序を導き出すために用いられる方法又は関数は、暗号化処理の全体的なセキュリティーに実際上重要な影響を与えるかもしれないが、原則として特定の方法が本質的であるというわけではない。以下の適用可能な方法を説明する。
【００６７】
（ａ）暗号化すべきデータパケット
１つの形態では、変換マトリックスを適用する前にデータＸのフレームのに適用する前に変換マトリックスＡの行の配置を変更する。最初の行は移動させないことが好ましい。暗号化すべきデータの行の置換は以下のように表すことができる。
【００６８】
Ｘ’［ｉ，ｊ］＝Ｘ［Ｇ（ｘ０，ｉ），ｊ］                      （９）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
Ｘ’［ｉ，ｊ］＝置換後のデータＸのフレームの行ｉ中のデータのバイトｊ
Ｇ（ｘ０，ｉ）＝行ｉに対する、置換された行番号
この表記において、Ｇ（ｘ０，ｉ）は、行ｉに移行した元の行の指標番号を表す。
【００６９】
行の置換は、マトリックスの列から列へと変化させることのできる列に依存させてもよい。これは、基本的に、列番号に依存するいかなる方法によっても行うことができる。１つの方法では、各列に対して異なった回数の置換関数Ｇを行使することにより、このような結果を達成している。これに続いて各置換関数の行使により、先の行使により得られた置換結果に対してこの置換処理が行われる。１つの例では、以下の式で表されるような、列数に１を加えた数に等しい回数の置換関数が行使される。
【００７０】
Ｘ’［ｉ，ｊ］＝Ｘ［Ｇｊ＋１（ｘ０，ｉ），ｊ］                    （１０）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ
である。
【００７１】
（ｂ）暗号化されたデータのパケット
もう１つの特徴は、暗号化すべきデータの行の順序を再構成することである。これは、変換マトリックスＡの行を置換することにより、または、この変換マトリックスを適用した後に、暗号化されたデータＹのフレーム中の暗号化されたデータの行を置換することにより行うことができる。変換マトリックス中の行の置換は以下のように表すことができる。
【００７２】
Ａ’［ｉ，ｊ］＝Ａ［Ｇ（ｘ０，ｉ），ｊ］                      （１１ａ）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
Ａ’［ｉ，ｊ］＝行ｉ、列ｊの係数マトリックスＡ、
Ｇ（ｘ０，ｉ）＝行ｉの置換した行番号、である。
【００７３】
暗号化されたデータＹの行の置換は以下のように表される。
【００７４】
Ｙ’［ｉ，ｊ］＝Ｙ［Ｇ（ｘ０，ｉ），ｊ］                      （１１ｂ）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
Ｙ’［ｉ，ｊ］＝置換後の、行ｉ、列ｊにおける暗号化されたデータである。
【００７５】
行の置換は、列ごとに変化させることができ、これは、基本的に、列番号に依存するいかなる方法によっても行うことができる。１つの方法は、式（１０）に関連させて先に説明してあるとおりである。変換マトリックスＡと暗号化されたデータＹに対する行の置換の方法は以下のように表される。
【００７６】
Ａ’［ｉ，ｊ］＝Ａ［Ｇｊ＋１（ｘ０，ｉ），ｊ］                    （１２ａ）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ
Ｙ’［ｉ，ｊ］＝Ｙ［Ｇｊ＋１（ｘ０，ｉ），ｊ］                    （１２ｂ）
ただし、
１≦ｉ＜ｋ，０≦ｊ＜ｍ、である。
【００７７】
（３）行と列の置換
他の形態では、１以上の行と列の置換方法を用いる。必要に応じて、変換マトリックスを適用する前と後に、行及び／又は列を置換することができる。さらに、行に依存する列置換と行に依存しない列置換とのどんな組み合わせも、列に依存する行置換と列に依存しない列置換と一緒に用いることができるが、置換を行う順序が重要である。読解を行っている間、逆の順序で相補的な逆置換が行われる。
【００７８】
（４）１次元ダイナミック係数
他の形態では、各行に異なる係数のセットを用いるために、基本変換マトリックスＡの係数ａ，ｂ及びｃを修正する。この形態により、式（３）で示した方程式は以下のように書き換えることができる。
【００７９】
ｙ０，ｊ＝ｘ０，ｊ
ただし、０≦ｊ＜ｍ                                            （１３）
ｙｉ，ｊ＝ａｉ・ｘｉ，ｊ＋ｂｉ・ｙｉ−１，ｊ＋ｃｉ・ｘｉ−１，ｊ
ただし、０≦ｊ＜ｍ
ここで、
ｘ０，ｊ＝データＸのフレームの行０におけるバイトｊのデータ、
ｘｉ，ｊ＝データＸのフレームの行ｉにおけるバイトｊのデータ、
ｙｉ，ｊ＝暗号化されたデータＸのフレームの行ｉにおけるバイトｊのデータ、
ａｉ，ｂｉ，ｃｉ＝行ｉを変換するためのマトリックス係数、
である。
【００８０】
式（３）と同様に、式（１３）の方程式も式（１４）で示したようなマトリックス乗算として表現することができる。
【数４】
2009544183.tif 000006
【００８１】
係数は、コントロールデータにアクセスしなければ、係数の値を予測することが難しくなるような方法で、このコントロールデータの少なくとも一部から導き出すことが好ましい。１実施の形態において、係数は、データのフレームから選択したデータにおける、最初の行ｘ０から導き出される。この係数を導き出すために用いる方法又は関数の選択は、暗号処理の全体的な安全性に実際的に顕著な影響を与えるかもしれないが、原則として、特定の方法の使用が不可欠であるというわけではない。使用可能な方法を以下に説明する。係数の変換を１次元でのみ行うので、この形態は１次元ダイナミック係数と称される。この１次元ダイナミック係数の技法は、上述のどのような行及び列の置換技法と組み合わせて使うことができる。
【００８２】
（５）２次元ダイナミック係数
他の形態では、行に依存し列に依存する方法で変換マトリックス係数を変更する。これを行うことのできるひとつの方法は、上述の行に依存する係数を１次元ダイナミック係数として生成し、列に依存する値の第２の係数のセットｄ，ｅ及びｆを生成し、この列に依存する係数と行に依存する係数とを乗算する。この形態により、式（３）又は式（１３）で示された方程式は以下のように記述することができる。
【００８３】
ｙ０，ｊ＝ｘ０，ｊ
ただし、０≦ｊ＜ｍ                                                    （１５）
ｙｉ，ｊ＝ａｉ・ｄｊ・ｘｉ，ｊ＋ｂｉ・ｅｊ・ｙｉ−１，ｊ＋ｃｉ・ｆｊ・ｘｉ−１，ｊ
ただし、０≦ｊ＜ｍ
ここで、
ｄｊ，ｅｊ，ｆｊ＝列ｊを変換するための列に依存するマトリックス係数、
である。
【００８４】
列に依存する係数と行に依存する係数のどれもがゼロでないなら、変換は可逆となる。これはこの変換が可逆であるための十分条件であるが必要条件ではない。
【００８５】
式（１５）の方程式は、ここでダイナミックマトリックスと称するデータ構造を用いるマトリックス乗算として表現することができる。ダイナミックマトリックスにおける係数は、データＹのフレームの異なった行及び／又は列における暗号化されたデータを生成するために行われる数学演算に対して変動する値を有する。例えば、式（１５）の方程式のダイナミックマトリックスにおける係数は、以下の２つの式で示される。
【数５】
2009544183.tif 000007
【数６】
2009544183.tif 000008
【００８６】
ここで、Ａ｛θ｝＝データＹのフレームのセットとなった列における暗号化されたデータを生成するために用いられるマトリックスＡの係数、
である。
【００８７】
ダイナミックマトリックスで表される変換は、様々な方法で実行することができる。この変換は、マトリックス｛Ａ｝のセットから選択したマトリックスを用いてデータＸのフレームとマトリックスとの乗算として実行することができる。この変換はまた、フィルターのセットから選択したマルチタップフィルターを用いてデータＸのフィルターにフィルターを適用することにより実行することもできる。マトリックス又はフィルターは、データＹのフレーム中に生成した第２の暗号化されたデータの行及び／又は列に基づきダイナミックに選択される。より詳しくは、マトリックスの乗算による実施の形態についてのこの明細書中で説明する。
【００８８】
例えば、式（１５）で表される変換は、式（１６）及び（１７）で表される２つのマトリックスのセットから選択したマトリックスを用いた、マトリックスの乗算として実行することができる。これらの２つのマトリックスセットから適切なものが、データＹのフレームに対して生成されたデータの列の関数として選択される。この特別な例では、列０又は１の暗号化されたデータが生成されるときは式（１６）で表されるマトリックスが選択され、次いで、データＹのフレームにおける他のすべての列の暗号化されたデータが生成されるときは式（１７）で表されるマトリックスが選択される。
【００８９】
行に依存する係数と列に依存する係数とは、制御データにアクセスすることなく係数値を予想することが難しくなるような方法で、少なくとも部分的には制御データから導き出されることが好ましい。１つの実施の形態では、データのフレームから選択されたデータ中の第１番目の行ｘ０から係数が導き出される。この係数を導き出すために用いられる方法又は関数の選択は、暗号化処理の全体的な安全性に影響を及ぼす上で実際的には重要かもしれないが、本質的にどんな方法を選択するかは本質的ではない。以下に可能な方法を説明する。結果として生じるマトリックスの係数は２次元に変わるので、この形態は、２次元ダイナミック係数と称される。
【００９０】
この２次元ダイナミック係数技法は、上述のどの列及び行の置換技法と組み合わせることもできる。
【００９１】
（６）ゼロバイト防止
データＸのフレーム中のデータの１以上の行におけるすべてのバイトがゼロの値又は同じ値であるならば、第２の暗号化処理により提供される安全性のレベルが損なわれてしまうかもしれない。変換方程式にゼロでない項を加えることにより、このような状況が起こる可能性を本質的にゼロにまで減少させることができる。この形態は、繰り返し値は、ゼロではなく他の値に対して起こりやすいため、ここではゼロバイト防止技法と称する。式（１５）で表される変換に対してゼロバイト防止技法を実行するために用いることのできる２つの方法が、方程式（１８）及び（１９）で表される。
【００９２】
ｙｉ，ｊ＝ａｉ・ｄｊ・ｘｉ，ｊ＋ｂｉ・ｅｊ・ｙｉ−１，ｊ＋ｃｉ・ｆｊ・ｘｉ−１，ｊ＋ｇｉ・ｈｊ 
ただし、１≦ｉ＜ｋ，０≦ｊ＜ｍ                          （１８）
ｙｉ，ｊ＝ａｉ・ｄｊ・（ｘｉ，ｊ＋ｇｉ・ｈｊ）＋ｂｉ・ｅｊ・ｙｉ−１，ｊ＋ｃｉ・ｆｊ・ｘｉ−１，ｊ      ただし、１≦ｉ＜ｋ，０≦ｊ＜ｍ                       （１９）
ここで、
ｇｉ＝行に依存するゼロでない係数
ｈｊ＝列に依存するゼロでない係数
であり、
必要に応じて、さらにゼロでない係数を追加することができる。ゼロでない項を１つだけ追加したのは、バイトの行に同じ値の変換を適用することになる確率を減らす量と、この技法を実行するのに必要なコンピュータのリソースとのバランスを象徴するものである。
【００９３】
上述の２つのゼロバイト防止技法は、以下のように、この変換にゼロバイト防止ダイナミックマトリックスＢを加える１つの演算と数学的に等価である。
【００９４】
Ｙ＝Ａ・Ｘ＋Ｂ                                        （２０）
ここで、ダイナミックマトリックスＢは、
式（１８）について、
【数７】
2009544183.tif 000009
【００９５】
式（１９）について、
【数８】
2009544183.tif 000010
【００９６】
ここで
Ｂ｛ｊ｝＝列ｊにおけるマトリックスＢの係数である。
【００９７】
マトリックスＡにおける係数の値についての表現と、ゼロ防止ダイナミックマトリックスＢにおける係数の値についての表現とがすべての行と列について同じであるが、これらの値は、上述の２次元ダイナミック係数技法から導き出したのものなので、実際の値は行から行、列から列で変化する。
【００９８】
必要に応じて、上述の、列に依存する係数ｄ，ｅ，及びｆを１に等しくすることで、１次元ダイナミック係数技法のような静的マトリックスを用いることができる。このゼロバイト防止技法は、行と行とで変動しない値にａ，ｂ，及びｃを設定することにより、基本変換と共に用いることができる。
【００９９】
（７）初期ベクトル
上述の置換技法及びダイナミック係数技法の好ましい実施の形態は、制御データ中の情報から得られたか又は導き出されたデータに応答して係数の置換又は係数の修正を制御するものである。１実施の形態において、フレームの行ｘ０におけるデータを用いる。用いられるデータが異なったフレームに対して一定又は予想可能であるならば、置換順序及び係数の修正の結果もまた予想可能であり、第２の暗号化処理での安全性のレベルを低下させるであろう。
【０１００】
この状況は、置換順序又はダイナミック係数を取得するために用いる方法に予測不可能な数又は初期ベクトル（ＩＶ）を導入するような形態を用いることにより本質的に排除することができる。ＩＶと第１番目の行のデータｘ０のような他のデータの両方が用いられる。ＩＶは、好ましい実施の形態における特定の素材と関連するが、意図する受取人のような他の要素と関連させることもできる。用いられるあらゆるＩＶは、制御データに含まれており、第１の暗号化処理で暗号化される。
【０１０１】
ＩＶは、フレームのシーケンスを暗号化するときに時々変更することができる。ＩＶからの新しい値の存在が、すでに信号内に存在する他のデータから予想又は見つけ出すことができないならば、ＩＶの変化は、第１の暗号化されたデータ又は第２の暗号化されたデータに含まれるか又はそれに関連付けされたいくつかの付加的なデータにより示すことができる。必要に応じて、異なったＩＶをデータのフレームに対して用いることができる。この新しい値は、予測可能であるかもしれないし予測不可能かもしれない。予測可能な値を生成する１つの方法は、ＩＶを１つのフレームから次のフレームに予測可能な方法又は特定の方法で修正することである。例えば、ＩＶを連続する各フレームに対して固定量だけ増加させるか又は制御データから得られる量だけ増加させることとすることができる。
【０１０２】
ＩＶを取得するために用いられる方法又は関数の選択は、暗号化処理の全体的な安全性に影響を及ぼす上で実際的には重要かもしれないが、本質的にどんな方法を選択するかは本質的ではない。以下に可能な方法を説明する。
【０１０３】
ｂ）初期化
行と列の置換とダイナミック係数を用いる好ましい実施の形態では、データｘ０の最初の行のように、データのフレーム中の選択されたデータから導き出された初期データに応答して、置換された行と列の順序とダイナミック係数の値とを制御する。第２の暗号化処理の安全性は、初期データの各ビット値を選択されたデータ中の各ビット値に依存させれば、強化することができる。このことは、暗号ブロック連鎖（ＣＢＣ）のような連鎖機構によるブロック暗号を用いることにより行うことができる。この暗号化方法は、現行のブロックを暗号化する前に、先の暗号化したデータのブロックと、現行のデータのブロックとの間で排他的ＯＲ（ＸＯＲ）演算を実行するものである。
【０１０４】
１実施の形態において、第１の行のデータｘ０は、データのブロックＰ０，Ｐ１，Ｐ２，・・・ＰＳに分割される。ブロック暗号化が各ブロックに順番に適用される。ブロック暗号化により得られた暗号化されたデータＣ０，Ｃ１，Ｃ２，・・・Ｃｓのブロックは、上述のＩＶの計算又は置換の初期化及びダイナミック係数技法に用いることのできる、バイナリデータの疑似乱数のストリームを表す。初期化には行ｘ０の長さより長いビットストリームが必要であるならば、暗号化により、行の最初の部分を包み込むことができ、その行の最後から暗号化されたブロックＣｓを用いて、再度暗号化する前に第１のデータブロックＰ０のＸＯＲにその処理を続けることができる。第１のデータブロックＰ０の初期暗号化では、ＩＶ又は、データｘ０の第１の行のすべて又は一部から導き出した第１暗号キー又はその両方を用いることができる。これには多くのバリエーションが可能である。特定の技法が重要な意味を持つわけではない。
【０１０５】
必要に応じて、暗号化処理において、第１の行ｘ０のすべてのデータブロックＰ０，Ｐ１，Ｐ２，・・・Ｐｓに初期パスを作ることができる。１実施の形態において、初期パスから得られた暗号化されたデータブロックＣ０，Ｃ１，Ｃ２，・・・Ｃｓは、データの第１の行ｘ０を置き換えるために用いられる。
【０１０６】
いくつかの係数がゼロの場合、変換の結果は非可逆となってしまうので、ダイナミック係数技法には特に注意が必要である。初期化データからゼロ値のバイトをすべて削除することによりこの問題を避けることができる。この技法を用いる１つの方法は、疑似乱数のストリーム中の各バイトを検査し、そのバイトがゼロでない値である場合に初期化データにそのバイトを挿入することである。
【０１０７】
列と行とを置換する技法に用いられた、置換された順序は、種々の方法で生成することができる。この置換された順序は、データｘ０の第１の行から導き出された情報に基づくことが好ましい。効率的で統計的偏りのない１つの方法は、一連の数の順序に構成させる値の範囲を単調に減少させる範囲で疑似乱数を生成することにより、置換された順序を生成することである。
【０１０８】
例えば、列の置換された順序は、列番号の配列ＣＸを組み立てて、ランダムにその番号の順序を再配置することにより生成することができる。この配列は、各配列要素ＣＸ［ｉ］が番号ｉを持つように、０からｍ−１まで番号をつけたｍ個の要素からなる。この処理では、上述のＣＢＣ技法のような技法を用いて、データｘ０の第１の行から疑似乱数Ｎ１，Ｎ２，・・・Ｎｍを反復的に導き出す。第１番目の反復計算により生成された番号Ｎ１は、０からｍ−１までの範囲（ｍ−１を含む）に限定される値を持つ。一連の反復計算の数は、一様に減少する範囲に限定される。記号Ｒが繰り返しの数を表すならば、Ｒ番目の繰り返しからの疑似乱数の数ＮＲは、０≦ＮＲ≦ｍ−Ｒで表すことのできる範囲に限定される。例えば、第１番目の反復計算により生成された数Ｎ１の範囲は、０≦Ｎ１≦ｍ−１であり、最後のあるいはｍ番目の反復計算により生成された数Ｎｍの範囲は、０≦Ｎｍ≦０である。必要に応じて、最後の反復計算による数Ｎｍは、疑似乱数を導き出すことなくゼロに設定しておくことができる。置換された順序は、配列ＣＸの要素を再配置することにより生成する。各反復計算において、配列の要素ＣＸ［ｍ−Ｒ］中に記録された値は、配列の要素ＣＸ［ＮＲ］中に記録された値に入れ替えられる。最後の反復計算が完了すると、ｉ＝０からｍ−１に対する一連の配列の要素ＣＸ［ｉ］は、データｘ０の第１番目の行から導き出された、置換された順序における列番号を記録する。
【０１０９】
配列の要素ＲＸ［ｉ］における置換された順序を生成するために同様の技法を用いることができる。１≦ＮＲ≦ｋ−Ｒで表すことができる範囲内の値で、Ｒ＝ｋ−１から１まで行う繰り返しのために疑似乱数ＮＲが生成される。最後の反復計算が完了すると、ｉ＝１からｋ−１に対する一連の配列の要素ＲＸ［ｉ］は、データｘ０の第１番目の行から導き出された、置換された順序における行番号を記録する。
【０１１０】
初期化ベクトルは、疑似乱数発生装置により生成された疑似乱数のストリームのような、どんな発生源からでも原則的に取得することができる。１つの簡単な方法は、ＩＶのような疑似乱数のストリームの最初の部分を用いることである。例えば、ＩＶが１２８ビット長である場合、疑似乱数のストリームの最初の１２８ビットから取得することができる。
【０１１１】
ここで説明する具体的な実施の形態と手続は、初期化を行うことができる方法の一例に過ぎない。本質的に、疑似乱数データを生成することができるあらゆる技法を使うことができる。
【０１１２】
ｃ）単純化し強化した変換
ここで、単純化し強化した変換（ＳＥＴ）と称する、ダイナミックマトリックスによる特別な変換について説明する。ＳＥＴは、基本変換の１つの変形であって、マトリックス係数を置換し、上述のように第１番目のデータ行ｘ０から導き出されたバイナリデータの疑似乱数のストリームにより初期化された処理を用いて選択されていないデータをランダム化するものである。ＳＥＴは、効率的であり多くの処理において好ましいレベルの安全性をもたらしている。
【０１１３】
ＳＥＴは、式（２３）により表すことができる。
【０１１４】
ｙ０，ｊ＝ｘ’０，ｊ                                                （２３）
ただし、０≦ｊ＜ｍ
ｙｉ，ｊ＝ａ’ｉ，ｊ・ｄ’ｉ，ｊ・ｘ’ｉ，ｊ 
ただし、１≦ｉ＜ｋ，０≦ｊ＜ｍ
ここで、
ｘ’０，ｊ＝データ行ｘ０から導き出されたバイナリデータの疑似乱数のストリーム、                                                                    （２４ａ）
ａ’ｉ，ｊ＝ａｉ，Ｒ（ｉ，ｊ，ｋ）＝行に依存し列をずらしたマトリックス係数、
（２４ｂ）
ｄ’ｉ，ｊ＝ｄＳ（ｉ，ｊ，ｍ），ｊ＝列に依存し行をずらしたマトリックス係数、
（２４ｃ）
ｘ’ｉ，ｊ＝ｘｉ，ｊ＋ｘ’Ｐ（ｉ，ｊ，ｍ），ｊ＝暗号化すべきランダム化した、選択されていないデータ、                                                         （２４ｃ）
である。
【０１１５】
ｘ’０，ｊで示したバイナリーデータの疑似乱数のストリームは、第１番目のデータ行ｘ０に適用するＣＢＣ処理の最初のパスから導き出すことが好ましい。マトリックス係数ａ’及びｄ’はゼロでない値とすべきである。
【０１１６】
Ｒ（ｉ，ｊ，ｋ）の表記は、係数ａの順序を置換する機能を表す。Ｓ（ｉ，ｊ，ｍ）の表記は、係数ｄの順序を置換する機能を表す。Ｐ（ｉ，ｊ，ｍ）の表記は、第１番目のデータ行ｘ０のブロックの順序を置換する機能を表す。
【０１１７】
上述の置換関数は、以下のような式で表わされるように実施される。
【０１１８】
Ｒ（ｉ，ｊ，ｋ）＝（ｉ−ｒａ（ｊ））ｍｏｄ  ｋ                        （２５）
Ｓ（ｉ，ｊ，ｍ）＝（ｊ−ｒｄ（ｉ））ｍｏｄ  ｍ                        （２６）
Ｐ（ｉ，ｊ，ｍ）＝（ｊ−ｒｘ（ｉ））ｍｏｄ  ｍ                        （２７）
ここで、
ｒａ（ｊ）＝０からｋ−１の整数に対する疑似乱数マッピング関数、
ｒｄ（ｉ）＝０からｍ−１の整数に対する疑似乱数マッピング関数、
ｒｘ（ｉ）＝０からｍ−１の整数に対する疑似乱数マッピング関数、
ｍｏｄ  ｎ＝０からｎ−１の非負の数に帰還するモジュロ演算子、である。
【０１１９】
好ましい実施の形態において、各マッピング関数ｒａ（ｊ），ｒｄ（ｉ），及びｒｘ（ｉ）は、データの各フレームごとに一度計算される。マッピング関数は、疑似乱数発生装置により生成された数又は上述のＣＢＣ初期化処理により生成された数により実行する。
【０１２０】
マッピング関数ｒａ（ｊ），ｒｄ（ｉ），及びｒｘ（ｉ）は、選択されていないデータの各フレームに対して一度そして一度だけ、０からｋ−１及び０からｍ−１の出力範囲で各整数を生成する置換関数として実行されることが好ましい。これらのマッピング関数が置換関数として実行される場合は、係数ａ’は、行に依存し、列に対して置換されたマトリックス係数となり、ｄ’は、列に依存し、行に対して置換されたマトリックス係数となる。
【０１２１】
上述の疑似乱数によるマッピング関数の出力範囲は、一般的に奨励されるものである。異なった範囲の出力を用いることもできるが、結果として生じたＳＥＴにより得られる安全性は損なわれるかもしれない。
【０１２２】
式（２４ｄ）におけるプラス（＋）演算子は、第１番目のデータ行ｘ０から導き出されたバイナリデータの疑似乱数のストリームの置換と、残りの行のデータ中の選択されていないデータのブロックとのＸＯＲ演算を表す。この置換は、選択されていないデータの各行について変化するバイト又はビットの数だけ、疑似乱数のストリームを循環させる、循環シフトにより実行してもよい。必要に応じて、必要な循環の量の一部又はすべてを暗号化処理で用いるために予め計算し保存しておくこともできる。
【０１２３】
必要に応じて、第２の暗号化処理を実行するために代替的にＳＥＴを用いることもできる。代替的なＳＥＴは、上記方程式に示したａ’とｄ’の係数を置き換え、行ベクトルと列ベクトルとを交換し、行と列の参照指標を交換する。
【０１２４】
ｄ）暗号解読キー
上述の技法のいくつかは、暗号キーとＩＶとの両方に応答する第２の暗号化処理を用いることができる。ＩＶそのものは暗号キーの１つの形式だと考えてもよい。必要に応じて、ＩＶを生成するための上述の技法又は他の初期化データを暗号キーを生成するために用いることができる。このような方法で取得した暗号キーは素材指向のキーである。
【０１２５】
データのフレーム中の残りのデータの全部又は少なくとも一部を暗号化するためにこれを用いることができる。ＩＶは第１の暗号化処理により暗号化され、第１の暗号化されたデータ中に含まれる。この手法の１つの利点は、第２の暗号解読処理のための解読キーを導き出すために、受信器１５が必要とするデータを配信する簡単な方法を提供する点にある。
【０１２６】
必要に応じて、同じ暗号化アルゴリズムを第１の暗号化処理と第２の暗号化処理に用いることができ、同じ暗号解読処理を第１の暗号化処理と第２の暗号化処理に用いることができる。本質的にどんなアルゴリズムを用いてもよいが、ＡＥＳ又はＤＥＳのような対称キーアルゴリズムは、キー配信を簡単にするので、よい選択である。第１の暗号化処理に非対称キーアルゴリズムを用いる場合は、適切な解読キーを配信するための方法が必要となる。１つの配信方法において、プロセッサ１０は、適切な解読キーを導き出し、第１の暗号化処理によって暗号化された制御データ内にそれを含める。
【０１２７】
Ｅ．暗号解読処理
１．概観
第１の暗号化されたデータと第２の暗号化されたデータとを解読するために用いられる、第１の暗号解読処理と第２の暗号解読処理とは、種々の方法で実行することができるが、暗号化されたデータを生成するために用いられる第１の暗号化処理と第２の暗号化処理のそれぞれの逆の処理となる。上述の基本変換により生成される暗号化するためのデータに適切な処理の例について、以下に説明する。
【０１２８】
２．基本的実施の形態
第２の暗号解読処理は、第２の暗号化されたデータを生成するために用いられる変換を逆方向に行う適切な変換により行うことができる。上述の式（２）にその例が示されている。上述の式（６）に示された基本逆変換は、受信器１５が、式（３）で示された基本変換を採用するシステムで用いるのに適切である。
【０１２９】
３．代替的実施形態
第２の暗号化処理が式（３）の基本変換を用い、上述の付加的な特徴を実行するのならば、以下に説明する対応する逆特性が、式（６）の逆変換と共に用いられる。
【０１３０】
基本逆変換の実施形態は、上述の付加的な特徴と共に又はそれとは別に、暗号化すべきデータＹのフレームでマトリックスＡ−１を乗算する算術処理に対応する。式（６）で示した方程式データを検討すると、データＹのフレーム又はデータＸのフレームの各列に対する算術演算は、他の列第２の暗号化処理に対する算術演算と独立に行うことを示している。安全のレベルは、以下に説明する１以上の特徴を用いることにより改善することができる。
【０１３１】
第２の暗号化処理が代替的な変換又は上述の付加的な特徴のバリエーションを用いるなら、この暗号化処理は、代替的な基本逆変換又は対応するその適切なバリエーションを用いるべきである。適切な逆変換を実行することは、マトリックスＡ−１の係数で暗号化すべきデータＹのフレームを乗算する算術処理に対応する。データＹのフレームの行又はデータＸのフレームの行に対する算術演算は、他の行に対する算術演算とは独立に行う。第２の暗号化処理も、上述の付加的な特徴のバリエーションに組み込まれるならば、対応する逆変換の特性もこの暗号化処理に組み込まれる。対応する逆変換の特性は、上述したように、列と行の参照指標を交換することにより、以下の説明から導き出すことができる。
【０１３２】
逆変換の適用について、以下の説明では、マトリックス演算又は種々の行又は列に配列されたマトリックス係数を有する算術演算の語で説明する。暗号化処理の説明については、これらの参照指標は、代替的実施の形態を説明するには便利な方法であり、この逆変換を組み込まなければならない特定の方法を示そうとするものではない。暗号化すべきデータＹのフレームに１以上のマルチタップフィルターを適用するような他の実施の形態による方法によっても可能である。
【０１３３】
ａ）付加的な逆変換特性
上述の付加的な逆変換特性に相補的な特性は、ここで逆変換特性と称され、以下に説明する基本逆変換の適用に付加する種々の演算を実行することで実現することができる。（１）列と行の置換
逆変換特性では、第２の暗号化処理で行われるのとは逆の方法で暗号化されたデータＹ又は暗号化されたデータＸの、逆行列Ａ−１の列、行、又は列と行の両方を再配列する。置換が変換マトリックスを適用する前になされるならば、対応する逆置換は、逆変換マトリックスを適用した後になされる。置換が変換マトリックスを適用した後になされるならば、対応する逆置換は、逆変換マトリックスを適用する前になされる。
【０１３４】
（２）ダイナミック係数
他の逆変換特性では、データの暗号化に用いられるマトリックスの逆演算を維持するように逆マトリックスの係数を修正する。係数は、上述の１次元又は２次元のダイナミック係数技法のどちらに従って適用してもよい。
【０１３５】
２次元のダイナミック係数を持つ逆変換は、適切なマトリックスが逆マトリックス｛Ａ−１｝のセットから選択されるダイナミックマトリックスとのマトリックスの乗算として実行してもよい。逆マトリックスのセットにおける各マトリックスは、第２の暗号化変換を表すマトリックス｛Ａ｝のセット中のそれぞれのマトリックスの逆演算である。必要に応じて、逆変換は、第２の暗号化変換を表すフィルターのセット中のそれぞれのフィルターに対すして各フィルターが逆演算となる、マルチタップフィルターのセットを適用することにより実行される。
【０１３６】
（３）ゼロバイトの防止
もう１つの逆変換特性は、上述のゼロバイト防止技法の逆となる。逆変換技法は、以下のように、逆変換からゼロバイト防止ダイナミックマトリックスＢを導き出す演算と数学的に等価である。
【０１３７】
Ｘ＝Ａ−１・（Ｙ−Ｂ）＝Ａ−１・Ｙ−Ａ−１・Ｂ＝Ａ−１・Ｙ−Ｂ−１      （２８）
ここで、Ｂ−１は、ゼロバイト防止逆変換ダイナミックマトリックスである。
【０１３８】
ダイナミックマトリックスＢ及びその逆Ｂ−１は、上述した、式（２１）及び（２２）で示されたように用いられる、ゼロバイト防止技法の具体的実施の形態に依存する。必要に応じて、逆変換ダイナミックマトリックスＢ−１は、以下のように計算することができる。
【０１３９】
Ｂ−１＝Ａ−１・Ｂ                                                （２９）
（４）ベクトルの初期化
上述の置換及びダイナミック係数技法では、制御データ中の情報から取得又は導き出したデータに応答して、係数の置換と修正を制御する。この制御データは、第１の暗号化処理により暗号化され、第１の暗号化されたデータ中に含められる。逆置換技法及び逆ダイナミック係数技法では、第１の暗号化されたデータを読解することにより得られた、同じデータに応答してその動作を制御する。必要なＩＶには、この第１の暗号化されたデータが含まれる。
【０１４０】
ｂ）初期化
第２の暗号解読処理における逆変換特性の実施の形態では、第２の暗号化処理における相補的特性により用いられたのと同じ初期化データから動作の初期化を行うことができる。この初期化データは、暗号化のために導き出したのと同じ方法で導き出すことができる。この動出のために必要なすべてのデータは、第１の暗号化されたデータ中に含まれている。
【０１４１】
ｃ）単純化され強化された逆変換
ＳＥＴが第２の暗号化処理を行うために用いられる場合は、第２の暗号解読処理は、ここで、単純化され強化された逆変換と称される逆変換（ＳＥＴ）により実行される。ＳＥＴは、マトリックス係数を置換し、選択されていないデータを再ランダム化する特性により強化された基本逆変換のバリエーションである。
【０１４２】
ＳＥＴは、式（３０）により表すことができる。
【０１４３】
ｘ’０，ｊ＝ｙ０，ｊ 
ただし、０≦ｊ＜ｍ                                            （３０）
ｘ’ｉ，ｊ＝ｙｉ，ｊ／（ａ’ｉ，ｊ・ｄ’ｉ，ｊ）
ここで、                                                      （３１）
ｘｉ，ｊ＝ｘ’ｉ，ｊ＋ｘ’ｐ（ｉ，ｊ，ｍ）＝暗号読解後の選択されていないデータ、
である。      
式（３１）におけるプラス（＋）演算子は、第１のデータｘ０から導き出したバイナリデータの疑似乱数のストリームの置換と、データの残りの行における選択されていないデータの暗号化されたブロックとの間のＸＯＲ演算を意味する。置換は、選択されていないデータの各行に対して変化する多くのバイト又はビットにより、疑似乱数のストリームを回転させる、循環シフトにより実行することができる。必要に応じて、回転の必要量のいくつか又はすべては、前もって計算され暗号解読処理のときに使うために保存される。
【０１４４】
第２の暗号化処理で上述の代替的なＳＥＴを用いる場合は、対応する代替的なＩＳＥＴを第２の暗号解読処理に用いる。代替的なＩＳＥＴは、行ベクトルと列ベクトルとを交換し、行と列の参照指標を入れ替えることにより、式（３０）で示されるマトリックス係数表されるマトリックスを置換することにより、ＩＳＥＴから導き出すことができる。
【０１４５】
ｄ）暗号解読キー
受信器１５は、本質的に必要とされるどんな方法ででも必要なすべての暗号解読キーを取得することができる。好ましい実施の形態において、第２の暗号解読キーは、第１の暗号化されたデータを読解することにより受け取った制御データから取得、又は導き出す。第１の暗号化されたデータを読解するために必要な第１の暗号解読キーは、必要とされるどのような方法ででも配信することができる。例えば第１の暗号解読キーが、意図する受取人に関連付けられた、公開キー／プライベートキーのペアにおける、その受取人のプライベートキーである場合は、公開キーは、第１の暗号化されたデータを生成するために用いられ、プライベートキーは、データを暗号化させた第１の方法により生成されており、第１の暗号化されたデータの配信とは別の確かな方法で受取人に配信させる。逆に言えば、キーのペアは、受取人によって作ることができ、提供された公開キーは、データを暗号化するものに提供される。後者の方法は、公開キー配信するために必要なソースチャンネルを必要としないという利点がある。
【０１４６】
Ｆ．実施の形態
本発明のさまざまな特徴を組み込んだ装置は、コンピュータ又は汎用コンピュータに見られる構成要素と同様な構成要素と結合したディジタル信号プロセッサ回路のような専用化した構成要素を含む他の装置により実行されるソフトウェアを含むさまざまな方法で実施することができる。図８は、本発明の特徴を実施するために用いることのできる装置７０の概略ブロック図である。プロセッサ７２は計算手段を提供する。ＲＡＭ７３は処理のためのプロセッサ７２により用いられるランダムアクセスメモリ（ＲＡＭ）のシステムである。ＲＯＭ７４は、装置を動作させるのに必要なプログラムを保存するための、及び、おそらく本発明のさまざまな特徴を実行することのできるリードオンリーメモリ（ＲＯＭ）のような固定記憶の形態を示す。Ｉ／Ｏ制御７５は、通信チャンネル７６，７７を用いて信号を受信し送信するインターフェース回路を示す。図示の実施の形態では、すべての主要なシステム構成要素は、２以上の物理的または論理的バスを表すバス７１に接続されているが、バス構成は本発明を実施するためにからなずしも必要ではない。
【０１４７】
汎用コンピュータシステムにより実施される実施の形態では、キーボードやマウスやディスプレイのような装置とのインターフェースのための構成要素、及び、磁気テープ又はディスク或いは光学的記憶媒体のような記憶媒体を有する記憶装置７８を制御するための構成要素を付加的に含めることができる。この記憶媒体はオペレーティングシステムに対する指令プログラム、ユーティリティープログラム、及びアプリケーションプログラムを記憶するために使うことができ、また、本発明のさまざまな特徴を実行するプログラムを含有することができる。
【０１４８】
本発明のさまざまな特徴を実行するために必要な機能は、個別の論理要素、集積回路、１以上のＡＳＩＣｓ及び／又はプログラム制御されるプロセッサを含む広くさまざまな方法に用いられる構成要素により実行される。これらの構成要素を用いる方法は本発明にとって重要ではない。
【０１４９】
本発明を実施するソフトウェアは、超音波から赤外周波数を含む範囲のスペクトルでのベースバンド通信経路又は変調通信経路のような機械的に読み取り可能なさまざまな媒体、又は、磁気テープ、磁気カード、磁気ディスク、光学カード又は光学ディスク、及び紙を含む媒体上の検出可能なマーキングを含んで、原則としてあらゆる記憶技術を用いて情報を伝達する記憶媒体により伝達することができる。
【図１】
2009544183.tif 000011
【図２】
2009544183.tif 000012
【図３】
2009544183.tif 000013
【図４】
2009544183.tif 000014
【図５】
2009544183.tif 000015
【図６】
2009544183.tif 000016
【図７】
2009544183.tif 000017
【図８】
2009544183.tif 000018
【国際調査報告】
2009544183.tif 000019
2009544183.tif 000020
2009544183.tif 000021