JP4871944B2 - 乱数列の反復周期を延長するよう構成された暗号システム - Google Patents

乱数列の反復周期を延長するよう構成された暗号システム Download PDF

Info

Publication number
JP4871944B2
JP4871944B2 JP2008275824A JP2008275824A JP4871944B2 JP 4871944 B2 JP4871944 B2 JP 4871944B2 JP 2008275824 A JP2008275824 A JP 2008275824A JP 2008275824 A JP2008275824 A JP 2008275824A JP 4871944 B2 JP4871944 B2 JP 4871944B2
Authority
JP
Japan
Prior art keywords
data stream
sequence
value
random number
rns
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008275824A
Other languages
English (en)
Other versions
JP2009110002A (ja
Inventor
ジェイ マイケルズ アラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harris Corp
Original Assignee
Harris Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harris Corp filed Critical Harris Corp
Publication of JP2009110002A publication Critical patent/JP2009110002A/ja
Application granted granted Critical
Publication of JP4871944B2 publication Critical patent/JP4871944B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/766Generation of all possible permutations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Description

本発明の装置は、乱数列の反復周期を延長するよう構成された手段を有する暗号システムに関する。より詳細には、本発明の装置は、複数の数の任意の置換配列(permutation ordering)に基づいて乱数列を生成するよう構成されたリング発生器に関する。
乱数列を必要とする多くの暗号システムは典型的にはリング発生器(ring generator)および/または巡回構造(cyclic structure)を含む。リング発生器は、反復されたマッピングを通じて可能な出力を網羅的に生成する有限体上の単純な構造である。マッピングは、既約多項式が理想的である、加法的および乗法的マッピングの何らかの組み合わせである。たとえば、リング発生器は、有限ガロア体GF[11]上の既約多項式f(x)=3x3+3x2+xの反復計算を含む。リング発生器の主たる制限は、その軌道が高度に決定論的であるということである。よって、マッピングおよび現在の有限体条件を知ることで、出力列(output sequence)を完全に知ることができる。
乱数列を必要とする暗号システムでは、リング発生器はしばしばデータ・ビットの列を修正するためのアルゴリズムにおいて用いられる。そのようなアルゴリズムは典型的には、有限体すなわちガロア体で実行される算術演算を含む。有限体すなわちガロア体GF[p]とは、有限個の元、すなわち{0,1,2,...,p−1}のみを含む体である。よって、有限体すなわちガロア体で実行されるあらゆる算術演算の結果は、その体に含まれる元である。有限体すなわちガロア体GF[p]はガロア標数pによって定義される有限体の大きさを有する。よって、時間不変な演算子の反復マッピングを通じて生成される任意の出力列はp番目の要素ごとに反復する。この反復挙動が相関を生じ、それにより、pが小さいときは出力列のデコードを比較的簡単にしてしまう。よって、アルゴリズムは典型的には有限体すなわちガロア体の大きさを拡張して反復周期が長くなるようにする操作を含む。
当技術分野において知られている、有限体すなわちガロア体GF[p]を拡張する多くの方法がある。ここで、pは2の整数冪2kである。同型内で有限体すなわちガロア体GF[2k]を拡張するそのような方法の最も簡単なものは、入力ビット数を増やすことを含む。他の方法としては、そのリング発生器を他の発生器に結合することを含む。たとえば、リング発生器は、孫子の剰余定理(CRT: Chinese Remainder Theorem)を実装するデジタル・ハードウェアから構成される任意の数の他の発生器(互いに素な標数をもつものとする)に結合されてもよい。理解されるはずであるように、CRT計算は混合基数計算を組み合わせるために実行される。CRT計算は、発生器への入力が互いに素な数である場合にのみ使用されうる。この方法の利点にもかかわらず、この方法はある種の欠点がある。たとえば、この方法はその性質上、巡回的であり、固定である。デジタル・ハードウェアを用いた奇素数を基数とする元のCRT計算は、計算量的に非効率的である。また、互いに素な数および初期条件があらかじめわかっていれば、発生器の出力列は高度に決定論的である。
乱数列を必要とする暗号システムはまた、典型的には、出力列をマスクして外部の観察者が出力列を判別できないようにするために、決定論的なスクランブリング方法に依拠する。スクランブリング方法は、任意の所与の入力列に対して出力のエントロピーを増すために使われる。よって、これらの暗号システムはスクランブラーを含む。スクランブラーは決定論的なスクランブル・アルゴリズムに従って動作するので、スクランブルされた信号からもとの信号を復元できる。決定論的なスクランブル方法および関連するアルゴリズムは当業者にはよく知られており、よって本稿では詳述しない。
しかしながら、一つのそのようなスクランブル方法が、データをスクランブルするために換字ボックス(Sボックス)関数を使用する決定論的なスクランブル・アルゴリズムを実装することを含むことは理解しておくべきである。Sボックスは、出力列をリバース・エンジニアリングから守るために暗号システムの出力列に追加的な変化を加えるために使われる、数の配列である。Sボックス関数はしばしばいくつかの所望される属性をもつ。たとえば、決定論的スクランブル・アルゴリズムはSボックスを使い、決定論的スクランブル解除アルゴリズムはSボックスの逆を使う。よって、Sボックス関数は、スクランブルされた列から出力列が得られるよう、可逆である。この決定論的スクランブル方法はまた、ファイステル構造のような複雑な混合ネットワークを生成することも含む。理解されるはずであるように、ファイステル構造は複数ラウンドの反復操作を組み合わせる。そのような操作は、これに限られないが、ビット・シャッフル、非線形関数および線形関数を含む。この決定論的スクランブル方法の利点にもかかわらず、この方法はある種の欠点がある。たとえば、この決定論的スクランブル方法は時間不変である。この決定論的スクランブル方法はまた、資源集約的であることもある。
以上のことに鑑み、有限体またはガロア体の大きさを拡張する方法であって、従来式の有限体拡張方法よりも計算効率がよい方法に対する必要が残っている。また、出力列のエントロピーを増す可逆な方法であって、従来式の決定論的スクランブル方法よりも計算効率がよい方法に対する必要もある。そのような方法はまた、暗号システムに高度なセキュリティ機能を提供するために設計される必要もある。さらに最も重要なことに、多様な暗号システム用途で使用できる、数の任意の置換配列を発生させる方法および装置に対する必要がある。
本発明は暗号システムに関する。暗号システムはデータ・ストリーム源、リング発生器および暗号化器を有する。データ・ストリーム源は、入力データ・ストリームを提供するよう構成されている。リング発生器は、計算手段、変換手段および置換手段を有する。計算手段は、乱数列中の一つの乱数を一つまたは複数のRNS剰余値として表現するために一つまたは複数のRNS算術演算を実行するよう構成されている。変換手段は、RNS剰余値のそれぞれを互いに素な基数系に変換して、RNS剰余値のそれぞれが少なくとも一つの数字を含むようにするよう構成される。置換手段は、RNS剰余値のそれぞれに関連付けられた選ばれた組み合わせの数字を使って出力列の数の任意の置換配列を生成するよう構成されている。任意の置換配列は巡回構造を使って決定される。暗号化器はデータ・ストリーム源およびリング発生器に結合される。暗号化器は、入力データ・ストリームに出力列の数を組み込むまたは組み合わせることによって、修正されたデータ・ストリームを生成するよう構成される。
本発明のある側面によれば、乱数列中の各乱数は、0からn!−1の範囲内の値をもつ。巡回構造はn個の元をもつ。出力列の数のそれぞれは、このn個の元のうちの個々の元に関連付けられている。
本発明の別の側面によれば、計算手段はさらに、互いに素な数を法として使ってRNS剰余値を計算するよう構成される。互いに素な数は、n!によって定義される十進数に等しい積をもつよう選択される。変換手段はさらに、RNS剰余値のそれぞれを異なる互いに素な基数系に変換するよう構成される。
本発明の別の側面によれば、前記選ばれた組み合わせの数字は、それらの数字(digits)によって決定できる値(values)の範囲が、巡回構造中の利用可能な選択されていない元の数に等しいように選ばれる。置換手段は、前記選ばれた組み合わせの数字(digits)の値(a value)を使って、巡回構造中の利用可能な選択されていないある元を選択するよう構成される。置換手段はまた、孫子の剰余定理を使って少なくとも二つのRNS剰余値に関連付けられた少なくとも二つの数字を組み合わせ、前記少なくとも二つの数字の積に等しい異なる基数をもつ数字を得るよう構成される。置換手段はさらに、孫子の剰余定理を使って一つまたは複数の追加的な巡回リング発生器と組み合わさるよう構成される。置換手段は、異なる基数をもつ前記数字を使って、巡回構造中の利用可能な選択されていないある元を選択するよう構成される。
本発明の別の側面によれば、暗号化器は乗算器、加算器、デジタル論理デバイスおよびフィードバック機構のうちの少なくとも一つを含む。暗号化器は、入力データ・ストリームをマスクするために組み合わせ法を実行するようにも構成される。該組み合わせ法は、標準的な乗算演算、ガロア拡大体での乗算演算、qを法とする加算演算、qを法とする減算演算およびビットごとの論理演算を含みうる。
本発明のさらにもう一つの側面によれば、暗号システムは修正データ・ストリーム受信手段を有する。修正データ・ストリーム受信手段は修正されたデータ・ストリームを受信するよう構成される。暗号システムは、第二のリング発生器をも有する。第二のリング発生器は復号列を生成するよう構成される。暗号システムはさらに復号器を有する。復号器は、修正データ・ストリーム受信手段および第二のリング発生器に電子的に接続されている。復号器は、修正データ・ストリームおよび復号列を使って復号方法を実行することによって復号されたデータを生成するよう構成される。
第二の暗号システムが提供される。第二の暗号システムはデータ・ストリーム受信手段(DSRM)、第一のリング発生器および拡散操作器を有する。DSRMはデータ・ストリームを受信するよう構成される。第一のリング発生器は計算手段、変換手段および置換手段を有する。計算手段は、乱数列中の一つの乱数を複数のRNS剰余値として表現するために複数のRNS算術演算を実行するよう構成されている。変換手段は、RNS剰余値のそれぞれを互いに素な基数系に変換して、RNS剰余値のそれぞれが少なくとも一つの数字を含むようにするよう構成される。置換手段は、RNS剰余値のそれぞれに関連付けられた選ばれた組み合わせの数字を使って出力列の数の任意の置換配列を生成するよう構成されている。任意の置換配列は巡回構造を使って決定される。拡散操作器はDSRMおよび第一のリング発生器に結合される。拡散操作器は、出力列の数の前記任意の置換配列を使ってデータ・ストリームを置換すること(permuting)によって拡散されたデータ・ストリームを生成するよう構成される。
本発明のある側面によれば、乱数は0からn!−1の範囲内の値をもち、巡回構造はn個の元をもつ。出力列の数のそれぞれは、このn個の元のうちの個々の元に関連付けられている。計算手段はさらに、互いに素な数を法として使ってRNS剰余値を計算するよう構成される。互いに素な数は、n!によって定義される十進数に等しい積をもつよう選択される。変換手段はさらに、RNS剰余値のそれぞれを異なる互いに素な基数系に変換するよう構成される。前記選ばれた組み合わせの数字は、それらの数字(digits)によって決定できる値(values)の範囲が、巡回構造中の利用可能な選択されていない元の数に等しいように選ばれる。
置換手段は、前記選ばれた組み合わせの数字(digits)の値(a value)を使って、巡回構造中の利用可能な選択されていないある元を選択するよう構成される。置換手段はまた、孫子の剰余定理を使って少なくとも二つのRNS剰余値に関連付けられた少なくとも二つの数字を組み合わせ、前記数字とは異なる基数をもつ数字を得るよう構成される。置換手段はさらに、孫子の剰余定理を使って一つまたは複数の追加的な巡回リング発生器と組み合わさるよう構成される。置換手段は、異なる基数をもつ前記数字を使って、巡回構造中の利用可能な選択されていないある元を選択するよう構成される。
本発明のさらにもう一つの側面によれば、暗号システムは拡散データ・ストリーム受信手段(DDSRM)、第二のリング発生器および逆拡散操作器を有する。DDSRMは拡散されたデータ・ストリームを受信するよう構成される。第二のリング発生器は逆拡散列を生成するよう構成される。逆拡散列は擬似乱数または擬似カオス的乱数を含む。逆拡散操作器はDDSRMおよび第二のリング発生器に結合されている。拡散操作器は、逆拡散列を使って逆拡散操作を実行することによって、拡散されたデータ・ストリームの拡散を解除するよう構成される。
諸実施形態について図面を参照しつつ述べる。図面において、各図を通じて同様の符号は同様の項目を表す。
ここで、本発明について以下に、付属の図面を参照しつつより十全に記載する。図面には本発明の例示的な実施形態が示されている。しかしながら、本発明は数多くの異なる形態で実施されてもよく、本稿に記載される実施形態に限定されると解釈すべきではない。たとえば、本発明は、方法、データ処理システムまたはコンピュータ・プログラム・プロダクトとして実施できる。よって、本発明は、完全にハードウェアの実施形態として、完全にソフトウェアの実施形態として、あるいはハードウェア/ソフトウェア実施形態としての形をとることができる。
本発明のいくつかの実施形態は、乱数列の反復周期を延長するためのアルゴリズムを提供する。そのような実施形態はまた、数の任意の置換配列を生成するアルゴリズムをも提供する。この点で、そのようなアルゴリズムは多様な暗号システム用途において使用できることを理解しておくべきである。たとえば、そのようなアルゴリズムは、有限体すなわちガロア体の大きさを効率的に拡張するためのリング発生器またはその他の巡回構造において実装されることができる。本アルゴリズムは決定論的なスクランブル方法でも実装できる。そのようなシナリオでは、本アルゴリズムは、マスクするために、出力列の部分集合に適用できる。本アルゴリズムはさらに、乱数列の反復周期を長くするために、擬似乱数発生器において実装されることもできる。
図1を参照すると、数列の反復周期を延ばすアルゴリズムの概念図が与えられている。これに関し、乱数列RN0,…,RNNが生成されていることは理解されるはずである。各乱数RN0,…,RNNは0からn!−1までの間の整数値をもつ。乱数列RN0,…,RNNはある時間周期ののちに反復する。よって、この時間周期を延長するためのアルゴリズムが用いられる。このアルゴリズムについて以下で(図1、図2との関連で)詳細に述べる。
再び図1を参照すると、本アルゴリズムは、何らかの規定された算術プロセスによって計算済みの乱数RN0をもって始まる。そのような算術プロセスは当業者にはよく知られている。よって、規定された算術プロセスについては本稿では詳述しない。しかしながら、この算術プロセスが、擬似乱数または擬似カオス的数を計算するための算術プロセスでよいことは理解されるはずである。また、乱数列RN0,…,RNNの各乱数が0からn!−1までの間の十進数値をもつことができることも理解されるはずである。n!は、乱数列RN0,…,RNNの要素がとりうる可能な値全体を表す十進数値と等価な階乗である。
乱数RN0,…,RNNは十進法表現または二進法表現で表せる。乱数列RN0,…,RNNが十進法表現で表される場合、乱数列RN0,…,RNNは十進法の数字の列である。ここで、本稿で使われる「数字(digit)」の用語は、位取り記数法における単一の記号を指す。たとえば、列45は数字4および数字5を有する。数字4は、数字5の値の10倍であるよう重み付けされている。十進数列の各数字は、値0、1、2、3、4、5、6、7、8または9をもつ。十進数列は、特定のアルゴリズム用途に従って選択された数字の長さをもつ。乱数列RN0,…,RNNが位取り二進法表現で表される場合、各乱数RN0,…,RNNは数字の二進列である。二進列の各数字は0の値または1の値をもつ。二進列は、特定のアルゴリズム用途に従って選択された数字の長さをもつ。
各乱数RN0,…,RNNは、RNS算術演算を使って剰余数系(RNS: residue number system)の剰余値RV0,…,RVJの集合として表せる。モジュラー算術(modular arithmetic)は当業者にはよく知られている。よって、そのような演算は本稿では詳述しない。しかしながら、RNS剰余値が式(1)によって定義できることは理解されるはずである。
RVp=RNn mod mp (1)
ここで、
RVpは、mpを法として乱数RNnを表すRNS剰余値であり;
RNnは乱数列RN0,…,RNNにおける乱数の一つであり;
mpは、基数k 基数の値をもつことのできる法である。
法mp=m0 km0,m1 km1,…,mJ kmJはn!の一意的な素因数分解によって定義される値をもつよう選択される。上記したように、n!は、乱数列RN0,…,RNNが等しくなれる全可能な値の数である。これに関し、理解されるはずだが、数論の基本定理(FTA: Fundamental Theorem of Arithmetic)を使って、乱数を一意的な互いに素な数の積として書くことができ、それは、個々の素数の別々の冪に分離されても自動的に互いに素である。本稿で使われるところの「互いに素な数」という句は、最大公約数が1である数の集まりをいう。たとえば、8の階乗(8!)は、40,320の値をもつ十進数に等しい。この十進数は素数の積として表せる(40,320=2K2・3K3・5K5・7K7=27・32・51・71)。そのようなシナリオにおいて、数列RN0,…,RNK中の各乱数をRSN剰余値RV0,…,RVJの集合として表すために用いられる各RNS算術演算は、互いに素な数27、32、51、71をそれぞれ法m0 km0、m1 km1、 m2 km2、m3 km3として使うことができる。理解されるはずであるように、剰余数系は、個々の法ができるだけ小さいときに計算効率における利得の最大の潜在力を与える。さらに、デジタル・ハードウェアは二進算術のために最適化されているので、因子2は特別な場合である(本来的に効率的)。
再び図1を参照すると、各RNS剰余値RV0,…,RVJは異なる互いに素の数系の表現で表せる。この点で、異なる互いに素の数系を使うことの利点として、一剰余空間における演算が他の剰余空間とは独立に実行できるということがあることは理解されるはずである。複数の剰余計算を独立して実行したのち、それらの計算の結果が、孫子の剰余定理アルゴリズムのようなアルゴリズムを介して再び組み合わされることができる。再び組み合わせた結果は、乱数RN0,…,RNNによって定義される同型(isomorphism)内での諸数の置換配列と同じである諸数の置換配列を効率的に実装するために使用できる。
本発明のある実施形態によれば、RNS剰余値RV0は二進数系(すなわち基数2の系)表現で表せる。よって、剰余値RV02進は二進数字の列である。各二進数字は0または1の値をもつ。RNS剰余値RV1は三進数系(すなわち基数3の系)表現で表せる。よって、RNS剰余値RV13進は三進数字の列である。各三進数字は0、1または2の値をもつ。RNS剰余値RV2は五進数系(すなわち基数5の系)表現で表せる。よって、RNS剰余値RV2 5進は五進数字の列である。各五進数字は0、1、2、3または4の値をもつ。RNS剰余値RV3は七進数系(すなわち基数7の系)表現で表せる。よって、RNS剰余値RV37進は七進数字の列である。各七進数字は0、1、2、3、4、5または6の値をもつ。それでも、本発明はこの点について限定されない。
再び図1を参照すると、RNS剰余値RV02進,…,RVJ
mJ進の全部または一部の選ばれた組み合わせを使って、数の部分的または完全な任意の置換配列が生成される。これに関し、各RNS剰余値RV02進,…,RVJ
mJ進が一つまたは複数の数字を有していることは理解されるはずである。たとえば、RNS剰余値RV02進は二進数字b1b2…bK2からなることができる。RNS剰余値RV13進は三進数字t1t2…tK3からなることができる。RNS剰余値RV25進は五進数字pt1pt2…ptK5からなることができる。RNS剰余値RV37進は七進数字s1s2…sK7からなることができる。そのようなシナリオにおいて、出力列の諸数の任意の置換配列が決定でき、図2のAに示されるような巡回構造に適用されることができる。
ここで図2のAおよびBを参照すると、巡回構造200は複数の元A、B、…Hを有している。元A、B、…Hの数はn!の十進数nによって定義される。上記のように、n!は、乱数列RN0,…,RNNが等しくなれる全可能な値の数である。本稿で開示する方法が元A、B、…Hのうちの特定の一つを指定するために、各元に対応する開始位置(starting position)値を割り当てることが有用である。図2のAおよびBに示された本発明の実施形態によれば、元Aは開始位置0をもつ。元Bは開始位置1をもつ。元Cは開始位置2をもつ、などとなっている。だが、本発明はこの点に関して限定されるものではない。たとえば、元Aは代替的に開始位置1をもっていてもよい。元Bは代替的に開始位置2をもっていてもよい。元Cは代替的に開始位置3をもっていてもよい、などである。同様に、本稿で開示される方法が特定の出力列を指定するために、各元に対応する出力列数(output sequence number)を割り当てることが有用である。図2のAおよびBに示した本発明の実施形態によれば、元Aは対応する出力列数1をもつ。元Bは対応する出力列数2をもつ。元Cは対応する出力列数3をもつ、などである。だが、本発明はこの点に関して限定されるものではない。
再び図1ならびに図2のAおよびBを参照すると、巡回構造200の元の列が、RNS剰余値RV0,…,RVJの全部または一部を使って決定される。たとえば、巡回構造200に8つの可能な元A、B、…Hがあるとすると、出力列の最初の数は、三つの剰余値RV02進数字(たとえばb1b2b3)の任意の組を使って一意的に決定できる。理解されるはずであるように、数字の組b1b2b3は関連する十進の値0、1、2、3、4、5、6または7をもつことができる。たとえば、二進数字b1b2b3が000という二進値をもつ場合、この二進値は十進値0に変換される。これに対し、二進数字b1b2b3が111という二進値をもつ場合、この二進値は7という十進値に変換される。この数字の組b1b2b3が関連する十進値3をもつとすると、巡回構造200列中の開始元は、元A〜Hのうちで開始位置3をもつ元、すなわち図2のCに示されるように元Dである。したがって、出力列の最初の数は十進値4、すなわち図2のBに示されるように元Dに関連する出力列数の値をもつ。
結果として、今や巡回構造200の列における第二の元として選択する7つの元A、B、C、E、F、G、Hがある。よって、出力列の第二の数は、剰余値RV37進の七進数字(たとえばs1)を使って一意的に決定できる。理解されるはずであろうように、七進数字s1は関連する十進の値0、1、2、3、4、5または6をもつことができる。七進数字s1が関連する十進値4をもつとすると、巡回構造200列中の第二の元は、元A〜CおよびE〜Hのうちで位置4をもつ元、すなわち図2のCに示されるように元Fである。出力列の第二の数は十進値6、すなわち図2のBに示されるように元Fに関連する出力列数の値をもつ。
これで巡回構造200の列における第三の元として選択する6つの元A、B、C、E、G、Hがある。よって、出力列の第三の数は、剰余値RV02進の二進数字(たとえばb4)およびRNS剰余値RV13進の三進数字t1(たとえばt1)を使って一意的に決定できる。理解されるはずであろうように、第四の二進数字b4は値0または1をもつことができる。第一の三進数字t1は値0、1または2をもつことができる。これら二つの混合基数の数字は孫子の剰余定理(CRT)を介して組み合わせて、単一の有効六進数字の値を得てもよい。CRTまたは同様の方法を介した混合基数の再結合は当業者にはよく理解されている。したがって、CRTおよび同様の方法については本稿では詳述しない。第四の二進数字b4が値1をもち、第一の三進数字t1が値0をもつとすると、巡回構造200列中の第三の元は、元A〜C、EおよびG〜Hのうちで位置3にある元、すなわち図2のCに示されるように元Eである。注目すべき点として、3という位置値はCRTを使って得られる。出力列の第三の数は十進値5、すなわち図2のBに示されるように元Eに関連する出力列数の値をもつ。
これで巡回構造200の列における第四の元として選択する5つの元A、B、C、G、Hがある。よって、出力列の第四の数は、RNS剰余値RV25進の五進数字(たとえばpt1)を使って一意的に決定できる。理解されるはずであるように、五進数字pt1は十進値0、1、2、3または4をもつことができる。五進数字pt1が十進値1をもつとすると、巡回構造200列中の第四の元は、元A〜CおよびG〜Hのうちで位置1にある元、すなわち図2のCに示されるように元Bである。出力列の第四の数は十進値2、すなわち図2のBに示されるように元Bに関連する出力列数の値をもつ。
これで今や巡回構造200の列における第五の元として選択する4つの元A、C、G、Hがある。よって、出力列の第五の数は、二つのRNS剰余値RV02進数字(たとえばb5b6)の組を使って一意的に決定できる。理解されるはずであるように、二進数字の組b5b6は関連する十進値0、1、2または3をもつことができる。たとえば二進数字の組b5b6が二進値00をもつとすると、この二進値は十進値0に変換される。これに対し、二進数字の組b5b6が二進値11をもつとすると、この二進値は十進値3に変換される。二進数字の組b5b6が十進値3をもつ場合、巡回構造200列中の第五の元は、元A、C、G、Hのうちで位置3にある元、すなわち図2のCに示されるように元Hである。出力列の第五の数は十進値8、すなわち図2のBに示されるように元Hに関連する出力列数の値をもつ。
これで巡回構造200の列における第六の元として選択する3つの元A、C、Gがある。よって、出力列の第六の数は、RNS剰余値RV13進の三進数字(たとえばt2)を使って一意的に決定できる。理解されるはずであるように、第二の三進数字t2は値0、1または2をもつことができる。第二の三進数字t2が十進値0をもつとすると、巡回構造200列中の第六の元は、元A、CおよびGのうちで位置0にある元、すなわち図2のCに示されるように元Aである。出力列の第六の数は十進値1、すなわち図2のBに示されるように元Aに関連する出力列数の値をもつ。
これで巡回構造200の列における第七の元として選択する2つの元C、Gがある。よって、出力列の第七の数は、RNS剰余値RV02進の最後の二進数字(たとえばb7)を使って一意的に決定できる。理解されるはずであろうように、第七の二進数字b7は値0または1をもつことができる。第七の二進数字b7が値1をもつとすると、巡回構造200列中の第七の元は、元CおよびGのうちで位置1にある元、すなわち図2のCに示されるように元Gである。出力列の第七の数は十進値7、すなわち図2のBに示されるように元Gに関連する出力列数の値をもつ。
結果として、巡回構造200の列における第八の元として選択する唯一の元Cがある。よって、出力列の第八の数は十進値3、すなわち図2のBに示されるように元Cに関連する出力列数の値をもつ。
上記のプロセスは、複数の乱数RN0,…,RNNのそれぞれについて逐次的に実行できる。これに関し、数1ないしnの可能な出力列はn!通りあることは理解されるはずである。上記のように、n!は、乱数RN0,…,RNNがとりうる全可能な値の数である。結果として、複数の出力列における数の配列は、n・n!+1出力まで反復しない。
以下の例は、本発明をさらに例解するために提供される。しかしながら、本発明の範囲はそれによっていかなる仕方であれ限定されると考えるべきではない。
〈例1〉
乱数RN0は十進値0ないし40,319をもつことができる。よって、乱数RN0がとりうる全可能な値は40,320通りである。数論の基本定理を使って、数40,320は8!=8・7・…・1=27・32・51・71と書ける。実際上、そのようなシナリオにおいて用いられる巡回構造はn個の元、すなわち8個の元を含む。
乱数RN0をRNS剰余値RV0、…、RV3として表すために用いられる各RNS算術演算は互いに素な数27、32、51、71を法m0 km0、m1 km1、m2 km2、m3 km3の集合として使う。よって、RNS剰余値RV0、…、RV3は式(2)〜(5)
RV0=RN0 mod 27 (2)
RV1=RN0 mod 32 (3)
RV2=RN0 mod 51 (4)
RV3=RN0 mod 71 (5)
によって定義できる。
RNS剰余値RV0、…、RV3は、乱数RN0の値を式(2)〜(5)に代入することによって計算できる。乱数RN0が10,311に等しければ、RNS剰余値RV0は71に等しい。RNS剰余値RV1は6に等しい。RNS剰余値RV2は1に等しい。RNS剰余値RV3は0に等しい。よって、RNS剰余値RV0、…、RV3は式(6)〜(9)
RV0=RN0 mod 27=71 (6)
RV1=RN0 mod 32=6 (7)
RV2=RN0 mod 51=1 (8)
RV3=RN0 mod 71=0 (9)
によって定義される。
RNS剰余値RV0、…、RV3のそれぞれは異なる基数系で表現される。具体的には、RNS剰余値RV0は二進法で表される。よって、RNS剰余値RV02進は、値1000111をもつ二進数字の列である。RNS剰余値RV1は三進法で表される。よって、RNS剰余値RV13進は、値20をもつ三進数字の列である。RNS剰余値RV2は五進法で表される。よって、RNS剰余値RV25進は、値1をもつ五進数字である。RNS剰余値RV3は七進法で表される。よって、RNS剰余値RV37進は、値0をもつ七進数字である。したがって、RNS剰余値RV02進、…、RV37進は、式(10)〜(13)
RV02進=RN0 mod 27=71=1000111 (10)
RV13進=RN0 mod 32=6=20 (11)
RV25進=RN0 mod 51=1=1 (12)
RV37進=RN0 mod 71=0=0 (13)
によって定義できる。
出力列の第一の数は、RNS剰余値RV02進の最後の三つの二進数字111を使って決定される。出力列の第二の数は、RNS剰余値RV37進の七進数字0を使って決定される。出力列の第三の数は、RNS剰余値RV02進の第四の二進数字0およびRNS剰余値RV13進の第二の三進数字を使って決定される。出力列の第四の数は、RNS剰余値RV25進の五進数字1を使って決定される。出力列の第五の数は、RNS剰余値RV02進の第二および第三の二進数字00を使って決定される。出力列の第六の数は、RNS剰余値RV13進の第一の三進数字2を使って決定される。出力列の第七の数は、RNS剰余値RV02進の第一の二進数字1を使って決定される。結果として、出力列は81243765となる。
〈例2〉
大きさが52の階乗(52!)の乱数列が、数発生プロセスの任意の組み合わせを介して選ばれる。大きさが52の階乗(52!)の乱数列は、8かける10の67乗(8・1067)に等しい。数論の基本定理を使って、8かける10の67乗(8・1067)は、52!=52・51・…・1=249・323・512・78・114・134・173・193・232・291・311・371・411・431・471と書ける。あるいはまた、より効率的に、各基数での15個の独立な乱数発生器の集まりを、大きさが52の階乗(52!)の有効乱数を生成するために等価に使うことができる。上記(図1〜図2および例1に関係した)と同じ論理に従って、出力列の第一の数は、二つの二進数字および一つの十三進数字を使って決定される。出力列の第二の数は、一つの三進数字および一つの十七進数字を使って決定される。出力列の第三の数は、一つの二進数字および二つの五進数字を使って決定される、などとなる。理解されるはずであるように、これらの数学的演算は、並列に実行されるようにハードウェアで実装されてもよい。この並列処理構成は、比較的高速かつ効率的な計算につながる。
〈例3〉
こうした組み合わせ技法に基づく乱数発生器は、巡回リング200でのようなn=233個の元の任意のマッピングを使って、その出力をいくつかの他の巡回リング発生器と組み合わせて構築できる。この組み合わせは、孫子の剰余定理のような方法を使って実行されうる。追加的な巡回リング発生器の標数が239、241、251のような233を超える奇素数であれば、有効反復期間は乗法的に長くなる。この例での4つの数に基づくと、出力列は十の459乗(10459)出力よりあとになってはじめて反復することになる。さらに、これらの追加的な巡回リング発生器の組み込みは、置換マッピングの決定論的な性質をマスクする助けになる。

ここで図3を参照すると、任意の置換配列を生成するための方法300の流れ図が与えられている。方法300はステップ302で始まり、ステップ304に続く。ステップ304では、巡回構造200の元の総数nが選択される。このステップ304はまた、巡回構造200の各元について開始位置を選択することも含む。たとえば、元Aは位置0をもち、元Bは位置1をもち、元Cは位置2をもつ、といった具合である。このステップ304はさらに、各元についての出力列数を選択することを含む。たとえば、元Aに関連付けられる出力列数は値1をもち、元Bに関連付けられる出力列数は値2をもつ、といった具合である。その後、ステップ306が実行される。ステップ306は、乱数RNがとりうる全可能な値の数n!を選択することを含みうる。
図3に示されるように、方法300はステップ308に続く。ステップ308では、全可能な値の数n!によって定義される十進数が、互いに素な数の積として書かれる。ステップ310では、これらの互いに素な数が、RNS剰余値RV0、…、RVJを計算するための法m0 km0、m1 km1、…、mJ kmJとして使われる。その後、ステップ312が実行され、乱数RNが生成される。その後、RNS算術演算が実行されて、乱数RNがRNS剰余値RV0、…、RVJの集合に変換される。
ステップ316では、算術演算が実行されて剰余数系からのRNS剰余値RV0、…、RVJが基数系に変換される。基数系は、これに限られないが、二進数系、三進数系、五進数系、七進数系、十一進数系、十三進数系、十七進数系、十九進数系、二十三進数系、二十九進数系および三十一進数系を含む。これに関し、各RNS剰余値RV0、…、RVJが異なる基数系に変換されることができることは理解しておくべきである。
その後、ステップ318が実行されて、RNS剰余値RV0、…、RVJの全部または一部の選択された組み合わせを使って、出力列数の一意的な置換配列が生成される。これに関し、置換配列は、決定され、図2Aに示されるもののような巡回構造に適用されることができることは理解されるはずである。これに関し、各出力列数は巡回構造200のある元に関連付けられていることは理解されるはずである。RNS剰余値RV0、…、RVJの全部または一部の各組み合わせが、巡回構造200のどの元が前記組み合わせの十進値に等しい位置をもつかを判別するために使われる。ひとたび元が同定されたら、その元に関連付けられている出力列数が出力列に追加される。ステップ318ののち、ステップ320が実行される。ステップ320では、置換配列が巡回構造200、長さnのビット列、データ・ストリーム修正用途または他の用途に適用される。これに関し、乱数列の生成された要素がその後の使用のために出力されることは理解されるはずである。たとえば、デジタル・データ・ストリームが前記出力列数を使って修正される。その後、ステップ322が実行されて方法300はステップ312に戻る。
理解されるはずであるように、出力列は、ステップ312〜320のサイクルごとに変化する置換配列順をもつ。つまり、出力列数の置換配列順は、各乱数0、1、…、n!−1について一意的である。よって、各出力列の置換配列順はランダムのように見える。また、出力列数の置換配列順はn・n!出力の間は反復しはじめない。これも理解されるはずであるように、方法300は多様な暗号システム用途において使用できる。たとえば、そのような方法は乱数列が利用可能であることに基づく暗号システムのリング発生器において有利に実装されることができる。そのようなシナリオでは、リング発生器は、任意に大きく選ばれた継続期間をもつ出力数列を生成できる。
ここで図4を参照すると、本発明の構成を実装するのに使えるリング発生器400の一つの実施形態が示されている。リング発生器400は乱数発生(RNG: random number generating)モジュール402、計算モジュール404、406、408および置換モジュール410を有する。RNGモジュール402は、何らかの定義された算術プロセスを使って乱数列RN0、…、RNNを計算するよう構成されたハードウェアおよびソフトウェアを有する。そのような算術プロセスは当業者にはよく知られている。よって、前記の定義された算術プロセスは本稿では詳述しない。しかしながら、乱数列RN0、…、RNNが擬似乱数または擬似カオス的数のいかなる選ばれた列でもよいことは理解しておくものとする。
再び図4を参照すると、RNGモジュール402はまた、乱数列RN0、…、RNNを十進数系から二進数系に変換するよう構成されたハードウェアおよびソフトウェアをも有することができる。これに関し、二進数系表現で表された乱数列RN0、…、RNNが0の値および1の値をもつ数字の列を含むことは理解されるはずである。よって、二進数系表現はある数字長さBL(たとえば8桁)をもつ。RNGモジュール402はさらに、乱数列RN0、…、RNNを計算モジュール404、406、408に通信するよう構成されたハードウェアおよびソフトウェアを有する。
各計算モジュール404、406、408は、列RN0、…、RNN中の乱数をRNS剰余値RV0、…、RVJの集合に変換するためにRNS算術演算を実行するよう構成されたハードウェアおよびソフトウェアを有する。これに関し、列RN0、…、RNN中の乱数をRNS剰余値RV0、…、RVJの集合として表すために用いられる各RNS算術演算は、異なる互いに素な数を法m0 km0、m1 km1、…、mJ kmJとして使うことは理解されるはずである。各互いに素な数は、各乱数RN0、…、RNNがとれる全可能な値の数n!に等しい十進数によって決まる。その十進数は、互いに素な数の積として表現される。これらの互いに素な数が法m0 km0、m1 km1、…、mJ kmJとして使われる。
再び図4を参照すると、各計算モジュール404、406、408はまた、各RNS剰余値RV0、…、RVJを剰余数系から基数系に変換するよう構成されたハードウェアおよびソフトウェアも有する。これに関し、各計算モジュール404、406、408はそれぞれのRNS剰余値RV0、…、RVJを剰余数系から特定の基数系に変換するよう構成されている。たとえば、計算モジュール404はRNS剰余値RV0を二進数系に変換するよう構成されている。計算モジュール406はRNS剰余値RV1を三進数系に変換するよう構成されている。計算モジュール408はRNS剰余値RVJを七進数系に変換するよう構成されている。ただし、本発明はこの点について限定されるものではない。
各計算モジュール404、406、408はさらに、それぞれの剰余値RV0、…、RVJを置換モジュール410に通信するよう構成されたハードウェアおよびソフトウェアを有する。置換モジュール410は、RNS剰余値RV0、…、RVJの全部または一部の選択された組み合わせを使って諸出力列数の任意の置換配列を生成するよう構成されたハードウェアおよびソフトウェアを有する。置換モジュール410はまた、諸出力列数の一意的な置換配列を有する出力を生成するよう構成されたハードウェアおよびソフトウェアをも有する。これに関し、置換配列は決定され、図2Aに示されたもののような巡回構造に適用されることは理解されるはずである。これに関し、各出力列数が巡回構造200のある元に関連付けられていることは理解されるはずである。RNS剰余値RV0、…、RVJの全部または一部の各組み合わせは、前記巡回構造のどの元が前記組み合わせの十進値に等しい位置をもつかを決定するために使われる。ひとたび元が同定されたら、その元に関連付けられている出力列数が出力列に追加される。置換モジュール410はさらに、出力列を外部装置(図示せず)に通信するよう構成されたハードウェアおよびソフトウェアを有する。外部装置は、出力列に含まれる出力列数を使ってデジタル・データ・ストリームを修正するよう構成されていることができる。本発明のある側面によれば、置換モジュール410は孫子の剰余定理を使って一つまたは複数の追加的な巡回リング発生器(cyclic ring generator)と組み合わさるよう構成される。ただし、本発明はこれに関し限定されるものではない。
当業者は、リング発生器400がRNSベースの置換マッピングの例示的なアーキテクチャを示していることを理解するであろう。しかしながら、本発明はこの点について限定されるものではなく、他のいかなるリング発生器アーキテクチャでも限定なしに使用できる。
ここで図5を参照すると、本発明の構成を実装するために使用できる暗号システム(cryptographic system)500の一つの実施形態が示されている。暗号システム500は、データ・ストリーム源502、暗号化装置(encryption device)504および復号装置(decryption device)506を有する。データ・ストリーム源502はデータ・ストリームを生成するよう構成されたハードウェアおよび/またはソフトウェアを有することができる。データ・ストリームは、声データ、ビデオ・データ、ユーザ識別データ、署名データおよび/またはその他といったペイロード・データを含むことができる。データ・ストリームはデジタル・データ・ストリームであることもできる。データ・ストリーム源502はまた、そのデータ・ストリームを暗号化装置504に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。
暗号化装置504は暗号化列(encryption sequence)を生成するよう構成されたハードウェアおよび/またはソフトウェアを有する。暗号化列は、擬似乱数または擬似カオス的乱数を含む。暗号化装置504はまた、暗号化列を使ってデータ・ストリームを修正する動作を実行するよう構成されたハードウェアおよび/またはソフトウェアをも有する。暗号化装置504はさらに、修正されたデータ・ストリームを復号装置506に通信するよう構成されたハードウェアおよび/またはソフトウェアを有する。暗号化装置504は図6との関係でのちに詳述する。
復号装置506は復号列(decryption sequence)を生成するよう構成されたハードウェアおよび/またはソフトウェアを有する。復号列は擬似乱数または擬似カオス的な乱数を含む。復号列は、暗号化装置504によって生成された暗号化列と同じであることができる。復号装置506はまた、受信された修正されたデータ・ストリームを復号する動作を実行するよう構成されたハードウェアおよび/またはソフトウェアをも有する。そのような復号動作は当業者にはよく知られており、したがって本稿では詳述しない。復号装置506はまた、復号されたデータを外部装置(図示せず)に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。復号装置504は図7との関係でのちに詳述する。
ここで図6を参照すると、図5の暗号化装置504の一つの実施形態が示されている。暗号化装置504はデータ・ストリーム受信手段(DSRM: data stream receiving means)602、リング発生器400および暗号化器(encryptor)604を有する。挙げられた構成要素602、604のそれぞれは当業者にはよく知られており、よって本稿で詳述はしない。しかしながら、読者が本発明を理解するのを助けるために、暗号化装置504の簡単な説明を与えておく。
再び図6を参照すると、DSRM602は、データ・ストリーム源502(図5との関係で上述)のような外部装置からのデータ・ストリームを受信するよう構成されたハードウェアおよび/またはソフトウェアを有する。DSRM602はまた、データ・ストリームを暗号化器604に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。これに関し、DSRM602が暗号化器604に電子的に接続されていることは理解されるはずである。
リング発生器400は一般に暗号化列を発生するよう構成されている。図4との関係で与えた上記の議論は、単一の乱数列についてリング発生器400を理解するために十分である。しかしながら、リング発生器400はそこで生成された暗号化列の数を置換し、並べ替えるよう構成されていることもできる。これに関し、一般化された置換法がリング発生器400内部の乱数列に適用されて、それによりリング発生器出力が内部的に発生された乱数列の何らかの置換された組み合わせとなるようにしてもよい。リング発生器400はまた、暗号化列を暗号化器604に通信するようにも構成される。これに関し、リング発生器400が暗号化器604に電子的に接続されることは理解されるはずである。
暗号化器604は、暗号化列をデータ・ストリームに組み込むまたは組み合わせることによって修正されたデータ・ストリームを生成するよう構成されている。より詳細には、暗号化器604はデータ・ストリームをマスクするために、ある組み合わせ法を実行するよう構成される。その組み合わせ法は、標準的な乗算、ガロア拡大体内での乗算、qを法とする加算、qを法とする減算、ビットごとの論理演算または他の任意の標準的な組み合わせ法であってよい。これに関し、暗号化器604が乗算器、加算器、デジタル論理デバイス、フィードバック機構または同様の組み合わせ機能デバイスを含むことができることは理解されるはずである。
ここで図7を参照すると、図5の復号装置506の一つの実施形態が示されている。復号装置506は修正データ・ストリーム受信手段(MDSRM: modified data stream receiving means)702、リング発生器400および復号器(decryptor)704を有する。挙げられた構成要素702、704のそれぞれは当業者にはよく知られており、よって本稿で詳述はしない。しかしながら、読者が本発明を理解するのを助けるために、復号装置506の簡単な説明を与えておく。
再び図7を参照すると、MDSRM702は、暗号化装置504(図5との関係で上述)のような外部装置からの修正データ・ストリームを受信するよう構成されたハードウェアおよび/またはソフトウェアを有する。MDSRM702はまた、修正データ・ストリームを復号器704に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。これに関し、MDSRM702が復号器704に電子的に接続されていることは理解されるはずである。
リング発生器400は一般に復号列を発生するよう構成されている。図4との関係で与えた上記の議論は、単一の乱数列についてリング発生器400を理解するために十分である。しかしながら、リング発生器400はそこで生成された暗号化列の数を置換し、並べ替えるよう構成されていることもできる。リング発生器400は、復号列を復号器704に通信するようにも構成される。これに関し、リング発生器400が復号器704に電子的に接続されることは理解されるはずである。復号器704は、修正データ・ストリームおよび復号列を使って復号方法を実行することによって復号データを生成するよう構成されている。復号方法は当業者にはよく知られており、ここでは詳述しない。
注目すべき点として、リング発生器は拡散(diffusion)プロセスにおいても使用できる。拡散プロセスは当業者にはよく知られており、よってここでは詳述しない。しかしながら、拡散プロセスが暗号システム500(図5〜図7との関連で上述)によって実行される暗号化プロセスとは異なることは理解しておくべきである。上記のように、暗号化プロセスは一般に平文を暗号文に変換し、しばしばデータの統計的性質を変えることを含む。平文および暗号文は当業者にはよく知られており、ここでは詳述しない。変換は暗号化列をデータ・ストリームに組み込むまたは組み合わせることによって達成される。より詳細には、暗号化プロセスは、標準的な乗算、ガロア拡大体内での乗算、qを法とする加算、qを法とする減算、ビットごとの論理演算または他の任意の標準的な組み合わせ法を含む。理解されるはずであるように、暗号化プロセスは:(a)データ・セキュリティを高め、(b)データ完全性を保証し、(c)デジタル・データ・ストリームの各キャラクタが平文形式から暗号文形式に変換されることを保証するために実行される。これに対し、拡散プロセスは一般に、データをデータ・ストリームまたは暗号化されたデータ・ストリーム全体に広げることによってデータの属性をマスクすることに関わるが、原子的な単位の統計的性質を直接変えることはない。このマスキングは:(a)データ・ストリーム中のビットの並べ替え、および/または(b)データ・ストリーム中のビットのシフトによって実行される。これもまた理解されるはずであるように、拡散プロセスは、デジタル・データ・ストリームの各キャラクタが修正されたデータ・ストリーム(または暗号化されたデータ・ストリーム)において同じ生起確率をもつことを保証し、よって原始的なデータ単位の選ばれた統計的性質を維持するために実行される。
ここで図8を参照すると、本発明の構成を実装するために使用できる暗号システム800の一つの実施形態が示されている。暗号システム800は、データ・ストリーム源802、拡散装置804および逆拡散装置806を有する。データ・ストリーム源802はデータ・ストリームを生成するよう構成されたハードウェアおよび/またはソフトウェアを有することができる。データ・ストリームは、声データ、ビデオ・データ、ユーザ識別データ、署名データおよび/またはその他といったペイロード・データを含むことができる。データ・ストリームはデジタル・データ・ストリームであることもできる。データ・ストリーム源802はまた、そのデータ・ストリームを拡散装置804に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。
拡散装置804は拡散列(diffusion sequence)を生成するよう構成されたハードウェアおよび/またはソフトウェアを有する。拡散列は、擬似乱数または擬似カオス的乱数を含む。拡散装置804はまた、拡散列を使って受信されたデータ・ストリームを置換する動作を実行するよう構成されたハードウェアおよび/またはソフトウェアをも有する。拡散操作が置換された要素の統計的な特性を変えないことを注意しておくべきである。拡散操作はまた、拡散列のいかなる部分も出力に封入しはせず、メッセージを知ることなく拡散列を容易に暗号解読することを防ぐ。むしろ、拡散操作は拡散列をデータに対する操作器として使っている。これに関し、「拡散」の用語が、入力データ・ストリームの論理的なデータ・パターンを見えにくくし、みかけのエントロピーを高めるための諸アルゴリズムを実装する諸方法を指すことは理解されるはずである。そのようなアルゴリズムは、これに限られないが、データ暗号化標準(DES: data encryption standard)アルゴリズムおよび高度暗号化標準(AES: advanced encryption standard)アルゴリズムに見出すことができる。理解されるはずであるように、DES方法は一般に、拡散を提供するためにデータ・ストリーム中のビットの並べ替えを実行することに関わる。AES方法は一般に、拡散を提供するために行シフトおよび列混合のステップを実行することに関わる。これもまた理解されるはずであるように、拡散は、デジタル・データ・ストリームの各キャラクタが修正された(または拡散された)データ・ストリームにおける同じ生起確率をもつことを保証するために実行される。多くの場合、より十全にデータを拡散させるために、複数ラウンドの拡散操作器(diffusion operator)が適用される。実際上、修正された(または暗号化された)データ・ストリームに存在する数学的なパターンのリバース・エンジニアリングはより困難になる。
再び図8を参照すると、拡散装置804はさらに、拡散されたデータ・ストリームを逆拡散装置806に通信するよう構成されたハードウェアおよび/またはソフトウェアを有する。拡散装置804は図9との関係でのちに詳述する。
逆拡散装置806は、逆拡散列を生成するよう構成されたハードウェアおよび/またはソフトウェアを有する。逆拡散列は擬似乱数または擬似カオス的乱数を含む。逆拡散列は拡散装置804によって生成された拡散列と同じであることができる。逆拡散装置806はまた、受信された拡散されたデータ・ストリームの拡散をもとに戻す動作を実行するよう構成されたハードウェアおよび/またはソフトウェアをも有する。そのような逆拡散動作は当業者にはよく知られており、したがって本稿では詳述しない。逆拡散装置806はまた、拡散解除されたデータ・ストリームを外部装置(図示せず)に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。
ここで図9を参照すると、図8の拡散装置804の一つの実施形態が示されている。拡散装置804はデータ・ストリーム受信手段(DSRM: data stream receiving means)902、リング発生器400および拡散操作器904を有する。挙げられた構成要素902、904のそれぞれは当業者にはよく知られており、よって本稿で詳述はしない。しかしながら、読者が本発明を理解するのを助けるために、拡散装置804の簡単な説明を与えておく。
再び図9を参照すると、DSRM902は、データ・ストリーム源802(図8との関係で上述)のような外部装置からのデータ・ストリームを受信するよう構成されたハードウェアおよび/またはソフトウェアを有する。DSRM902はまた、データ・ストリームを拡散操作器904に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。これに関し、DSRM902が拡散操作器904に電子的に接続されていることは理解されるはずである。
リング発生器400は一般に拡散列を発生するよう構成されている。拡散列は、制御された統計的性質のために修正された任意の乱数列の形を取ってよい。図4との関係で与えた上記の議論は、リング発生器400を理解するために十分である。リング発生器400は、拡散列を拡散操作器904に通信するようにも構成される。これに関し、リング発生器400が拡散操作器904に電子的に接続されることは理解されるはずである。拡散操作器904は、データ・ストリームおよび拡散列を使って拡散操作を実行することによって拡散されたデータ・ストリームを生成するよう構成されている。拡散操作は当業者にはよく知られており、よってここでは詳述しない。
ここで図10を参照すると、図8の逆拡散装置806の一つの実施形態が示されている。逆拡散装置806は、拡散データ・ストリーム受信手段(DDSRM: diffused data stream receiving means)1002、リング発生器400および逆拡散操作器(reverse diffusion operator)1004を有する。挙げられた構成要素1002、1004のそれぞれは当業者にはよく知られており、よって本稿で詳述はしない。しかしながら、読者が本発明を理解するのを助けるために、逆拡散装置806の簡単な説明を与えておく。
再び図10を参照すると、DDSRM1002は、拡散装置804のような外部装置からの拡散データ・ストリームを受信するよう構成されたハードウェアおよび/またはソフトウェアを有する。DDSRM1002はまた、拡散データ・ストリームを逆拡散操作器1004に通信するよう構成されたハードウェアおよび/またはソフトウェアをも有する。これに関し、DDSRM1002が逆拡散操作器1004に電子的に接続されていることは理解されるはずである。
リング発生器400は一般に逆拡散列(reverse diffusion sequence)を発生するよう構成されている。逆拡散列は、制御された統計的性質のために修正されたいかなる乱数列の形をってもよい。図4との関係で与えた上記の議論は、リング発生器400を理解するために十分である。リング発生器400は、逆拡散列を逆拡散操作器1004に通信するようにも構成されている。これに関し、リング発生器400が逆拡散操作器1004に電子的に接続されていることは理解されるはずである。逆拡散操作器1004は、データ・ストリームおよび逆拡散列を使って逆拡散操作を実行することによって拡散をもとに戻されたデータ・ストリームを生成するよう構成されている。逆拡散操作は当業者にはよく知られており、よってここでは詳述しない。
本発明の以上の記載に照らして、本発明がハードウェア、ソフトウェア、あるいはハードウェアとソフトウェアの組み合わせにおいて実現できることは認識されるはずである。本発明に基づいて数字の任意の置換配列を生成する方法は、一つの処理システムにおける中央集中の仕方で実現でき、あるいは種々の要素がいくつかの相互接続された処理システムに横断して広がっている分散した仕方で実現されることができる。本稿に記載された諸方法を実行するために適応されたいかなる種類のコンピュータ・システムまたは他の装置も好適である。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されたときにコンピュータ・プロセッサを制御して本稿に記載された諸方法を実行させるコンピュータ・プログラムをもつ汎用コンピュータ・プロセッサであることができる。もちろん、特定用途向け集積回路(ASIC)および/またはFPGAも同様の結果を達成するために使うことができる。
本発明は、本稿に記載された諸方法の実装を可能にするあらゆる特徴を有し、コンピュータ・システムにロードされたときにそれらの諸方法を実行できるコンピュータ・プログラム・プロダクトに組み込まれることもできる。今のコンテキストにおけるコンピュータ・プログラムまたはアプリケーションは、情報処理機能をもつシステムに特定の機能を、直接に、あるいはa)別の言語、コードまたは記法への変換;b)異なる物質的な形態での再現の一方または両方に続いて、実行させることを意図した命令の集合の、任意の言語、コードまたは記法におけるいかなる表現をも意味する。さらに、上記の記載は単に例示的であることが意図されており、本発明を、付属の請求項に述べられることによる以外のいかなる仕方であっても限定することは意図されていない。
本発明の理解のために有用な、数列の反復周期を伸ばすためのアルゴリズムの概念図である。 Aは、本発明の理解のために有用な、巡回構造の概略図である。Bは、本発明の理解のために有用な、関連付けられた開始位置の値および出力列の数とともに巡回構造の元を示す表である。Cは、本発明の理解のために有用な、巡回構造の元の位置の変更の概略図である。 本発明の理解のために有用な、複数の数の任意の置換配列を生成する方法の流れ図である。 本発明の理解のために有用な、リング発生器のブロック図である。 本発明の理解のために有用な、暗号システムのブロック図である。 本発明の理解のために有用な、図5の暗号化装置のブロック図である。 本発明の理解のために有用な、図5の復号装置のブロック図である。 本発明の理解のために有用な、暗号システムのブロック図である。 本発明の理解のために有用な、図8の拡散装置のブロック図である。 本発明の理解のために有用な、図8の逆拡散装置のブロック図である。
符号の説明
200 巡回構造
300 任意の置換配列を生成するための方法
302 開始
304 巡回リング200について元の総数nを選択;各元について開始位置を選択;各元について出力列数を選択
306 乱数RNについて総数n!の可能な値を選択
308 数論の基本定理を使って、総数n!の可能な値によって定義される十進数を互いに素な数の積として書く
310 上記の互いに素な数を、RNS剰余値RV0,...,RVJを計算するための法m0,...,mJとして使う
312 乱数RNを生成
314 RNS算術演算を実行して乱数RNをRNS剰余値RV0,...,RVJの集合に変換
316 算術演算を実行してRNS剰余値RV0,...,RVJを剰余数系から特定の基数系に変換
318 剰余値RV0,...,RVJの全部または一部の選択された組み合わせを使って、巡回リング200の元に関連付けられた出力列数の任意の置換配列を生成
320 上記の置換配列を巡回構造200、長さnのビット列、デジタル・データ・ストリーム修正用途または他の用途に適用
322 ステップ312に戻る
400 本発明の構成を実装するのに使えるリング発生器の一つの実施形態
402 乱数発生モジュール
404 計算モジュール
406 計算モジュール
408 計算モジュール
410 置換モジュール
500 暗号システム
502 デジタル・データ・ストリーム源
504 暗号化装置
506 復号装置
602 データ・ストリーム受信手段
604 暗号化器
702 修正データ・ストリーム受信手段
704 復号器
800 暗号システム
802 デジタル・データ・ストリーム源
804 拡散装置
806 逆拡散装置
902 データ・ストリーム受信手段
904 拡散操作器
1002 拡散データ・ストリーム受信手段
1004 逆拡散操作器

