JP2006072891A - セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 - Google Patents
セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 Download PDFInfo
- Publication number
- JP2006072891A JP2006072891A JP2004258186A JP2004258186A JP2006072891A JP 2006072891 A JP2006072891 A JP 2006072891A JP 2004258186 A JP2004258186 A JP 2004258186A JP 2004258186 A JP2004258186 A JP 2004258186A JP 2006072891 A JP2006072891 A JP 2006072891A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- cell
- pseudo
- generating
- cellular automaton
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Storage Device Security (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
【課題】本発明の目的は、制御可能な周期を有する所望の擬似乱数シーケンスを生成するためのコンパクトな装置を提供することである。
【解決手段】擬似乱数シーケンスを生成する装置は、第1のシーケンスを生成する二次元のセルオートマトン310、第2のシーケンスを生成する2×Lセルオートマトン320、第1のシーケンスおよび第2のシーケンスのビット対ビットmod2の和を得るための加算器330−1,330−2,...,330n、および加算器330−1,330−2,...,330−nから結果として得られたシーケンスをバッファするためのバッファ340を備えている。
【選択図】 図3
【解決手段】擬似乱数シーケンスを生成する装置は、第1のシーケンスを生成する二次元のセルオートマトン310、第2のシーケンスを生成する2×Lセルオートマトン320、第1のシーケンスおよび第2のシーケンスのビット対ビットmod2の和を得るための加算器330−1,330−2,...,330n、および加算器330−1,330−2,...,330−nから結果として得られたシーケンスをバッファするためのバッファ340を備えている。
【選択図】 図3
Description
本発明は、コンパクトな有限状態機械を用いて、制御可能な周期を有する擬似乱数シーケンスを生成する方法および装置に関する。
近年、セルオートマトンの利用に基づいた、極めて良好な統計特性を備えた擬似乱数シーケンスの生成方法が多く報告されている。例えば、非特許文献1は、高品質乱数を生成する二次元のセルオートマトンを開示している。以下に、典型的な二次元のセルオートマトン(2D−CA)について説明する。
セルオートマトン(CA)は、空間と時間が互いに離散している動的システムである。セルオートマトンは、局所近傍則(local interaction rule)に従ったセルアレイ(cellular array)から構成される。セルの各々は、離散した時間ステップで同期更新されるもので、取りうる有限数の状態のうちの1つとなることができる。ここでは、セルの状態がs, ∈{0,1}となるブーリアンオートマトンだけを考慮するものとする。次のステップにおけるセルの状態は、周辺近傍セルの現在の状態によって決定される。
セルアレイ(グリッド)はd次元で、実用に際してはd=1,2,3が使用される。本明細書のこのセクションでは、d=2、つまり二次元のグリッドが考慮される。
各セルに含まれているルールは、本質的に有限状態機械ルールであって、通常はルール・テーブル(遷移関数としても知られている)の形で特定されており、状態に関して可能性のある近傍配置すべてについてのエントリを含んでいる。1つのセルのセル近傍構造(neighborhood)は、それ自体および周囲の(隣接する)セルからなる。一次元のCAについては、セルは、いずれか一方の側でrのローカルな近傍(セル)に接続される。ここで、rは半径と呼ばれるので、各セルは2r+1の近傍を有する。
二次元CA(2D−CA)については、2つのタイプのセル近傍が通常考慮される。これらは次のとおりである:その直近の非対角線の4つの近傍(フォンノイマンの近傍としても知られている)及び当該セルからなる5つのセルと、その周囲の8つの近傍及び当該セルからなる9つのセル(ムーアの近傍としても知られている)とがある。
有限のサイズのグリッドを考慮する場合、周期的な境界条件が良く使われ、一次元の場合には円形状グリッド(circular)に、二次元の場合には環状体(toroidal)のものとなる。また、固定あるいはヌル(null)の境界条件も使用することもできる。この場合、グリッドは固定した状態あるいは0(零)の状態にあるセルからなる外部層で囲まれる。後者の場合、通常、ハードウェアで実施するのが容易である。
不均一の(あるいは異質)セルオートマトンは、均質なのものと同じ方法で機能するが、唯一の相違点は、セルルールをすべてのセルに対して同一とする必要がないということである。不均一のCAも、均質のものと同様に、基本的で有利な特性、即ち単純性、並行性(parallelism)およびローカル性を共有する。
2D−CAについての適切な背景的考察は、例えば非特許文献2に開示されている。
M. Tomassini, M. Sipperand, M. Perrenoud, "On the generation of high-quality random number by two-dimensional cellular automata"「二次元のセルオートマトンによる高品質乱数の生成について」, IEEE Trans. Computers, vol. 49, pp. 1146-1151, Oct. 2000
P. P. Chaudhuri, D. R. Chaudhuri, S. Nandiand, S. Chattopadhyay, "Additive Cellular Automata: Theory and Applications"「加法的セルオートマトン:理論および応用」, NewYork, IEEE Press, 1997.
S. Wolfram, "Cryptography with Cellular Automata"「セルオートマトンによる暗号法」, Advances in cryptology - CRYPTO85, Lecture Notes in Computer Science, vol. 218, pp. 429-432, 1985
K. Cattell, S. Zhang, M. Serraand, J. C. Muzio, "2-by-n hybrid cellular automata with regular configuration: Theory and application"「規則的な配置を備えた2×nハイブリッドセルオートマトン:理論および応用」, IEEE Trans. Computers, vol. 48, pp. 285-295, March 1999
A. Klimov and A. Shamir, "Cryptographic applications of T-functions"「T−関数の暗号の応用」, SAC'2003, pre-print 15 pages, August 2003,(to appear in Lecture Notes in Computer Science)
S.-U. Guan and S. Zhang, "An evolutionary approach to the design of controllable cellular automata: structure for random number generation"「制御可能なセルオートマトン設計への進化したアプローチ:乱数発生用構造」, IEEE Trans. Evolutionary Computation, vol. 7, pp. 23-36. Feb. 2003.
P. D. Hortensius, R. D. Mcleod, W. Pries, D. M. Miller and H. C. Card, "Cellular automata-base pseudorandom number generators for built-in self-test"「セルオートマトンに基づく、ビルトイン・セルフテスト用の擬似乱数生成器」, IEEE Transactions on Computer-Aided Design, vol. 8, pp. 842-859, August 1989.
M. Mihaljevic, M. P. C. Fossorier and H. Imai, "Fast correlation attack algorithm with the list decoding and an application"「リスト符号解読およびアプリケーションを備えた高速相関性攻撃アルゴリズム」, FSE2001, Lecture Notes in Computer Science, vol. 2355, pp. 196-210, 2002.
N. T. Courtois and W. Meier, "Algebraic attacks on stream ciphers with linear feedback"「線形フィードバックによるストリーム暗号への代数的攻撃」, EURO-CRYPT2003, Lecture Notes in Computer Science, vol. 2656, pp. 345-359, 2003.
M. Mihaljevic and H. Imai, "A family of fast keystream generators based on programmable linear cellular automata over GF(q) and time variant table"「GF(q)および時間変化テーブルに対するプログラム可能な線形のセルオートマトンに基づく、高速キーストリーム生成器のファミリ」, IEICE Transactions on Fundamentals, vol. E82-A, pp. 32-39, Jan. 1999.
G. Marsaglia, "Diehard" 「ダイハード」(1998). http:JJstat.fsu.eduJgeoJdiehard.htm.
A. K. Das, A. Ganguly, A. Dasgupta, S. Bhawmik, and P. PalChaudhuri, "Efficient characterization of cellular automata", 「セルオートマトンの効率的な特性」, IEE Proc. Pt. E, vol. 137, pp. 81-87, Jan. 1990.
K. Cattell and J.C. Muzio, "Synthesis of one-dimensional linear hybrid cellular automata"「一次元線形ハイブリッド・セルオートマトンの合成」, IEEE Trans. Computer-Aided Design, vol. 15, pp. 325-335, March 1996.
S. Nandi, B. K. Kar and P. Pal Chaudhuri, "Theory and applications of cellular automata in cryptography"「暗号法でのセルオートマトンの理論および応用」, IEEE Trans. Comput., vol. 43, pp. 1346-1357, Dec. 1994.
W. Meier and O. Staffelbach, "Analysis of pseudo random sequences generated by cellular automata"「セルオートマトンによって生成された擬似乱数シーケンスの分析」, Advances in Cryptology - EUROCRYPT 91, Lecture Notes in Computer Science, vol. 547, pp. 186-189, 1992.
C. K. Koc and A.M. Apohan, "Inversion of cellular automata iterations"「セルオートマトン反復の転位」, IEE Proc. Comput. Digit. Tech., vol. 144, pp. 279-284, 1997.
M. Mihaljevic, "An improved key stream generator based on the programmable cellular automata"「プログラム可能なセルオートマトンに基づいた、改良キーストリーム生成器」, ICICS'97, Lecture Notes in Computer Science, vol. 1334, pp. 181-191, 1997.
M. Mihaljevic, "Security examination of a cellular automata based pseudorandom bit generator using an algebraic replica approach"「代数的複製アプローチを使用する、セルオートマトン・ベースの擬似乱数ビット生成器のセキュリティ試験」, AAECC12, Lecture Notes in Computer Science, vol. 1255, pp. 250-262, 1997.
S.R. Blackburn, S. Murphy and K.G. Peterson, "Comments on "Theory and Applications of Cellular Automata in Cryptography""「『暗号法でのセルオートマトンの理論および応用』に関するコメント」, IEEE Trans. Comput., vol. 46, pp.637-638, May 1997.
M. Mihaljevic, "Security examination of a cellular automata based pseudorandom bit generator using an algebraic replica approach"「代数的複製アプローチを使用する、セルオートマトン・ベースの擬似乱数ビット生成器のセキュリティ試験」, AAECC12, Lecture Notes in Computer Science, vol. 1255, pp. 250-262, 1997.
A. J. Menezes, P. C. van Oorschot and S. A. Vanstone, Handbook of Applied Cryptography(応用暗号法ハンドブック). Boc. Roton: CRC Press, 1997.
しかしながら、上述の提案の主な欠点は、生成された擬似乱数シーケンスの周期に関して保証がないことである。従って、上述したような望ましい統計特性のランダム性を備えた、最大または実質的に最大周期のシーケンスを生成するための方法と装置を提供することが望ましい。
本発明は上記を考慮してなされている。本発明の目的は、制御可能な周期を有する、所望の擬似乱数シーケンスを生成する方法および/またはコンパクトな装置を提供することにある。
本発明の一実施形態によれば、擬似乱数シーケンス生成装置が提供される。本装置は、より高いランダム性を有する第1のシーケンスを生成する第1のタイプのセルオートマトンと、周期について予め定めた下限を有する第2のシーケンスを生成する第2のタイプのセルオートマトンと、前記第1のシーケンスおよび前記第2のシーケンスに対してビット毎のmod2の和を求める加算器とを備えることを特徴とする。
本実施形態による装置では、前記第1のタイプのセルオートマトンは、二次元セルオートマトンであってもよく、前記第2のタイプのセルオートマトンは、2×Lセルオートマトンであってもよい。また、前記加算器からの合計結果は、擬似乱数シーケンスとして出力され得る。
本発明の他の実施形態によれば、上述した装置において、第3のシーケンスを生成するための第3のタイプのセルオートマトンをさらに備えていてもよい。前記第3のタイプのセルオートマトンは、対応するセル制御ワードおよび/またはルール制御ワードに基づいて、状態が計算され得るセルを有する。本実施形態では、前記セル制御ワードは、前記第2のタイプのセルオートマトンによって生成され、前記ルール制御ワードは、前記第1のタイプのセルオートマトンによって生成され、前記加算器は、前記第1、第2および第3のシーケンスのビット毎のmod2の和を得る。
本発明のさらに他の実施形態によれば、上述した装置において、前記加算器からの合計結果に非線形マッピングを行なうブロックと、該非線形マッピングの結果について不均一な間引きを行なうブロックとをさらに備え、前記間引き結果が前記擬似乱数シーケンスとして出力されてもよい。本装置では、前記ブロックの各々が、少なくとも1つの非線形関数を含んでいてもよい。あるいは、前記非線形マッピングを行なうブロックは、ラテン方格(Latin square)に基づいた非線形マッピング用参照テーブルを少なくとも1つ含んでもよい。
本発明の他の実施形態によれば、暗号処理を行なう装置が提供される。本装置は、擬似乱数シーケンスを用いてデータを暗号化する暗号プロセッサと、前記擬似乱数シーケンスを生成する擬似乱数シーケンス生成器とを含むことを特徴とする。本実施形態では、前記擬似乱数生成器は、上記実施形態のうちの任意の1つによる装置を含むように構成される。
本発明の他の実施形態によれば、セルオートマトンを用いて擬似乱数シーケンスを生成する方法、または該方法をコンピュータに実行させるコンピュータプログラム、または該コンピュータプログラムを格納する記録媒体が提供される。前記方法は、より高いランダム性を有する第1のシーケンスを生成するステップと、周期について予め定めた下限を有するた第2のシーケンスの生成するステップと、前記第1のシーケンスおよび前記第2のシーケンスのビット毎のmod2の和を得るステップとを備えている。
本発明によれば、制御可能な周期を有する所望の擬似乱数シーケンスの生成方法および/またはコンパクトな装置が提供される。
第1の実施形態:
本発明の第1の実施形態によれば、コンパクトな有限状態機械(finite state machine)を用いて、制御可能な周期を有する擬似乱数シーケンスを生成する方法および装置が提供される。本実施形態による装置は、セルオートマトンの2つの異なるクラスに基づくものである。本装置および本方法は、フレキシブルであり、空間複雑度とシーケンス周期の下限の間のトレードオフ(trade-off)についての好機を与えるものである。
本発明の第1の実施形態によれば、コンパクトな有限状態機械(finite state machine)を用いて、制御可能な周期を有する擬似乱数シーケンスを生成する方法および装置が提供される。本実施形態による装置は、セルオートマトンの2つの異なるクラスに基づくものである。本装置および本方法は、フレキシブルであり、空間複雑度とシーケンス周期の下限の間のトレードオフ(trade-off)についての好機を与えるものである。
本発明の第1の実施形態について説明する前に、セルオートマトンに関する基礎技術のうち、本実施形態で使用されるいくつかの技術について、添付図面を参照して説明する。
基本的なバイナリ・セルオートマトン(Basic Binary Cellular Automata):
一次元のバイナリ・セルオートマトン(CA)は、直列接続された、0あるいは1の値をとるL個のセルアレイと、q個の変数を有するブール関数f(x)の値とから構成される。セルxiの値は、i=1,2,...,Lについて、x’i=f(x)として、離散時間ステップでこの関数を使用して、パラレルに(同期して)更新される。境界条件は、通常、指標値モジュールLをとることにより処理される。パラメータqは、通常、奇数の整数(つまりq=2r+1)であり、ここでrは、関数f(x)の半径としばしば呼ばれる。i番目のセルの新しい値は、i番目のセルの値、およびi番目のセルの左右r個近傍のセルの値を使用して計算される。
一次元のバイナリ・セルオートマトン(CA)は、直列接続された、0あるいは1の値をとるL個のセルアレイと、q個の変数を有するブール関数f(x)の値とから構成される。セルxiの値は、i=1,2,...,Lについて、x’i=f(x)として、離散時間ステップでこの関数を使用して、パラレルに(同期して)更新される。境界条件は、通常、指標値モジュールLをとることにより処理される。パラメータqは、通常、奇数の整数(つまりq=2r+1)であり、ここでrは、関数f(x)の半径としばしば呼ばれる。i番目のセルの新しい値は、i番目のセルの値、およびi番目のセルの左右r個近傍のセルの値を使用して計算される。
各々が0または1の値をとるL個のセルがあるので、2L個の可能な状態ベクトルがある。Skで、時間ステップkでの状態ベクトルを表わすものとする。初期状態ベクトルS0からスタートして、セルオートマトンは、時間ステップk=1;2;3;...などで、状態S1,S2,S3などに移る。状態ベクトルSkは、kが進むにつれて、Lビットのバイナリ・ベクトルの群(セット)から値をとり、状態マシンは結果として循環する。つまり、以前(Sk=Sk+P)に到達した状態Sk+Pに達する。この周期Pは、初期状態、更新機能およびセル数の関数である。
q=3を有するCAについては、各離散時間ステップt(時計サイクル)でi番目のセルの展開は、(i−1)番目、(i)番目、(i+1)番目セルの現在の状態の関数として表わすことができる。
fはCAに関連した組合せ論理(combinatorial logic)とも呼ばれる。組合せ論理は、それぞれ次の状態に展開するために更新ルールを表わす。
セルの次の状態関数が真理値表(truth table)の形で表現される場合、真理値表中の出力カラムの10進の等価は、従来通りにCAルール番号と呼ばれる。非特許文献3の中で提案され考慮したルール30と呼ばれる非線形ルールは、下記によって更新を実現する:
特に興味深いのはGF(2)に関する2つの線形ルールである。これらは、ルール90およびルール150としてそれぞれ知られている。ルール90では、以下の組合せ論理に従って、現在から次の状態までの展開(更新)を指定する:
ここで、丸に十字の記号(以下「○+」と略す)はXOR演算を示す。なお、ルール90が適用される場合、i番目のセルの次の状態が、その左右の近傍の現在の状態に依存する。同様に、ルール150用の組合せ論理は、以下により与えられる:
すなわち、i番目のセルの次の状態は、その左右の近傍の現在の状態およびさらにそれ自身の現在の状態に依存する。
CAでは、同じルールがすべてのセルに適用される場合、CAは均質なCAと呼ばれる。そうでなければ、それはハイブリッドCAと呼ばれる。様々な境界条件がある場合がある。すなわち、ヌル(端部のセルが論理「0」に接続される場合)、周期的(端部のセルが隣接する)、などである。
CAの背景技術は非特許文献2で見つけることができる。
2×Lセルオートマトン(2-by-L Cellular Automata):
2×L CAは非特許文献4で提案され考慮されたが、このセクションでは2×L CAのある特性について簡単に説明する。
2×L CAは非特許文献4で提案され考慮されたが、このセクションでは2×L CAのある特性について簡単に説明する。
上述したように、線形の有限状態機械(LFSM)は、L個のシングルビット・メモリエレメントおよび1つの遷移関数で構成される。時間tでi番目のメモリエレメントの値または状態は、st iで示される。時間tのLFSMの状態は、stで示される。遷移関数fは、時間tの状態から時間t+1でのLFSMの状態を決定する。すなわちst+1=f(st)である。LFSMの次の状態関数は、グラフ式に状態図を使用して記述することができる。なお、LFSMの直線性は、fがnビット・ベクトルからnビット・ベクトルまで線形関数であることを意味する。すなわち、任意の2つの状態aおよびbについて
f(a+b)=f(a)+f(b)
である。遷移関数fは、n個の関数f1,f2,...,fnとして特定することができ、ここで、i番目の関数がセルiの次の状態を計算する。
f(a+b)=f(a)+f(b)
である。遷移関数fは、n個の関数f1,f2,...,fnとして特定することができ、ここで、i番目の関数がセルiの次の状態を計算する。
si t+1=fi(st)
CAとの関連では、関数fiは、セルiについてのセルルールと呼ばれる。fiの各々が線形の場合、しかもその場合のみ、遷移関数fは線形である。簡単のために、sが現在の状態を示すために使用され、次の状態にはs+が使用されるものとする。同様に、siは現在の状態を示し、si +はセルiの次の状態を示すものとする。CAにおいて、「セル間の通信が最近傍で行われる」とは、各セルがその直近の近傍だけに接続されることを意味している。図1は、2×l CAの相互接続構造を示す。左端および右端のセルは、それらの左右の入力部(図では省略されている)で定数0入力をそれぞれ有すると仮定する。そのようなCAは、規則的な配置を有する2×l CAと呼ばれる。
CAとの関連では、関数fiは、セルiについてのセルルールと呼ばれる。fiの各々が線形の場合、しかもその場合のみ、遷移関数fは線形である。簡単のために、sが現在の状態を示すために使用され、次の状態にはs+が使用されるものとする。同様に、siは現在の状態を示し、si +はセルiの次の状態を示すものとする。CAにおいて、「セル間の通信が最近傍で行われる」とは、各セルがその直近の近傍だけに接続されることを意味している。図1は、2×l CAの相互接続構造を示す。左端および右端のセルは、それらの左右の入力部(図では省略されている)で定数0入力をそれぞれ有すると仮定する。そのようなCAは、規則的な配置を有する2×l CAと呼ばれる。
各時間ステップにおいて、各セルは、そのセルルールを使用して、新しい状態を計算する。異なるセルは異なるルールを使用することができ、CAをハイブリッドとして構成する。さらに、CAが完全に接続されている、すなわち各セルがその近傍の内3つすべてから入力を受け取ると仮定すると、結果として、セルiについてのセルルールfiは、下記のうちの1つであることになる:
ここで、sl(sr)は、左(右)近傍の現在の状態を示し、svは、縦方向の近傍のそれを示し、ssは、セルi自体の状態を示す。ルール0およびルール1は、それぞれルール90およびルール150をそのまま一般化したもので、背景技術の一次元CA文献に開示されている。
2つのルールだけしかないため、セルによって使用されるルールは、シングルビットとしてコード化することができる、つまり、「1」はルール1を示し、「0」はルール0を示す。変数t1,t2,...,tLおよびb1,b2,...,bLは、セルによって使用されるルールを示すために用いる。簡単のために、t1,t2,...,tLに対応して、トップセルは、1からLまで番号が付けられ、b1,b2,...,bnに対応して、ボトムセルは、L+1から2Lまで番号が付けられる。一般に、ルール・ベクトル[[t1,t2,...,tn],[b1,b2,...,bn]]は、与えられた2×l CAを識別するために使用される。
LFSMの遷移行列Tは、遷移関数を代数的に定義するので、s+=s・Tである。一次元CAの遷移関数は、三重対角(tridiagonal)である。2×l CAについて、遷移行列は、ブロック構造を持っている。
ここで、T1とT2がL×Lの三重対角行列であり、IはL×L単位行列である。例えば、2×4 CAについての遷移行列は以下のとおりである:
ここで、tiおよびbi(1 ≦ i ≦ 4)は上記のように定義される。なお、任意の2×l CAの遷移行列は対称である。
2×3CAの例を考慮し、CAがルール・ベクトル[[1,1,0],[0,0,1]]を使用すると仮定すると、その結果は、以下のとおりである。
[t1,t2,t3]=[1,1,0]及び[b1,b2,b3]=[0,0,1]
si (1 ≦ i ≦ 6)を現在とすると
si (1 ≦ i ≦ 6)を現在とすると
最小コストの2×L−CA(Minimal Cost 2-by-L CA):
任意のアプリケーションついて、一般に、LFSMインプリメンテーションのハードウェアコストを最小限にすることを試みることが望ましい。1D CAに関し同様の方法で、500までの程度で最小コストの2×l CAが計算されたが、これは、非特許文献4で報告されている。なお、ハードウェアコストを最小限にすることは、ルール1を用いるセル数を最小限にすることを意味する。というのは、ルール1は、評価およびインプリメンテーションについて、わずかに高い複雑度を有するからである。
任意のアプリケーションついて、一般に、LFSMインプリメンテーションのハードウェアコストを最小限にすることを試みることが望ましい。1D CAに関し同様の方法で、500までの程度で最小コストの2×l CAが計算されたが、これは、非特許文献4で報告されている。なお、ハードウェアコストを最小限にすることは、ルール1を用いるセル数を最小限にすることを意味する。というのは、ルール1は、評価およびインプリメンテーションについて、わずかに高い複雑度を有するからである。
与えられた2×l CAが最大長サイクルを持っているかどうか決めるために、非特許文献4で提案されたアルゴリズムは、以下のとおりである:
1.非特許文献4に記述された定理1での回帰関係を使用して、CAの固有多項式を計算する、
2.固有多項式がプリミティブかどうかをチェックし、もしそうであれば、CAは最大長サイクルを有する。
1.非特許文献4に記述された定理1での回帰関係を使用して、CAの固有多項式を計算する、
2.固有多項式がプリミティブかどうかをチェックし、もしそうであれば、CAは最大長サイクルを有する。
従って、各n(1≦n≦250)について、アルゴリズムは、最初に均質なルール0CAを生成しチェックする。これが成功しない場合(その筈はないが)、アルゴリズムは、単一のルール1セルを備えた2×n CAをすべて生成する。これが成功しない場合、アルゴリズムは、1対のルール1セルを有するCAをすべて生成する。そしてこれを続けていく。各nについて、検索は、最大長サイクルを有する最初の2×n CAで止められた。従って、生成されたCAは、最小コストを有する、つまり、最も少ない数のルール1セルを使用する。アルゴリズムの結果は、非特許文献4の表3に示されている。
なお、L=2およびL=4については、最大長サイクルの2×n CAが存在しない。2×2CAの構造は、周期的な線形のハイブリッドCAと同じである。したがって、最大長マシンがないのは驚くことではない。
非特許文献4中で計算した結果は、均質な重み1 CAに関する2つの観察につながる。セルがすべて同じルールを使用する場合、CAは均質である。そのようなCAは、セルがすべてルール0を用いる場合ルール0CAと呼ばれ、あるいは、セルがすべてルール1を使用する場合、ルール1CAと呼ばれる。重み1CAは、ルール1を用いる単一のセルとルール0を使用する全ての残りのセルとを有する。非特許文献4の中で報告された観察は次のとおりである:
・観察1.最大長の均質CAは、存在しない。
・観察2.L>1の場合、最大長の重み1 CAは存在しない。
・観察1.最大長の均質CAは、存在しない。
・観察2.L>1の場合、最大長の重み1 CAは存在しない。
本実施形態による装置および方法:
初めに、制御可能な周期を有する擬似乱数シーケンスを生成する第1の実施形態による方法を説明する。
初めに、制御可能な周期を有する擬似乱数シーケンスを生成する第1の実施形態による方法を説明する。
バイナリのシーケンス{ai}iおよび{bi}iは、2つの独立プロセスの実現であり、下記が有効であると仮定する。
・シーケンス{ai}iを生成するプロセスは、実験によって評価された少なくとも適度な周期と、統計的テストのシステムで測定された望ましいランダム性特性を有するシーケンスを提供する。
・シーケンス{bi}iを生成するプロセスは、値が分析的に証明可能である長い周期と、統計的テストのシステムで測定された少なくとも適度なランダム性特性を有するシーケンスを提供する。
・シーケンス{ai}iを生成するプロセスは、実験によって評価された少なくとも適度な周期と、統計的テストのシステムで測定された望ましいランダム性特性を有するシーケンスを提供する。
・シーケンス{bi}iを生成するプロセスは、値が分析的に証明可能である長い周期と、統計的テストのシステムで測定された少なくとも適度なランダム性特性を有するシーケンスを提供する。
そして、本出願の発明者は以下が有効であること発見した。
・シーケンス{ci}i={ai「○+」bi}iは、値が分析的に証明可能である長い周期と、統計的テストのシステムによって測定された望ましいランダム特性とを有する。
・シーケンス{ci}i={ai「○+」bi}iは、値が分析的に証明可能である長い周期と、統計的テストのシステムによって測定された望ましいランダム特性とを有する。
上記の知見によれば、高いランダム性特性および制御可能な周期を有する、バイナリのシーケンスを生成する下記方法が提供され、該方法は以下のステップを含む:
(1)適切なセルオートマトンに基づいたアプローチを使用して、所望のランダム特性および予期された周期の(少なくとも)適度な長さを備えたバイナリのシーケンスを生成するアルゴリズムを特定する;
(2)適切なセルオートマトンに基づいたアプローチを使用して、所望の周期および(少なくとも)適度なランダム特性のバイナリのシーケンスを生成するアルゴリズムを特定する;
(3)上記2つの要素シーケンスのビット毎mod2の和として、結果として生じるシーケンスを生成する;結果的に生じるシーケンスについて予期される特性は、所望の統計特性およびシーケンス周期の制御可能な下限である。
(1)適切なセルオートマトンに基づいたアプローチを使用して、所望のランダム特性および予期された周期の(少なくとも)適度な長さを備えたバイナリのシーケンスを生成するアルゴリズムを特定する;
(2)適切なセルオートマトンに基づいたアプローチを使用して、所望の周期および(少なくとも)適度なランダム特性のバイナリのシーケンスを生成するアルゴリズムを特定する;
(3)上記2つの要素シーケンスのビット毎mod2の和として、結果として生じるシーケンスを生成する;結果的に生じるシーケンスについて予期される特性は、所望の統計特性およびシーケンス周期の制御可能な下限である。
次に、制御可能な周期を有する擬似乱数シーケンスを生成する第1の実施形態による装置の一例について説明する。制御可能な周期の擬似乱数シーケンスを生成する装置のための3つの主な構成要素は次のとおりである:
・図1に表示され、上記セクションおよび表1で特定される2×L CA;
・図2に表示され、表2(詳細に関しては上記セクションを参照)に基づいて特定される2D−CA;および
・2×L CAおよび2D−CAから生じるシーケンスのビット毎mod2の和のための加算器。
・図1に表示され、上記セクションおよび表1で特定される2×L CA;
・図2に表示され、表2(詳細に関しては上記セクションを参照)に基づいて特定される2D−CA;および
・2×L CAおよび2D−CAから生じるシーケンスのビット毎mod2の和のための加算器。
表1は、複数個の特定の2×L CAを特定する。表中のエントリは、どのセルがルール1を使用するか示す。例えばエントリ
3 1,2,6
は、2×3CAのルールベクトルを表す。つまり、6つのセルのCAについてのルール・ベクトルは
以下の通りとなる。
3 1,2,6
は、2×3CAのルールベクトルを表す。つまり、6つのセルのCAについてのルール・ベクトルは
以下の通りとなる。
[[t1, t2, t3], [b1, b2, b3]] = [[1,1,0], [0,0,1]]
ここで、「1」は、セル1、2および6のルール1を示す。
ここで、「1」は、セル1、2および6のルール1を示す。
本装置は、高品質の擬似乱数シーケンスを生成する、非特許文献1で報告されている特定の2D−CAを使用する。これは、二次元(2D)の8×8の配列に整えられた64のセルからなる。
si,j(t)は、時刻t,i,j=1,2,...,8に、座標(i,j)を有する2D−CAのセル状態を示すとする。使用される2D−CAでは、セルは、表2で与えられるルールのうちの1つに従って更新される。使用される2D−CAは、図2に示す。
図3は、本発明の第1の実施形態による装置の配置例を示す。本装置は、2D−CA310、2×L CA320、2D−CAセル出力および対応する2×L CAセル出力のビット毎mod2加算を行なう加算器330−1,330−2,...,330−n、および生成された高品質の制御可能な周期の擬似乱数シーケンス350を出力するために、mod2加算演算結果をバッファするバッファ340を有する。ここで、高品質擬似乱数シーケンスとは、シーケンス・ランダム性を測定する指定された統計的なテスト群をパスするシーケンスを意味する。
本装置は、CPUとメモリを備えたコンピュータに所定のプログラムを実行させたり、あるいは、ハードウェアロジック装置により実現することができる。
図3に示された本装置は、以下のように動作する。
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:本装置の各サイクルは、次のステップからなる:
(1)2×L CA320を1サイクル動作させ、その全てのセルを更新する;
(2)2D−CA310を1サイクル動作させ、その全てのセルを更新する;
(3)2D−CA310のセルと対応する2×L CA320のセルとのビット毎mod2加算を行なう。
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:本装置の各サイクルは、次のステップからなる:
(1)2×L CA320を1サイクル動作させ、その全てのセルを更新する;
(2)2D−CA310を1サイクル動作させ、その全てのセルを更新する;
(3)2D−CA310のセルと対応する2×L CA320のセルとのビット毎mod2加算を行なう。
次の表3は、本装置の空間複雑度および出力シーケンス周期の得られた下限の典型的な値を示す。
第2の実施形態:
本発明の第2の実施形態によれば、ストリーム暗号(stream cipher)を設計するための構築ブロックのファミリが提供される。これらの構築ブロックの主な役割は、後段処理に好適な擬似乱数シーケンスを生成することである。これらのシーケンスは、高度なランダム性特性、長い周期を有しており、実用上予測不可能なものである。本実施形態の構築ブロックは、出力擬似乱数シーケンスの所望特性を実現するように組み合わせられた3つの異なるクラスのセルオートマトンに基づいている。本実施形態のファミリは、広い範囲における特定のインプリメンテーションまたはアプリケーション制約に好適な、あるファミリメンバを選択できるという可能性を与えている。
本発明の第2の実施形態によれば、ストリーム暗号(stream cipher)を設計するための構築ブロックのファミリが提供される。これらの構築ブロックの主な役割は、後段処理に好適な擬似乱数シーケンスを生成することである。これらのシーケンスは、高度なランダム性特性、長い周期を有しており、実用上予測不可能なものである。本実施形態の構築ブロックは、出力擬似乱数シーケンスの所望特性を実現するように組み合わせられた3つの異なるクラスのセルオートマトンに基づいている。本実施形態のファミリは、広い範囲における特定のインプリメンテーションまたはアプリケーション制約に好適な、あるファミリメンバを選択できるという可能性を与えている。
ストリーム暗号用の適切な基礎的構築ブロックの開発は、良く認識されており、開かれた課題である。極めて最近、非特許文献5で、このトピックへの新たな寄与が報告されており、T関数に基づいた暗号構築ブロックが研究されている。
しかしながら、その課題に取り組むために異なるアプローチを提供することによって、ユーザーあるいはシステム設計者に、擬似乱数シーケンスを生成する、より柔軟な手段を提供することが望ましい。例えば、セルオートマトンの利用に基づいたストリーム暗号について、適切な構築ブロックを得るために新たなフレームワークを提供することが望ましい。本実施形態について詳細に説明する前に、本実施形態中で使用されるCCAの基礎技術のうちのいくつかについて説明する。
制御可能なセルオートマトン(CCA:Controllable Cellular Automata):
本セクションでは、非特許文献6で紹介された、制御可能なセルオートマトン(CCA)の概要を述べる。詳細な説明は非特許文献6に開示されている。CCAの説明に当たり、CCAの特性を識別するためにいくつかの点について最初に定義する。
・定義:CCAは、いくつかのセルの動作(どのようにセルの状態が各サイクルで更新されるか)が、セル制御信号によって制御することができるCAである。ルール制御信号と同様に、セル制御信号はROMに格納するか、あるいはCAによって生成することができる。
・定義:セルが、セル制御信号で制御される場合、それは制御可能なセルである;そうでなければ、それは基本セルである。CCAは、制御可能なセルおよび基本セルの組み合わせである。制御可能なセルおよび基本セルの双方は、ルール制御信号を有し得る。
本セクションでは、非特許文献6で紹介された、制御可能なセルオートマトン(CCA)の概要を述べる。詳細な説明は非特許文献6に開示されている。CCAの説明に当たり、CCAの特性を識別するためにいくつかの点について最初に定義する。
・定義:CCAは、いくつかのセルの動作(どのようにセルの状態が各サイクルで更新されるか)が、セル制御信号によって制御することができるCAである。ルール制御信号と同様に、セル制御信号はROMに格納するか、あるいはCAによって生成することができる。
・定義:セルが、セル制御信号で制御される場合、それは制御可能なセルである;そうでなければ、それは基本セルである。CCAは、制御可能なセルおよび基本セルの組み合わせである。制御可能なセルおよび基本セルの双方は、ルール制御信号を有し得る。
制御可能なセルの動作は、その現在のセル制御信号によって決定される。制御可能なセルは、ノーマルとするか(セル制御信号が0である場合)、あるいはアクティブ(セル制御信号が1である場合)にすることができる。制御可能なセルがノーマルな場合、制御可能なセルおよびその近傍の状態の計算は、(現在のルール制御信号およびその近傍の状態によって)通常どおりである。制御可能なセルがアクティブな場合、制御可能なセルおよびその近傍の状態の計算は、いくつかの予め定められた動作によって特定される。制御可能なセルおよびその近傍に適用された動作は相違し得る。予め定められた動作が制御可能なセルの状態計算に影響することになる。
CCAの構造は、合計でL個のセルを有する。M(M ≦ L)セルは、制御可能なセルであり、残りのセルは基本セルである。ここで、基本セルは、すべてプログラム可能なセルである。したがって、このCCAでは、ルール制御ビットおよびセル制御ビットがある。ルール制御ビットを有する、L−セルのプログラム可能なCA(PCA)と比較して、CCAの追加コストは、Mセル制御ビットである。CA遷移中に、どのルールを、基本および制御可能なセルの双方上で使用すべきか、ルール制御信号が決定し、セル制御信号は、制御可能なセルの状態を決定する。
CCAの制御可能なセルの使用により、それとプログラム可能なCA(PCA)(ルール制御信号だけが存在する)を区別する。一旦制御可能なセルおよび基本セルの動作が特定されれば、制御可能なセルのセッティングは、CCAの性能を決定する。PCAとCCAでの共通の概念は、CA遷移を、より予測不能でより柔軟にするために、CAセルについて、それらが双方とも、いくつかの制御ラインを使用するということである。相違点は、PCAでは全てのセルが均質な構造を有し、一方、明らかにCCA中では、制御可能なセルの構造は基本セルのそれと同じではないということである。
同様のCAの性能を達成するために、他の方法を使用してもよい。例えば、半径(つまり近傍の数)を増加させたり、各セル中でより多くの状態を使用したり、または各セルのルール・テーブルを発展させたりすることである。コストが比較可能ではないので、どの方法が、性能またはハードウェア設計において良いのか言うのは難しい。ルール・テーブルを発展させる代わりに、セル状態を変える場合、異なる計算アプローチを適用することができるように、CAセルの状態を制御するスキームが提案されている。これに基づいて、進行中にセル状態を変更することができるCA−CCAの新しいクラスは、非特許文献6で提案されている。その研究は、当時良好なランダム性品質を得ることができるCCAの良い構成を見つけることに焦点を絞っていた。
下記では、2つの制御可能なセルタイプが提案されており、これらは、性能をさらに検討するためにCCAの例として用いられる。
上述のように、セル制御信号が0である場合、制御可能なセルは基本セルと同じ動作をとる。一方、セル制御信号が1である場合、制御可能なセルは予め定められた動作を実行する。つまり、ノーマルな場合にそれが行なう動作とは相違し得る。これは、アクティブな場合、制御可能なセルが行なう動作が、制御可能なセルの特性を決定することを意味する。
アクティブにされた制御可能なセルが実行できる最も単純な動作は、CA計算プロセスの間に、その状態を維持することである。その間に、通常通り、その近傍の状態が計算される。この種の制御可能なセルは、タイプ0の制御可能なセルと呼ばれる。タイプ0の制御可能なセルおよび基本セルの組み合わせであるCCAは、以下ではCCA0と呼ぶ。
制御可能なセルがアクティブとされた場合、タイプ2の制御可能なセルとなり、その最新の状態を維持するが、その近傍はそれをバイパスする。つまり、これは、アクティブにされた制御可能なセルが、その近傍の状態計算に関係しないということである。このように、近傍関係は、CA計算プロセスの間に、ダイナミックに変更される。タイプ2の制御可能なセルと基本セルとの組み合わせであるCCAは、CCA2または近傍変更CA(NCA)と呼ばれる。その近傍変更挙動のためにCCA2は、、どんなPCAによってもシミュレートすることができない。
本実施形態による装置および方法:
例えばストリーム暗号のための、本実施形態による新たな構築ブロック・ファミリのデザインに対する基本的な構想には、下記が含まれている。
(1)最近報告されたセルオートマトンと、構築ブロック出力シーケンスの次の2つの特性を制御するための背景技術を与えるCAベースの擬似乱数生成器との使用:
・統計特性(ランダム性)、
・周期、
(2)時間変化アルゴリズムを生成に利用することによって、構築ブロック出力シーケンスの非予期性を提供すること、特に下記を提供すること:
・報告された改善された速い相関性攻撃(例えば、非特許文献8参照)および代数的攻撃(例えば、非特許文献9参照)に対する耐性。
例えばストリーム暗号のための、本実施形態による新たな構築ブロック・ファミリのデザインに対する基本的な構想には、下記が含まれている。
(1)最近報告されたセルオートマトンと、構築ブロック出力シーケンスの次の2つの特性を制御するための背景技術を与えるCAベースの擬似乱数生成器との使用:
・統計特性(ランダム性)、
・周期、
(2)時間変化アルゴリズムを生成に利用することによって、構築ブロック出力シーケンスの非予期性を提供すること、特に下記を提供すること:
・報告された改善された速い相関性攻撃(例えば、非特許文献8参照)および代数的攻撃(例えば、非特許文献9参照)に対する耐性。
構築ブロックは複数の部から構成され、その各々は、次の項目、つまり、長い周期、良好な統計、非予期性のうちの1つまたは2つに寄与する。
本実施形態の設計では、セルオートマトンは主要素として使用される。CAと関連する次の最近の報告が考慮されている。
・非特許文献1および6は、CA構造を指摘しているが、これらは、非特許文献11で示した表4中で列挙された多数の統計的テストをパスすることができる高いランダム性のバイナリシーケンスを生成する2D−CA(2次元セルオートマトン)およびCCA(制御可能なセルオートマトン)である。表4はダイハード(DIEHARD)テスト集として知られている。
・非特許文献4中で報告されている結果は、分析上の立証可能性(上記セクションも参照)を有する、最大の周期シーケンスを生成するCA構造を指摘している。
・非特許文献1および6は、CA構造を指摘しているが、これらは、非特許文献11で示した表4中で列挙された多数の統計的テストをパスすることができる高いランダム性のバイナリシーケンスを生成する2D−CA(2次元セルオートマトン)およびCCA(制御可能なセルオートマトン)である。表4はダイハード(DIEHARD)テスト集として知られている。
・非特許文献4中で報告されている結果は、分析上の立証可能性(上記セクションも参照)を有する、最大の周期シーケンスを生成するCA構造を指摘している。
本実施形態では、次の3つの主要素を構築ブロックに使用することができる:
・図1に表示された、表1中で挙げられた特定の例を有する第1の実施形態の説明において指定された2×L CA
・図2に表示され、表2に基づいた第1の実施形態の説明で指定された2D−CA;
・図4〜5に表示され、表5中で特定されたCCA;および
・2×L CA、2D−CAおよびCCAから結果的に生じるシーケンスのビット毎mod2の合計のための加算器。
・図1に表示された、表1中で挙げられた特定の例を有する第1の実施形態の説明において指定された2×L CA
・図2に表示され、表2に基づいた第1の実施形態の説明で指定された2D−CA;
・図4〜5に表示され、表5中で特定されたCCA;および
・2×L CA、2D−CAおよびCCAから結果的に生じるシーケンスのビット毎mod2の合計のための加算器。
使用されたCCA構造は表5で特定されるが、これは、最適化(進化した多目的最適化:evolutionary multi objective optimization:EEOO)アルゴリズムによって得られ、最良の統計特性を有するものの一つとして非特許文献6で報告されている。表5の第2行では、「1」は制御可能なセルを示し、また、第3行では、「1」はCCA出力に寄与するセルを示す。
図4は、本実施形態の装置でCCAを含む全体的なブロック構造の例を示す。図5(B)は、CCAの内部構造の一例を示す。また、図5(A)はCCAを構成するセルユニットの構造の一例を示す。
図4で示すように、本実施形態では、CCA400についてのルール制御信号(ルール制御ワード)およびセル制御信号(セル制御ワード)が、2つのCA401,402によって別々に生成されると仮定する。ルール制御信号を生成するCA401は、ルール制御CAと呼ばれる。セル制御信号を生成するCA402は、セル制御CAと呼ばれる。
図5(B)で示すように、CCA400は、複数個のセルユニット510−1,...,510−i,...,510−j,...,および510−Lを含んでいる。本例においては、CCA400が、合計でL個のセルを有しており、M(M ≦ L)個のセルが制御可能なセル(例えば、セルユニット510−i,510−j)であり、残りのセルが基本セル(例えば510−1,510−L)であると仮定している。制御可能なCAセルユニットは、例えば図5(A)で示すように、セル5101(その状態は、セル制御信号およびルール制御信号によって制御される)と、左右近傍セルの状態を入力するための加算器5102とを有している。
ここで、基本セルは、すべてプログラム可能なセルである。したがって、このCCAには、ルール制御ビットおよびセル制御ビットがある。ルール制御ビットを有する、Lセルのプログラム可能なCA(PCA)と比較して、CCAの追加コストはMセル制御ビットである。CA遷移中に、制御信号は、どのルールを基本および制御可能なセル上で使用するか決定する。セル制御信号は、制御可能なセルの状態を決定する。
各サイクルで、CCAセルについてのルール(セル)制御信号のビット組み合わせは、ルール(セル)制御ワードと称される。ルール制御ワードの長さは、CCA400のそれと同じであり、一方、セル制御ワードの長さは、CCA400中の制御可能なセルの数によって決定される。
CCA400のランニングシーケンスは、次のように説明される。初期シードおよび遷移ルールは、それらを初期化するために、ルール制御CA400、セル制御CA402およびCCA400へ入力される。CCAセルについて、ルールおよびセル制御ワードを生成するために、2つの制御CA401,402が、CCA400と同期して作動する。各サイクルにおいて、CCAセルの前の状態およびルール/セル制御ワードは、CCAセルの現在の状態を決定する。いくつかのCCAセルの現在の状態は、出力ビットシーケンスとして、すべてのサイクルで記録される。
非常に多くの研究がPCAでの良好な遷移ルールの探索のために行われているため、非特許文献6では、勧められたルールを選択している。非特許文献6で使用される4つの加法ルールは、ルール90、150、105および30である。ルール90および150は、CCA中で遷移ルールとして使用される。これは、1ビットPCA90150との比較を容易にする。ルール30はルール制御CA中で使用され、ルール105はセル制御CA中で使用されるが、これら2つのルールが、非特許文献7によると、乱数発生で最良のものと言われているからである。なお、64のセルを備えた非特許文献6で記述・使用されたCCA(CCA2)においては、35の制御可能なセルおよび35の出力セルがあり、20は制御可能なセルである。
本発明の本実施形態によれば、上述の構築ブロック(3−CA)のファミリを含む装置が提供される。本装置は、制御可能な周期を有する、実用上予測不能な高品質の擬似乱数シーケンスを生成する。
典型的な3−CA構築ブロックを備えた装置を、図6に示す。本装置は、2D−CA310と、2×L CA320と、CCA400と、2D−CA310、2×L CA320およびCCA400からの対応するセル出力のビット毎mod2加算を行なう加算器600−1,600−2,...,600−nと、生成した高品質擬似乱数シーケンス650を出力するために、mod2加算演算結果をバッファするためのバッファ340と、を有する。
さらに、本実施形態の装置では、2D−CA310および2×L CA320は、ルール制御CA401およびセル制御CA402としてそれぞれ機能する。言いかえれば、ルール制御ワード610およびセル制御ワード620は、2D−CA310および2×L CA320からそれぞれ生成され、図4および図5で示されるようにセルおよびルール制御用のCCA400に供給される。
図6に示された本装置は、以下のように動作する。
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:3−CA構造の装置の各サイクルは、次のステップを含む:
(1)2×L CA 320を1サイクル動作させ、その全てのセルを更新する;
(2)2D−CA 310を1サイクル動作させ、その全てのセルを更新する;
(3)2D−CAセルに基づいたCCAルール制御ワードを特定する;
(4)2×L CAセルに基づいたセル制御ワードを特定する;
(5)CCAを1サイクル動作させ、その全てのセルを更新する;および
(6)対応するCCA、2D−CAおよび2×L CAセルのビット毎mod2加算を行なう。
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:3−CA構造の装置の各サイクルは、次のステップを含む:
(1)2×L CA 320を1サイクル動作させ、その全てのセルを更新する;
(2)2D−CA 310を1サイクル動作させ、その全てのセルを更新する;
(3)2D−CAセルに基づいたCCAルール制御ワードを特定する;
(4)2×L CAセルに基づいたセル制御ワードを特定する;
(5)CCAを1サイクル動作させ、その全てのセルを更新する;および
(6)対応するCCA、2D−CAおよび2×L CAセルのビット毎mod2加算を行なう。
表6は、使用されたCAセルの総数および出力シーケンス周期の得られた下限によって測定された構築ブロック空間複雑度の例を示す。
第3の実施形態:
本発明の第3の実施形態では、暗号の擬似乱数シーケンス生成器(キーストリーム生成器)のファミリは、ストリーム暗号の設計および関連するアプリケーションのために提供される。本実施形態のファミリは、高効率とセキュリティを同時に生む。本実施形態のキーストリーム生成器は、高いランダム特性、長い周期のシーケンスを生むものであり、実用上予測不能である。
本発明の第3の実施形態では、暗号の擬似乱数シーケンス生成器(キーストリーム生成器)のファミリは、ストリーム暗号の設計および関連するアプリケーションのために提供される。本実施形態のファミリは、高効率とセキュリティを同時に生む。本実施形態のキーストリーム生成器は、高いランダム特性、長い周期のシーケンスを生むものであり、実用上予測不能である。
本実施形態のキーストリーム生成器は、出力擬似乱数シーケンスが所望特性を生むように組み合わせられた、3つの異なるクラスのセルオートマトン、ラテン方格に基づいた非線形マッピングおよび不均一な間引き処理に基づくものである。
ストリーム暗号用の適切な暗号擬似乱数シーケンス生成器またはキーストリーム生成器の開発は、良く認識されており、開かれた課題である。多くの根本的な要素およびキーストリーム生成器は、関連する技術文献の中で報告されている。報告されたスキームのうちのいくつかは、セルオートマトン(CA)に基づく。
元々、セルオートマトン(CA)は、自己複製の構造を調査するために1950年代の初めにフォン・ノイマンによって提案された。CAに基づく擬似乱数発生器(PRNGs)についての関心の増大は、その単純さおよびカスケード構造のためであり得る。CAは、規則的であり、ローカルに相互連結することができ、そしてモジュール式である。これらの特性のため、ハードウェア中でCAをインプリメントすることが、他のモデルよりも簡単になる。CAは、乱数シーケンスを、連続あるいはパラレルのいずれかで生成することができる。実際上、ほとんどのCAでは、より高い作業効率を得るために、シーケンスをパラレルに生成する。
セルオートマトンはセルのアレイであり、各セルは、許容可能な状態のうちの任意の1つをとることができる。各離散時間ステップ(時計サイクル)では、セル状態の変更は、その遷移ルールに依存し、これはk近傍CAについて、そのk近傍の現在の状態の関数である。セルアレイ(グリッド)は、n次元であるが、ここで、n=1,2,3が実際上使用される。XORおよびXNORルールの組み合わせがあるCAは、加法的(additive)CA(非特許文献3)と呼ばれる。CAセルがすべて同じルールに従う場合、CAは均質で(uniform)あると言う;そうでない場合、それは不均一(non-uniform)か、あるいはハイブリッド(非特許文献7)である。CAは、端部のセル(最初のセルおよび最後のセル)が互いに隣接している場合に、周期的境界CA(PBCA)であると言う。CAは、端部のセルが、その左(右)セル(非特許文献3)のみに接続される場合に、ヌル境界CAであると言う。
加法的セルオートマトン(Additive Cellular Automata):
CAの非常に重要なクラスは、GF(2)における線形CAまたは加法的CAである。次の状態を生成する論理が、XORまたはXNOR演算だけを使用する場合、CAは加法的CAであると言う。線形のCAは、線形の有限状態機械(LFSM)の特定な形である。すべてのLFSMは、GF(2)の上の遷移行列によって一義的に(uniquely)表わされ、すべての遷移行列は、固有多項式を有する。
CAの非常に重要なクラスは、GF(2)における線形CAまたは加法的CAである。次の状態を生成する論理が、XORまたはXNOR演算だけを使用する場合、CAは加法的CAであると言う。線形のCAは、線形の有限状態機械(LFSM)の特定な形である。すべてのLFSMは、GF(2)の上の遷移行列によって一義的に(uniquely)表わされ、すべての遷移行列は、固有多項式を有する。
XOR演算だけを備えたLセルの一次元加法的CAについては、Tで示された線形演算子が、CAを特徴づけ得ることが、非特許文献12の中で示されているが、Tは、L×Lブール行列であり、そのi番目の行は、i番目のセルの近傍依存性を特定する。CAの次の状態は、列ベクトルとして表わされる現在のCA状態のこの一次演算子を適用することにより生成される。演算は、正規行列乗算であるが、含まれている加算は、モジュール2合計である。x(t)が、t番目の時刻のオートマトンの状態を表わす列ベクトルであれば、オートマトンの次の状態が、以下で与えられる:
x(t+1)=T×x(t)
CAの固有多項式がプリミティブな場合、それは最大長CAと呼ばれる。そのようなL個のセルからなるCAは、全0状態を除き、連続サイクルで2L−1の状態すべてを生成する。
x(t+1)=T×x(t)
CAの固有多項式がプリミティブな場合、それは最大長CAと呼ばれる。そのようなL個のセルからなるCAは、全0状態を除き、連続サイクルで2L−1の状態すべてを生成する。
固定次数Lについては、2L**2遷移行列(従って、2L**2のLFSM)があるが、2L次のL多項式だけであるので、次の状況がある:LセルLFSMとL×L行列の間に一対一対応があり、そして同時に、遷移行列とL次の多項式の間に多対一の対応がある。
LFSMの固有多項式を得ることは難しくない。というのは、行列式の評価によりそれを計算することができるからである。他方では、特定の固有多項式で特定のタイプのLFSM(CAのような)を見つけることは、非特許文献13の中で解決された課題である。ここでは、与えられた固有多項式を有するCAを得るための方法が示されている。当該方法は、各既約多項式について、CAが存在するか否かの課題を解決するためにも使用することができる。
プログラム可能なセルオートマトン(Programmable Cellular Automata):
ルール90およびルール150の位置表現は、近傍依存性が単に1つの位置において、すなわちセル自体上で異なることを示している。したがって、1つのセルについて単一の制御線を配することよって、異なる時間ステップに、ルール90およびルール150の双方を同じセルに適用することができる。そのために、L個のセルCA構造は、2L個のCA配置を実現するために使用することができる。同じ構造上で異なるCA配置(ルールを更新するセル)を実現することは、適切なスイッチを制御するために、制御論理を使用して達成し得る。また、ROMに格納された制御プログラムは、制御をアクティブにするために使用することができる。ROMワードのi番目のビットの1(0)状態は、i番目のセルを制御するスイッチを閉じる(開く)。このような構造は、プログラム可能なセルオートマトン(PCA)と呼ばれる。
ルール90およびルール150の位置表現は、近傍依存性が単に1つの位置において、すなわちセル自体上で異なることを示している。したがって、1つのセルについて単一の制御線を配することよって、異なる時間ステップに、ルール90およびルール150の双方を同じセルに適用することができる。そのために、L個のセルCA構造は、2L個のCA配置を実現するために使用することができる。同じ構造上で異なるCA配置(ルールを更新するセル)を実現することは、適切なスイッチを制御するために、制御論理を使用して達成し得る。また、ROMに格納された制御プログラムは、制御をアクティブにするために使用することができる。ROMワードのi番目のビットの1(0)状態は、i番目のセルを制御するスイッチを閉じる(開く)。このような構造は、プログラム可能なセルオートマトン(PCA)と呼ばれる。
従って、更新するルールを形成するセル当たり1つの操作量を配して、そのセル(ルール90あるいはルール150の)に適用することができる。ルール90(150)が、i番目のセルに適用される場合、nセルPCAのためのnビット制御ワードは、i番目のセルの上に0(1)を有する。
セルオートマトンに基づく擬似乱数生成器:
本実施形態が適用されるCAの擬似乱数生成器(PRNG)は、研究が盛んな分野であった。非特許文献3は、最大長のCAによって生成されたパターンのランダム性が、線形のフィードバック・シフトレジスタ(LFSR)のような他に広く用いられている方法よりも著しくよかったことを示している。
本実施形態が適用されるCAの擬似乱数生成器(PRNG)は、研究が盛んな分野であった。非特許文献3は、最大長のCAによって生成されたパターンのランダム性が、線形のフィードバック・シフトレジスタ(LFSR)のような他に広く用いられている方法よりも著しくよかったことを示している。
複数の論文では、あるPCAと同様に一次元の(1−d)CA PRNGも議論された。しかしながら、これらが、まだいくつかのランダム性テストを通らないので、1−d PCAでも、ランダム性品質は、完全には満足できるものではない。
CAのランダム性を改善するために、いくつかのセルに、セル制御信号を加えることにより、1−d PCAを増強し、かつCAの状態を制御するアプローチが報告されている(非特許文献6を参照)。最初の概念は、さらに洗練されて、近傍変更CA(NCA)の概念になった。1−d NCAに関するランダム性テスト結果は、それらが1−d PCAよりも良いことを示した。非特許文献6では、1−d NCAは、最小のコストを備えた最良のパフォーマンスまで進展した。
他方、代案として、CA PRNGsのランダム性品質をさらに改善するために、擬似乱数生成に二次元の(2−d)CAを使用するアプローチが報告された。非特許文献1では、非特許文献11のダイハードテストをパスし得る64セルの2−d CAを進展させたことが報告されており、これは、現在では、パスするのが最も困難なテスト群であると言われている。ランダム性テスト結果の比較は、2−d CAがランダム性において、1−d NCAに匹敵する。しかし、2−d CAの構造の複雑度は、1−d CAと比較して多少高い。
近年、GF(2)の上の線形セルオートマトンに基づいた2つのキーストリーム生成器(ROMおよび2ステージPCAを備えたPCAと呼ばれる)が、それらの安全性分析(security analysis)の結果と共に、非特許文献14中で提案された。
他方、中央のCAセルによって生成されたビットのシーケンスに基づいたバイナリの非線形のCA初期状態を再構築する方法が、非特許文献15中で与えられている。GF(2)上の非線形の遷移ルールおよびCAを仮定して、所与の状態のプリデセッサ(predecessor)を計算する転位アルゴリズムが、非特許文献16中で提案されている。
2ステージPCAおよびROMを備えたPCAの暗号の安全性分析は、非特許文献17および18の中でそれぞれ報告されており、ここで、ある暗号解読の攻撃のこれらのスキームのいくつかの脆弱性が、暗号文のみの攻撃(ciphertext only attack)と仮定して、実証されている。また、有効な秘密鍵サイズが、その正式の長さより著しく小さいことが示されている。同じ弱点は、既知の平文攻撃(plain text attack)を仮定する非特許文献19中で指摘されている。
近年、ROMを備えたPCAに基づく改善されたキーストリーム生成器が非特許文献20で、GF(2)上の演算を仮定して、提案され分析されている。GF(q)(q>2)上のCAのキーストリーム生成器アプリケーションが非特許文献10で報告されている。
本実施形態による装置および方法:
本実施形態によるキーストリーム生成器は、αブロックおよびβブロックと呼ばれる以下の2つの部分を備えている:
・第1の部分αブロックは次を提供する;
*長い周期
*良好な統計
*基本的な非予期性
・第2の部分βブロックは次を提供する;
*増強された最終非予期性。
本実施形態によるキーストリーム生成器は、αブロックおよびβブロックと呼ばれる以下の2つの部分を備えている:
・第1の部分αブロックは次を提供する;
*長い周期
*良好な統計
*基本的な非予期性
・第2の部分βブロックは次を提供する;
*増強された最終非予期性。
αブロックの設計に対する根本的な概念は、次を含んでいる:
(1)最近報告されたセルオートマトンと、構築ブロック出力シーケンスの次の2つの特性を制御するための背景技術を与えるCAベースの擬似乱数生成器との使用:
・統計特性(ランダム性)、
・周期、
(2)時間変化アルゴリズムをその生成に利用することによって、αブロック出力シーケンスの非予期性を提供すること、特に下記を提供すること:
・報告された改善された速い相関性攻撃および代数的攻撃に対する耐性。
(1)最近報告されたセルオートマトンと、構築ブロック出力シーケンスの次の2つの特性を制御するための背景技術を与えるCAベースの擬似乱数生成器との使用:
・統計特性(ランダム性)、
・周期、
(2)時間変化アルゴリズムをその生成に利用することによって、αブロック出力シーケンスの非予期性を提供すること、特に下記を提供すること:
・報告された改善された速い相関性攻撃および代数的攻撃に対する耐性。
αブロックは、複数の部からなる構築ブロックを含むよう構成され、その各部は、次の項目のうちの1つあるいは2つに寄与する:
−長い周期、
−良好な統計、
−非予期性。
−長い周期、
−良好な統計、
−非予期性。
αブロックの構造は、2×L CA、2D−CAおよびCCAを含んでいるが、これは上述の実施形態に詳細に説明されている。同様の要素は、同じ番号によって指定されるので、その説明は簡単のために省略する。
βブロックの主な役割は、αブロックからの出力シーケンスの非予期性を増強することにある。
αブロックからの出力シーケンスが、バッファされ、βブロックによる処理が、次の2つの操作によって行なわれることが考えられる:
・メモリによる非線形関数によるフィルタリング、および
・前のステップから得られたシーケンスの不均一間引き(non-uniform decimation)。
・メモリによる非線形関数によるフィルタリング、および
・前のステップから得られたシーケンスの不均一間引き(non-uniform decimation)。
βブロックで行なわれる処理の例は、図7と図8に示されている。図7は、非線形関数F1(701)およびF2(702)を使用して、メモリによる非線形マッピングのブロック構造例を示す。バッファ700は、αブロックからの出力シーケンスを記憶する。図8は、非線形関数F1(701)およびF3(703)を備えた、不均一の間引きのブロック構造例を示す。間引手段800は、非線形関数F3からの出力の制御下で、非線形関数F1からの出力シーケンスを間引きする。
図9は、使用された非線形マッピングの一般的な形態の例を示す。使用された関数F1、F2およびF3の各々は、ラテン方格(LS)に基づいた一般的な非線形マッピング構造に従う。
使用された非線形関数の各々は、図9で示されるような複数個のラテン方格テーブルからなる。これらのラテン方格テーブルの各々は、マッピング{0,1}M×{0,1}M→{0,1}Mを行なう。典型的なケースでは、各非線形関数は、2つのレイヤ(すなわち、レイヤ1、レイヤ2)からなる構造である。レイヤ1は、複数個のラテン方格テーブル901−1,901−2,...,901−iからなり、レイヤ2は、複数個のラテン方格テーブル901−j,...,901−kからなる。
図8で示される処理では、キーストリーム生成器は、非線形関数F3(703)から出力された間引きワードの重みに応じて、生成されたビットを出力することなく完全なサイクルを複数回行なう。
図10は、キーストリーム・シーケンス生成器のブロック構造例を示す。キーストリーム・シーケンス生成器は、次のものを備えている:
−3つの異なるクラスのセルオートマトン310,320,400(CA);
−ラテン方格に基づいた3つの異なる非線形関数701−703、つまりF1、F2およびF3、F1とF2はメモリを備えた非線形のコンバイナ/フィルタの役割をする;
−基本的なキーストリーム・シーケンスの不均一な間引きブロック800。
−3つの異なるクラスのセルオートマトン310,320,400(CA);
−ラテン方格に基づいた3つの異なる非線形関数701−703、つまりF1、F2およびF3、F1とF2はメモリを備えた非線形のコンバイナ/フィルタの役割をする;
−基本的なキーストリーム・シーケンスの不均一な間引きブロック800。
本実施形態では、CAの3つの異なるクラスとして、2×L CA320、2次元CA(2D CA)310および制御可能/プログラム可能なCA(CCA)400が使用される。各CAの詳細な特性は、第1および第2実施形態の説明における該当箇所に上述されている。なお、使用されたセルの総数は、本実施形態におけるファミリパラメータのうちの1つである。
使用された3つのCAが、3−CAと呼ぶ下部構造を形成する。これらの3つのCAは、該3−CA下部構造が結果として下記を生むような方法で組み合わせられている:
−高い非線形(および非予期性);
−出力シーケンスの周期の保証された下限;
−出力シーケンスの検証された統計特性。
−高い非線形(および非予期性);
−出力シーケンスの周期の保証された下限;
−出力シーケンスの検証された統計特性。
図10に示された3−CA構造は、以下のように作動する:
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:3−CA構造の各サイクルは、次のステップを含む:
(1)2×L CAを1サイクル動作させ、その全てのセルを更新する;
(2)2D−CAを1サイクル動作させ、その全てのセルを更新する;
(3)2D−CAセルに基づいたCCAルール制御ワードを特定する;
(4)2×L CAセルに基づいた状態制御ワードを特定する;
(5)CCAを1サイクル動作させ、その全てのセルを更新する;および
(6)対応するCCA、2D−CAおよび2×L CAセルのビット毎mod2加算を行なう。
・初期化:独立したランダム・ビットのシーケンスを用いて、すべてのセルを初期化する。
・シーケンス生成:3−CA構造の各サイクルは、次のステップを含む:
(1)2×L CAを1サイクル動作させ、その全てのセルを更新する;
(2)2D−CAを1サイクル動作させ、その全てのセルを更新する;
(3)2D−CAセルに基づいたCCAルール制御ワードを特定する;
(4)2×L CAセルに基づいた状態制御ワードを特定する;
(5)CCAを1サイクル動作させ、その全てのセルを更新する;および
(6)対応するCCA、2D−CAおよび2×L CAセルのビット毎mod2加算を行なう。
従って、キーストリーム生成器の動作は、初期化およびキーストリーム生成の2つのステップを含んでいる。
キーストリーム生成器の初期化は、いずれのキーストリーム生成の前でも必要である。キーストリーム生成器の再同期は、初期化と同じ動作を仮定する。
初期化の主なステップは、下記のとおりである:
−すべてのCAセルの初期値を設定すること;
−いかなる出力もなしに、キーストリーム生成器をM回動作させる、ここで、Mはキーストリーム生成器ファミリのパラメータである。
−すべてのCAセルの初期値を設定すること;
−いかなる出力もなしに、キーストリーム生成器をM回動作させる、ここで、Mはキーストリーム生成器ファミリのパラメータである。
次に、各作動サイクルでは、キーストリーム生成器内のキーストリーム生成の主な動作が実行される。キーストリーム生成には、次のものが含まれる:
(1)すべてのCAの更新;
(2)非線形関数出力の生成;
(3)間引きルールに応じて、ステップ(4)に行くか、またはステップ(1)および(2)を繰り返す;および
(4)出力シーケンスブロック(キーストリームブロック)の生成。
(1)すべてのCAの更新;
(2)非線形関数出力の生成;
(3)間引きルールに応じて、ステップ(4)に行くか、またはステップ(1)および(2)を繰り返す;および
(4)出力シーケンスブロック(キーストリームブロック)の生成。
上述のように、本実施形態によるキーストリーム生成器は、広い範囲における特定のインプリメンテーションまたはアプリケーション制約に好適な、あるファミリメンバを選択できるという可能性を与えている。本実施形態のキーストリーム生成器は、ハードウェア・インプリメンテーションに、および極めてランダムで、長い周期、および実用上は予測不能なシーケンスを要求する様々なアプリケーションに特に好適である。
第4の実施形態:
本発明の第4の実施形態によれば、上述の実施形態のうちの任意の1つによる擬似乱数生成器を使用して、暗号処理を行なうことができる装置が提供される。
本発明の第4の実施形態によれば、上述の実施形態のうちの任意の1つによる擬似乱数生成器を使用して、暗号処理を行なうことができる装置が提供される。
図11は、上記装置の一例を示す。本装置は、コンピュータシステムあるいはICモジュールのような情報処理装置で実現され得る。本装置は、例えば、上述の実施形態のうちの1つに従った擬似乱数生成器(PRNG)1100、CPU1101、I/Oインタフェース1102、メモリ1103、暗号プロセッサ1104およびバス1105を備えている。
CPU1101は、暗号処理の制御、データ送信/受信、構成するユニット間でのデータ転送など、様々なオペレーションやプログラムを実行する。メモリ1103は、CPU1101によって実行されるプログラムおよび固定オペレーションパラメータを格納するROM、および、記憶エリアおよび/またはプログラムを実行したりパラメータの変更に使用されるワークエリアとして使用されるRAMを含んでいる。さらに、メモリ1103は、鍵データなどのようなセキュリティデータを格納するためにセキュア記憶領域を含んでいてもよいが、これは暗号の処理に必要である。改ざん防止(anti-tamper)構造を有するそのようなセキュア記憶領域を形成することは望ましい。
暗号プロセッサ1104は、ストリーム暗号処理および/または解読処理のような暗号処理を行なう。また、暗号プロセッサ1104は、ROMに暗号処理プログラムを予め格納し、CPU1101にプログラムを読み取らせ実行させることにより実現してもよい。
PRNG1100は、暗号処理用の鍵の生成に必要な擬似乱数を生成する。PRNG1100は、CAに基づくものであり、図3、6および10で示される構造のうちのいずれか1つであってもよい。
I/Oインタフェース1102は、外部装置とのインタフェースをとり、例えば使用されるべき鍵を指定する情報の入力を受け、該鍵に基づいた暗号文データを出力する。また、I/Oインタフェース1102は、メディアリーダ/ライタまたはICモジュールのような外部装置または他の装置とデータ通信を行うデータ通信装置であってもよい。
なお、添付のクレームあるいはその均等物の範囲内である限り、種々の変更、組み合わせ、下位組み合わせおよび変更が、設計必要条件および他の要因に依存して生じ得ることは、当業者に理解され得るものである。
310:二次元セルオートマトン
320:2×Lセルオートマトン
400:制御可能なセルオートマトン
701〜703:非線形関数
320:2×Lセルオートマトン
400:制御可能なセルオートマトン
701〜703:非線形関数
Claims (11)
- 擬似乱数シーケンスを生成する装置において、
より高いランダム性を有する第1のシーケンスを生成する第1のタイプのセルオートマトンと、
周期について予め定めた下限を有する第2のシーケンスを生成する第2のタイプのセルオートマトンと、
前記第1のシーケンスおよび前記第2のシーケンスに対してビット毎のmod2の和を求める加算器とを備えること
を特徴とする装置。 - 前記第1のタイプのセルオートマトンは、二次元セルオートマトンであり、
前記第2のタイプのセルオートマトンは、2×Lセルオートマトンであり、
前記加算器の合計結果は、前記擬似乱数シーケンスとして出力されること
を特徴とする請求項1に記載の装置。 - 対応するセル制御ワードおよび/またはルール制御ワードに基づいて状態が計算され得るセルを有し、第3のシーケンスを生成する第3のタイプのセルオートマトンをさらに備え、
前記セル制御ワードは、前記第2のタイプのセルオートマトンにより生成され、
前記ルール制御ワードは、前記第1のタイプのセルオートマトンにより生成され、
前記加算器は、前記第1、第2および第3のシーケンスのビット毎のmod2の和を得ること
を特徴とする請求項1に記載の装置。 - 前記加算器の合計結果は、前記擬似乱数シーケンスとして出力されること
を特徴とする請求項3に記載の装置。 - 前記加算器からの合計結果に対し非線形マッピングを行なうブロックと、
前記非線形マッピングの結果に対して不均一な間引きを行なうブロックとをさらに備え、
前記間引き結果が前記擬似乱数シーケンスとして出力されること
を特徴とする請求項2また請求項4に記載の装置。 - 前記ブロックの各々が、少なくとも1つの非線形関数を含むこと
を特徴とする請求項5に記載の装置。 - 前記非線形マッピングを行なうブロックは、ラテン方格(Latin square)に基づいた非線形マッピング用の参照テーブルを少なくとも1つ含むこと
を特徴とする請求項5に記載の装置。 - 暗号処理を行なう装置において、
擬似乱数シーケンスを用いてデータを暗号化する暗号プロセッサと、
前記擬似乱数シーケンスを生成する擬似乱数シーケンス生成器とを備え、
前記擬似乱数生成器は、請求項1乃至7のいずれかに記載の装置を含んで構成されること
を特徴とする装置。 - セルオートマトンを用いて擬似乱数シーケンスを生成する方法において、
より高いランダム性を有する第1のシーケンスを生成するステップと、
周期について予め定めた下限を有するた第2のシーケンスの生成するステップと、
前記第1のシーケンスおよび前記第2のシーケンスのビット毎のmod2の和を得るステップとを備えていること
を特徴とする方法。 - セルオートマトンを用いて擬似乱数シーケンスを生成する方法をコンピュータに実行させるコンピュータプログラムにおいて、
前記方法は、
より高いランダム性を有する第1のシーケンスを生成するステップと、
周期について予め定めた下限を有するた第2のシーケンスの生成するステップと、
前記第1のシーケンスおよび前記第2のシーケンスのビット毎のmod2の和を得るステップとを備えていること
を特徴とするコンピュータプログラム。 - セルオートマトンを用いて擬似乱数シーケンスを生成する方法をコンピュータに実行させるコンピュータプログラムを格納する記録媒体において、
前記方法は、
より高いランダム性を有する第1のシーケンスを生成するステップと、
周期について予め定めた下限を有するた第2のシーケンスの生成するステップと、
前記第1のシーケンスおよび前記第2のシーケンスのビット毎のmod2の和を得るステップとを備えていること
を特徴とする記録媒体。
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004258186A JP2006072891A (ja) | 2004-09-06 | 2004-09-06 | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 |
| EP05781965A EP1787192A1 (en) | 2004-09-06 | 2005-09-05 | Method and apparatus for cellular automata based generation of pseudorandom sequences with controllable period |
| RU2006115569/09A RU2006115569A (ru) | 2004-09-06 | 2005-09-05 | Способ и устройство для генерирования псевдослучайных последовательностей с контролируемым периодом на основе клеточных автоматов |
| KR1020067008913A KR20070048641A (ko) | 2004-09-06 | 2005-09-05 | 셀 자동 장치 기반의 제어 가능한 주기를 갖는 의사 난수시퀀스의 생성 방법 및 장치 |
| CNA2005800011715A CN1860434A (zh) | 2004-09-06 | 2005-09-05 | 具有可控周期的伪随机序列的基于细胞自动机的生成方法和装置 |
| US10/578,505 US8023649B2 (en) | 2004-09-06 | 2005-09-05 | Method and apparatus for cellular automata based generation of pseudorandom sequences with controllable period |
| PCT/JP2005/016686 WO2006028235A1 (en) | 2004-09-06 | 2005-09-05 | Method and apparatus for cellular automata based generation of pseudorandom sequences with controllable period |
| BRPI0506372-8A BRPI0506372A (pt) | 2004-09-06 | 2005-09-05 | aparelhos para gerar seqüências pseudo-aleatórias e para executar processamento criptográfico, método para gerar seqüências pseudo-aleatórias usando autÈmatos celulares, programa de computador para fazer um computador executar o mesmo, e, meio de gravação armazenando um programa de computador |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004258186A JP2006072891A (ja) | 2004-09-06 | 2004-09-06 | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006072891A true JP2006072891A (ja) | 2006-03-16 |
Family
ID=35149074
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004258186A Pending JP2006072891A (ja) | 2004-09-06 | 2004-09-06 | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US8023649B2 (ja) |
| EP (1) | EP1787192A1 (ja) |
| JP (1) | JP2006072891A (ja) |
| KR (1) | KR20070048641A (ja) |
| CN (1) | CN1860434A (ja) |
| BR (1) | BRPI0506372A (ja) |
| RU (1) | RU2006115569A (ja) |
| WO (1) | WO2006028235A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021144463A (ja) * | 2020-03-12 | 2021-09-24 | 富士通株式会社 | 擬似乱数生成回路装置 |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| HU227781B1 (hu) * | 2006-03-17 | 2012-02-28 | Pal Bela Dr Doemoesi | Szimmetrikus kulcsú kriptográfiai berendezés és eljárás információk titkosítására és visszafejtésére |
| US8290287B2 (en) * | 2009-03-09 | 2012-10-16 | Laurence Hamid | Method for displaying encoded image data |
| US8942373B2 (en) * | 2010-11-29 | 2015-01-27 | Beijing Z & W Technology Consulting Co., Ltd. | Data encryption and decryption method and apparatus |
| US8793295B2 (en) * | 2011-07-18 | 2014-07-29 | Lsi Corporation | Method for fast calculation of the beginning of pseudo random sequences for long term evolution |
| HUP1300501A1 (hu) * | 2013-08-26 | 2015-03-02 | Pannon Szoftver Kft | Automataelméleti alapú kriptográfiai berendezés és eljárás információk titkosítására és visszafejtésére |
| DE102013222218A1 (de) | 2013-10-31 | 2014-05-22 | Siemens Aktiengesellschaft | Konstruieren einer Schaltung geeignet zur Erzeugung von Zufallsbits und Schaltung zur Erzeugung von Zufallsbits |
| US10078492B2 (en) * | 2014-05-13 | 2018-09-18 | Karim Salman | Generating pseudo-random numbers using cellular automata |
| US10678511B1 (en) * | 2014-05-13 | 2020-06-09 | Karim Salman | Generating pseudo-random numbers using cellular automata |
| US10394523B2 (en) * | 2015-10-14 | 2019-08-27 | Avanseus Holdings Pte. Ltd. | Method and system for extracting rule specific data from a computer word |
| WO2019022242A1 (ja) * | 2017-07-28 | 2019-01-31 | 国立大学法人大阪大学 | 快不快の判別 |
| GB2568660B (en) * | 2017-10-20 | 2020-10-14 | Graphcore Ltd | Generating Random Numbers Based on a Predetermined Probaility Distribution in an Execution Unit |
| CN109614148B (zh) * | 2018-12-11 | 2020-10-02 | 中科驭数(北京)科技有限公司 | 数据逻辑运算方法、监测方法及装置 |
| CN110213037B (zh) * | 2019-06-03 | 2022-05-20 | 华中师范大学 | 一种适合硬件环境的流密码加密方法及系统 |
| KR102759796B1 (ko) | 2022-12-15 | 2025-02-03 | 세종대학교산학협력단 | 신경 세포 자동자 기반 다중 이미지 변환 장치 및 방법 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2841882B2 (ja) * | 1991-02-04 | 1998-12-24 | 日本電気株式会社 | 疑似乱数パタン発生器 |
| US5511146A (en) * | 1991-06-26 | 1996-04-23 | Texas Instruments Incorporated | Excitory and inhibitory cellular automata for computational networks |
| US6985918B2 (en) * | 2001-10-17 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Random number generators implemented with cellular array |
| US7571200B2 (en) * | 2002-04-24 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Seedable pseudo-random number generator |
| US6865660B2 (en) * | 2002-06-28 | 2005-03-08 | Micron Technology, Inc. | Method and apparatus for generating deterministic, non-repeating, pseudo-random addresses |
| US7788479B2 (en) * | 2002-07-25 | 2010-08-31 | International Business Machines Corporation | Apparatus, system and method of ensuring that only randomly-generated numbers that have passed a test are used for cryptographic purposes |
| WO2004086673A1 (ja) * | 2003-03-25 | 2004-10-07 | National Institute Of Information And Communications Technology Incorporated Administrative Agency | 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体 |
| US7389316B1 (en) * | 2004-11-24 | 2008-06-17 | Xilinx, Inc. | Method and apparatus for true random number generation |
| US7634522B1 (en) * | 2004-11-30 | 2009-12-15 | Novell, Inc. | Random number generation |
| JP4500213B2 (ja) * | 2005-05-20 | 2010-07-14 | オリンパスイメージング株式会社 | データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム |
| US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
-
2004
- 2004-09-06 JP JP2004258186A patent/JP2006072891A/ja active Pending
-
2005
- 2005-09-05 WO PCT/JP2005/016686 patent/WO2006028235A1/en not_active Ceased
- 2005-09-05 CN CNA2005800011715A patent/CN1860434A/zh active Pending
- 2005-09-05 RU RU2006115569/09A patent/RU2006115569A/ru not_active Application Discontinuation
- 2005-09-05 KR KR1020067008913A patent/KR20070048641A/ko not_active Withdrawn
- 2005-09-05 EP EP05781965A patent/EP1787192A1/en not_active Withdrawn
- 2005-09-05 US US10/578,505 patent/US8023649B2/en not_active Expired - Fee Related
- 2005-09-05 BR BRPI0506372-8A patent/BRPI0506372A/pt not_active Application Discontinuation
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021144463A (ja) * | 2020-03-12 | 2021-09-24 | 富士通株式会社 | 擬似乱数生成回路装置 |
| JP7389348B2 (ja) | 2020-03-12 | 2023-11-30 | 富士通株式会社 | 擬似乱数生成回路装置 |
| US11836465B2 (en) | 2020-03-12 | 2023-12-05 | Fujitsu Limited | Pseudo-random number generation circuit device |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20070048641A (ko) | 2007-05-09 |
| US20080304667A1 (en) | 2008-12-11 |
| RU2006115569A (ru) | 2007-11-20 |
| CN1860434A (zh) | 2006-11-08 |
| WO2006028235A1 (en) | 2006-03-16 |
| US8023649B2 (en) | 2011-09-20 |
| EP1787192A1 (en) | 2007-05-23 |
| BRPI0506372A (pt) | 2006-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hortensius et al. | Parallel random number generation for VLSI systems using cellular automata | |
| US7659837B2 (en) | Operation processing apparatus, operation processing control method, and computer program | |
| JP2006072891A (ja) | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 | |
| US20180246702A1 (en) | Secured pseudo-random number generator | |
| Bilan | Formation Methods, Models, and Hardware Implementation of Pseudorandom Number Generators: Emerging Research and Opportunities: Emerging Research and Opportunities | |
| KR102777199B1 (ko) | 양자 컴퓨팅 기술을 적용한 aes 암복호화 시스템 및 그 방법 | |
| Rajendran et al. | Harnessing entropy: RRAM crossbar-based unified PUF and RNG | |
| RU2598781C1 (ru) | Способ линейного преобразования (варианты) | |
| Gheolbanoiu et al. | Cellular automaton prng with a global loop for non-uniform rule control | |
| Shemaili et al. | A novel hybrid cellular automata based cipher system for internet of things | |
| Kumar et al. | Novel and efficient cellular automata based symmetric key encryption algorithm for wireless sensor networks | |
| CN119761528A (zh) | 一种量子态制备方法及相关装置 | |
| Zarezadeh | Cellular automaton-based pseudorandom number generator | |
| Martin et al. | Pseudo-random sequences generated by cellular automata | |
| KR100735953B1 (ko) | 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 | |
| Kang et al. | High-performance pseudorandom number generator using two-dimensional cellular automata | |
| Adak et al. | Maximal length cellular automata in GF (q) and pseudo-random number generation | |
| Chen et al. | Architecture design and VLSI hardware implementation of image encryption/decryption system using re-configurable 2D Von Neumann cellular automata | |
| Caballero-Gil et al. | Using linear hybrid cellular automata to attack the shrinking generator | |
| Poornima et al. | A survey on cellular automata with the application in pseudo random number generation | |
| Bilan et al. | Research and analysis of the pseudorandom number generators implemented on cellular automata | |
| Cardell et al. | Modelling Through Linear Cellular Automata | |
| EP4689875A1 (en) | Hybrid ring generators | |
| Wijaya et al. | Permutation and sampling with maximum length CA or pseudorandom number generation | |
| Hoang et al. | Novel structures of chaos-based parallel multiple image encryption and FPGA implementation |