(57)【要約】暗号化システムＣＳは、発生器５０２，５０４及び５１０、暗号化装置ＥＤ及び復号化装置ＤＤを備える。発生器５０２は、ペイロードデータを含むデータ系列を生成する。発生器５０４は、ランダム数を含む暗号化系列ＥＳを発生する。ＥＤ５０６は、ＣＧＦＣ計算プロセスを実行する。係るように、ＥＤは、マッピング装置ＭＤ及び暗号化器を備える。ＭＤは、ガロア体GF[pk]からガロア拡大体GF[pk+1]にＤＳ及びＥＳをマッピングする。暗号化器は、ガロア拡大体GF[pk+1]におけるガロア体の乗算を利用してＤＳとＥＳを結合することで、暗号化されたデータ系列ＥＤＳを生成する。発生器５１０は、復号系列ＤＳを生成する。ＤＤ５０８は、ＥＤＳ及びＤＳを利用してＣＧＦＣ計算プロセスの逆のプロセスを実行することで、復号されたデータ系列を生成する。
2011528444.tif 000002
【特許請求の範囲】
【請求項１】
データ系列を暗号化する方法であって、
ペイロードデータを含むデータ系列を生成するステップと、
ランダム数を含む暗号化系列を生成するステップと、
ガロア体GF[pk]からガロア拡大体GF[pk+1]に前記データ系列及び前記暗号化系列をマッピングするステップと、
前記ガロア拡大体GF[pk+1]におけるガロア体の乗算を利用して、前記データ系列を前記暗号化系列と結合する閉じたガロア体の結合（CGFC：Closed  Galois  Field  Combination）の計算プロセスを実行することで、暗号化されたデータ系列を生成するステップとを含み、
前記pは素数であり、前記kは整数値であり、前記pk+1は前記ガロア拡大体GF[pk+1]の有限体のサイズを定義する、
ことを特徴とする方法。
【請求項２】
前記暗号化系列の前記ランダム数を擬似ランダム数又は擬似カオスランダム数となるように選択するステップを更に含む、
請求項１記載の方法。
【請求項３】
p進法の表現又は混合基数法の表現で前記データ系列及び前記暗号化系列を表すステップを更に含む、
請求項１記載の方法。
【請求項４】
加重数法で表現される少なくとも２桁から構成されるように前記データ系列及び前記暗号化系列のそれぞれを選択するステップを更に含む、
請求項１記載の方法。
【請求項５】
前記データ系列及び前記暗号化系列のそれぞれから異なる数字のサブセットを使用して複数のガロア体の乗算を選択的に実行することで、前記データ系列及び前記暗号化系列を結合するステップを更に含む、
請求項１記載の方法。
【請求項６】
前記データ系列のアフィン変換を実行することで前記ガロア拡大体GF[pk+1]に前記データ系列をマッピングし、前記暗号化系列のアフィン変換を実行することで前記ガロア拡大体GF[pk+1]に前記暗号化系列をマッピングするステップを更に含む、
請求項１記載の方法。
【請求項７】
ランダム数を含み、ガロア体GF[pk]で表現される復号系列を生成するステップを更に含む、
請求項１記載の方法。
【請求項８】
擬似ランダム数又は擬似カオスランダム数となるように前記復号系列の前記ランダム数を選択するステップを更に含む、
請求項７記載の方法。
【請求項９】
前記復号系列は、前記暗号化系列に基づいて反転された系列である、
請求項７記載の方法。
【請求項１０】
前記暗号化データ及び前記復号系列を利用して前記CGFC計算プロセスの逆の計算を実行することで、前記復号されたデータ系列を生成するステップを更に含む、
請求項７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化システムにおけるガロア体の乗算の効率的な実現に関する。  
より詳細には、本発明は、暗号化システムにおける２以上の入力系列を結合する効率的且つ可逆的な閉じたガロア体の結合（Closed  Galois  Field  Combination）プロセスに関する。
【背景技術】
【０００２】
シーケンスジェネレータは、信号処理、誤り訂正符号、擬似ランダム数発生及び暗号化システムの範囲に及ぶ応用で使用されている。これらの応用のそれぞれにおける基本的なメカニズムは、実際には有限である系列であり、系列の繰り返し周期が短くなると、アウトサイダーは系列の将来の値を決定又は予測することが容易である。ある系列のセキュリティを高めるため、大部分の応用は、生成する多項式の長さを増加して、多数の直交系列との非線形の組み合わせ技術の幾つかのタイプを使用するか、又は系列の長さを増加させる。
【０００３】
これらの技術は、大幅に増加する実現の複雑さとなることがあり、これは、増加するリソースの消費及び処理時間に変わる。また、それぞれの系列の周期について、生成アルゴリズムは、典型的に固定され、ガロア体にわたり特定の既約多項式に結合される。また、１以上の入力系列が演繹的知識により記憶又は伝送の間に生じる場合がある系列の誤りを検出及び訂正する効率的な方法が得られるように、結合技術を実現することが望まれる。
【０００４】
多数の系列の変更の静的な例は、通信システムで存在する。１つの係る例は、リードソロモン誤り訂正符号及びその派生である。リードソロモン誤り訂正符号は、プリミティブエレメント及び固定された既約多項式を使用して、ガロア拡大体に基づいて出力値を計算する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の内容を考慮して、従来の方法よりも計算上効率的なデータストリームとランダム数の系列とを結合する方法がなお必要とされる。
【０００６】
また、ランダム数系列の繰り返し周期を効率的に増加する方法がなお必要とされる。  
さらに、従来の方法よりも誤りの耐性があるランダム数系列とデータストリームとを結合する方法がなお必要とされる。
【課題を解決するための手段】
【０００７】
本発明は、データ系列を暗号化及び復号する方法に関する。本方法は、ペイロードデータを含むデータ系列とランダム数を含む暗号化系列とを発生するステップを含む。ランダム数は、擬似ランダム数又は擬似カオスランダム数とすることができる。また、本方法は、データ系列及び暗号化系列をガロア体GF[pk]からガロア拡大体GF[pk+1]にマッピングするステップを含む。より詳細には、データ系列は、データ系列のアフィン変換を実行することで、ガロア拡大体GF[pk+1]にマッピングされる。同様に、暗号化系列は、暗号化系列のアフィン変換を実行することで、ガロア拡大体GF[pk+1]にマッピングされる。
【０００８】
さらに、本方法は、CGFC計算プロセスを実行することで、暗号化されたデータ系列を生成するステップを含む。CGFC計算プロセスは、一般的に、ガロア拡大体GF[pk+1]におけるガロア体の乗算を利用して、データ系列を暗号化系列と結合するステップを含む。より詳細には、CGFC計算プロセスは、それぞれの系列からの数字からなる固有のサブセットを使用して、複数のガロア体の乗算を選択的に実行することで、データ系列と暗号化系列とを結合するステップを含む。
【０００９】
また、本方法は、ガロア体GF[pk]で表現される復号系列を生成するステップを含む。特に、復号系列は、暗号化系列の数学的反転である。この反転は、拡張ユークリッドアルゴリズム又は類似のプロセスの計算により形成される。さらに、本方法は、暗号化されたデータ系列及び復号系列を利用して、CGFC計算プロセスの逆のプロセスを実行することで、復号されたデータ系列を生成するステップを含む。
【００１０】
また、本発明は、閉じたガロア体の暗号化（CGFC）システムに関する。CGFCシステムは、第一のジェネレータ、第二のジェネレータ及び暗号化装置を有する。第一のジェネレータは、ペイロードデータを有するデータ系列を生成する。第二のジェネレータは、擬似ランダム数又は擬似カオスランダム数を有する暗号化系列を生成する。暗号化装置は、第一及び第二のジェネレータに結合される。暗号化装置は、CGFC計算プロセスを実行する。この点に関して、暗号化装置は、マッピング装置及び暗号化器を有する。マッピング装置は、ガロア体GF[pk]からガロア拡大体GF[pk+1]へとデータ系列及び暗号化系列をマッピングする。暗号化器は、ガロア拡大体GF[pk+1]におけるガロア体の乗算を利用して、データ系列を暗号化系列と結合することで、暗号化されたデータ系列を生成する。
【００１１】
さらに、CGFCシステムは、第三のジェネレータ及び復号装置を有する。第三のジェネレータは、ガロア体GF[pk]で表現される復号系列を生成する。復号系列は、暗号化系列の数学的反転である。反転は、拡張ユークリッドアルゴリズム又は類似のプロセスの計算により形成される。復号装置は、第三のジェネレータに結合される。復号装置は、暗号化されたデータ系列及び復号系列を利用して、CGFC計算プロセスの反転を実行することで、復号されたデータ系列を生成する。
【図面の簡単な説明】
【００１２】
実施の形態は、以下の添付図面を参照して記載され、図面を通して、同じ参照符号は、同じアイテムを示す。
【図１】本発明を理解するために有効である、閉じたガロア体の結合（closed  Galois  field  combination）方法のフローチャートである。
【図２】本発明を理解するために有効である、CGFC計算プロセスのダイアグラムである。
【図３】本発明を理解するために有効である、データを符号化するCGFC計算プロセスのダイアグラムである、
【図４】本発明を理解するために有効である、データを復号するCGFC計算プロセスのダイアグラムである。
【図５】本発明を理解するために有効である、閉じたガロア体の暗号化システムのブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明は、本発明の例示的な実施の形態が示される添付図面を参照してより詳細に説明される。しかし、本発明は、多くの異なる形態で実施される場合があり、本明細書で述べられる実施の形態に限定されるように解釈されるべきではない。たとえば、本発明は、方法、データ処理システム又はコンピュータプログラムプロダクトとして実施することができる。従って、本発明は、全体的なハードウェアの実施の形態としての形式、全体的なソフトウェアの実施の形態としての形式、又はハードウェア／ソフトウェアの実施の形態の形式を取ることができる。
【００１４】
多くの通信システムの応用では、２以上の数の系列を結合する有効な手段を有することが望まれる。係る通信システムの応用は、ランダム数の発生の応用、誤り符号化の応用、暗号化の応用、変調の応用等を含む。暗号化の応用では、その発生の特性を拒否するために生成されるナンバーストリームを使用した可逆的な演算により、入力データストリームをマスクするため、結合プロセスが実行される。本明細書で使用される用語「可逆的」は、マスキング演算を取り消して、オリジナルのデータストリームを得る方法の存在を示す。また、２つの独立であってランダムに発生されたナンバーストリームを結合する有効な手段を有することが望まれる。この結合プロセスは、非線形のランダム数のストリームを提供することができる。非線形に発生されたランダム数のストリームにより、生成する構造を識別することが非常に困難になる。係るように、本発明の幾つかの実施の形態は、ガロア拡大体における乗算により２つの入力を効率的に結合する方法及び装置を提供する。係る実施の形態は、時間及びハードウェアデザインの両者における効率を満足させる。さらに、係る実施の形態は、シンプルなほとんど対称的な逆作要素を提供する。
【００１５】
本発明の他の実施の形態は、デジタルハードウェアにおいてデータを効率的にマスクする一方で、意図的ではないデコードを困難にする方法を提供する。この点に関して、係る方法は、様々な通信システムの応用において使用することができることを理解されたい。かかる方法は、選択された統計的な特性を誘導するため、他の非線形又は混合基数（Mixed-Radix）処理技術と結合することができる。
【００１６】
図１を参照して、２つのデータ入力を結合する閉じたガロア体の結合（CGFC）方法１００のフローチャートが提供される。CGFC方法１００を説明する前に、本発明の理解において読者を支援するため、ガロア体の簡単な説明が提供される。以下の説明は、ガロア体の基礎的な特性の一般的な説明であることを理解されたい。簡単さのため、ガロア体の完全又は正確な定義は提供されない。
【００１７】
理解されるべきは、ガロア体GF[pk]は、離散的なエレメントの集合｛0，1，2，．．．，pk-1｝で形成される周期的な有限の構造である。たとえば、ガロア体GF[23]は、エレメント｛0，1，2，3，4，5，6，7｝を含む周期的な有限の構造である。ガロア体GF[pk]は、算術演算がガロア体GF[pk]において実行されるのを可能にする所定の解析的な特性を有する。係る算術演算は、加算、減算及び乗算を含む。ガロア体GF[pk]は、前記算術演算の結果が同じガロア体における別のエレメントに等しいので、閉じた構造と呼ばれることがある。算術演算は、モジュラー演算として見られる場合がある。たとえば、ガロア体GF[pk]がガロア体GF[71]として選択される場合、選択されたエレメントのモジュラー演算は、以下のように定義することができる。2−4＝−1・7＋5＝5mod7；5＋6＝11＝1・7＋4＝4mod7；及び5・6＝30＝4・7＋2＝2mod7。
【００１８】
ガロア体GF[pk]における除算の算術演算は、固有の逆数の定義を必要とする。より一般的に、ガロア体GF[pk]におけるある数による割り算は、より適切には、前記数の逆数による乗算に等しい。この概念的な除算の演算は、逆数が存在する場合にのみ可能である。たとえば、ガロア体GF[pk]がガロア体GF[11]として選択される場合、選択されたエレメントのモジュラー演算は、以下のように定義することができる。4・3＝12＝1mod11。
係るシナリオでは、4がガロア体GF[11]における3の逆数である。同様に、3は、ガロア体GF[11]における4の逆数である。
【００１９】
理解されるべきは、ガロア体GF[pk]における除算の概念的な算術演算は、低減されたモジュロpであるときに非ゼロの値となるエレメントについてのみ有効である。たとえば、ガロア体GF[pk]がガロア体GF[23]として選択される場合、エレメント0及びXのモジュラー算術は、以下のように定義される。0・X＝0≡0mod8。Xは、ガロア体GF[23]の任意のエレメントである。係るシナリオでは、ガロア体GF[23]においてゼロの逆数は存在しない。係るように、エレメント0のガロア体GF[23]の別のエレメント倍の乗算は、互いに乗算された２つのエレメントの１つを得るために逆転することができない。特に、ガロア体GF[23]における偶数番号のエレメント｛0，2，4，6｝の逆数は存在しない。より一般的に、ガロア体GF[2k]における任意の偶数番号のエレメントの逆数は存在しない。さらに、より一般的に、ガロア体GF[2k]において、確かに素数の特性pにより割ることができない数のみが固有の逆数を有する。
【００２０】
図１を参照して、本発明は、ガロア体の乗算の上述された短所を回避するCGFC方法１００を提供する。また、本発明は、逆数の存在及び続いて可逆的な暗号化演算の存在を保証するCGFC方法１００を提供する。一般に、本方法は、複数のkビットのp進数のデータストリームへのアフィン変換を実行することを含む。結果的に得られるデータストリームは、ガロア体GF[2k+1]におけるガロア体の乗算により効率的且つ可逆的に結合することができる。アフィン変換は、出力値の変動性を拡張し、これによりkビットデータストリームのリバースエンジニアリングを困難にする更なる自由度を生じさせる。当業者により理解されるように、アフィン変換は、非ゼロの加法的な定数と共に線形変換を一般に含む。バイナリシステムの例示的な実施の形態では（p=2）、アフィン変換は、デジタルワードの終了に１を加えるか又はデジタルワードの終了から1を除くと共に、２による線形乗算である。
【００２１】
以下の例は、アフィン変換を更に説明するために提供される。しかし、本発明の範囲は、これらに限定されて考慮されるべきではない。
【００２２】
［例１］
pが2に等しいとし、kが3に等しいとする。ガロア体GF[8]からガロア体GF[16]への簡単なアフィン変換は、ガロア体GF[8]における数のそれぞれ3ビット表現の最下位ビット（LSB）の後ろに1を付加することで実行される。アフィン変換により、0→1，1→3，2→5，3→7，4→9，5→11，6→13及び7→15となる。拡大されたガロア体におけるそれぞれの数は、固有の逆数を有する。明示的に、1-1mod16≡1，3-1mod16≡11，5-1mod16≡13，7-1mod16≡7，9-1mod16≡9，11-1mod16≡3，13-1mod16≡5及び15-1mod16≡15、である。ガロア体GF[16]からガロア体GF[8]のアフィン変換は、（y-1）/2として実行され、この場合、yはガロア体GF[16]の乗算の結果である。ガロア体GF[2k]からガロア体GF[2k+1]へのアフィン変換は、常に奇数値となる。ガロア体GF[2k+1]の乗算yの結果は、常に奇数となる。y-1は、常に偶数である。ガロア体GF[2k+1]からガロア体GF[2k]へのアフィン変換は、yから最下位ビット（LSB）を落としてkの最上位ビットを保持することでシンプルに達成される。
【００２３】
図１を参照して、CGFC方法１００は、ステップ１０２で開始し、ステップ１０４に進む。ステップ１０４では、２つのデータ入力X1及びX2は、閉じたガロア体の結合システムで受信される。閉じたガロア体の結合システムは、限定されるものではないが、図５に関して以下に記載されるような閉じたガロア体の暗号化システムである。その後、ステップ１０６が実行され、ガロア体GF[2k]の大きさは、値pだけ増加される。ステップ１０６に後、ステップ１０８が実行され、ガロア体GF[p]からの非ゼロのエレメントは、データ入力X1及びX2のそれぞれに加えられる。なお、ステップ１０６及びステップ１０８は、オリジナルの数の範囲からガロア拡大体の数の範囲へのアフィン変換を提供する。アフィン変換は、定数の関数又は時間の関数として選択することができる。アフィン変換は、当業者に知られており、従って本明細書では詳細に説明されない。しかし、アフィン変換は、全単射のマッピングであると考えられる場合があることを理解されたい。全単射（bijective）、単射（injective）及び全射（surjective）もまた当業者に知られており、したがって本明細書では説明されない。
【００２４】
ステップ１１０では、２つのデータ入力は、ガロア拡大体GF[2k+1]におけるガロア体の乗算を介して結合される。ガロア体の乗算は、データ入力X1及びX2の可逆的な再構成を保証するために実行される。この可逆的な演算は、第一のデータ入力X1が予め定義された数学的なプロセス及び第二のデータ入力X2の先験的な情報を介して取得されるようであることが望ましい。
【００２５】
ステップ１１０の後、CGFC方法１００は、ステップ１１２に進む。ステップ１１２では、既知の桁は、前記ガロア体の乗算の結果から減算される。ステップ１１４では、ガロア体GF[2k+1]の大きさは、値pにより減少される。集合的に、ステップ１１２，１１４は、ステップ１０６，１０８で実行されたオリジナルのアフィン変換の逆であるアフィン変換を実行する。その後、ステップ１１６が実行され、CGFC方法１００が終了する。
【００２６】
図１のステップ１１０を参照して、ガロア体における乗算の原理及びメカニズムの簡単な説明は、本発明の理解において読者を支援するために提供される。なお、本発明の範囲はこれにより限定されて考慮されるべきではない。
【００２７】
理解されるべきは、ガロア体における２つの数の乗算により、同じガロア体における別の数となる。乗算プロセスは、オリジナルの数のうちの一方の情報がたとえ与えられたとしても、可逆的ではない。これは、他方の数が逆数を有さない場合があるためである。たとえば、ガロア体GF[8]における数２及び４の乗算により、数0（2×4＝8≡modulo8）が得られる。ゼロの出力値及び入力値が既知である場合、他の入力値を再構成することができない。これは、数2及び4は、ガロア体GF[8]における逆数を有さないためである。より一般的には、乗算プロセスは、ガロア体GF[8]における幾つかの値について可逆的ではない。
【００２８】
保証された可逆的な乗算のソリューションは、所与のガロア体における逆数を有する数に乗算される数を制限することである。この制限は、許容可能な数を生成するか又は出力を許容可能な数にマッピングするため、ランダム数発生器に関する更なる要件を置く。全てのエレメントが固有の逆数を有するようにある構造を実現する１つの方法は、オリジナルのガロア体の大きさを増加させ、最初の数のセットを拡大されたガロア体の個別の可逆的なサブセットにマッピングすることである。増加された大きさを有するガロア体は、本明細書ではガロア拡大体と呼ばれることがある。オリジナルのガロア体におけるエレメントと逆数を有するガロア拡大体におけるエレメントとの間の単射のマッピングが存在することが示される。この可逆性により、効果的な全単射のマッピングを実現して、単射のマッピングを通してオリジナルのガロア体における固有の乗算を可能とする。
【００２９】
［例２］
例として、ガロア拡大体GF[33]のサブセットに投影されたとき、同じエレメントの（可逆的な）乗算と、ガロア体GF[32]におけるエレメントの直接的な（不可逆的な）乗算を比較する。ガロア体GF[32]におけるエレメントは、以下の表１において提供される。ガロア体GF[33]におけるエレメントは、以下の表２において提供される。なお、表１及び表２における数は、2桁の3進数の表現で表される。
【００３０】
【表１】
2011528444.tif 000003
【００３１】
【表２】
2011528444.tif 000004
なお、表１の第一の行及び列に示される乗算結果は、常に（0，0）である。この結果は、値が不可逆的であることを意味する。さらに、２つの一様なランダムな入力系列が与えられた場合に、出力系列の統計的な分散は、21/81の出力がゼロ（0，0）に等しく、これにより所望の一様な分散が除かれるように歪められる。表２は、入力が一様に分散されようとなかろうと、完全に一様に分散される出力のセットを示す。入力値及び出力値が与えられると、他の入力を固有に再構成することができる。この可逆的な性質は、それぞれの入力値が表２のそれぞれの行又は列において一度のみ生じる事実から最も容易に見られる。
【００３２】
なお、ガロア体の乗算は、出力値の数が有限のセットに制限されるので、加重数法（weighted  numbering  system）における等価な乗算よりも計算上効率的である。本明細書で使用される記載「加重数法」は、剰余数法（residue  number  system）以下のナンバーシステムを示す。
【００３３】
また、ガロア体GF[2k]のような2進数システムにおけるガロア体の乗算は、デジタルロジックの構造のため、実際に有効である。従来の乗算に比較してデジタルロジックでのガロア体の乗算の計算上の節約は、５０％を超える。ガロア体の乗算を達成するアルゴリズムは、当業者に知られており、従って本明細書では記載されない。一般的に、ガロア体における乗算結果は、中間的な計算ステップの部分的な情報のみが固有の出力値を決定するために必要とされるので、より効率的に得られる場合がある。
【００３４】
さらに、ガロア体の乗算による２つの数の結合により、２つの数に関する情報は存在しようとなかろうと、２つの数をマスクすることとなる。この特性は、様々な暗号化の応用において望まれる。また、この特性は、個々の入力系列の値におけるそれぞれの桁が出力値における他の桁への大きな影響を有することを除いて、ビット毎のXOR（排他的論理和）の論理演算を通して２つの数を結合する結合技術に比較できる。ビット毎のXOR論理演算は、ガロア体GF[21]のガロア拡大体の乗算の特別なケースとして見ることができ、この場合、ある数は、アフィン変換f(x)＝2x＋1及びf-1(x)＝（x-1）/2を使用して、ガロア拡大体GF[22]におけるそれ自身の逆数にマッピングされる。
【００３５】
図２を参照して、上述されたCGFC方法１００は、CGFC計算プロセス２００により更に定義される。CGFC計算プロセス２００は、データ入力X1及びX2で開始する。データ入力X1は、ランダム数系列のペイロードデータ又はランダム数である。データ入力X2は、擬似ランダム数の系列の擬似ランダム数又は擬似カオスランダム数の系列の擬似カオスランダム数である。本明細書で使用される記載「ペイロードデータ」は、文字又は句読点マークのような、自然言語の書かれているシンボルに等価な数値であるデータを示す。たとえば、ある数3が文字Cに等価な数値である場合、データ入力X1は、3の値を有する。また、データ入力は、予め定義された符号化プロセスを使用して任意のタイプのデータに等価な数値である。
【００３６】
データ入力X1及びX2は、大きさpkのガロア値GF[pk]のメンバーとして表現される。本発明の実施の形態によれば、データ入力X1及びX2は、2のべき乗の大きさをもつガロア体、すなわちガロア体GF[pk]の表現で表わされる。係るシナリオでは、２進演算におけるガロア体GF[pk]のエレメントの操作は、些細なことである。
【００３７】
データ入力X1及びX2は、p進数の表現又は混合基数法の表現で表される。p進数の表現及び混合基数法は、当業者に知られており、従って本明細書では詳細に記載されない。しかし、p進数の表現は、ある数pのべき乗による整数の分割可能性に基づいた自然数の拡張である。２つの一般的な例として、一般的に使用される１０進数法は１０進数の表現を使用し、２進法は、２進数の表現を使用する。このp進数の表現は、加重数法の自然表現として見ることもでき、p進数の表現における桁は、ある数pのべき乗に対応する。本明細書で使用される記載「自然数」は、0よりも大きい正の整数のセットを示す。実際に、pは2よりも大きいか又は2に等しい。これは、1に等しいpの値は、情報についてキャパシティを有さないためである。自然数のガロア体の拡大により、p進数の系列となる。p進数の系列は、剰余xkのモジュロpのk個のエレメント（x0，x1，．．．，xk-1）からなる。
【００３８】
加重数法のp進数の表現GF[pk]は、長さkの複合体GF[p]・GF[p]・．．．・GF[p]に対して同一構造である。加重数法に関して全単射である演算子は、長さkの複合体に関して全単射として見られる場合がある。p進数のワードに関して加重数法として演算することは、エレメント間の相関を引き起こす一方で、サイズpのk個の独立なガロア体に関して演算することは、出力で独立なままとなる。第一のケースは、１以上のデータ入力が未知である場合に、復号することが一層困難となる。
【００３９】
図２に示されるように、最初の乗算２０２，２０４及び加算２０６，２０８は、データ入力X1及びX2を使用して実行される。これらの動作２０２，２０４，２０６，２０８は、アフィン変換を介してpkからpk+1に有限又はガロア体GF[pk]の大きさを増加させるために実行される。pは、データ入力のp進数の表現に基づいて選択される任意の素数となるように取られる。さらに、本発明は、この点において限定されない。乗算２０２，２０４の積は、Y1及びY2と呼ばれる。積Y1及びY2は、数式（1），（2）により定義される。
【数１】
2011528444.tif 000005
ここでY1及びY2は、乗算２０２，２０４を介して得られる積である。
【００４０】
その後、加算の演算２０６，２０８は、有限又はガロア体GF[p1]からの非ゼロの定数C1，C2をそれぞれの積Y1及びY2に加えるために実行される。非ゼロの定数C1，C2は、1，2，．．．，又はp-1の値を有する。これらの加算の演算２０６，２０８は、入力のアフィン変換を完成させ、データ入力X1及びX2の逆数の存在を確実にする。p＝2であって算術演算２０６，２０８が２進演算で実行される場合、アフィン変換は、２進数の１をデータ入力X1及びX2の最下位ビット（LSB）の右に単に付加し、これにより１がガロア体GF[2]における唯一の非ゼロのエレメントであるとして2X+1を実現する。
【００４１】
加算の演算２０６，２０８の結果は、Z1及びZ2と呼ばれる。結果Z1及びZ2は、数式（3），（4）により定義される。
【数２】
2011528444.tif 000006
ここでZ1及びZ2は、加算演算の結果である。Y1及びY2は、乗算演算２０２，２０４を介して得られた積である。C1，C2は、有限又はガロア体GF[p]から選択された非ゼロの定数である。等価的に、C1及びC2は、有限又はガロア体GF[p-1]から選択された制限されていない定数として選択され、値１だけ付加して増加される。X1及びX2は、RNS剰余の値、p進法の表現、又は混合基数法の表現として表現されるデータ入力である。pは、ガロア体GF[p]の有限体の大きさを定義する素数の定数である。
【００４２】
その後、ガロア体の乗算２１０は、結果Z1及びZ2を使用して実行される。このガロア体の乗算２１０は、拡大されたガロア体GF[pk+1]におけるデータ入力X1及びX2を結合するために実行される。ガロア体の乗算２１０の結果は、数式（5）により定義される。
【数３】
2011528444.tif 000007
ここでRV1は、ガロア体の乗算２１０の結果である。pk+1は、拡大されたガロア体GF[pk+1]のサイズにより定義される値を有する係数である。ガロア体GF[pk+1]からの２つのエレメントが乗算されるとき、積は、そのガロア体GF[pk+1]における別のエレメントであることを理解されたい。事実、有限の構造のサイズが保持される一方で、乗算の演算は、結果Z1及びZ2を使用して実行される。たとえば、16の値を有するためにpk+1が選択され、積Z1・Z2の結果が45の値となる場合、算術演算45modulo16の結果は、13に等しい。値13は、ガロア拡大体GF[16]の有限の多数の可逆的なエレメント｛1，3，．．．，15｝におけるエレメントである。
【００４３】
図２に示されるように、非ゼロの定数C1，C2がガロア体の乗算２１２を介して互いに結合される。このガロア体GF[p1]の乗算２１２は、ガロア体GF[p1]における非ゼロの定数C1，C2を結合するために実行される。ガロア体の乗算２１２の結果は、数式（6）により定義することができる。
【数４】
2011528444.tif 000008
ここでRV2は、非ゼロの定数C1，C2を表す値である。pは、ガロア体GF[p1]の有限の場のサイズを定義する素数の値を有する法である。pが2に等しく（p=2）、C1のC2倍が1に等しい（C1＝C2＝C1・C2＝1）場合、ガロア拡大体におけるこの乗算２１２を実行する必要がない。これは、逆数がデータ入力X1及びX2の両者について常に存在するためである。
【００４４】
図２に示されるように、（RV1−RV2）・p-1は、ガロア体GF[pk+1]からガロア体GF[pk]へのアフィン変換２１４を実行するために計算される。アフィン変換２１４は、結果Qを得るためにRV1からRV2を減算することを含む。この減算の演算は、GF[pk+1]で実行される。結果Qは、数式（7）により定義される。
【数５】
2011528444.tif 000009
その後、差Qは、結合された出力（CO）を得るために、乗算の演算２１６を介してp1の逆数と結合される。結合された出力は、数式（8）により定義される。
【数６】
2011528444.tif 000010
ここでQは、RV1からRV2を減算することから得られた結果である。p-1は、加重数法において考慮される、素数pの逆数である。
【００４５】
全体的なCGFC計算プロセス２００は、数式（9）により一般的に定義される。
【数７】
2011528444.tif 000011
ここでpはガロア体GF[pm]の有限体のサイズを定義する素数の定数である。X1及びX2は、p進法の表現又は混合基数法の表現における値として表現されるデータ入力である。C1及びC2は、ガロア体GF[p]から選択された非ゼロの値である。pk+1は、ガロア体GF[pk+1]の有限体のサイズを定義する番号の値である。2に等しいpについて、拡大されたガロア体GF[pk+1]における全ての積は奇数である。従って、数式（8）において定義された演算は、モジュロ2k+1の乗算RV1のk+1ビットの結果をkの最上位ビット（MSB）に切り捨てることで、２進演算で単に実行される。より一般的に、最下位ビット（LSB）は、RV1からRV2を減算した結果から除かれる。
【００４６】
図２を参照して、ランダム数の系列の繰り返し周期を拡大する方法を容易に構築することができる。相互に素数の繰り返し周期をもつ擬似ランダム数発生器から到来する入力X1及びX2として2つのランダム数の系列が与えられた場合、出力の数値系列は、入力の繰り返し周期の積に等しい繰返し周期をもつ別の擬似ランダム数の系列を生じさせる非線形の結合である。このパラグラフで記載される方法は、ガロア体内部の乗算が連結しているので、より多数のランダム数発生器の結合に自明に拡張される。この文脈では、「連結している“associative”」特性は、任意の組み合わせにおいて計算プロセスへの入力を順序付けて、同じ出力を得る機能を示す。なお、（図２に関して上述された）CGFC計算プロセス２００は、全体として連結している。
【００４７】
なお、CGFC計算プロセス２００は、符号化プロセスに従って変更することができることを理解されたい。係るシナリオでは、データ入力X1は、データを表す数値系列からの数である。X2は、符号化系列からの数である。符号化系列は、限定されるものではないが、擬似ランダム数の系列又は擬似カオスのランダム数の系列である。係る変更されたCGFC計算プロセス２００の例は、図３に提供される。
【００４８】
図３を参照して、データを符号化するCGFC計算プロセス３００のブロック図が提供される。なお、CGFC計算プロセス３００は、ストリーム暗号を生成する他のプロセス又は他の符号化アルゴリズムと共に使用される場合がある。係る構造は、限定されるものではないが、フィードバックループ、スクランブリング、及び混合基数演算を含む。
【００４９】
図３に示されるように、データ系列３０２のそれぞれの値は、（図１及び図２に関して上述された）ガロア拡大体の乗算３１４により符号系列３０４の値と結合される。データ系列３０２及び／又は符号系列３０４は、既知の算術の関係を有するように選択される。データ系列３０２及び符号系列３０４は、加重数法において表現される２以上の桁からなる。係るシナリオでは、データ系列３０２及び符号系列３０４は、それぞれの系列３０２，３０４からの桁の個別のサブセットを使用して、ガロア拡大体の乗算３１４を選択的に実行することで結合される。
【００５０】
なお、符号系列３０４の値のダイナミックレンジは、データ系列３０２の値のダイナミックレンジよりも大きいか又は該ダイナミックレンジに等しくなるように想定される。本明細書で使用されるように、記載「ダイナミックレンジ」は、ある数又はある測定値の可能性のある値の数を示す。ダイナミックレンジは、符号発生器がサブサイクルに動作しないとき、可能性のある入力値のセットの濃度（cardinality）に等価である。
【００５１】
なお、符号系列３０４は、１以上のランダム数発生器により発生される値の切捨てられた又はランダムな選択から形成される場合がある。ランダム数発生器は、当業者に知られており、従って本明細書で詳細に記載されない。符号化プロセス３００の符号化されたデータ出力の系列３２０は、符号化された系列３０４の値を使用して、データ系列３０２への符号化ブロック又は暗号化ブロックを表す。
【００５２】
なお、符号化データの出力系列３２０をデコードするほぼ対称な方法が存在する。デコードプロセスは、結合された出力の符号化データ系列３２０からデータ系列３０２を得るために実行することができる。係る逆のCGFC計算プロセスは、図４において以下に記載される。
【００５３】
図４を参照して、第一の入力系列４０２は、（図３に関して上述された）符号化プロセス３００において展開された符号化データの出力系列３２０である。第二の入力系列４０４は、符号化プロセス３００で利用される符号系列３０４の同期されたレプリカである。この符号系列４０４に関する「逆の」演算４１４は、オリジナルの符号系列３０４の値から、結合ステップについて使用された同じガロア拡大体内のポストアフィン変換の符号化系列の値の固有の逆数への全単射のマッピングを示す。この逆演算は、値毎に計算される。逆演算は、計算プロセス、デジタルロジック、ルックアップテーブル又はソフトウェアの任意の組み合わせを使用して実現される場合がある。剰余数法において逆数を発見する効果的な方法は、当業者に知られており、従って本明細書で詳細に記載されない。しかし、ガロア体において逆数を決定する１つの一般的な方法は、拡大されたユークリッドアルゴリズムによる。拡大されたユークリッドアルゴリズムは、当業者に知られており、本明細書では詳細に説明されない。
【００５４】
符号系列４０４が与えられると、復号プロセス４００は、（図２に関して上述された）CGFC計算プロセス２００への変更された結合技術に従う。この点に関して、復号プロセス４００は、乗算の演算４０６，４０８及び加算の演算４１０，４１２を含むことが理解される。復号プロセス４００は、ガロア拡大体の乗算演算４１６及びガロア体の乗算演算４１８を含む。復号プロセスは、加算演算４２０及び乗算演算４２２を更に含む。復号プロセス４００の出力系列４２４は、図３のオリジナルのデータ系列３０２と同じである。
【００５５】
表３は、ガロア体GF[8]が図３及び図４に示されるフローに従う場合に、データ及び符号系列から可能性のある全てのエンコード及びデコードされた値を示す。表見出し「第一のデータソースからのデータ系列」は、図３のデータ系列３０２の値を示す。表見出し「第二のデータソースからの符号系列」は、図３の符号系列３０４の値を示す。表見出し「第一のデータソースのアフィン変換」は、図３の乗算及び加算演算３０６，３１０により生成されるZ1の値を示す。表見出し「第二のデータソースのアフィン変換」は、図３の乗算及び加算演算３０８，３１２により生成されるZ2の値を示す。表見出し「GF[16]結果」は、図３の中間結果RV1を示す。表見出し「GF[8]結果」は、図３の中間結果COを示す。表見出し「GF[16]における1/データソース2」は、図４の中間結果Z4を示す。表見出し「GF[8]デコードデータ」は、図４のデコードされたデータ系列４２４を示す。この２進法（p=2）の例では、値のそれぞれに付加される任意の非ゼロの値は、常に1である。また、デコードステップは、系列の値それ自身よりもランダム系列の逆数による乗算を必要とする。
【００５６】
【表３】
2011528444.tif 000012
【００５７】
【表４】
2011528444.tif 000013
【００５８】
【表５】
2011528444.tif 000014
［閉じたガロア体の暗号化システム］
従来の暗号化システムは、典型的に、デジタルハードウェアで実現される非対称な暗号化又は復号処理技術を典型的に必要とすることを理解されたい。本明細書で使用される記載「非対称な処理」は、関連する動作を実行するために必要とされる時間、処理構造、又は計算上のリソースにおける著しい違いを示す。この非対称な暗号化又は復号処理技術は、多数の暗号化機能及び応用を制限することができる。たとえば、RSAアルゴリズムは、データを暗号化する公開鍵及び秘密鍵を選択することを含む。この選択は、典型的に、メッセンジャーによる暗号化ステップよりも意図されたユーザによるメッセージの復号を著しく簡単にする。デジタルハードウェアは、典型的に、比較的多数のデジタルロジックゲートを含む。係るように、従来の暗号化システムは、高い電力消費量及び比較的長いデータ処理時間を有する。対称な処理を可能にする暗号化方法は、機能及び柔軟性における柔軟性と同様にハードウェアの設計の再使用を可能にする。
【００５９】
（たとえば図５に示される）閉じたガロア体（CGF）暗号化システムの実施の形態は、デジタルハードウェアで実現される対称暗号化及び復号処理技術を提供する。本明細書で使用される記載「対称処理」は、実質的に類似の処理構造、時間及びリソースを使用してメッセージを暗号化及び復号する機能を示す。実際に、CGF暗号化システムの実施の形態は、従来の暗号化システムに比較して比較的短いデータ処理時間を有する。CGF暗号化システムの実施の形態は、効率的な結合手段により従来の暗号化システムに比較して比較的低い電力消費量を有する。
【００６０】
図５を参照して、本発明の構成を実現するために使用される閉じたガロア体（CGF）暗号化システム５００の１実施の形態が例示される。CGF暗号化システム５００は、メッセージジェネレータ５０２及びランダム数発生器（RNG）５０４，５１０から構成される。また、CGF暗号化システム５００は、閉じたガロア体（CGF）暗号化システム５０６及び閉じたガロア体（CGF）復号システム５０８から構成される。メッセージ発生器５０２は、ペイロードデータを生成するために構成されるハードウェア及びソフトウェアから構成される。メッセージ発生器５０２は、ブロック形式でペイロードデータを表現する動作を実行するために構成されるハードウェア及びソフトウェアから構成される。メッセージ発生器５０２は、CGF暗号化システム５０６にペイロードデータを伝達するために構成されるハードウェア及びソフトウェアから更に構成される。
【００６１】
RNG５０４は、暗号化系列を生成するために構成されるハードウェア及びソフトウェアから構成される。暗号化系列は、線形又は非線形に生成された擬似ランダム数又は擬似カオスランダム数から構成される。また、RNG５０４は、CGF暗号化システム５０６にランダム数の系列を伝達するために構成されるハードウェア及びソフトウェアから構成される。
【００６２】
CGF暗号化システム５０６は、メッセージ発生器５０２からのペイロードデータ及びRNG５０４からの暗号化系列を受けるために構成されるハードウェア及びソフトウェアから構成される。また、CGF暗号化システム５０６は、ランダム数系列を使用してペイロードデータを暗号化するため、（図１に関連して上述された）CGFC方法１００及び（図３に関連して上述された）CGFC計算プロセス３００を実現及び実行するために構成されるハードウェア及びソフトウェアから構成される。さらに、CGF暗号化システム５０６は、CGF暗号化システム５０８に結合された出力を伝達するために構成されるハードウェア及びソフトウェアから構成される。
【００６３】
RNG５１０は、復号系列を生成するために構成されるハードウェア及びソフトウェアから構成される。復号系列は、線形又は非線形の生成された擬似ランダム数又は擬似カオスランダム数から構成される。復号系列は、RNG５０４により生成された暗号化系列に基づいて反転された系列である。また、RNG５１０は、データブロックフォーマット化を実行するために構成されるハードウェア及びソフトウェアから構成される。さらに、RNG５１０は、CGF復号システム５０８に復号系列を伝達するために構成されるハードウェア及びソフトウェアから構成される。
【００６４】
CGF復号システム５０８は、CGF暗号化システム５０６からの結合された出力及びRNG５１０からの復号系列を受信するために構成されるハードウェア及びソフトウェアから構成される。また、CGF復号システム５０８は、ペイロードデータを復号するため、（図４に関して上述された）逆CGFC計算プロセス４００を実現及び実行するために構成されるハードウェア及びソフトウェアから構成される。さらに、CGF復号システム５０８は、外部装置（図示せず）にメッセージデータを伝達するために構成されるハードウェア及びソフトウェアから構成される。
【００６５】
本発明の上述された記載を考慮して、本発明はハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実現することができることを認識されたい。任意の種類のコンピュータシステム、又は本明細書で開示される方法を実行するために適合される他の装置が適する。典型的なハードウェアとソフトウェアの組み合わせは、ロード及び実行されたときに、本明細書で記載された方法を実行するようにコンピュータプロセッサを制御するコンピュータプログラムによる汎用コンピュータプロセッサである。勿論、特定用途向け集積回路（ASIC）及び／又はFPGAは、同様の結果を達成するために使用される。
【００６６】
また、本発明は、本明細書で記載された方法の実現を可能にする全ての機能を含み、コンピュータシステムにロードされたとき、これらの方法を実行することができるコンピュータプログラムプロダクトで実施される。このコンテクストにおけるコンピュータプログラム又はアプリケーションは、ａ）別の言語、符号又は表記への変換、ｂ）異なるマテリアルの形式における再生の何れか又は両者の直接に又は後に、情報処理機能を有するシステムに特定の機能を実行させることが意図される命令のセットからなる任意の言語、符号又は表記での表現を意味する。さらに、先の記載は、例示として意図され、以下の特許請求の範囲で述べる内容を除いて本発明を制限することが意図されない。
【図１】
2011528444.tif 000015
【図２】
2011528444.tif 000016
【図３】
2011528444.tif 000017
【図４】
2011528444.tif 000018
【図５】
2011528444.tif 000019
2011528444.tif 000020