Claims (10)

  1. データ・ストリーム受信手段、リング発生器および暗号化器を有する暗号システムであって:
    前記データ・ストリーム受信手段はデータ・ストリームを受信するよう構成されており;
    前記リング発生器は、(a)乱数列中の一つの乱数を複数のRNS剰余値として表現するために複数のRNS算術演算を実行するよう構成された計算手段、(b)前記複数のRNS剰余値のそれぞれを互いに素な基数系に変換して、前記複数のRNS剰余値のそれぞれが少なくとも一つの数字を含むようにするよう構成された変換手段、および(c)前記複数のRNS剰余値のそれぞれに関連付けられた選ばれた組み合わせの数字を使って複数の出力列数の任意の置換配列を生成するよう構成された置換手段を有しており、前記任意の置換配列は巡回構造を使って決定され;
    前記暗号化器は前記データ・ストリーム受信手段および前記リング発生器に結合され、前記暗号化器は、前記データ・ストリームに前記複数の出力列数を組み込むまたは組み合わせることによって、修正されたデータ・ストリームを生成するよう構成されている、
    暗号システム。
  2. 前記乱数は0からn!−1の範囲内の値をもち、前記巡回構造はn個の元をもつ、請求項1記載の暗号システム。
  3. 前記複数の出力列数のそれぞれは、前記n個の元のうちの個々の元に関連付けられている、請求項2記載の暗号システム。
  4. 前記計算手段はさらに、互いに素な数を法として使って前記複数のRNS剰余値を計算するよう構成され、前記互いに素な数は、n!によって定義される十進数に等しい積をもつよう選択される、請求項1記載の暗号システム。
  5. 前記変換手段はさらに、前記複数のRNS剰余値のそれぞれを異なる互いに素な基数系に変換するよう構成される、請求項1記載の暗号システム。
  6. 前記選ばれた組み合わせの数字は、それらの数字によって決定できる値の範囲が、前記巡回構造中の利用可能な選択されていない元の数に等しいように選ばれる、請求項1記載の暗号システム。
  7. 前記置換手段はさらに、前記選ばれた組み合わせの数字の値を使って、前記巡回構造中の利用可能な選択されていないある元を選択するよう構成される、請求項1記載の暗号システム。
  8. 前記置換手段はさらに、孫子の剰余定理を使って少なくとも二つのRNS剰余値に関連付けられた少なくとも二つの数字を組み合わせ、前記少なくとも二つの数字とは異なる基数をもつ数字を得るよう構成される、請求項1記載の暗号システム。
  9. 前記修正されたデータ・ストリームを復号するのに利用される復号列を生成するよう構成された第二のリング発生器をさらに有する、請求項1記載の暗号システム。
  10. 前記第二のリング発生器に電子的に接続された復号器をさらに有し、該復号器が、前記修正されたデータ・ストリームおよび前記復号列を利用して復号方法を実行することによって復号されたデータを生成するよう構成されている、請求項9記載の暗号システム。
