(57)【要約】      （修正有）【課題】再構成可能、及び、拡張可能な暗号化/復号モジュールによるコーディング装置と方法を提供する。【解決手段】暗号化データは、正確な順序と正確なクリプトグラフィキーで、正確なアルゴリズムにより、正確に復号される。システムは、再構成可能で、マルチプルクリプトグラフィアルゴリズムと、入力キー集合とセキュリティレベルのパラメータを受信するクリプトグラフィコントローラー１５ａと、からなる。クリプトグラフィコントローラー１５ａは、セキュリティレベルのパラメータに基づいて、マルチプル暗号化アルゴリズム集合部分１３を再構成し、選択された順序で、複数の選択されたクリプトグラフィアルゴリズムを実行する。クリプトグラフィコントローラー１５ａは、入力キー集合に基づいて、クリプトグラフィキーを生成し、クリプトグラフィキーをマルチプル暗号化アルゴリズム集合部分１３に提供する。【選択図】図１
2010263623.tif 000002
【特許請求の範囲】
【請求項１】
クリプトグラフィシステムであって、
再構成可能で、入力データに対し、順に、複数のクリプトグラフィアルゴリズムを実行するマルチプルクリプトグラフィアルゴリズム集合部分と、
入力キー集合と、一つ、或いは、それ以上のセキュリティレベルパラメータを受信するクリプトグラフィコントローラーと、を備え、
前記クリプトグラフィコントローラーは、前記セキュリティレベルのパラメータに基づいて、前記マルチプルクリプトグラフィアルゴリズム集合部分を再構成し、選択された順序で、複数の選択されたクリプトグラフィアルゴリズムを実行し、前記クリプトグラフィコントローラーは、更に、前記入力キー集合に基づいて、一つ、或いは、それ以上のクリプトグラフィキーを生成し、前記クリプトグラフィキーを前記マルチプルクリプトグラフィアルゴリズム集合部分に提供して、前記の選択されたクリプトグラフィアルゴリズムを実行することを特徴とするクリプトグラフィシステム。
【請求項２】
前記クリプトグラフィアルゴリズムは暗号化アルゴリズムで、前記クリプトグラフィシステムは、更に、
入力ビデオデータに対し、空間、及び/又は、時間冗長性除去を実行する空間/時間冗長性部分と、
前記冗長性除去部分により出力されるビデオデータに対し、エントロピー符号化を実行するエントロピー符号化部分と、を備え、
前記マルチプルクリプトグラフィアルゴリズム集合部分は、前記エントロピー符号化部分により出力されるビデオデータに対し、前記暗号化アルゴリズムを実行することを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項３】
前記クリプトグラフィアルゴリズムは復号アルゴリズムで、前記クリプトグラフィシステムは、更に、
前記マルチプルクリプトグラフィアルゴリズム集合部分により出力されるビデオデータに対し、エントロピー復号を実行するエントロピー復号部分と、
前記エントロピー復号部分により出力されるビデオデータに対し、空間、及び/又は、  時間冗長性リカバリーを実行する冗長性リカバリー部分と、
を備えることを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項４】
前記マルチプルクリプトグラフィアルゴリズム集合部分は、一つ、或いは、それ以上のクリプトグラフィユニットを備え、各クリプトグラフィユニットは、一つ、或いは、それ以上のクリプトグラフィアルゴリズムを実行し、且つ、再構成可能で、一つ、或いは、それ以上のクリプトグラフィアルゴリズムの一つを実行することを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項５】
前記マルチプルクリプトグラフィアルゴリズム集合部分は、パイプラインに接続された複数のクリプトグラフィユニットを備え、各クリプトグラフィユニットは、一つ、或いは、それ以上のクリプトグラフィアルゴリズムを実行し、且つ、再構成可能で、一つ、或いは、それ以上のクリプトグラフィアルゴリズムの一つを実行し、
前記クリプトグラフィコントローラーは、各クリプトグラフィユニットを再構成して、前記の選択されたクリプトグラフィアルゴリズムの一つを実行するか、アルゴリズムを実行しないことを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項６】
前記マルチプルクリプトグラフィアルゴリズム集合部分は、
複数のクリプトグラフィアルゴリズムを実行し、且つ、再構成可能で、複数のクリプトグラフィアルゴリズムの一つを実行するクリプトグラフィユニットと、
前記クリプトグラフィユニットの前後に接続される第一、及び、第二マルチプレクサと、を備え、
前記クリプトグラフィコントローラーは、前記クリプトグラフィユニットを再構成して、前記の選択された順序で、前記の選択されたクリプトグラフィアルゴリズムを実行して、マルチプル処理段階を形成し、第一、及び、第二マルチプレクサを制御して、一段階の処理結果を前記暗号化ユニットにフィードさせ、次の段階の処理に進むことを特徴とする請求項１に記載のクリプトグラフィシステム。  
【請求項７】
前記クリプトグラフィコントローラーはプログラム可能なアルゴリズムを使用して、前記クリプトグラフィキーを生成し、前記クリプトグラフィコントローラーはプログラム可能で、前記入力キー集合中、異なる数量の入力キーを有するように要求することを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項８】
前記クリプトグラフィコントローラーは、
前記クリプトグラフィキーを生成する前記入力キー集合を受信するキープロセッサと、
前記セキュリティレベルのパラメータを受信し、前記セキュリティレベルのパラメータに基づいて、前記マルチプルクリプトグラフィアルゴリズム集合部分を再構成するコントローラーと、を備え、
前記コントローラーは、前記キープロセッサから前記クリプトグラフィキーを受信し、前記セキュリティレベルのパラメータに基づいて、前記クリプトグラフィキーを前記マルチプルクリプトグラフィアルゴリズム集合部分に選択的に提供することを特徴とする請求項１に記載のクリプトグラフィシステム。  
【請求項９】
前記キープロセッサは、
複数のプレ保存キーを含むキーテーブルと、
前記入力キー集合と、前記キーテーブルから選択されたプレ保存キーに基づいて、前記クリプトグラフィキーを生成するプログラム可能なキーマニピュレーターと、
を備えることを特徴とする請求項８に記載のクリプトグラフィシステム。
【請求項１０】
前記クリプトグラフィキーは、複数のキーホッピングシーケンスを含み、前記キープロセッサは、更に、
前記入力キー集合に基づいて、擬似ランダムビットを生成する擬似ランダムビット生成器を有し、
前記プログラム可能なキーマニピュレーターは、前記擬似ランダムビット生成器により生成される前記擬似ランダムビットを用いて、前記キーホッピングシーケンスを生成することを特徴とする請求項９に記載のクリプトグラフィシステム。
【請求項１１】
前記マルチプルクリプトグラフィアルゴリズム集合部分により実行される前記クリプトグラフィアルゴリズムは、マルチメディアコンテンツの一つ、或いは、それ以上のクリプトグラフィアルゴリズム、ネットワーク通信の一つ、或いは、それ以上のクリプトグラフィアルゴリズムを含むことを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項１２】
前記クリプトグラフィコントローラーにより受信される一つ、或いは、それ以上のセキュリティレベルのパラメータが暗号化され、前記クリプトグラフィコントローラーは、前記セキュリティレベルのパラメータを復号することを特徴とする請求項１に記載のクリプトグラフィシステム。  
【請求項１３】
前記マルチプルクリプトグラフィアルゴリズム集合部分と前記クリプトグラフィコントローラーは、シリコンオンチップ（SoC）構造に整合されることを特徴とする請求項１に記載のクリプトグラフィシステム。
【請求項１４】
クリプトグラフィシステムで実施されるクリプトグラフィ方法であって、
（ａ）入力データを受信するステップと、
（ｂ）クリプトグラフィコントローラーにより、入力キー集合と、一つ、或いは、それ以上のセキュリティレベルのパラメータを受信するステップと、
（ｃ）前記入力キー集合に基づいて、クリプトグラフィコントローラーにより、複数のクリプトグラフィキーを生成するステップと、
（ｄ）マルチプルクリプトグラフィアルゴリズム集合部分により、前記入力データに対し、選択された順序で、複数の選択されたクリプトグラフィアルゴリズムを実行するステップと、を備え、
前記選択されたクリプトグラフィアルゴリズム、或いは、前記選択された順序、或いは、両方は、前記セキュリティレベルのパラメータにより決定され、前記選択されたクリプトグラフィアルゴリズムは、前記の複数のクリプトグラフィキーを用いて実行されることを特徴とするクリプトグラフィ方法。
【請求項１５】
前記ステップ（ｄ）よりも前に、
（ｅ）冗長性除去部分により、入力データに対し、空間、及び/又は、時間冗長性除去を実行するステップと、
（ｆ）エントロピー符号化部分により、前記ステップ（ｅ）により生成されるビデオデータに対し、エントロピー符号化を実行するステップと、を備え、
前記ステップ（ｄ）中の前記クリプトグラフィアルゴリズムは、暗号化アルゴリズムで、前記ステップ（ｆ）により生成されるビデオデータに対し実行されることを特徴とする請求項１４に記載のクリプトグラフィ方法。
【請求項１６】
前記ステップ（ｄ）中の前記クリプトグラフィアルゴリズムは、復号アルゴリズムで、前記方法は、更に、前記ステップ（ｄ）の後に、
（ｅ）エントロピー復号部分により、前記ステップ（ｄ）で生成されるビデオデータに対し、エントロピー復号を実行するステップと、
（ｆ）冗長性リカバリー部分により、前記ステップ（ｅ）で生成されるビデオデータに対し、空間、及び/又は、時間冗長性リカバリーを実行するステップと、
を備えることを特徴とする請求項１５に記載のクリプトグラフィ方法。  
【請求項１７】
前記ステップ（ｃ）は、
（ｃ１）キーテーブル中に、複数のプレ保存キーをプレロードするステップと、
（ｃ２）前記入力キー集合と、前記キーテーブルから選択されたプレ保存キーに基づいて、前記クリプトグラフィキーを生成するステップと、
を備えることを特徴とする請求項１５に記載のクリプトグラフィ方法。
【請求項１８】
前記クリプトグラフィキーは、複数のキーホッピングシーケンスを含み、前記ステップ（ｃ）は、更に、
（ｃ３）前記入力キー集合に基づいて、擬似ランダムビットを生成するステップと、
（ｃ４）前記擬似ランダムビットを用いて、前記キーホッピングシーケンスを生成するステップと、を備えることを特徴とする請求項１７に記載のクリプトグラフィ方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化/復号に関するものであって、特に、再構成可能、及び、拡張可能な暗号化/復号装置と方法に関するものである。
【背景技術】
【０００２】
暗号化/復号は、電気通信（telecommunications）、ネットワーク通信、デジタルコンテンツ配信と共有、コンテンツ表示、データストレージ等に用いられる装置等、電子装置に幅広く用いられて、データの機密保護を提供する。多くの暗号化/復号アルゴリズムは当技術分野で周知である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５７９３２号公報
【特許文献２】特開２０１０−６１６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、従来の技術の制限と欠点による一つ、或いは、それ以上の問題を十分に取り除く暗号化/復号装置と方法を対象とする。
本発明の目的は、機密保持が強化された暗号化/復号装置と方法を提供することである。
本発明の別の目的は、ユーザーに高い柔軟性をもたらす暗号化/復号装置と方法を提供することである。
本発明のその他の特徴と長所は後続の明細書で説明し、ある程度は、明細書からはっきりと理解できるか、或いは、本発明の実現時に学習できる。明細書中、及び、請求項と図式で示される構造により、本発明の目的とその他の長所を理解することができる。
【課題を解決するための手段】
【０００５】
上述の目的を達成するため、本発明は、クリプトグラフィ（暗号化）システム（cryptography system）を提供し、本システムは、再構成可能で、入力データに対し、順に、複数のクリプトグラフィアルゴリズムを実行するマルチプルクリプトグラフィアルゴリズム集合部分と、入力キー集合とセキュリティレベルパラメータを受信するクリプトグラフィコントローラーと、からなり、クリプトグラフィコントローラーは、セキュリティレベルのパラメータに基づいて、マルチプルクリプトグラフィアルゴリズム集合部分を再構成し、選択された順序で、複数の選択されたクリプトグラフィアルゴリズムを実行し、クリプトグラフィコントローラーは、更に、入力キー集合に基づいて、一つ、或いは、それ以上のクリプトグラフィキーを生成し、クリプトグラフィキーをマルチプルクリプトグラフィアルゴリズム集合部分に提供して、選択されたクリプトグラフィアルゴリズムを実行する。
【０００６】
マルチプルクリプトグラフィアルゴリズム集合部分は、一つ、或いは、それ以上のクリプトグラフィユニットを有し、各クリプトグラフィユニットは、一つ、或いは、それ以上のクリプトグラフィアルゴリズムを実行し、再構成されて、一つ、或いは、それ以上のクリプトグラフィアルゴリズムの任意の一つを実行する。
【０００７】
クリプトグラフィコントローラーは、クリプトグラフィキーを生成する入力キー集合を受信するキープロセッサと、セキュリティレベルのパラメータを受信し、セキュリティレベルのパラメータに基づいて、マルチプルクリプトグラフィアルゴリズム集合部分を再構成するコントローラーと、からなり、コントローラーは、キープロセッサからクリプトグラフィキーを受信し、セキュリティレベルのパラメータに基づいて、クリプトグラフィキーをマルチプルクリプトグラフィアルゴリズム集合部分に選択的に提供する。
【０００８】
他の態様で、本発明は、クリプトグラフィシステムで実行されるクリプトグラフィ方法を提供し、本方法は、（ａ）入力データを受信するステップと、（ｂ）クリプトグラフィコントローラーにより、入力キー集合と、一つ、或いは、それ以上のセキュリティレベルのパラメータを受信するステップと、（ｃ）入力キー集合に基づいて、クリプトグラフィコントローラーにより、複数のクリプトグラフィキーを生成するステップと、（ｄ）マルチプルクリプトグラフィアルゴリズム集合部分により、入力データに対し、選択された順序で、複数の選択されたクリプトグラフィアルゴリズムを実行するステップと、からなり、選択されたクリプトグラフィアルゴリズム、或いは、選択された順序、或いは、両方は、セキュリティレベルのパラメータにより決定され、選択されたクリプトグラフィアルゴリズムは、複数のクリプトグラフィキーを用いて実行される。
【発明の効果】
【０００９】
本発明により、データの耐攻撃性を増加させ、データの機密保持が強化される。
【図面の簡単な説明】
【００１０】
【図１】本発明の具体例による再構成可能、及び、拡張可能なマルチプルパス暗号化システムと方法を示す図である。
【図２】本発明の具体例による再構成可能、及び、拡張可能なマルチプルパス復号システムと方法図である。
【図３】図１の暗号化システムや図２の復号システムに用いられるキープロセッサの例を示す図である。
【図４】本発明の具体例による再構成可能な暗号化/復号モジュールの二代替構造を示す図である。
【図５】本発明の具体例によるマルチプルパス暗号化/符号化を組み込んだマルチメディアデータ処理システムを示す図である。
【発明を実施するための形態】
【００１１】
公知の暗号化/復号システムは様々な欠点がある。多くの公知のシステム中、一つ、或いは、固定数量の暗号化/復号アルゴリズムだけが各データに応用される。このような固定の暗号化/復号アルゴリズムスキームは、様々なセキュリティレベルで、データを保護するというユーザーの要求を満たすことが出来ない。同様に、攻撃者が、どのアルゴリズムが用いられるかを知っている場合、特定のアルゴリズムを集中して攻撃する。
【００１２】
本発明の具体例は、マルチプルパス（multiple-pass）アプローチを用いた再構成可能、及び、拡張可能な暗号化/復号システム機構と関連方法を提供し、各パスは、それ自身の暗号化/復号キーにより、一暗号化/復号アルゴリズムを応用する。正確な順序（一つ、或いは、それ以上のセキュリティレベルのパラメータにより決定される）で、正確なアルゴリズムと対応する暗号化/復号キーを使用する時、暗号化データは、十分、且つ、正確に復号される。アルゴリズム集合や暗号化/復号キーが正確でない場合、データは復号できないか、或いは、一部だけが復号される。マルチプルパス暗号化/復号は、高いデータ耐攻撃性（invulnerability）を提供する。更に、方法全体のセキュリティレベルは、パス数量に基づいて変化し、データ保護の柔軟性を機器製造者やエンドユーザーに提供する。
【００１３】
本開示中で用いられる“クリプトグラフィ（cryptography）”は、暗号化（encryption）と復号（decryption)を包含する。例えば、クリプトグラフィキー（cryptography  key）は、暗号化キー、或いは、復号キー、或いは、両方を示し、クリプトグラフィユニット（cryptography  unit）（後述する）は、暗号化、或いは、復号、或いは、両方を実行するユニットを示す。
【００１４】
図１は、本発明の具体例による再構成可能、及び、拡張可能なマルチプルパス暗号化システム１０と対応する方法を示す図である。本例で、暗号化される未加工データはビデオデータであるが、類似の方法、及び、構造は、適当な修正後、その他のタイプのデータに応用されてもよい。図１で示されるように、ビデオデータは、まず、空間/時間冗長性(spatial/temporal redundant)除去部分１１により、空間、及び/又は、時間冗長性除去が実行される。データは、その後、暗号化イネーブルエントロピー符号化(encryption enabled entropy encoding)部分１２により、エントロピー符号化される。空間/時間冗長性除去とエントロピー符号化は、ビデオデータ処理の領域で既知の圧縮処理である。暗号化イネーブルエントロピー符号化部分１２は、エントロピー符号化間、暗号化を応用するが、暗号化はこのステップでは任意的である。例えば、暗号化イネーブルエントロピー符号化部分１２は、ランダムハフマンテーブル符号化(randomized Huffman table coding)、或いは、ランダム算術符号化(randomized arithmetic coding)により、暗号化を実施する。ランダムハフマンテーブル符号化において、複数の同形(isomorphic)のハフマンテーブルは、プレ保存か動的生成され、ハフマンテーブルの一つは、キーホッピングシーケンス (key hopping sequence)に基づいて選択され、各符号を符号化する。ランダム算術符号化において、複数のコーディング規約 (coding convention)の一つは、キーホッピングシーケンスに基づいて選択され、各符号を符号化する。エントロピー符号化データは、マルチプルパス暗号化を実行するマルチプル暗号化アルゴリズム集合部分１３に入力され、即ち、データに対し、若干の暗号化アルゴリズムを順に実行して、暗号化ビデオデータを生成する。もちろん、未加工データがビデオデータ、或いは、イメージデータでない場合、空間/時間冗長性除去部分１１と暗号化イネーブルエントロピー符号化部分１２は必須のものではなく、未加工データは、直接、マルチプル暗号化アルゴリズム集合部分１３に入力される。
【００１５】
マルチプル暗号化アルゴリズム集合部分１３が再構成されて、選択された順序や序列で、選択された暗号化アルゴリズムを実行する。マルチプル暗号化アルゴリズム集合部分１３は、パイプライン化 (空間上、或いは、時間上) される一つ、或いは、それ以上の暗号化ユニットを含み、暗号化アルゴリズムの序列を実行する。各暗号化ユニットは、一つ、或いは、それ以上の暗号化アルゴリズムを実行し、構成、及び、再構成されて、一時 (given time)に、一アルゴリズムを実行する。暗号化ユニットにより実行される暗号化アルゴリズムは、既知のアルゴリズムか、或いは、これから発展するアルゴリズムである。既知の暗号アルゴリズムの例として、選択的暗号化(selective encryption)、ビデオ暗号化アルゴリズム(video encryption algorithm、VEA)、ランダム回転分割ブロック(random rotation in partitioned blocks、RPB)、高度暗号化標準(Advanced Encryption Standard、AES)、データ暗号化標準(Data Encryption Standard、DES)、等がある。
【００１６】
マルチプル暗号化アルゴリズム集合部分１３は、クリプトグラフィ集合コントローラー１５により構成される。クリプトグラフィ集合コントローラー１５は、パイプラインとそれらの順序により、マルチプル暗号化アルゴリズム集合部分１３内のどの暗号化ユニットが選択されるかを制御し、また、各選択された暗号化ユニットがどの暗号化ユニットを実行するかを制御する。この制御は、クリプトグラフィ集合コントローラー１５に入力される一つ、或いは、それ以上のセキュリティレベルのパラメータに基づく。適当なアルゴリズムがクリプトグラフィ集合コントローラー１５で実行されて、与えられたセキュリティレベルのパラメータに対し、どの暗号化アルゴリズムを使用するか、及び、アルゴリズムの順番を決定する。一般に、高いセキュリティレベルは更に多くのパス（更に多くの暗号化アルゴリズム）の応用が要求される。入力されるセキュリティレベルのパラメータは暗号化され、クリプトグラフィ集合コントローラー１５はパラメータを復号する。
【００１７】
図１で示されるシステム中、暗号化イネーブルエントロピー符号化部分１２は、マルチプル暗号化アルゴリズム集合部分１３に類似したパイプライン方法で実行され、例えば、DESやAES等、標準の暗号化アルゴリズムに対する差動電力攻撃分析(differential power analysis attack)を防止することができる。上述のように、暗号化イネーブルエントロピー符号化部分１２は任意的である。
【００１８】
暗号化イネーブルエントロピー符号化部分１２とマルチプル暗号化アルゴリズム集合部分１３により用いられる暗号化キーは、キープロセッサ１４により生成され、クリプトグラフィ集合コントローラー１５により部分１２と１３に提供される。キープロセッサ１４は、入力キー集合（一つ、或いは、それ以上のキーを含み、入力キーの数量はフレキシブルである）を受信し、暗号化キーを生成する。暗号化キーは、対応する暗号化アルゴリズムにより要求されるあらゆる形式である。例えば、暗号化イネーブルエントロピー符号化部分１２は、キーホッピングシーケンスを必要として、ランダムハフマンテーブル符号化を実行する。特別の定めがない限り、この開示中、アルゴリズムを暗号化、及び、符号化するのに必要な全ての情報は、共同で、暗号化キーとして称される。
【００１９】
キープロセッサ１４は、適当なアルゴリズムを実行して、暗号化キーを生成する。好ましくは、キープロセッサ１４はプログラム可能で、暗号化キーを生成するのに用いられるアルゴリズムは、プログラミングにより変化する。好ましくは、キープロセッサ１４はプログラム可能で、入力キー集合中、多くの、或いは、少しの入力キーを必要とし、柔軟性と安全性を向上させる。
【００２０】
図１のキープロセッサ１４は、セキュリティレベルのパラメータを受信しない。よって、キープロセッサ１４は、マルチプル暗号化アルゴリズム集合部分１３と暗号化イネーブルエントロピー符号化部分１２により提供される全ての暗号化アルゴリズムに、暗号化キーを生成する。セキュリティレベルのパラメータによりどの暗号化アルゴリズムを実行するかを決定し、クリプトグラフィ集合コントローラー１５は、暗号化キーを管理し、暗号化キーを選択して、マルチプル暗号化アルゴリズム集合部分１３と暗号化イネーブルエントロピー符号化部分１２に出力する。
【００２１】
代替構造（図示しない）として、キープロセッサ１４はセキュリティレベルのパラメータを受信して、入力とし、セキュリティレベルのパラメータに基づいて、マルチプル暗号化アルゴリズム集合部分１３と暗号化イネーブルエントロピー符号化部分１２により用いられる暗号化キーだけを選択的に生成する。もう一つの代替構造として、キープロセッサ１４とクリプトグラフィ集合コントローラー１５がクリプトグラフィコントローラー１５ａに結合され（図１の点線枠で示される）、入力キー集合とセキュリティレベルパラメータを受信して、暗号化キー管理とマルチプル暗号化アルゴリズム集合部分１３の再構成両方を実行する。コントローラー１５ａは、セキュリティレベルのパラメータに基づいて、マルチプル暗号化アルゴリズム集合部分１３を構成し、入力キー集合とセキュリティレベルパラメータに基づいて、暗号化キーを生成し、それらをマルチプル暗号化アルゴリズム集合部分１３と暗号化イネーブルエントロピー符号化部分１２に提供する。
【００２２】
図２は、本発明の具体例による再構成可能、及び、拡張可能なマルチプルパス復号装置２０と対応する方法を示す図である。この例で、本システムは、図１の暗号化システムにより暗号化されるビデオデータを復号する。暗号化システムは、マルチプル復号アルゴリズム集合部分２３を含み、再構成可能で、選択された序列か順序で、複数の選択された復号アルゴリズムを実行する。マルチプル復号アルゴリズム集合部分２３により生成されるビデオデータは、図１の暗号化イネーブルエントロピー符号化部分１２中の符号化アルゴリズムに対応して、暗号化イネーブルエントロピー復号アルゴリズムを実行する暗号化イネーブルエントロピー復号部分２２に入力される。エントロピー復号データは、その後、ビデオ空間/時間冗長性除去部分２１により処理されて、符号化プロセスで、空間、及び/又は、時間冗長性除去をリカバリーし、出力する暗号化されたビデオデータを生成する。
【００２３】
クリプトグラフィ集合コントローラー２５は、一つ、或いは、それ以上のセキュリティレベルのパラメータを受信し、セキュリティレベルのパラメータに基づいて、マルチプル復号アルゴリズム集合部分２３を構成し、これにより、マルチプル復号アルゴリズム集合部分２３により実行される暗号化アルゴリズムの順序は、データを暗号化するのに用いられる対応する暗号化アルゴリズムの順序と逆である。マルチプル暗号化アルゴリズム集合部分１３と同様に、マルチプル復号アルゴリズム集合部分２３は、パイプライン化（空間、或いは、時間）される一つ、或いは、それ以上の暗号化ユニットを含み、復号アルゴリズムの序列を実行する。各復号ユニットは、一つ、或いは、それ以上の復号アルゴリズムを実行し、構成、及び、再構成されて、一時に、任意の一アルゴリズムを実行する。クリプトグラフィ集合コントローラー２５は、パイプラインとそれらの順序により、マルチプル復号アルゴリズム集合部分２３内のどの復号ユニットが選択されるかを制御し、また、各選択された復号ユニットがどのアルゴリズムを実行するかを制御する。
【００２４】
キープロセッサ２４は、入力キー集合（通常、暗号化システム１０の入力キー集合とみなされる）を受信して、入力キー集合に基づいて、復号キーを生成し、クリプトグラフィ集合コントローラー２５は、セキュリティレベルのパラメータに基づいて、適当な復号キーを、暗号化イネーブルエントロピー復号部分２２とマルチプル復号アルゴリズム集合部分２３に提供する。図１のキープロセッサ１４の代替構造と類似した方式で、キープロセッサ２４は、セキュリティレベルのパラメータを受信し、セキュリティレベルのパラメータに基づいて、必要な復号キーだけを生成するか、或いは、キープロセッサ２４とクリプトグラフィ集合コントローラー２５は、一つのクリプトグラフィコントローラー２５ａに結合される（図２の点線枠で示される）。
【００２５】
本発明の具体例によるマルチプルパス暗号化/復号装置１０と２０は、データの耐攻撃性を増加させる。暗号化データを正確に復号するために、復号システム２０は、正しいセキュリティレベルのパラメータ（それら自身、暗号化される）と正しい入力キー集合を受信しなければならない。正しくないセキュリティレベルのパラメータが入力された場合、正しくないアルゴリズム、及び/又は、正しくないアルゴリズム序列が応用され、データは正確に復号されない。
【００２６】
図３は、図１の暗号化システムのキープロセッサ１４の例を示す図である。このキープロセッサ１４は、マルチプル暗号化アルゴリズム集合部分１３により実行される暗号化アルゴリズムに必要な暗号化キー、暗号化イネーブルエントロピー符号化部分１２により必要とされるキーホッピングシーケンスを生成する。プロセッサ１４は、プログラム可能なキーマニピュレーター１４１、擬似ランダムビット生成器１４２、及び、キーテーブル１４３を含む。擬似ランダムビット生成器１４２は、入力キー集合に基づいて、擬似ランダムビットを生成し、プログラム可能なキーマニピュレーター１４１は、擬似ランダムビットを用いて、キーホッピングシーケンスを生成する。キーテーブル１４３は、プレ保存キーを含み、プログラム可能なキーマニピュレーター１４１は、入力キー集合と、キーテーブル１４３から選択されたプレ保存キーに基づいて、暗号化キーを生成する。プログラム可能なキーマニピュレーター１４１は、適当なアルゴリズムを実行して、キーホッピングシーケンスと暗号化キーを生成する。キーマニピュレーター１４１はプログラム可能で、キーホッピングシーケンスと暗号化キーを生成するのに用いられるアルゴリズムは、キーマニピュレーター１４１をプログラミングすることにより変化する。擬似ランダムビット生成器１４２とキーマニピュレーター１４１はプログラムされて、入力キー集合で、一つ、或いは、少数の入力キーを必要とし、柔軟性と安全性を増加する。
【００２７】
図２の復号システムのキープロセッサ２４の構造は、暗号化システムのキープロセッサ１４と類似するか、同じである。暗号化キーと復号キーは同じキーで、同じ方法で、入力キー集合から生成される。
【００２８】
図４（ａ）と図４（ｂ）は、図１のクリプトグラフィ集合コントローラー１５とマルチプル暗号化アルゴリズム集合部分１３、或いは、図２のクリプトグラフィ集合コントローラー２５とマルチプル復号アルゴリズム集合部分２３を実行する再構成可能な暗号化モジュール４０ａ/４０ｂの二代替構造を示す図である。図４（ａ）と図４（ｂ）で、RCU（再構成可能なクリプトグラフィユニット）コントローラー４２ａ/４２ｂは、図１か図２のクリプトグラフィ集合コントローラー１５か２５に対応し、RCU（再構成可能なクリプトグラフィユニット）４４ａの集合とマルチプレクサ４５と４６を有するRCU４４ｂは、図１のマルチプル暗号化アルゴリズム集合部分１３か、或いは、図２のマルチプル復号アルゴリズム集合部分２３に対応する。
【００２９】
図４（ａ）の構造は、カスケード機構を用い、若干のRCU４４ａは、物理的にパイプラインに接続される。具体例中、各RCU４４ａは再構成可能で、一時に、一組のクリプトグラフィアルゴリズムの任意の一つを実行し、再構成して、異なる時間で、異なるクリプトグラフィアルゴリズムを実行することができる。多くのクリプトグラフィアルゴリズムは同じアルゴリズム素子を有するので、このようなRCUは実質的で、RCUは、ユニットを再構成可能にし、選択的に多くのアルゴリズムの一つを実行すると同時に、ハードウェア回路素子が多くのアルゴリズムにより共有される。入力されたセキュリティレベルのパラメータに基づいて、RCUコントローラー４２ａはRCU４４ａを構成し、各RCUは、選択された一クリプトグラフィアルゴリズムを実行する（或いは、アルゴリズムを実行せず、即ち、RCUは迂回される）。RCUコントローラー４２ａは、対応するクリプトグラフィキーを各RCU４４ａに提供する。この方式で、入力データに対し、選択された序列のクリプトグラフィアルゴリズムを実行して、出力（暗号化、或いは、復号）データを生成する。カスケード機構で、あるRCUは非再構成可能（即ち、各RCUは一クリプトグラフィアルゴリズムだけ実行する）で、それらは、RCUコントローラー４２ａにより選択されるか、或いは、迂回されて、特定の構成に用いられる。
【００３０】
図４（ｂ）の構造は、単一のRCU４４ｂのループバック機構を用いる。RCU４４ｂは再構成可能で、マルチプルクリプトグラフィアルゴリズムの任意の一つを実行する。入力されたセキュリティレベルのパラメータに基づいて、RCUコントローラー４２ｂはRCU４４ｂを構成し、適切なクリプトグラフィキーをRCUに提供し、一時的根拠で、第一、及び、第二マルチプレクサ４５と４６を制御し、パイプラインを形成する。言い換えると、RCU４４ｂが再構成され、選択された序列のクリプトグラフィアルゴリズムを実行して、マルチプル処理段階を形成し、マルチプレクサ４５と４６は制御されて、一段階の処理結果をフィードさせ、次の段階の処理に進む。
【００３１】
例えば、RCUコントローラー４２ｂは、まず、RCU４４ｂを構成し、第一クリプトグラフィアルゴリズムを実行して、第一アルゴリズムにクリプトグラフィキーを提供する。その一方で、RCUコントローラー４２ｂは、第一マルチプレクサ４５を制御し、入力データを選択し、第二マルチプレクサ４６を制御し、NILを選択する。バッファ（RCU４４ｂの内側か、或いは、別々に）が提供され、RCU４４ｂの出力データを緩衝する。その後、第一段階の処理が完成後、RCUコントローラー４２ｂはRCU４４ｂを構成して、第二クリプトグラフィアルゴリズムを実行し、クリプトグラフィキーを第二アルゴリズムに提供する。一方、RCUコントローラー４２ｂは第一マルチプレクサ４５を制御して、緩衝されたRCU４４ｂの前の（第一）段階の出力データを選択して、第二マルチプレクサ４６を制御して、NILを選択する。その後、第二段階の処理が完成後、RCUコントローラー４２ｂはRCU４４ｂを構成して、第三クリプトグラフィアルゴリズムを実行し、クリプトグラフィキーを第三アルゴリズムに提供する。一方、RCUコントローラー４２ｂは第一マルチプレクサ４５を制御して、緩衝されたRCU４４ｂの前の（第二）段階の出力データを選択し、第二マルチプレクサ４６を制御して、RCU４４ｂの現在の（第三）段階の出力を選択する。この方法で、入力データに対し、選択された序列で、三種のクリプトグラフィアルゴリズムを実行し、出力（暗号化、或いは、復号）データを生成する。
【００３２】
RCU４４ａと４４ｂは、暗号化ユニット、或いは、復号ユニット、或いは、暗号化/復号ユニットで、暗号化か復号を実行する。よって、再構成可能なクリプトグラフィモジュール４０ａ/４０ｂは暗号化モジュール、或いは、復号モジュールであるか、或いは、同じハードウェアモジュールが、復号か暗号化を実行するよう再構成される。よって、同じ構造が再構成され、一装置中で暗号化、及び、別の装置で復号に用いられるか、再構成され、同じ装置中で、（異なる時間で）暗号化と復号に用いられる。
【００３３】
図４（ａ）と図４（ｂ）で示される二つの異なる機構を比較すると、カスケード機構は、再構成可能なクリプトグラフィプロセスを速い速度で実行することができるが、構造が更に複雑で（RCUが多い）、大きいチップ領域を占有する。セキュリティレベルも、カスケード機構で制限される。例えば、パス数量は、物理的パイプライン中で、RCUの最大数に制限される。ループバック機構は、カスケード機構よりも遅いが、簡潔な構造（一RCUだけ）で、チップ領域を占有しない。セキュリティレベルはRCUの物理的数量により制限されないので、ループバック機構は、更に柔軟性があり、拡張性がよい。ループバック機構で、RCU４４ｂは、再構成可能、拡張可能な暗号化/復号方法により提供される全暗号化/復号アルゴリズムを実行できなければならない。カスケード機構で、各RCU４４ａは、モジュール全体により提供される全暗号化/復号アルゴリズム中の一つ、或いは、幾つか（全てではない）を実行するように形成される。
【００３４】
代替機構で、再構成可能なクリプトグラフィモジュールは、混合機構を含み、図４（ａ）のカスケード構造に物理的に配置されるマルチプルRCUと、図４（ｂ）のループバック構造に配置されるマルチプレクサを有する一つ（或いは、それ以上）のRCU両方を含む。他の代替機構で、再構成可能なクリプトグラフィモジュールは、ある方式で接続されたマルチプルRCUを含み、一RCUからもう一つへのデータフローは、RCUコントローラーにより再構成される。この代替案で、各RCUは、再構成可能、或いは、非再構成可能（つまり、一アルゴリズムだけ実行する）で、RCUコントローラーは、それらの間の接続順序を再構成し、一定順序で、一部のRCUを選択し、要望どおりに、他のRCUを迂回する。
【００３５】
図４（ａ）と図４（ｂ）で示される構造中、RCUコントローラー４２ａ/４２ｂは、クリプトグラフィキーとセキュリティレベルのパラメータを受信する。更に、クリプトグラフィキーをRCU４４ａ/４４ｂに供給する以外に、RCUコントローラー４２ａ/４２ｂは、クリプトグラフィキーを、制御する他の素子（図４（ａ）と図４（ｂ）で示されない）に出力することもできる。例えば、一つが用いられる時、キーホッピングシーケンスを、暗号化イネーブルエントロピー符号化か復号部分に提供する。
【００３６】
図１〜図４（ｂ）の構造は、ハードウェアロジック（ASIC）、或いは、ファームウェア/ソフトウェアを実行するプロセッサにより実行される。RCU４４ａ/４４ｂとRCUコントローラー４２ａ/４２ｂはシリコンオンチップ（SoC）構造に整合される。
【００３７】
上述のマルチプルパスクリプトグラフィシステムに用いられるクリプトグラフィアルゴリズムの例は、ネットワークコミュニケーション（ネットワークデータパケットに応用される暗号化アルゴリズム）にとって、リベスト暗号RC5 (Rivest Cipher 5)、 データ暗号化規格(Data Encryption Standard、DES)、 エーイーエス(Advanced Encryption Standard、AES)等がある。 マルチメディアデータコンテンツ/コンテナ（マルチメディアコンテンツに応用される暗号化アルゴリズム)にとって、XORベースアレイスクランブルング (DCT、 ME 係数スクランブリング等)、選択的暗号化、 VEA (ビデオ暗号化アルゴリズム)、 RPB（random rotation in partitioned blocks)、 MHT (マルチプルハフマンテーブル（multiple Huffman table)、 RAC (ランダム算術符号化（randomized arithmetic coding)、 REC (ランダムエントロピー符号化)、等がある。マルチデータの伝送にとって、上述の第二群のアルゴリズムの一つ、或いは、それ以上が応用されて、データコンテンツを暗号化し、その後、第一群のアルゴリズムの一つ、或いは、それ以上が適用されて、データを更に暗号化し、ネットワーク伝送する。
【００３８】
上述のマルチプルパスクリプトグラフィシステムは様々な実用的応用に用いられ、これらに限定されないが、電気通信、ネットワーク通信、デジタルコンテンツ配信と共有、デジタルカメラ等のデジタル画像装置、携帯型再生装置などを含むコンテンツ表示装置、データストレージ等である。一アプリケーションの例として、マルチプルパス暗号化/復号システムを組み込んだマルチメディアデータ処理システム５０は、図５で示される。
【００３９】
システム５０は、SoC構造で実施される。再構成可能なクリプトグラフィモジュール５１は、図４（ａ）と図４（ｂ）のモジュール４０ａ/４０ｂに対応する。マルチメディアコーデック（multimedia codec）５２がエントロピー符号化か復号を実行する。マルチメディアコーデック５２は、再構成可能なクリプトグラフィモジュール５１からパラメータを得る。キープロセッサ５３（図１と図２のキープロセッサ１４/２４に対応する）は、入力キー集合に基づいて、暗号化、或いは、復号キーを生成する。ROM５５は、コードテーブルと他のパラメータを保存し、暗号化イネーブルエントロピー符号化と復号を実行する。ROMデータアービター（data arbiter）５４は、テーブルROM５５に保存された順列とランダム化（permutation and randomization）を提供する。ROM５５、ROMデータアービター５４、及び、マルチメディアコーディック５２は、図１と図２の暗号化イネーブルエントロピー符号化、及び、復号部分１２と２２に対応し、暗号化イネーブルエントロピー符号化か復号方法を実行する。システム５０のほかの素子、即ち、プロセッサ、ベースバンドプロセッサ、及び、SRAM/SDRAMは、公知のマルチメディアデータ処理システムで見られ、公知の機能を実行する一般的な素子である。
【００４０】
再構成可能なクリプトグラフィシステム機構と方法は、ユーザーの異なるニーズに応じて、異なるアルゴリズム集合を用いて、拡張可能なセキュリティレベルを達成する。本システムは、多重の異なる保護機構を提供し、分配と共有の期間中、多重の起こりうる弱点箇所でデータを保護する。暗号化機能により、本マルチメディアSoCの柔軟性と耐攻撃性を向上させる。機器製造者とエンドユーザーが、マルチプルパスクリプトグラフィシステム中で、特定のセキュリティレベルを選択したり、或いは、特殊なアルゴリズム集合を指定することができようようにして、データ保護での柔軟性を提供することもできる。相対して少数のアルゴリズムを提供するシステムは、チップ上の小領域を占有し、電力消耗が少ないが、高いリスクがある。相対して多数のアルゴリズムを提供するシステムは反対の賛否両論を有する。
【００４１】
上述の具体例は、ビデオとイメージデータを例としているが、再構成可能、拡張可能な暗号化/復号方法は、あらゆるタイプのデータに適用できる。
【００４２】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【符号の説明】
【００４３】
１０  暗号化システム
１１  空間/時間冗長性除去部分
１２  暗号化イネーブルエントロピー符号化部分
１３  マルチプル暗号化アルゴリズム集合部分
１４，２４，５３  キープロセッサ
１５，２５  クリプトグラフィ集合コントローラー
１５ａ，２５ａ  クリプトグラフィコントローラー
２０  復号装置
２１  ビデオ空間/時間冗長性除去部分
２２  暗号化イネーブルエントロピー復号部分
２３  マルチプル復号アルゴリズム集合部分
４０ａ，４０ｂ，５１  再構成可能なクリプトグラフィモジュール
４２ａ，４２ｂ  RCUコントローラー 
４４ａ，４４ｂ  RCU 
４５，４６  マルチプレクサ
５０  マルチメディアデータ処理システム 
５２  マルチメディアコーディック
５４  ROMデータアービター
５５  テーブルROM
１４１  キーマニピュレーター 
１４２  擬似ランダムビット生成器
１４３  キーテーブル 
【図１】
2010263623.tif 000003
【図２】
2010263623.tif 000004
【図３】
2010263623.tif 000005
【図４】
2010263623.tif 000006
【図５】
2010263623.tif 000007