(57)【要約】暗号化システム１０００が提供される。暗号化システムは、データストリーム受信手段DSRM、数発生器NG、混合基数アキュムレータMRA及び暗号化器を含む。DSRM１００２は、データストリームDSを受信する。NG７０２は、ガロア体GF[M]に含まれる第一の数列FNSを生成する。MRA７５０は、FNSにおける第一の数FNに対して第一の変更を実行する。第一の変更は、FNをFNに先行するFNSにおける第二の数に実行される法Pの演算の結果と合計する。また、MRAは、法Pの演算を利用してFNに対する第二の変更を実行する。さらに、MRAは、第二の数列SNSを生成するためにFNSにおける数について第一及び第二の変更を繰り返す。暗号化器１００４は、SNSとDSとを結合することで、変更されたデータストリームを生成する。
2011520391.tif 000002
【特許請求の範囲】
【請求項１】
入力データストリームを受信するデータストリーム受信手段と、
ガロア体GF[M]に含まれる第一の数列を生成する数発生手段と、
前記数発生器手段に電子的に接続される混合基数アキュムレータであって、（1）前記第一の数列における第一の数に対して第一の変更を実行し、前記第一の変更は、MをPに関して互いに素であるとして、前記第一の数を、前記第一の数に先行する前記第一の数列における第二の数に実行される第一の法Pの演算の結果と合計し、（2）前記第一の変更に続いて、第二の法Pの演算を含む、前記第一の数に対する第二の変更を実行し、（3）前記第一の数列を含む複数の数について前記第一の変更と前記第二の変更を繰り返して、第二の数列を生成する混合基数アキュムレータと、
前記データストリーム受信手段及び前記混合基数アキュムレータに電子的に接続される暗号化器であって、前記第二の数列を前記入力データストリームと結合することで変更されたデータストリームを生成する暗号化手段と、
を有する暗号化システム。
【請求項２】
前記数発生器は、前記第一の数列の前記生成に関する統計的なアーチファクトを含む擬似ランダム系列を発生する擬似ランダム数発生器を含み、前記統計的なアーチファクトは、前記混合基数アキュムレータにより除かれる、
請求項１記載の暗号化システム。
【請求項３】
前記数発生器は、周期的に繰り返されるマッピングを使用することで前記第一の数列を生成する、
請求項１記載の暗号化システム。
【請求項４】
Mの値は、Pの値に関して互いに素であり、Pの複数の互いに素のファクタの全ては、p1，p2，p3，．．．，pkを含む、
請求項１記載の暗号化システム。
【請求項５】
複数の算術演算子ユニットを更に有し、それぞれの演算子ユニットは、前記第二の数列に関する第三の変更を実行し、前記複数の算術演算子ユニットは、前記第二の数列からの複数の出力数列を生成する、
請求項４記載の暗号化システム。
【請求項６】
前記第三の変更は、前記複数の出力数列を生成するため、前記第二の数列におけるそれぞれの数に応じて実行される法pの演算を含み、前記pは、p1，p2，p3，．．．，pkを含むグループから選択された複数の値を含む、
請求項５記載の暗号化システム。
【請求項７】
前記第二の数は、１つの位置だけ前記第一の数に先行する、
請求項１記載の暗号化システム。
【請求項８】
前記第二の数は、１よりも大きいN個の位置だけ前記第一の数に先行する、
請求項１記載の暗号化システム。
【請求項９】
前記第一の数列は、ガロア体GF[M]により定義される有限のエレメント数Mに制限され、前記第二の数列は、ガロア体GF[P]の複数の同値類にわたり一様に分散される統計的なアーチファクトを有し、前記複数の同値類は、それぞれ整数0，1，．．．，P-1について同じクラスを含む、
請求項１記載の暗号化システム。
【請求項１０】
前記第一の数列は、前記第二の数列に等しいサイズのガロア体における計算を行うフィルタにより演算される、
請求項１記載の暗号化システム。
【請求項１１】
前記暗号化手段は、標準的な乗算、ガロア拡大体における乗算、加算の法qの演算、現在の法qの演算又はビット毎に論理演算を実行する、
請求項１記載の暗号化システム。
【請求項１２】
復号系列を生成する第二の数発生器及び第二の混合基数アキュムレータを更に有する、
請求項１記載の暗号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、混合基数変換を採用した暗号化システムに関する。  
より詳細には、本発明は、ガロア体GF[P]の全ての同値類にわたり選択された統計的性質をもつランダムな数列を生成するために、混合基数のリング生成及び変換を実行する方法及びシステムに関する。
【背景技術】
【０００２】
暗号化システムは、様々な応用においてリング生成器を含む。リング生成器は、繰り返されるマッピングを通して可能性のある出力を生成する有限体にわたり簡単な構造である。マッピングは、既約多項式を理想として、加算及び乗算のマッピングの幾つかの組み合わせである。たとえば、リング発生器は、11のエレメントを含む有限のガロア体GF[11]に関して既約多項式f(x)＝3x3＋3x2＋xの反復される計算を含む。有限又はガロア体GF[P]は、有限数のエレメント｛0，1，2，．．．，P-1｝のみを含むフィールドである。有限体又はガロア体GF[P]は、ガロア特性Pにより定義される有限体のサイズを有しており、このサイズは、数の理論的な結果に基づいて素数であるように選択されることがある。計算は、ルックアップテーブルの演算、フィードバックループ又は乗算器構造としてデジタルハードウェアで典型的に実現される。
【０００３】
係るリング発生器の利点にも関わらず、リング発生器は、所定の問題点に苦しむ。たとえば、リング発生器のガロア特性Pが（２に等しくない）素数であるように選択される場合、計算は、デジタル（バイナリ）領域において典型的に不十分である。また、有限体又はガロア体GF[P]で実行されるルックアップテーブルの演算は、ガロア特性Pが大きい場合にメモリに集中する。さらに、リング発生器の出力値は、非常に決定的である。係るように、あるマッピングの情報及び現在の有限体の状態は、出力系列の完全な情報を与える。
【０００４】
意図されない再構成からリング発生器の出力系列をマスクする１つの方法は、より大きく且つ効率的な領域への全単射のマッピングを実行するアルゴリズムを介して、２以上のリング発生器を結合することである。この結合の例は、個々のリング発生器のガロア特性が互いに素であるとき、CRT（Chinese  Reminder  Theorem）による。別の方法は、領域GF[P]からバイナリ領域GF[2k]への混合基数変換を実行することにより、リング発生器の出力値を単に切り捨てることである。これらマスキング方法の両者は、オリジナルの系列を部分的にマスクするが、系列の値をリエンジニアするために使用される統計的なアーチファクトがなお存在する。暗号化において、係る試みは、頻度アタック（frequency  attack）と呼ばれことがあり、それにより個人は、擬似ランダム数列のマッピングの部分的な情報及び統計的な分析による状態特性を得ることができる。このプロセスの一般的な専門家ではない例は、ある文字を別の文字に交換するワードパズルである。英語に関する情報は、EがZよりも普及している情報を与える。実際、総当り攻撃から論理にかなったやり方にサーチが低減される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の内容を考慮して、デジタル（バイナリ）領域において計算上効率的な混合基数変換方法を実現する暗号化システムが必要とされる。  
また、粗雑な統計的アーチファクトを有さない混合基数変換方法を実現する暗号化システムが必要とされる。  
さらに、（ａ）従来のリング発生器の実現よりもハードウェア的に集約的ではない実現を有し、（ｂ）選択された統計的特性を有する擬似ランダム数列を生じ、及び／又は（ｃ）非決定的に見える領域を有する、リング発生器を備える暗号化システムが必要とされる。
【課題を解決するための手段】
【０００６】
本発明は、入力データストリームを暗号化し、暗号化されたデータストリームを復号する暗号化システムに関する。この点に関して、暗号化システムは、暗号化系列発生器及び暗号化器から構成される。暗号化系列発生器は、暗号化系列を発生する。暗号化器は、入力データストリームを暗号化系列と結合することで、暗号化されたデータストリームを生成する。また、暗号化システムは、復号系列発生器及び復号器から構成される。復号系列発生器は、復号系列を発生する。復号器は、暗号化されたデータストリームと復号系列とを利用して復号方法を実行することで、暗号化されたデータストリームを復号する。
【０００７】
本発明の態様によれば、暗号化系列発生器は、数発生器及び混合基数アキュムレータから構成される。数発生器は、ガロア体GF[M]に含まれる第一の数列を発生する。混合基数アキュムレータは、数発生器に電子的に接続される。混合基数アキュムレータは、第一の数列における第一の数に対して第一の変更を行う。第一の変更は、第一の数に先行する第一の数列のうちの第二の数に実行される第一の法Pの演算の結果と第一の数とを合計することで達成される。また、混合基数アキュムレータは、第一の数への第二の変更を実行する。第二の変更は、第二の法Pの演算からなる。第二の変更は、第一の変更に続いて実行される。混合基数アキュムレータは、第二の数列を発生するため、第一の数列のうちの複数の数について第一及び第二の変更を繰り返す。第二の数列は、暗号化系列である。
【０００８】
本発明の態様によれば、数発生器は、擬似ランダム数発生器を有する。擬似ランダム数発生器は、第一の数列の生成に関する統計的なアーチファクトを含む擬似ランダムな数列を生成する。統計的なアーチファクトは、混合基数アキュムレータにより除去される。
【０００９】
本発明の別の態様によれば、暗号化器は、乗算器、加算器、デジタルロジックデバイス及びフィードバックメカニズムの少なくとも１つを含む。暗号化器は、標準的な乗算、ガロア拡大体演算における乗算、加算の法qの演算、減算の法qの演算又はビット毎の論理演算を実行する。復号系列発生器は、第二の数発生器及び第二の混合基数アキュムレータを有する。第二の数発生器及び第二の混合基数アキュムレータは、復号系列を生成する。
【００１０】
また、相関に基づく暗号化システムが提供される。この暗号化システムは、データストリームソース、混合基数アキュムレータ及び復号装置を有する。データストリームソースは、ダイナミックレンジMの入力データストリームを発生する。入力データストリームは、既知の非一様な確率分布をもつ第一の数列を含む。混合基数アキュムレータは、データストリームソースに電子的に接続される。混合基数アキュムレータは、第一の数列における第一の数に対する第一の変更を実行する。この変更は、第一の数列のうちの第二の数に実行される法Pの演算の結果を第一の数と合計することを含む。第二の数は、第一の数に先行する。Mは、Pに関して互いに素である。また、混合基数アキュムレータは、法Pの演算を有する第一の数に対する第二の変更を実行する。第二の変更は、第二の変更に続いて実行される。混合基数アキュムレータは、第二の数列を発生するため、第一の数列のうちの数について第一及び第二の変更を繰り返す。復号装置は、混合基数アキュムレータに結合され、復号方法を実行することで復号されたデータを生成する。復号方法は、隠れマルコフモデルのような相関に基づく数学的構造を実現することができる。
【００１１】
入力データストリームを暗号化及び復号する方法が提供される。本方法は、ガロア体GF[M]に含まれる第一の数列を生成するステップ、及び第一の数列における第一の数に第一の変更を実行するステップを含む。第一の変更は、第一の数列のうちの第二の数に実行される第一の法Pの演算の結果を第一の数と合計するステップを含み、第二の数は、第一の数に先行し、Mは、Pに関して互いに素である。その後、第一の数に対する第二の変更が行われる。第二の変更は、第二の法Pの演算を実行するステップを含む。第一及び第二の変更は、第二の数列を生成するため、第一の数列のうちの複数の数について繰り返される。第二の数列は、変更されたデータストリーム（すなわち暗号化されたデータストリーム）を生成するために入力データストリームと結合される。変更されたデータストリームの生成に続いて、復号系列が生成され、復号方法が実行される。復号方法は、復号されたデータストリームを生成するため、復号系列を変更されたデータストリームと結合するステップを含む。
【図面の簡単な説明】
【００１２】
以下の添付図面を参照して実施の形態が記載され、添付図面において、同じ参照符号は、図面を通して同じアイテムを表す。
【図１】本発明を理解するために有効な従来の混合基数変換アルゴリズムの概念図である。
【図２】ガロア体GF[P]の全ての同値類にわたり一様に統計的なアーチファクトを分散させる混合基数のリング発生器の概念図である。
【図３Ａ】本発明を理解するために有効な従来の混合基数変換アルゴリズムの統計的なシミュレーションを示すグラフである。
【図３Ｂ】本発明を理解するために有効な混合基数数発生器の統計的なシミュレーションを示すグラフである。
【図４】ガロア体GF[P]の全ての同値類にわたり一様に統計的なアーチファクトを分散させる混合基数数発生器の方法のフローダイアグラムである。
【図５】本発明を理解するために有効なデータストリームを変更する従来の方法のフローダイアグラムである。
【図６】本発明を理解するために有効な通信システムのセキュリティを高める方法のフローダイアグラムである。
【図７】本発明を理解するために有効なデータストリームと発生器の出力を結合するメカニズムに接続される混合基数数発生器のブロック図である。
【図８】本発明を理解するために有効な混合基数数発生器のブロック図である。
【図９】本発明を理解するために有効な混合基数数発生器のブロック図である。
【図１０】本発明を理解するために有効な暗号化システムのブロック図である。
【図１１】本発明を理解するために有効な図１０の暗号化器のブロック図である。
【図１２】本発明を理解するために有効な図１０の復号器のブロック図である。
【図１３】本発明を理解するために有効な相関に基づく暗号化システムのブロック図である。
【発明を実施するための形態】
【００１３】
図１を参照して、本発明を理解するために有効な従来の混合基数変換アルゴリズムの概念図が提供される。暗号化システムでは、数列とデータストリームとを結合する様々なアルゴリズムが利用される。この結合プロセスは、通信リンクにわたる記憶又は伝送の前にデータストリームを暗号化又はマスクするために実行される。係るアルゴリズムは、ガロア体GF[M]における数列のそれぞれの数を表現する残余数システム（residue  number  system）の演算を含む。有限体又はガロア体GF[M]は、ガロア特性Mにより定義される有限体のサイズを有する。ガロア体GF[M]は、有限数のエレメント｛0，1，2，．．．，M-1｝のみを含むフィールドである。係るように、有限体又はガロア体において実行される全ての算術演算により、そのフィールドにおけるエレメントとなる。係るように、ガロア体GF[M]演算の結果として得られる系列は、（M+1）番目のエレメントおきに繰り返される。これらのRNS演算は、当業者に知られており、従って本明細書で詳細に記載されない。しかし、これらのRNSの演算は、混合基数変換を必要とすることを理解されたい。本明細書で使用される記載「混合基数変換」は、ある数列の第一の基数から第二の基数への変換を示す。たとえば、ガロア体GF[7]の基数で表現される数列は、図１で示されるガロア体GF[3]の基数で表現されるある数列に変換される。典型的に、混合基数変換は、終了の基数（destination  radix）が開始の基数（starting  radix）よりも小さいか否か、終了の基数が開始の基数を均等に分割するか否かに関わらず、統計的なアーチファクトを生成する。
【００１４】
特に、２つの基数が一様に分割可能ではないとき、第一のガロア体GF[M1]から第二のガロア体GF[M2]へのある数列の変換から生じる統計的な非一様性が存在する。たとえば、ガロア体GF[7]の基数で表現されるランダム数列は、ガロア体GF[3]の基数で表現される数列にマッピングされる。ガロア体GF[7]の基数で表現されるランダム数列は、エレメントのセット｛0，1，2，．．．，6｝により定義される。同様に、ガロア体GF[3]の基数で表現される数列は、エレメントのセット｛0，1，2｝により定義される。ガロア体GF[7]の基数で表現される数列をガロア体GF[3]の基数で表現される数列にマッピングすることは、一般に、法3について対応する同値類（equivalence  class）により、それぞれのエレメント｛0，1，2，．．．，6｝を分割することを含む。ガロア体GF[3]は有限数のエレメント｛0，1，2｝のみを含む有限体であるので、整数0，1及び2について対応する等価なクラスが存在する。
【００１５】
ガロア体GF[7]からのエレメントをガロア体GF[3]におけるエレメントにマッピングする演算は、以下の表１において列挙される。
【表１】
2011520391.tif 000003
表１で例示されるように、マッピング演算により、ガロア体GF[3]にわたりエレメントの非一様な分布となる。特に、マッピング演算の結果として得られる系列は、｛0  1  2  0  1  2  0｝として定義される。整数0について同値類においてガロア体GF[7]からの３つのエレメント｛0，3，6｝が存在する。整数1について同値類においてガロア体GF[7]からの２つのエレメント｛1，4｝が存在する。整数2について同値類においてガロア体GF[7]からの２つのエレメント｛2，5｝が存在する。
【００１６】
統計的な分析を利用することで、外部の第三者は、（図１に関して上述された）従来の混合基数変換アルゴリズムを実現する暗号化システムから部分的な情報を取得し、マッピング演算の結果として得られる数列により変更されるデータストリームからのオリジナルの数列を容易に識別することができる。たとえば、２の基数のサイズが知っている場合、攻撃者は、様々な同値類におけるエレメントの統計的な関係を使用して、変更されたデータストリームからオリジナルの数列を容易に識別することができる。さらに、データメッセージフォーマットに関する情報は、ランダム数列の統計的なアーチファクトと統計的に意味のある方法で一致する。実際、より多くの情報は、データメッセージコンテンツで提供される。本明細書で使用されるように、用語「統計的に意味のある“statistically  significant”」は、情報のある部分の有効性の数学的な確実さを示す。係るように、変更されたデータストリームからオリジナルの数列を識別することが比較的困難であるように、混合基数変換アルゴリズムにより導出された結果から統計的なアーチファクトを除くことが望まれる。
【００１７】
従って、本発明の幾つかの実施の形態は、混合基数変換における望まれない統計的なアーチファクトを除く方法を提供する。１つの方法は、ガロア体GF[P]の全ての同値類にわたり統計的なアーチファクトを一様に分散させることを含む。この統計的なアーチファクトの一様な分散は、混合基数のリング発生器のプロセスを使用することで達成される。プロセスは、（１）ガロア体GF[M]により定義される代数構造を利用して第一のランダム数列を生成すること、（２）法Pの演算を介して前に計算された余り（reminder）を加えることで第一のランダム数列のうちのそれぞれのランダム数を変更すること、及び（３）変更されたランダム数を利用して第二のランダム数列を生成すること、を含む。また、第二のランダム数列は、法Pの演算を利用して生成される。第二のランダム数列は、ガロア体GF[P]の同値類にわたり一様に分散される統計的なアーチファクトを含む。
【００１８】
係る混合基数数発生器のプロセスは、所望の統計的特性に対する無条件の忠実さ（unconditional  adherence）ではなく、所望の統計的特性に対する確率的な忠実さ（stochastic  adherence）を提供する。記載「確率的な忠実さ」は、理想に収束する挙動を示す。記載「無条件の忠実さ」は、数学的証明により提供される確かさのレベルを示す。なお、係る混合基数数発生器のプロセスは、様々な通信システムの応用で使用されることを理解されたい。たとえば、係る混合基数数発生器のプロセスは、データストリームを変更する暗号化システムで実現される。係るシナリオでは、混合基数数発生器のプロセスは、暗号化システムに対して、高められたセキュリティの特性を提供する。なお、この混合基数数発生器のプロセスは、本来は非常に非決定的であるように見えるランダム数列を生成する。モジュロの低減の実行において、オリジナルの数列からの情報は、意図的に破壊される。実際に、意図されない再構成は、より困難になる。
【００１９】
以下、本発明は、本発明の例示的な実施の形態が示される添付図面を参照して詳細に記載される。しかし、本発明は、多数の異なる形式で実施される場合があり、本明細書で述べられる実施の形態に制限されるように解釈されるべきではない。たとえば、本発明は、方法、データ処理システム又はコンピュータプログラムプロダクトとして実施することができる。したがって、本発明は、全体としてハードウェアの実施の形態としての形式、全体としてソフトウェアの実施の形態としての形式、又はハードウェア／ソフトウェアの実施の形態としての形式を取ることができる。
【００２０】
図２を参照して、ガロア体GF[P]の全ての同値類にわたり統計的なアーチファクトを一様に分散させるために有効な混合基数の数発生器の構造の概念図が提供される。図２に示されるように、混合基数のリング発生器のプロセスは、ランダム数発生器２０２におけるランダム数列の生成により開始する。ランダム数列は、限定されるものではないが、特性Mのガロア体で生成される擬似ランダム数列又は擬似カオス数列とすることができる。係る系列は、ガロア体GF[M]から選択されたランダムなエレメントの系列として最も容易に見る事ができる。ガロア体GF[M]から特性Pの所望のガロア体にエレメントをマッピングするため、ガロア体の特性Mは、ガロア体の特性Pに対して互いに素となるように選択される。本明細書で使用される記載「互いに素」は、１の最も大きな公約数を有する数の集合を意味する。
【００２１】
ランダム数列は、加算器２０４に伝達される。（図１に関して）上述された統計的な異常を無効にするため、法Pの演算の前の出力は、フィードバック構造を介してガロア体GF[M]から次の入力に加算される。フィードバック構造は、遅延ユニット２０５を含む。加算演算からの結果は、法Pの演算子２０６に伝達される。法Pの演算子２０６は、出力値を生成するために加算演算からの結果に法Pの演算を実行する。法Pの演算の出力は、次いで、次の加算の入力として使用され、GF[M]の全体のリング構造を効果的に回転する。実際、累積的な統計的な偏差は、回転が定常状態の値に収束するので格段に目立たない。ガロア体GF[P]から多数の係るサンプルを取ることで、全ての同値類にわたり統計的な異常が一様に分散され、出力分布を一様な分布の出力に戻すことが容易に示される。更なるオプションは、変換において固定されたポイントが存在しないことを保証するため、フィードバックパスに加えて（理想的に、P以下の値であって｛M，P｝と互いに素である値）、一定の回転を誘発することである。数学的な用語では、「固定されたポイント」は、数学演算子の入力及び出力の両者で同じままである点であり、繰り返される演算子の適用を行うことで、一定の値となる。たとえば、ゼロは、それぞれの数にゼロを掛けるとゼロであるため、従来の乗算演算子の固定されたポイントである。
【００２２】
幾つかの数値例は、変換がどのように作用するかを見るのに役立つ場合がある。
【００２３】
［例１］
M=5*7＝35，p＝3とし、単位遅延の最初の条件値をゼロとする。なお、単位遅延の初期条件（最初の出力値）を代替的にゼロ、1又は2とすることもできる。なお、上述されたフィードバックメカニズムがない場合、法Pの演算の出力は、ガロア体GF[P]における統計的なアーチファクトを有する値のストリームである。ランダム数発生の出力の分散が正確に一様である場合、ガロア体GF[P]の最初の２つの同値類は、３番目の同値類よりも１つのエレメントだけ大きい。これは、35  modulo  3＝（3*11＋2）modulo  3＝2  modulo  3の計算から容易に見る事ができる。図２におけるフィードバック（すなわち遅延）は、その同値類の全ての３つに関してガロア値GF[P]における統計的な非一様性を分散させる。
【００２４】
第一のランダム数生成の出力が｛23  8  19  31  0  6  13  21  21．．．｝として定義されるストリームである場合、フィードバックを持たない法3の演算の対応する出力は、［2  2  1  1  0  0  1  0  0．．．］となる。なお、この場合における多数の入力が同じ出力にマッピングし、これはリバースマッピングを更に困難にする。図２に示される単位遅延のフィードバックにより法3の演算の出力は、｛2  1  2  0  0  0  1  1  1．．．｝である。この小規模スケールでの数の違いは無視できるように見える場合があり、更に、フィードバックは、GF[P]の同値類に関する混合基数変換の非一様性を分散させる。
【００２５】
より従来のシステムに存在する非一様性及び図２に示されるアレンジメントで得られる改善を十分に理解するため、図２におけるランダム数発生器２０２が、M=35としてGF[M]の一様な分布から1,000,000のランダムに選択された出力を生成するシナリオを考える。ガロア体GF[P]は、ガロア体GF[3]となるように選択される。第一のランダム数列は、ガロア体GF[M]から百万（1,000,000）のランダムに引き抜かれたエレメントからなる。（図１に関して上述された）従来の混合基数変換アルゴリズムが採用される場合、マッピング演算により、ガロア値GF[3]を通してエレメントは非一様に分散される。図３Ａにおいてグラフが提供され、MATLAB（登録商標）によるシミュレーションから得られるマッピング演算の結果が例示される。MATLAB（登録商標）は、一般的な数値シミュレーション及び分析ツールである。グラフは、エレメント0及び1が値2と比較したときに出力においてより頻繁に現れることを示す。（図２に関して上述される）混合基数の数発生器のプロセスが1の固定された回転オフセットで採用される場合、統計的なアーチファクトは、ガロア体GF[3]の全ての同値類にわたりほぼ一様に分散される。図３Ｂにおいてグラフが提供され、MATLAB（登録商標）のシミュレーションから得られた図２の混合基数の数発生器のプロセスの結果が例示される。図３Ｂにおけるグラフは、出力系列におけるエレメント0，1及び2の一様な分散を示す。
【００２６】
［混合基数の発生方法］
図４を参照して、ガロア体GF[P]の全体の同値類にわたり統計的なアーチファクトを一様に分散させる混合基数の発生方法４００のフローダイアグラムが提供される。フローダイアグラムは、図２に示される概念の代替的な表現である。図４に示されるように、本方法は、ステップ４０２で開始し、ステップ４０４に進む。ステップ４０４で、比較的大きなガロア体GF[M]が選択される。M及びPの相対的なサイズは、任意の値を取ることができ、本出願で記載される統計的な性質を保持する。Mの値は、Pよりも大きい大きさの順序となるように典型的に選択されるが、これは実施の形態が正しく機能する要件ではない。また、ステップ４０４は、第一のガロア体GF[M]よりも小さい第二のガロア体GF[P]を選択することを含む。ステップ４０４は、ガロア体の特性Pに関して互いに素となるようにガロア体の特性Mを選択することを更に含む。本明細書で使用される記載「互いに素“mutually  prime”」は、１を除いて公約数を有さない２以上の整数を示す。
【００２７】
ステップ４０４の後、本方法４００は、ステップ４０６に進む。ステップ４０６では、比較的大きなガロア体GF[M]により定義されるリング構造を利用して、第一のランダム数列が生成される。さらに、本発明は、この点に限定されない。たとえば、第一のランダム数列は、パンクチャードガロア体GF’[M]により定義されるリング構造を利用して生成される。本明細書で使用される用語「パンクチャード“punctured”」は、少なくとも１つのエレメントが所望の特性の整数倍を超えるガロア体GF[M]において廃棄されていることを意味する。
【００２８】
図４を参照して、第一のランダム数列は、ランダム数RN1，RN2，．．．，RNNを含む。ランダム数列は、限定されるものではないが、擬似ランダム数列又は擬似カオス数列である。この点に関して、ランダム数発生器（RNG）は、比較的大きなガロア体GF[M]又はパンクチャードガロア体GF’[M]に関してランダム数列を生成するために利用される。RNGは、当業者に知られており、従って本明細書では詳細に説明されない。しかし、当該技術分野で知られているRNGは、限定されることなしに使用することができることを理解されたい。
【００２９】
続いて、本方法４００は、ステップ４０８に進む。ステップ４０８及び（以下に記載される）後続するステップ４１０は、混合基数変換における望まれない統計的なアーチファクトを除く手段を集合的に提供する。ステップ４０８及び（以下に記載される）後続するステップ４１０は、ガロア体GF[P]の全ての同値類にわたり統計的なアーチファクトを一様に分散させる手段を集合的に提供する。この統計的アーチファクトの一様な分散は、所望の統計的性質に対する確率的な忠実さ、すなわちガロア体GF[M]からガロア体GF[P]にわたるエレメントの一様な分散を提供する。さらに、ステップ４０８及び（以下に記載される）後続するステップ４１０は、ガロア体GF[P]の同値類にわたり選択された統計的なアーチファクトを誘発する手段を集合的に提供する。
【００３０】
ステップ４０８では、第一のランダム数列のそれぞれのランダム数RN1，RN2，．．．，RNNを法Pの演算の結果とを結合するため、算術演算が実行される。Pは、ガロア体GF[P]のガロア体の特性である。法Pの演算は、第一のランダム数列の先行するランダム数RN1，RN2，．．．，RNNを利用する。算術演算は、数式（1）〜数式（4）により一般に定義される。
【数１】
2011520391.tif 000004
RN1’は、１番目の算術演算から導出される変更された１番目のランダム数である。RN2’は、２番目の算術演算から導出された変更された２番目のランダム数である。RN3’は、３番目の算術演算から導出された変更された３番目のランダム数である。RNN’は、N番目の算術演算から導出された変更されたN番目のランダム数である。RNN-1’は、最後から２番目の算術演算から導出された最後から２番目の変更されたランダム数である。RN1は、１番目のランダム数列の第一のランダム数である。RN2は、１番目のランダム数列の第二のランダム数である。RN3は、第一のランダム数列の第三のランダム数である。RNNは、１番目のランダム数列の最後のランダム数である。Pは、ガロア体GF[P]の有限体のサイズを定義する正の整数となるように選択される値を有する法（modulus）である。
【００３１】
ステップ４０８の代替的な実施の形態は、第一のランダム数列のそれぞれのランダム数RN1，RN2，．．．，RNNと、法Pの演算に固定されたオフセットを加えた結果とを結合する。Pは、ガロア体GF[P]のガロア体の特性である。法Pの演算は、第一のランダム数列の先行するランダム数RN1，RN2，．．．，RNNを利用する。算術演算は、数式（5）〜数式（8）により一般的に定義される。
【数２】
2011520391.tif 000005
RN1’は、１番目の算術演算から導出された変更された１番目のランダム数である。RN2’は、２番目の算術演算から導出された変更された２番目のランダム数である。RN3’は、３番目の算術演算から導出された変更された３番目のランダム数である。RNN’は、N番目の算術演算から導出された変更されたN番目のランダム数である。RNN-1’は、最後から２番目の算術演算から導出された最後から２番目の変更されたランダム数である。RN1は、１番目のランダム数列の第一のランダム数である。RN2は、１番目のランダム数列の第二のランダム数である。RN3は、第一のランダム数列の第三のランダム数である。RNNは、１番目のランダム数列の最後のランダム数である。Pは、ガロア体GF[P]の有限体のサイズを定義する正の整数となるように選択される値を有する法である。ICは、GF[P]に関して導出される初期条件である。Cは、固定されたポイントを除く方法で有効な出力を回転するために選択される定数である。
【００３２】
ステップ４０８の後、本方法４００は、ステップ４１０に進む。第二のランダム数列を発生するためにステップ４１０が実行されることを理解されたい。この第二のランダム数列は、第二のガロア体GF[P]の全ての同値類にわたり統計的なアーチファクトを一様に分散させる。ステップ４１０は、ステップ４０８で実行された算術演算から導出される変更されたランダム数RN1’，RN2’，RN3’，．．．，RNN’を利用した算術演算を実行することを含む。
【００３３】
これらの算術演算は、数式（9）〜数式（12）により定義される。
【数３】
2011520391.tif 000006
ここでR1は、第一の算術演算から導出された結果である。R2は、第二の算術演算から導出された結果である。R3は、第三の算術演算から導出された結果である。RNは、最後の算術演算から導出された結果である。RN1’は、ステップ４０８で実行された第一の算術演算から導出された変更された第一のランダム数である。RN2’は、ステップ４０８で実行された第二の算術演算から導出された変更された第二のランダム数である。RN3’は、ステップ４０８で実行された第三の算術演算から導出された変更された第三のランダム数である。RNN’は、ステップ４０８で実行されたN番目の算術演算から導出された変更されたN番目のランダム数である。Pは、ガロア体GF[P]の有限体のサイズを定義する正の整数であるように選択される値を有する法である。なお、結果R1，R2，．．．，RNのそれぞれは、ガロア体GF[P]からのエレメント｛0，1，2，．．．，P-1｝であることを理解されたい。第二のランダム数列は、ランダム数のセット、すなわちR1，R2，．．．，RNにより定義されることを理解されたい。
【００３４】
図４を参照して、本方法４００は、ステップ４１２に進む。ステップ４１２では、本方法４００が終了する。なお、本方法４００は、従来の混合基数変換における望まれない統計的なアーチファクトを除く１つの方法であることを理解されたい。しかし、本発明は、この点に関して限定されず、ガロア体GF[P]の全ての同値類にわたり統計的なアーチファクトを一様に分散させるために構成される任意の他の混合基数発生方法を限定されることなしに使用される。
【００３５】
［データストリームを変更する方法］
図５を参照して、本発明を理解するために有効なデータストリームを変更する従来の方法５００のフローダイアグラムが提供される。図５に示されるように、方法５００は、ステップ５０２で開始し、ステップ５０４に進む。ステップ５０４では、ランダム数列が生成される。ランダム数列は、比較的大きなガロア体GF[M]に含まれることを理解されたい。ランダム数列を生成した後、ステップ５０６が実行され、ランダム数列の一部が選択される。
【００３６】
ステップ５０６の後、方法５００は、ステップ５０８に進む。ステップ５０８では、ランダム数列の一部は、入力データストリームと結合され、これにより入力データストリームが変更される。この点に関して、ランダム数列の一部は、同じ基数で表現されたとき、入力データストリームよりも大きいサイズ又は入力データストリームに等しいサイズを有する。係るように、方法５００は、これに応じて変更される。たとえば、方法５００は、ステップ５０８の前に変換ステップを含むことができる。変換ステップは、dがnの偶数の約数であるとして、入力データストリームがサイズGF[n]又はGF[n/d]からなる場合に、サイズGF[M]からサイズnにランダム数列の一部を変換することを含む。その後、ステップ５１０が実行され、方法５００が終了する。
【００３７】
理解されるように、比較的大きなガロア体GF[M]は、従来の方法５００に所定の程度のセキュリティを提供する。この点に関して、ガロア体GF[M]は有限数のエレメント｛0，1，2，．．．，M-1｝のみを含むフィールドであることを理解されたい。ガロア体GF[M]は、ガロア特性Mにより定義される有限体のサイズを有する。係るように、出力系列は、M番目のエレメントごとに繰り返される。この繰り返される振る舞いにより相関が生じ、これによりMが小さいときに変更されたデータストリームの復号を比較的容易にする。結果的に、比較的大きなガロア体GF[M]を選択することが望ましい。
【００３８】
また、ランダム数列の一部を選択することで所定の程度のセキュリティが従来の方法５００に提供されることを理解されたい。たとえば、ランダム数列は、ガロア体GF[M]に関して生成される。例として、ランダム数列が500ビットを含むとする。ランダム数列の一部がデータストリームを変更するために500ビットのうちの16のみを含むように選択される場合、ランダム数列を生成するために利用されるガロア体GF[M]を決定することが更に困難になる。さらに、この方法のセキュリティを更に高めることが望まれる。
【００３９】
図６を参照して、暗号化システムのセキュリティを高める方法６００が提供される。図６に示されるように、本方法６００は、ステップ６０２で開始し、ステップ６０４に進む。ステップ６０４において、比較的大きなガロア体GF[M]が選択される。理解されるように、大きなガロア体は、暗号化システムの攻撃者がガロア体GF[M]を判定するか又は変更されたデータストリームからオリジナルのランダム数列を生成するために採用される関連するマッピングを判定することができる可能性を最小にする。関連されるマッピングは、限定されるものではないが、数式（5）の初期条件（IC）の選択、ガロア体におけるエレメントの置換に基づいたマッピング、或いは、統計値又は基礎となる算術の基数における時間に依存する変化を含む。実際、大きなガロア体GF[M]は、本方法６００を実現する暗号化システムに所定の程度のセキュリティを提供することができる。言い換えれば、ランダム数列のセキュリティは、出力値のダイナミックレンジ（ビット数又は桁数）及び見掛けのランダム性により大きく定義される。
【００４０】
その後、ステップ６０６が実行され、第一のランダム数列は、ガロア体GF[M]により定義されるリング構造を利用して生成される。さらに、本発明は、この点に関して限定されない。たとえば、第一のランダム数列は、パンクチャードガロア体GF’[M]により定義されるリング構造を利用して生成することもできる。ランダム数列のうちのそれぞれのランダム数は、ガロア体GF[M]又はパンクチャードガロア体GF’[M]のエレメントにより定義される。ステップ６０８では、第一のランダム数列の一部が選択される。このステップは、本方法６００を実現する暗号化システムに高い程度のセキュリティを提供する。この点に関して、ランダム数列の一部のみが入力データストリームを変更するために使用されるときはガロア体GF[M]を判定することが更に困難になることを理解されたい。
【００４１】
ステップ６１０は、第二のランダム数列を生成するために算術演算を実行することを含む。この第二のランダム数列は、第二のガロア体GF[P]の同値類にわたり一様に分散される統計的なアーチファクトを有する。本発明の好適な実施の形態によれば、これらの算術演算は、図２に関して上述された混合基数発生プロセスである。さらに、本発明は、この点に関して限定されない。他の適切な技術は、この目的のために使用することができる。
【００４２】
図６を参照して、本方法６００は、ステップ６１２に進む。ステップ６１２では、第二のランダム数列は、乗算器のような装置に送出される。第二のランダム数列は、変更されたデータストリームを形成するために入力データストリームと結合される。入力データストリームは、dをnの偶数の約数であるとしてサイズGF(n)又はGF(n/d)からなる。この点に関して、第二のランダム数列及び入力データストリームは、同じサイズを有し、すなわちこれらは同じ基数で表現され、同じ桁数を含むことを理解されたい。その後、ステップ６１６が実行され、本方法６００は終了する。
【００４３】
当業者であれば、本方法６００は暗号化システムのセキュリティを高める１つの方法であることを理解されるであろう。しかし、本発明はこの点に関して限定されず、本発明を実現する他の方法を制限なく利用することができる。
【００４４】
［ハードウェアによる実現］
従来の混合基数変換アルゴリズムにおける望まれない統計的なアーチファクトを除く（図４に関して上述された）方法４００を実現する様々な方法が存在する。たとえば、混合基数発生方法４００は、図２に示される方法に類似した混合基数アキュムレータのアレンジメントを利用して実現することができる。混合基数の発生は、データストリームを変更する暗号化システムにおいて配置される。係るシナリオでは、混合基数発生器は、暗号化システムに高められたセキュリティの特性を提供することができる。係る混合基数発生器は、図７に関して以下に記載される。
【００４５】
図７を参照して、混合基数発生器７００のブロック図が提供される。混合基数発生器７００は、ランダム数発生器７０２、混合基数アキュムレータ７５０、及び外部装置７１０を有する。ランダム数発生器７０２は、限定されないが、リング発生器、パンクチャードリング発生器、又はカオス発生器である。ランダム数発生器７０２がリング発生器である場合、ランダム数発生器７０２は、ガロア体GF[M]により定義される代数構造を利用してランダム数列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。ランダム数発生器がパンクチャード発生器である場合、ランダム数発生器７０２は、パンクチャードガロア体GF’[M]により定義されるリング構造を利用してランダム数列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。従って、ランダム数発生器７０２の出力は、ガロア体GF[M]からのランダムなエレメント又はパンクチャードガロア体GF’[M]からのランダムなエレメントである。ガロア体GF[M]からのエレメント又はパンクチャードガロア体GF’[M]からのエレメントを所望のガロア体の特性Pにマッピングするため、ガロア体の特性Pと互いに素であるようにガロア体の特性Mが選択される。また、ガロア体の特性Mは、ガロア体の特性Pよりも大きくあるように選択される。
【００４６】
また、ランダム数発生器７０２は、ランダム数列のうちのランダム数を混合された基数アキュムレータ７５０に送出するように構成されるハードウェア及び／又はソフトウェアを有する。混合基数アキュムレータ７５０は、第二のランダム数を生成するために算術演算を実行するように構成される。算術演算は、ランダム数発生器７０２から受信されるランダム数を利用して余りの値を計算することを含む。従って、混合基数アキュムレータ７５０は、加算器７０４、算術演算子７０６及び遅延器７０８を有する。
【００４７】
加算器７０４は、ランダム数発生器７０２からのランダム数と（以下に記載される）遅延器７０８からの時間遅延された余りとを受けるために構成されるハードウェア及び／又はソフトウェアを有する。また、加算器７０４は、ランダム数発生器７０２から受信されたランダム数及び（以下に記載される）遅延器７０８から受信される時間遅延された余りを使用して、加算演算を実行するために構成されるハードウェア及び／又はソフトウェアを有する。また、加算器７０４は、算術演算子７０６に加算演算の合計を送出するために構成されるハードウェア及び／又はソフトウェアを有する。
【００４８】
算術演算子７０６は、算術演算子を実行するために構成されるハードウェア及び／又はソフトウェアを有する。算術演算子は、法の演算を実行することを含む。法の演算は、当業者に知られており、従って本明細書では詳細に説明されない。しかし、法の演算が、数式R＝S  modulo  Pにより一般的に定義されことを理解されたい。ここで、Rは、法の演算から導出される余りである。Sは、算術演算子７０６に入力されるランダム数である。Pは、ガロア体GF[P]の有限体のサイズを定義する正の整数となるように選択される値を有する法である。なお、余りRは、ガロア体GF[P]からのエレメントであることを理解されたい。
【００４９】
算術演算子７０６は、外部装置７１０及び遅延器７０８に余りRを送出するために構成されるハードウェア及び／又はソフトウェアを更に有する。外部装置７１０は、入力データ又はデジタルデータストリームを余りと結合するために構成される結合器である。たとえば、外部装置は、本発明の１実施の形態では乗算器である。遅延器７０８は、ｚ-N又はNクロックサイクルだけ算術演算子７０６から受信された余りRを遅延するために構成されるハードウェア及びソフトウェアを有し、ｚ-1は、1サンプルクロック期間の遅延又は単位遅延であり、Nは正の整数の値である。ｚ-Nは、Nクロック期間の遅延である。たとえば、遅延７０８は、1クロックサイクルだけ余りRを遅延するために構成される。さらに、本発明はこの点に関して限定されない。
【００５０】
当業者であれば、混合基数発生器７００は、本発明を実現する混合基数発生器の１つのアーキテクチャであることを理解されるであろう。しかし、本発明はこの点に関して限定されるものではなく、本発明を実現する他の混合基数発生器のアーキテクチャを制限なしに使用することができる。
【００５１】
図１〜図７に関して記載される混合基数発生器の方法及びシステムは、サイズ及び数Pの組成に関して制限されないことを理解されたい。たとえば、Pがp1・p2・，．．．，・pkの積に等しいようにPを選択することができる。ここで、k個のファクタの全てが、Mに関して互いに素である。このシステムの特性は、k個の個々の出力を提供する所定の代替的な実施の形態を容易にすることができ、それぞれは、図１〜図７を参照して上述されたシステムに比較して類似の統計的な振る舞いを提供することができる。係る混合基数発生器は、図８において提供される。
【００５２】
［多数の出力をもつ混合基数アキュムレータ］
図８を参照して、多数の出力を提供する混合基数発生器８００の代替的な実施の形態のブロックが提供される。混合基数発生器８００は、ランダム数発生器８０２及び混合基数アキュムレータ８５０を有する。ランダム数発生器８０２は、限定されるものではないが、リング発生器、パンクチャードリング発生器又はカオス発生器である。ランダム数発生器８０２がリング発生器である場合、ランダム数発生器８０２は、ガロア体GF[M]により定義される代数構造を利用してランダム数列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。ランダム数発生器がパンクチャードリング発生器である場合、ランダム数発生器８０２は、パンクチャードガロア体GF’[M]により定義されるリング構造を利用してランダム数列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。従って、ランダム数発生器８０２の出力は、ガロア体GF[M]からのランダムなエレメント又はパンクチャードガロア体GF’[M]からのランダムなエレメントである。
【００５３】
ガロア体GF[M]からのエレメント又はパークチャードガロア体GF’[M]からのエレメントを所望のガロア体の特性Pにマッピングするため、ガロア体の特性Pに対して互いに素となるように、ガロア体の特性Mが選択される。ここで、Pは、p1・p2・，．．．，・pkの積に等しい。また、ガロア体の特性Pのファクタp1・p2・，．．．，・pkと互いに素となるように、ガロア体の特性Mは選択される。さらに、ガロア体の特性Mは、ガロア体の特性Pよりも大きくあるように選択される。
【００５４】
また、ランダム数発生器８０２は、混合基数アキュムレータ８５０にランダム数系列のうちのランダム数を送出するために構成されるハードウェア及び／又はソフトウェアを有する。混合基数アキュムレータ８５０は、有利にも、混合基数アキュムレータ７５０と同様であり、同様に機能を実行する構成を有する。この点に関して、混合基数アキュムレータは、第二のランダム数を生成するための算術演算を実行するために構成される。算術演算は、ランダム数発生器８０２から受信されたランダム数を利用して余りを計算することを含む。従って、混合基数アキュムレータ８５０は、加算器８０４、算術演算子８０６及び遅延器８０８を有する。
【００５５】
また、ランダム数発生器８０２は、複数の算術演算子８１０1，８１０2，．．．，８１０kを含む。算出演算子８１０1，８１０2，．．．，８１０kのそれぞれは、算術演算を実行するために構成されるハードウェア及び／又はソフトウェアを有する。算術演算は、法の演算を実行することを含む。好適な実施の形態によれば、法の演算は、数式R  modulo  Pにより定義される。ここで、Rは、算術演算子８０６で実行される法の演算から導出される余りであり、pは、ガロア体の特性Pのファクタp1・p2・，．．．，・pkのうちの１つである。算術演算子８１０1，８１０2，．．．，８１０kのそれぞれは、k個の出力のうちの１つを生成するために構成されるハードウェア及び／又はソフトウェアを有する。算出演算子８１０1，８１０2，．．．，８１０kのそれぞれは、その集合的な結合がGF[P]に対して同一構造であって、外部装置（図示せず）に送出される、ガロア体GF[p1]〜GF[pk]のエレメントを出力として提供する。外部装置は、余りを入力データと結合するために構成される任意の装置である。たとえば、１実施の形態では、外部装置は乗算器である。最も重要なことは、算術演算子８１０1，８１０2，．．．，８１０kからk個の出力のうちの１つとして提供されるそれぞれの系列は、望まれない統計的なアーチファクトのない一様に分散された出力を有する。
【００５６】
当業者であれば、混合基数発生器８００は本発明を実現する混合基数発生器の１つのアーキテクチャであることを理解されるであろう。しかし、本発明は、この点に関して制限されず、本発明を実現する他の混合基数発生器のアーキテクチャを制限なしに使用することができる。１つの係る実施の形態によれば、遅延器８０８は、有限インパルス応答フィルタ（FIR）又は無限インパルス応答フィルタ（IIR）で置き換えることができ、この場合、全ての演算は、変更されたガロア体（GF）の計算を使用して実行される。
【００５７】
［混合基数発生器のマルチレートの実現］
図９を参照して、本発明の第二の代替的な実施の形態が提供される。第二の代替的な実施の形態は、混合基数発生器９００のマルチレートの実現である。マルチレートの実現は、ランダム数発生器からの周期的なサンプリング又は所望の出力のセットに比較して高いレートでの係る出力のサンプリングを含む。再度、これにより、観察者により容易に再構成することができない値の累積につながる。
【００５８】
図９に例示されるように、混合基数発生器９００は、ランダム数発生器９０２及び混合基数アキュムレータ９５０を有する。ランダム数発生器９０２及び混合基数アキュムレータ９５０は、図８に関して上述された対応する構造８０２，８５０と同様である。したがって、混合基数アキュムレータ９５０は、加算器９０８，算術演算子９１０及び遅延９１８を有する。算術演算子９１２1，９１２2，．．．，９１２kのセットは、図８における算術演算子８１０1，８１０2，．．．，８１０kに同様に演算を実行するために提供される。マルチレート処理は、当業者により知られており、従って本明細書では詳細に説明されない。
【００５９】
また、混合基数発生器９００は、加算器９０４、遅延器９０６及びレートチェンジャ９６０を含む。加算器９０４は、ランダム数発生器９０２からのランダム数及び（以下に記載される）遅延器９０６からの時間遅延された出力を受信するために構成されるハードウェア及び／又はソフトウェアを有する。また、加算器９０４は、ランダム数発生器９０２から受信されたランダム数と遅延器９０６から受信された時間遅延された出力を使用して加算演算を実行するために構成されるハードウェア及び／又はソフトウェアを有する。また、加算器９０４は、遅延器９０６に加算演算の合計を送出するために構成されるハードウェア及び／又はソフトウェアを有する。
【００６０】
遅延９０６は、Nクロックサイクルだけ加算器９０４から受信された合計を遅延するために構成されるハードウェア及び／又はソフトウェアを有する。さらに、本発明は、この点に関して限定されるものではない。また、遅延器９０６は、加算器９０４及びレートチェンジャ９６０に時間遅延された出力（すなわち時間遅延された合計）を送出するために構成されるハードウェア及び／又はソフトウェアを有する。レートチェンジャ９６０は、ダウンサンプリング演算及び／又はデジメーション演算を実行するために構成される。ダウンサンプリング及びデジメーション演算は、当業者に知られており、従って、本明細書では詳細には説明されない。
【００６１】
当業者であれば、混合基数発生器９００は本発明を実現する混合基数発生器の１つのアーキテクチャであることを理解されるであろう。しかし、本発明はこの点に限定されるものではなく、本発明を実現する他の混合基数発生器のアーキテクチャを制限なしに使用することができる。
【００６２】
［暗号化システム］
図１０を参照して、本発明を実現するために使用される暗号化システム１０００の１実施の形態が例示される。暗号化システム１０００は、データストリームソース１００２、暗号化装置１００４及び復号装置１００６を有する。データストリームソース１００２は、データストリームを生成するために構成されるハードウェア及び／又はソフトウェアを有する。データストリームは、音声データ、ビデオデータ、ユーザ識別データ、署名データ等のようなペイロードデータを含む。また、データストリームは、デジタルデータストリームである。また、データストリームソース１００２は、データストリームを暗号化装置１００４に送出するために構成されるハードウェア及び／又はソフトウェアを有する。
【００６３】
暗号化装置１００４は、暗号化系列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。暗号化系列は、ガロア体GF[P]の全ての同値類にわたり選択された統計的なアーチファクトを有するランダムな数列である。また、暗号化装置１００４は、暗号化系列を使用してデータストリームを暗号化（又は変更）するアクションを実行するために構成されるハードウェア及び／又はソフトウェアを有する。さらに、暗号化装置１００４は、復号装置１００６に変更されたデータストリームを送出するために構成されるハードウェア及び／又はソフトウェアを有する。暗号化装置１００４は、図１１に関して以下に詳細に記載される。.
復号装置１００６は、復号系列を生成するために構成されるハードウェア及び／又はソフトウェアを有する。復号系列は、ガロア体GF[P]の全ての同値類にわたり選択された統計的なアーチファクトを有するランダム数である。混合基数変換で使用される素数の特性に依存して、復号系列は、暗号化装置１００４により生成される暗号化系列と同じである。さもなければ、復号系列は、暗号化系列とデータストリームとの間の結合方法に基づいて相補的なやり方で選択される。また、復号装置１００６は、受信された変更されたデータストリームを復号するアクションを実行するために構成されるハードウェア及び／又はソフトウェアを有する。係る復号のアクションは、当業者に知られており、従って本明細書では詳細には説明されない。また、復号装置１００６は、外部装置（図示せず）に復号されたデータを送出するために構成されるハードウェア及び／又はソフトウェアを有する。復号装置１００６は、図１２に関して以下に詳細に記載される。
【００６４】
図１１を参照して、図１０の暗号化装置１００４のブロック図が提供される。図１１に示されるように、暗号化装置１００４は、データストリーム受信手段（DSRM）１１０２、混合基数発生器７００及び暗号化器１１０４を有する。列挙された構成要素１１００，１１０４のそれぞれは、当業者に知られており、従って本明細書では詳細には説明されない。しかし、本発明の理解において読者を支援するために暗号化装置１００４の簡単な説明が提供される。
【００６５】
図１１を参照して、DSRM１１０２は、外部装置（図示せず）からのデータストリームを受信する。また、DSRM１１０２は、暗号化器１００４にデータストリームを送出する。この点に関して、DSRM１１０２は、暗号化器１１０４に電子的に接続されることを理解されたい。
【００６６】
混合基数発生器７００は、暗号化系列を生成する。暗号化系列は、ガロア体GF[P]の全ての同値類にわたり選択された統計的なアーチファクトを有するランダム数列である。図７に関して先に提供された説明は、混合基数発生器７００を理解するために十分である。また、混合基数発生器７００は、暗号化器１１０４に暗号化系列を送出する。この点に関して、混合基数発生器７００は、暗号化器１１０４に電子的に接続されることを理解されたい。
【００６７】
暗号化器１１０４は、暗号化系列をデータストリームと併合又は結合することで変更されたデータストリームを生成する。より詳細には、暗号化器１１０４は、データストリームをマスクするために結合方法を実行する。結合方法は、標準的な乗算、ガロア拡大体での乗算、加算の法q、減算の法q、ビット毎の論理演算又は他の標準的な結合方法である場合がある。この点に関して、暗号化器１１０４は、乗算器、加算器、デジタルロジックデバイス、フィードバックメカニズム又は類似の結合機能装置を含む。
【００６８】
当業者であれば、暗号化装置１００４は、本発明を実現する暗号化装置の例示的なアーキテクチャを示していることを理解されるであろう。しかし、本発明はこの点に限定されるものではなく、他の暗号化装置のアーキテクチャを制限なしに使用することができる。たとえば、混合基数発生器７００は、代替的に、図８〜図９に示されるものに類似した混合基数発生器とすることができる。
【００６９】
図１２を参照して、図１０の復号装置１００６の１実施の形態が例示される。復号装置１００６は、変更されたデータストリーム受信手段（MDSRM）１２０２、リング発生器７００及び復号器１２０４を有する。列挙された構成要素１２０２，１２０４のそれぞれは、当業者に知られており、従って本明細書で詳細には記載されない。しかし、本発明の理解において読者を支援するために復号装置１００６の簡単な説明が提供される。
【００７０】
図１２を参照して、MDSRM１２０２は、（図１０に関して上述された）暗号化装置１００４のような外部装置から変更されたデータストリームを受信するために構成されるハードウェア及び／又はソフトウェアを有する。また、MDSRM１２０２は、復号器１２０４に変更されたデータストリームを送出するために構成されるハードウェア及び／又はソフトウェアを有する。この点に関して、MDSRM１２０２は復号器１２０４に電子的に接続されることを理解されたい。
【００７１】
混合基数発生器７００は、復号系列を生成する。復号系列は、暗号化系列及び結合方法に基づいて選択されたランダム数列である。図７に関して先に提供された説明は、混合基数発生器７００を理解するために十分である。また、混合基数発生器７００は、復号器１２０４に復号系列を送出する。この点に関して、混合基数発生器７００は、復号器１２０４に電子的に接続されることを理解されたい。復号器１２０４は、変更されたデータストリーム及び復号系列を利用して復号方法を実行することで、復号されたデータを生成する。復号方法は、当業者に知られており、従って本明細書では詳細に説明されない。
【００７２】
当業者であれば、復号装置１００６は、本発明を実現する復号装置の例示的なアーキテクチャを示すことを理解されるであろう。しかし、本発明はこの点に限定されず、他の暗号化装置のアーキテクチャを制限なしに使用することができる。
【００７３】
［相関に基づく暗号化システムの実現］
本発明は、暗号化方法を提供するものであり、従って暗号化された（又は変更された）データストリームを復号するための情報が必要とされる。この情報は、内部的に生成されるランダム数列と統計信号処理の関数である。既知の非一様な確率分布をもつ平文を採用して、これを混合基数アキュムレータへの入力として使用することで、送信されるデータは、意図されない者による再構成を更に困難にするために圧縮される。この文脈で使用される用語「圧縮される」は、入力データストリームは、予め定義された基数を法として切り捨てられ、データ表現のダイナミックレンジが低減されることを意味する。混合基数アキュムレータのフィードバックループで使用される素数の選択は、入力データストリームの特性を目立たなくするために決定的な時間の関数として実現される。決定的な時間の関数は、独立なランダム数列により決定される。
【００７４】
また、本発明は、隠れマルコフモデル（HMM）又は他の類似の相関に基づく数学構造を実現する復号方法を提供する。HMMは当業者に知られており、従って、本明細書では詳細には説明されない。しかし、部分的に不明瞭であるデータに基づく決定のシーケンスを構築するためにHMMを使用することができることを理解されたい。たとえば、英語のテキストを処理しており、文字“q”に遭遇し、系列における次の文字が“d”，“j”又は“u”であるかに関して曖昧さが存在する場合、英語におけるHMMは、次の文字は“u”であることを示す。
【００７５】
この文脈では、ダイナミックレンジMのデータストリームを特性Pの混合基数アキュムレータに入力する暗号化手段は、復号プロセスの間に確率的にのみ回復される平文の意図的な破壊を提供する。平文の統計的な分布が暗号化装置及び復号装置で知られている場合、HMM（又は他の相関に基づいた数学構造）は、暗号文からオリジナルの平文を確率的に再構成するために使用することができる。
【００７６】
図１３は、上述された本発明のアレンジメントを実現するために使用される相関に基づく暗号化システム１３３０の１実施の形態が提示される。図１３に示されるように、暗号化システム１３００は、デジタルデータストリームソース１３０２、暗号化装置１３０４及び復号装置１３０６を有する。デジタルデータストリームソース１３０２は、データストリームを生成するために構成されるハードウェア及び／又はソフトウェアを有する。データストリームは、既知の非一様な確率分布をもつ平文を含む。この点に関して、データストリームは、ゼロからM-1の範囲に及ぶ値の系列を含むことを理解されたい。ここでMは、ガロア体GF[M]の特性である。また、データストリームソース１３０２は、暗号化装置１３０４にデータストリームを送出するために構成されるハードウェア及び／又はソフトウェアを有する。
【００７７】
暗号化装置１００４は、暗号化方法を実現するハードウェア及び／又はソフトウェアを有しており、これにより変更されたデータストリームを復号するために情報が必要とされる。この情報は、内部的に生成されたランダム数列及び統計信号処理の関数である。この点に関して、暗号化装置１００４は、データストリーム受信手段（DSRM）１３０８及び混合基数アキュムレータ７５０を有する。
【００７８】
DSRM１３０８は、外部装置１３０２からのデータストリームを受信する。また、DSRM１３０８は、混合基数アキュムレータ７５０にデータストリームを送出する。従って、DSRM１３０８は、混合基数アキュムレータ７５０に電子的に接続される。
【００７９】
混合基数アキュムレータ７５０は、図７に関して先に詳細に記載された。先に提供された説明は、混合基数アキュムレータ７５０を理解するために十分である。しかし、混合基数アキュムレータ７５０は、変更されたデータストリームを生成するための算術演算を実行するために構成されるハードウェア及び／又はソフトウェアを有する。算術演算は、DSRM１３０８から受信された数値を利用して余りの値を計算することを含む。また、算術演算は、数式R=S  modulo  Pにより定義される法の演算を含む。R，S及びPは、図７に関して先に定義された。
【００８０】
しかし、Pの値に配置される更なる条件が存在する。これらの条件は、（ａ）Mの値よりも大きいか又はMの値に等しいPの固定された値、（ｂ）M未満の固定された値であるPの値、（ｃ）Mよりも大きいか又はMに等しい値に拘束されるPの時間変化する値、及び（ｄ）M未満の時間的に任意のポイントにあるPの時間変化する値を含む。PがMよりも大きいか又はMに等しい固定された値である場合、混合基数演算の結果は、対称な混合基数アキュムレータ（SMRA）を利用して復号される。SMRAは、混合基数アキュムレータ７５０に類似したアーキテクチャを有する。しかし、SMRAは、加算器ではなく減算器を含む。
【００８１】
PがM未満の固定された値である場合、混合基数演算の結果は、確率的な再構成プロセスを利用して復号される。この確率的な再構成プロセスは、復号のために統計的な分布の情報に依存する。この定式化では、復号された平文は、２以上の異なる可能性のある平文の値にマッピングされる場合がある。可能性のある値のセット間の裁定が必要とされる。たとえば、可能性のある平文のセットが英語のアルファベットからの文字である場合、所与の入力は、｛B，T｝の可能性のあるセットに復号される。どの出力が正しいかに関して提供される即時の情報が存在しない。次の出力が可能性のあるセット｛G，H｝に復号される場合、可能性のある２組の復号された値は、｛BG，BH，TG，TH｝である。HMMアルゴリズムは、復号された値｛BG，BH，TG，TH｝を使用して、最も可能性ある値の系列として｛TH｝を推定する。他のケースでは、相関アルゴリズムは、鍵交換情報のような他の情報を伝達又はマスクするために使用される予め決定された値の系列をサーチする場合がある。
【００８２】
PがMよりも大きいか又はMに等しい値に拘束される時間変化する値である場合、混合基数演算の結果は、変更された混合基数アキュムレータのアーキテクチャにより固有に復号される。復号系列におけるそれぞれの値は、決定的な時間の関数として同様に変調される。相関アルゴリズムは、時間的に位相がそろった変動について調節される。意図されないアウトサイダーが時間的に変動する系列の情報を持たない場合、送信されたメッセージを復号又は作成することが計算上著しく困難であることがわかるであろう。
【００８３】
PがM未満である時間的に任意のポイントにある時間変化する値である場合、混合基数演算の結果は、変更された混合基数アキュムレータの構造を使用して復号される。時間変化するP系列を調節することに加えて、相関に基づくアルゴリズムが適用される。相関に基づくアルゴリズムは、送信されたメッセージを復号又は模倣する攻撃者の能力を更に複雑にする。
【００８４】
図１３を参照して、混合基数アキュムレータ７５０は、復号装置１３０６に変更されたデータストリームを送出するために構成されるハードウェア及び／又はソフトウェアを有する。復号装置１３０６は、受信された変更されたデータストリームを復号する。この点に関して、復号装置１３０６は、HMM又は他の類似の相関に基づく数学的構造を実現するハードウェア及び／又はソフトウェアを有することを理解されたい。また、復号装置１３０６は、外部装置（図示せず）に復号されたデータを送出する。
【００８５】
当業者であれば、相関に基づく暗号化システム１３００が本発明を実現する暗号化システムの例示的なアーキテクチャを示すことを理解されるであろう。しかし、本発明はこの点に限定されず、他の暗号化システムのアーキテクチャを制限なしで使用することができる。たとえば、相関に基づく暗号化システム１３００は、図８及び図９の混合基数発生器のアーキテクチャに従って調節される。係るシナリオでは、図８のランダム数発生器８０２は、データストリームソースで置き換えることができる。同様に、図９のランダム数発生器９０２は、データストリームソースと置き換えることができる。
【００８６】
本発明の上述した記載を考慮して、本発明はハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実現できることを認識されたい。混合基数のリング生成及び変換を実行して、ガロア体の全ての同値類にわたり選択された統計的な特性をもつランダム数列を生成する方法は、１つの処理システムにおいて集約的な方式で、又は異なるエレメントが幾つかの相互接続された処理システムにわたり分散される分散方式で実現することができる。任意の種類のコンピュータシステム、又は本明細書に記載される方法を実行するために適合される他の装置が適合される。ハードウェア及びソフトウェアの典型的な組み合わせは、ロード及び実行されたとき、本明細書に記載された方法を実行するようにコンピュータプロセッサを制御するコンピュータプログラムと、汎用コンピュータプロセッサである。勿論、特定用途向け集積回路（ASIC）及び／又はFPGAは、同様の結果を達成するために使用される。
【００８７】
また、本発明は、本明細書で記載される方法の実現を可能にする全ての特徴を含み、コンピュータシステムにロードされたとき、これらの方法を実行することができるコンピュータプログラムプロダクトで実施される。この文脈におけるコンピュータプログラム又はアプリケーションは、ａ）別の言語、コード又は表記への変換、ｂ）異なるマテリアル形式における再生の一方又は両方の直接的に又は後に、特定の機能を情報処理機能を有するシステムに実行させることが意図される命令のセットの、任意の言語、コード又は表記での表現を意味する。さらに、先の記載は、例示を目的とするものであって、以下の特許請求の範囲で述べられる点を除いて、任意のやり方で本発明を制限することが意図されない。
【図１】
2011520391.tif 000007
【図２】
2011520391.tif 000008
【図３Ａ】
2011520391.tif 000009
【図３Ｂ】
2011520391.tif 000010
【図４】
2011520391.tif 000011
【図５】
2011520391.tif 000012
【図６】
2011520391.tif 000013
【図７】
2011520391.tif 000014
【図８】
2011520391.tif 000015
【図９】
2011520391.tif 000016
【図１０】
2011520391.tif 000017
【図１１】
2011520391.tif 000018
【図１２】
2011520391.tif 000019
【図１３】
2011520391.tif 000020
【手続補正書】
【提出日】平成22年4月14日(2010.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データストリームを受信するデータストリーム受信手段と、
ガロア体GF[M]に含まれる第一の数列を生成する数発生手段と、
前記数発生器手段に電子的に接続されるアキュムレータであって、（1）前記第一の数列における第一の数に対して第一の変更を実行し、前記第一の変更は、MをPに関して互いに素であってPよりも大きい値として、前記第一の数を、前記第一の数に先行する前記第一の数列における第二の数に実行される第一の法Pの演算の結果と合計し、（2）前記第一の変更に続いて、第二の法Pの演算を含む、前記変更された第一の数に対する第二の変更を実行し、（3）前記第一の数列に含まれる複数の数について前記第一の変更と前記第二の変更を繰り返して、第二の数列を生成するアキュムレータと、
前記データストリーム受信手段及び前記アキュムレータに電子的に接続される暗号化器であって、前記第二の数列を前記入力データストリームと結合することで変更されたデータストリームを生成する暗号化手段と、
を有する暗号化システム。
【請求項２】
前記数発生器は、擬似ランダム数列を発生する擬似ランダム数発生器を含み、前記アキュムレータは、前記擬似ランダム数列を使用して、ガロア体GF[P]の全ての同値類にわたり一様に分散される複数のエレメントを前記ガロア体GF[P]から生成する、
請求項１記載の暗号化システム。
【請求項３】
前記数発生器は、周期的に繰り返されるマッピングを使用することで前記第一の数列を生成する、
請求項１記載の暗号化システム。
【請求項４】
Mの値は、Pの値に関して互いに素であり、Pの複数の互いに素のファクタの全ては、p1，p2，p3，．．．，pkを含む、
請求項１記載の暗号化システム。
【請求項５】
複数の算術演算子ユニットを更に有し、それぞれの演算子ユニットは、前記第二の数列に関する第三の変更を実行し、前記複数の算術演算子ユニットは、前記第二の数列からの複数の出力数列を生成する、
請求項４記載の暗号化システム。
【請求項６】
前記第三の変更は、前記複数の出力数列を生成するため、前記第二の数列におけるそれぞれの数に応じて実行される法pの演算を含み、前記pは、p1，p2，p3，．．．，pkを含むグループから選択された複数の値を含む、
請求項５記載の暗号化システム。
【請求項７】
前記第二の数は、１つの位置だけ前記第一の数に先行する、
請求項１記載の暗号化システム。
【請求項８】
前記第二の数は、１よりも大きいN個の位置だけ前記第一の数に先行する、
請求項１記載の暗号化システム。
【請求項９】
前記第一の数列は、ガロア体GF[M]により定義される有限のエレメント数Mに制限され、前記第二の数列は、ガロア体GF[P]の複数の同値類にわたり一様に分散される前記ガロア体GF[P]からの複数のエレメントを含み、前記複数の同値類は、それぞれ整数0，1，．．．，P-1について同じクラスを含む、
請求項１記載の暗号化システム。
【請求項１０】
次の第一の変更の間に前記変更の結果を使用する前に、前記第二の変更の結果に対してフィルタ演算を行う有限インパルス応答フィルタ又は無限インパルス応答フィルタを更に有する、
請求項１記載の暗号化システム。
【請求項１１】
前記暗号化手段は、標準的な乗算、ガロア拡大体における乗算、加算の法qの演算、現在の法qの演算又はビット毎に論理演算を実行する、
請求項１記載の暗号化システム。
【請求項１２】
復号系列を生成する第二の数発生器及び第二のアキュムレータを更に有する、
請求項１記載の暗号化システム。
【国際調査報告】
2011520391.tif 000021
2011520391.tif 000022
2011520391.tif 000023