JP2008275824A 2007-10-30 2008-10-27 乱数列の反復周期を延長するよう構成された暗号システム Expired - Fee Related JP4871944B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/928,013 US7995749B2 (en) 2007-10-30 2007-10-30 Cryptographic system configured for extending a repetition period of a random sequence
US11/928,013 2007-10-30

Publications (2)

Publication Number Publication Date
JP2009110002A JP2009110002A (ja) 2009-05-21
JP4871944B2 true JP4871944B2 (ja) 2012-02-08

Family

ID=40089905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008275824A Expired - Fee Related JP4871944B2 (ja) 2007-10-30 2008-10-27 乱数列の反復周期を延長するよう構成された暗号システム

Country Status (4)

Country Link
US (1) US7995749B2 (ja)
EP (1) EP2056519B1 (ja)
JP (1) JP4871944B2 (ja)
CA (1) CA2642116C (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312551B2 (en) * 2007-02-15 2012-11-13 Harris Corporation Low level sequence as an anti-tamper Mechanism
US7937427B2 (en) * 2007-04-19 2011-05-03 Harris Corporation Digital generation of a chaotic numerical sequence
US7921145B2 (en) * 2007-05-22 2011-04-05 Harris Corporation Extending a repetition period of a random sequence
US8611530B2 (en) * 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors
US7995757B2 (en) * 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination
US7974413B2 (en) * 2007-06-07 2011-07-05 Harris Corporation Spread spectrum communications system and method utilizing chaotic sequence
US7970809B2 (en) * 2007-06-07 2011-06-28 Harris Corporation Mixed radix conversion with a priori defined statistical artifacts
US7962540B2 (en) * 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US8005221B2 (en) * 2007-08-01 2011-08-23 Harris Corporation Chaotic spread spectrum communications system receiver
US8180055B2 (en) * 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8363830B2 (en) 2008-02-07 2013-01-29 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US8040937B2 (en) * 2008-03-26 2011-10-18 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8139764B2 (en) 2008-05-06 2012-03-20 Harris Corporation Closed galois field cryptographic system
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US8145692B2 (en) * 2008-05-29 2012-03-27 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US8200728B2 (en) * 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8064552B2 (en) * 2008-06-02 2011-11-22 Harris Corporation Adaptive correlation
US8068571B2 (en) * 2008-06-12 2011-11-29 Harris Corporation Featureless coherent chaotic amplitude modulation
US8195118B2 (en) 2008-07-15 2012-06-05 Linear Signal, Inc. Apparatus, system, and method for integrated phase shifting and amplitude control of phased array signals
US8325702B2 (en) * 2008-08-29 2012-12-04 Harris Corporation Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot
US8165065B2 (en) 2008-10-09 2012-04-24 Harris Corporation Ad-hoc network acquisition using chaotic sequence spread waveform
US8351484B2 (en) * 2008-12-29 2013-01-08 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US8406276B2 (en) * 2008-12-29 2013-03-26 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8457077B2 (en) * 2009-03-03 2013-06-04 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8428102B2 (en) * 2009-06-08 2013-04-23 Harris Corporation Continuous time chaos dithering
US8509284B2 (en) * 2009-06-08 2013-08-13 Harris Corporation Symbol duration dithering for secured chaotic communications
US8428103B2 (en) * 2009-06-10 2013-04-23 Harris Corporation Discrete time chaos dithering
US8385385B2 (en) 2009-07-01 2013-02-26 Harris Corporation Permission-based secure multiple access communication systems
US8379689B2 (en) * 2009-07-01 2013-02-19 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US8363700B2 (en) 2009-07-01 2013-01-29 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US8340295B2 (en) * 2009-07-01 2012-12-25 Harris Corporation High-speed cryptographic system using chaotic sequences
US8406352B2 (en) 2009-07-01 2013-03-26 Harris Corporation Symbol estimation for chaotic spread spectrum signal
US8428104B2 (en) 2009-07-01 2013-04-23 Harris Corporation Permission-based multiple access communications systems
US8369376B2 (en) * 2009-07-01 2013-02-05 Harris Corporation Bit error rate reduction in chaotic communications
US8369377B2 (en) 2009-07-22 2013-02-05 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US8848909B2 (en) * 2009-07-22 2014-09-30 Harris Corporation Permission-based TDMA chaotic communication systems
US8872719B2 (en) 2009-11-09 2014-10-28 Linear Signal, Inc. Apparatus, system, and method for integrated modular phased array tile configuration
FR2952773B1 (fr) * 2009-11-13 2012-07-20 Inst Telecom Telecom Paristech Circuit electronique de faible complexite protege par masquage personnalise
US8345725B2 (en) 2010-03-11 2013-01-01 Harris Corporation Hidden Markov Model detection for spread spectrum waveforms
US8369515B2 (en) * 2010-03-18 2013-02-05 Chiou-Haun Lee Cryptographic method of multilayer diffusion in multidimension
US8462939B2 (en) * 2010-12-07 2013-06-11 King Fahd University Of Petroleum And Minerals RNS-based cryptographic system and method
US8477937B2 (en) * 2011-04-07 2013-07-02 Comtech Ef Data Corp. Methods and systems for providing interference based physical-layer encryption
US8654819B2 (en) 2011-06-22 2014-02-18 Harris Corporation Systems and methods for pulse rotation modulation encoding and decoding
US8601340B2 (en) 2011-07-25 2013-12-03 Cortina Systems, Inc. Time varying data permutation apparatus and methods
KR101977823B1 (ko) 2012-04-02 2019-05-13 삼성전자주식회사 랜덤 순열 생성 방법, 랜덤 순열 생성 장치 및 이를 구비하는 암복호화 장치
CN107769842B (zh) 2016-08-17 2022-08-09 北京三星通信技术研究有限公司 交织序列构造、基于交织的信息处理方法及发射、接收机
DE102018126763B4 (de) * 2018-10-26 2020-12-10 Michael Artmann Kryptographieverfahren
CN113824807A (zh) * 2021-03-09 2021-12-21 北京沃东天骏信息技术有限公司 一种邀请码生成方法、装置、电子设备及存储介质

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US254430A (en) * 1882-02-28 crandall
FR1501059A (fr) 1966-09-26 1967-11-10 Csf Nouveau générateur de clé
GB1198263A (en) 1967-06-06 1970-07-08 Nat Res Dev Improvements in or relating to Digital Differential Analysers
US4646326A (en) 1983-10-20 1987-02-24 Motorola Inc. QAM modulator circuit
US4703507A (en) 1984-04-05 1987-10-27 Holden Thomas W Noise reduction system
DE68920142T2 (de) 1989-08-24 1995-07-13 Philips Electronics Nv Verfahren und Einrichtung zur Decodierung von wortgeschützten Codewörtern durch einen nichtbinären BCH-Code gegen mindestens einen Symbolfehler.
US5077793A (en) * 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
US5007087A (en) 1990-04-16 1991-04-09 Loral Aerospace Corp. Method and apparatus for generating secure random numbers using chaos
US5048086A (en) 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
US5319735A (en) 1991-12-17 1994-06-07 Bolt Beranek And Newman Inc. Embedded signalling
US5297206A (en) 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5276633A (en) 1992-08-14 1994-01-04 Harris Corporation Sine/cosine generator and method
US5811998A (en) 1993-01-28 1998-09-22 Digital Equipment Corporation State machine phase lock loop
US5412687A (en) 1993-10-15 1995-05-02 Proxim Incorporated Digital communications equipment using differential quaternary frequency shift keying
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6014446A (en) 1995-02-24 2000-01-11 Motorola, Inc. Apparatus for providing improved encryption protection in a communication system
US5598476A (en) 1995-04-20 1997-01-28 United Technologies Automotive, Inc. Random clock composition-based cryptographic authentication process and locking system
US5937000A (en) 1995-09-06 1999-08-10 Solana Technology Development Corporation Method and apparatus for embedding auxiliary data in a primary data signal
US5757923A (en) 1995-09-22 1998-05-26 Ut Automotive Dearborn, Inc. Method of generating secret identification numbers
JP3992742B2 (ja) 1996-05-20 2007-10-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データブロックおよび鍵を非線形的に結合する暗号方法および装置
AU3568097A (en) 1996-07-05 1998-02-02 Paulo Correa Modular transmission system and method
US7190681B1 (en) 1996-07-10 2007-03-13 Wu William W Error coding in asynchronous transfer mode, internet and satellites
US5963460A (en) 1996-12-17 1999-10-05 Metaflow Technologies, Inc. Apparatus for computing transcendental functions quickly
AU8261298A (en) 1997-06-23 1999-01-04 Regents Of The University Of California, The Chaotic digital code-division multiple access (cdma) communication systems
US5852630A (en) 1997-07-17 1998-12-22 Globespan Semiconductor, Inc. Method and apparatus for a RADSL transceiver warm start activation procedure with precoding
US6633226B1 (en) 1997-08-18 2003-10-14 X-Cyte, Inc. Frequency hopping spread spectrum passive acoustic wave identification device
US6078611A (en) 1997-09-16 2000-06-20 Motorola, Inc. Rake receiver and finger management method for spread spectrum communication
US6038317A (en) 1997-12-24 2000-03-14 Magliveras; Spyros S. Secret key cryptosystem and method utilizing factorizations of permutation groups of arbitrary order 2l
US6285761B1 (en) 1998-03-04 2001-09-04 Lucent Technologies, Inc. Method for generating pseudo-random numbers
US6754251B1 (en) 1998-03-09 2004-06-22 Texas Instruments Incorporated Spread-spectrum telephony with accelerated code acquisition
US5924980A (en) 1998-03-11 1999-07-20 Siemens Corporate Research, Inc. Method and apparatus for adaptively reducing the level of noise in an acquired signal
US5900835A (en) 1998-07-09 1999-05-04 The United States Of America As Represented By The Secretary Of The Navy Coherent hidden markov model
US6980656B1 (en) 1998-07-17 2005-12-27 Science Applications International Corporation Chaotic communication system and method using modulation of nonreactive circuit elements
US6304556B1 (en) * 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
US6363104B1 (en) 1998-10-02 2002-03-26 Ericsson Inc. Method and apparatus for interference cancellation in a rake receiver
US7277540B1 (en) 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
US6823068B1 (en) 1999-02-01 2004-11-23 Gideon Samid Denial cryptography based on graph theory
US6377782B1 (en) 1999-03-01 2002-04-23 Mediacell, Inc. Method and apparatus for communicating between a client device and a linear broadband network
US6304216B1 (en) 1999-03-30 2001-10-16 Conexant Systems, Inc. Signal detector employing correlation analysis of non-uniform and disjoint sample segments
FI107094B (fi) * 1999-05-10 2001-05-31 Nokia Mobile Phones Ltd Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri
US6570909B1 (en) 1999-07-09 2003-05-27 Nokia Mobile Phones Interference suppression in a CDMA receiver
US20020099746A1 (en) 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
US6744893B1 (en) 1999-08-25 2004-06-01 Southwest Research Institute Receiver estimation engine for a chaotic system
US7200225B1 (en) 1999-11-12 2007-04-03 Richard Schroeppel Elliptic curve point ambiguity resolution apparatus and method
US7596170B2 (en) 2000-02-28 2009-09-29 Aeroastro, Inc. Coherent detection without transmission preamble
US6993016B1 (en) * 2000-11-16 2006-01-31 Juniper Networks, Inc. Methods and apparatus for transmission of analog channels over digital packet networks
US7010559B2 (en) 2000-11-14 2006-03-07 Parkervision, Inc. Method and apparatus for a parallel correlator and applications thereof
US7170997B2 (en) 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
JP4188571B2 (ja) 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式
GB2374258B (en) 2001-04-05 2004-03-31 Ibm Method and apparatus for encryption of data
US7218734B2 (en) * 2001-05-02 2007-05-15 Nciper Corporation Limited Ring arithmetic method, system, and apparatus
US7233970B2 (en) * 2001-05-02 2007-06-19 Cipher Corporation Limited Computational method, system, and apparatus
US7076065B2 (en) 2001-05-11 2006-07-11 Lockheed Martin Corporation Chaotic privacy system and method
US7027598B1 (en) 2001-09-19 2006-04-11 Cisco Technology, Inc. Residue number system based pre-computation and dual-pass arithmetic modular operation approach to implement encryption protocols efficiently in electronic integrated circuits
US6456648B1 (en) 2001-10-01 2002-09-24 Interdigital Technology Corporation Code tracking loop with automatic power normalization
JP4112494B2 (ja) 2001-10-25 2008-07-02 富士通株式会社 表示制御装置
JP2003216037A (ja) 2001-11-16 2003-07-30 Yazaki Corp 暗号キー、暗号化装置、暗号化復号化装置、暗号キー管理装置及び復号化装置
US7269198B1 (en) 2001-11-19 2007-09-11 Bbn Technologies Corp. Systems and methods for beaconing in wireless networks with low probability of detection
US6766345B2 (en) 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
JP2003218835A (ja) 2002-01-18 2003-07-31 Mitsubishi Electric Corp スペクトル拡散送信装置及びスペクトル拡散受信装置
FR2837331B1 (fr) 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
US7010055B2 (en) 2002-06-27 2006-03-07 Motorola, Inc. System implementing closed loop transmit diversity and method thereof
FR2844891A1 (fr) 2002-09-20 2004-03-26 St Microelectronics Sa Masquage de donnees decomposees dans un systeme de residus
EP1420542A1 (en) 2002-11-12 2004-05-19 STMicroelectronics S.r.l. Method and apparatus of generating a chaos-based pseudo-random sequence
US7272168B2 (en) 2003-04-01 2007-09-18 Nokia Siemens Networks Oy Determining the correlation between received samples and available replica samples
US7328228B2 (en) 2003-09-02 2008-02-05 Sap Aktiengesellschaft Mapping pseudo-random numbers to predefined number ranges
KR100543101B1 (ko) 2003-10-23 2006-01-20 학교법인 배재학당 시간지연가변 되먹임 혼돈시스템을 이용한 암호화 및 통신 장치와 그 방법
RU2276458C2 (ru) * 2003-11-26 2006-05-10 Институт радиотехники и электроники Российской Академии Наук Способ прямохаотической передачи информации с заданной спектральной маской
JP4025283B2 (ja) * 2003-12-05 2007-12-19 株式会社東芝 符号埋込方法、識別情報復元方法及び装置
US7512645B2 (en) 2004-03-19 2009-03-31 Texas Instruments Incorporated System and method for generating pseudorandom numbers
US7150399B2 (en) 2004-06-09 2006-12-19 Ricoh Co., Ltd. Embedding barcode data in an auxiliary field of an image file
US7078981B2 (en) 2004-07-27 2006-07-18 Lucent Technologies Inc. 16 QAM modulator and method of 16 QAM modulation
US7512647B2 (en) 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
US20060209932A1 (en) 2005-03-18 2006-09-21 Qualcomm Incorporated Channel estimation for single-carrier systems
WO2006110954A1 (en) * 2005-04-20 2006-10-26 Synaptic Laboratories Limited Process of and apparatus for counting
ITVA20050027A1 (it) 2005-05-03 2006-11-04 St Microelectronics Srl Metodo di generazione di successioni di numeri o bit pseudo casuali
US7830214B2 (en) 2005-11-29 2010-11-09 Samsung Electronics Co., Ltd. Adjustable chaotic signal generator using pulse modulation for ultra wideband (UWB) communications and chaotic signal generating method thereof
US8059768B2 (en) 2005-12-07 2011-11-15 Zte Corporation Method and device for removing narrow band interference in spreading frequency system
US7688878B2 (en) 2006-03-16 2010-03-30 The Boeing Company Method and device of peak detection in preamble synchronization for direct sequence spread spectrum communication
KR100723222B1 (ko) 2006-03-28 2007-05-29 삼성전기주식회사 펄스 세이핑 기법을 이용한 카오스 신호 송신장치
FR2903200B1 (fr) 2006-06-29 2008-12-19 Thales Sa Stabilisation hybride d'images pour camera video
US9203438B2 (en) 2006-07-12 2015-12-01 Ternarylogic Llc Error correction by symbol reconstruction in binary and multi-valued cyclic codes
US7643537B1 (en) 2007-01-23 2010-01-05 L-3 Communications, Corp. Spread spectrum signal detection with inhibiting for known sidelobe locations
US8312551B2 (en) 2007-02-15 2012-11-13 Harris Corporation Low level sequence as an anti-tamper Mechanism
US7797060B2 (en) * 2007-02-27 2010-09-14 Rockwell Automation Technologies, Inc. Prioritization associated with controller engine instances
US7937427B2 (en) 2007-04-19 2011-05-03 Harris Corporation Digital generation of a chaotic numerical sequence
US8611530B2 (en) 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors
US7921145B2 (en) 2007-05-22 2011-04-05 Harris Corporation Extending a repetition period of a random sequence
US7995757B2 (en) 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination
US7970809B2 (en) 2007-06-07 2011-06-28 Harris Corporation Mixed radix conversion with a priori defined statistical artifacts
US7974413B2 (en) 2007-06-07 2011-07-05 Harris Corporation Spread spectrum communications system and method utilizing chaotic sequence
US7962540B2 (en) 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US8005221B2 (en) 2007-08-01 2011-08-23 Harris Corporation Chaotic spread spectrum communications system receiver
US20090122926A1 (en) 2007-11-13 2009-05-14 Texas Instruments Incorporated Data throughput in an interference-rich wireless environment
US8180055B2 (en) 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8363830B2 (en) 2008-02-07 2013-01-29 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US8040937B2 (en) 2008-03-26 2011-10-18 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8139764B2 (en) 2008-05-06 2012-03-20 Harris Corporation Closed galois field cryptographic system
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US8145692B2 (en) 2008-05-29 2012-03-27 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US8200728B2 (en) 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8064552B2 (en) 2008-06-02 2011-11-22 Harris Corporation Adaptive correlation
US8068571B2 (en) 2008-06-12 2011-11-29 Harris Corporation Featureless coherent chaotic amplitude modulation
US8891756B2 (en) 2008-10-30 2014-11-18 Certicom Corp. Collision-resistant elliptic curve hash functions
US7974146B2 (en) * 2008-12-19 2011-07-05 Micron Technology, Inc. Wordline temperature compensation

Also Published As

Publication number Publication date
JP2009110002A (ja) 2009-05-21
CA2642116A1 (en) 2009-04-30
CA2642116C (en) 2013-02-12
US20090110197A1 (en) 2009-04-30
EP2056519A1 (en) 2009-05-06
US7995749B2 (en) 2011-08-09
EP2056519B1 (en) 2012-04-11

Similar Documents

Publication Publication Date Title
JP4871944B2 (ja) 乱数列の反復周期を延長するよう構成された暗号システム
EP2000900B1 (en) Extending a repetition period of a random sequence
CA2723405C (en) Cryptographic system including a random number generator using finite field arithmetics
CA2633923C (en) Mixed radix number generator with chosen statistical artifacts
US8363830B2 (en) Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
CA2632857C (en) Closed galois field combination
CA2723319C (en) A closed galois field cryptographic system
JP4052480B2 (ja) 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
JP4673857B2 (ja) 擬似ランダム系列を生成する方法
Matsumoto et al. Cryptographic Mersenne Twister and Fubuki stream/block cipher
Pandian et al. Five decade evolution of feedback shift register: algorithms, architectures and applications
JP5268011B2 (ja) 暗号化システム及び復号化システム
JP5268010B2 (ja) 暗号化システム及び復号化システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees