JP4220398B2 - アダマール変換オンライン不規則性検査 - Google Patents

アダマール変換オンライン不規則性検査 Download PDF

Info

Publication number
JP4220398B2
JP4220398B2 JP2003584910A JP2003584910A JP4220398B2 JP 4220398 B2 JP4220398 B2 JP 4220398B2 JP 2003584910 A JP2003584910 A JP 2003584910A JP 2003584910 A JP2003584910 A JP 2003584910A JP 4220398 B2 JP4220398 B2 JP 4220398B2
Authority
JP
Japan
Prior art keywords
predetermined
output
random number
frequency calculation
hadamard transform
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
JP2003584910A
Other languages
English (en)
Other versions
JP2005523497A (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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2005523497A publication Critical patent/JP2005523497A/ja
Application granted granted Critical
Publication of JP4220398B2 publication Critical patent/JP4220398B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Complex Calculations (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、乱数発生器の分野に関し、特に、乱数発生器により発生された乱数が十分不規則かどうかを評価することに関する。
真にランダムな数列を実際のアプリケーションにおいて発生させるのは難しい。例えば、乱数発生器がある時間にわたり1及び0の列を発生する場合、乱数発生器のハードウェア部品には熱が発生するのが普通である。ある状況においては、1のビットを発生することは、0のビットを発生するよりも大きな電力を消費してしまう。1のビットの長い数列が生成される場合、乱数発生器の電子回路は熱くなる傾向がある。したがって、この回路は熱くなったときに1のビットを発生すると、当該回路は「ラッチアップ」することになる。その結果、この回路は殆どが1のビットで稀に0のビットを発生することになる。前述の偏った0/1周波数エラーは、乱数が安全性に厳しい用途に用いられる場合、破滅的結果を生むことになる。
したがって、不規則性の検査を行う場合、ハードウェアの変更及び部品故障双方の検出が必要である。これまでの不規則性検査は、発生した乱数の数列に対しカイ2乗テスト、デルタテストなどの広く統計的な検査によって行われている。しかし、このような検査は、多大な計算処理電力を必要とするので、実時間において行うのには非常に高価である。
本発明は、上述した問題を解消するものであり、発生した乱数が十分に不規則であることを確実にするためにオンライン不規則性検査をなす方法及び装置を提供することによって付加的効果を奏しようとするものである。
本発明の一態様によれば、乱数のストリームの不規則性を検査する方法が提供される。この方法は、・乱数2進ビットの連続的ストリームを供給するステップと、・所定ブロックの前記乱数2進ビットにアダマール変換計算を施すステップと、・前記アダマール変換計算の出力に指数周波数計算(Z)を施し前記アダマール変換の出力が所定時間期間にわたり所定範囲の値に入る平均回数を計算し更新するステップと、・前記指数周波数計算(Z)の出力を所定の許容範囲と比較することにより、当該発生乱数2進ビットが十分に不規則なものかどうかを判定するステップと、を含み、前記指数周波数計算(Z)は、・前記所定範囲の値を有するアキュムレータのアレイを前記アダマール変換計算の出力に割り当てるステップと、・前記アダマール変換各々の出力が前記所定時間期間において対応する前記所定範囲の値に入る回数をカウントするステップと、により行われる。
本発明の他の態様によれば、乱数のストリームの不規則性を検査する方法が、 (a)乱数2進ビットの連続的ストリームを供給するステップと、(b)所定ブロックの前記乱数2進ビットにアダマール変換計算を施すステップと、(c)所定範囲の値を有するアキュムレータのアレイを前記アダマール変換計算の各出力に割り当て、前記アダマール変換計算の各出力がそれぞれのアキュムレータにおける前記所定範囲の値の1つに入る回数をカウントするステップと、(d)前記アキュムレータのアレイの値に指数周波数計算(Z)を施し前記アダマール変換計算の各出力が所定時間期間にわたり当該それぞれのアキュムレータにおける前記所定範囲の値の1つに入る平均回数を更新するステップと、(e)前記指数周波計算(Z)の出力を所定許容範囲と比較するステップと、を含む。
この実施例において、前記指数周波数計算(Z)は、Znew=α・Zold+h(t)なる式により更新され、ここでのαは0から1の間(0<α<1)に入り、Zoldはオペレータにより最初に指定され、h(t)は前記アダマール変換の出力が当該所定時間期間において当該対応の前記所定範囲の値に入る回数を表すものとしている。また、前記所定許容範囲は、シミュレーションにより得られる。
本発明のまた別の態様によれば、前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に当該発生乱数ビットの不規則性は不十分であると推定する。このような場合において、新しいセットの乱数ビットが発生可能となり、或いは発生した乱数ビットを後のアプリケーションのために拒否することができる。
本発明のさらに他の態様によれば、不規則性を検査するシステムが提供される。このシステムは、・2進ビットを有する乱数列を発生する乱数発生器と、・指数周波数演算に基づいて当該発生乱数列が十分に不規則であるかどうかを検出する検出器と、・前記指数周波数演算の結果に基づいて後のアプリケーションのために前記発生乱数列の流れを制御するスイッチと、を有し、前記乱数2進ビットの所定ブロックにアダマール変換計算を施しその後に指数周波数計算(Z)を施し所定時間期間にわたり前記アダマール変換計算の各出力が所定範囲の値の1つに入る平均回数を更新し、前記指数周波数計算出力のいずれかの出力が所定回数を超えて繰り返し所定許容範囲外にある場合に前記発生乱数列の不規則性が不十分であると判定する。この装置は、前記指数周波数計算の出力が繰り返し前記所定回数を超えて前記所定許容範囲外にあるときに前記発生乱数列の不規則性が不十分である旨の警報信号を伝送する手段、及び前記指数周波数計算の出力が繰り返し前記所定回数を超えて前記所定許容範囲外にあるときに新しいセットの乱数ビットを発生する手段をさらに有する。
またさらに別の態様は、本発明が特定の用途に対し求められるようなハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組み合わせにより実現可能であることである。
さらに、本発明は、簡単で信頼性の高い廉価な実施により実現可能である。
これらの効果及びその他の効果は、添付図面に関係づけて次の詳細な説明を読むことにより当業者に明らかなものとなる。
以下の説明では、限定ではなく説明することを目的として、本発明の十分な理解をなすために特定のアーキテクチャ、インターフェース、技術などの具体的な事項を述べたものである。但し、当業者であれば、これら具体的事項から外れる他の実施例においても本発明が実施されうることが明らかとなる。簡単かつ明解にするため、周知の装置、回路及び方法の詳しい説明を省略し必要のない事項により本発明の説明を不明確にしないようにしている。
図1は、本発明の典型的実施例による乱数発生システム10の簡単化されたブロック図を示している。システム10は、乱数列を発生する乱数発生器(RG)12と検出器14とスイッチ16とを含んでいる。ここで開示するRG12は、2進ビットの数列又は慣例的又は非慣例的な態様で所望の不規則性を含む他の形式に変換することのできる信号を生成するデバイスを意味する。検出器14は、発生した乱数が所定の基準(後述される)により真に不規則(ランダム)な数列であるかどうかを検出する。スイッチ16は、暗号システム、オーディオ若しくはビデオノイズ発生器、コンピュータプログラム又は他の装置及びプロセスへの入力を呈しうる。
動作において、乱数発生器12により乱数が発生されると、検出器14は、その発生した乱数が十分に不規則な数列を形成しているかどうかを検出する。明確に許容可能とされる範囲内において十分不規則なものであると判定されると、スイッチ16は、当該発生乱数を回路、システム、プロセス、ギャンブル用途、シミュレーション、統計上のサンプリング、ディフィ−ヘルマン鍵交換(Diffie-Hellman key exchange)などの後続する適当なアプリケーションに送ることを可能とし、RG12により供給された乱数を用いる。発生した乱数が所定の基準(後述する)により十分不規則なものではないとみなされると、スイッチ16は、当該発生乱数が検出器14によって不規則性が不十分であるとみなされたときにその発生乱数の流れを止めることが可能となる。或いは、当該発生乱数列が十分不規則ではないと判定されると、新しいセットの乱数が乱数発生器12によって発生可能となる。
次に、図2及び図3を参照して発生乱数が十分に不規則なものかどうかを判定する点に関して詳しく説明する。
背景事項として、2のべき乗のためにn個の直交2進数列(各々が長さn)のセットを作ることができるのは当業界では周知である。実際、直交2進数列のセットは殆どの長さについて知られており、4及び200未満の数の倍数である。直交符号に有用で比較的に発生もしやすい直交2進数列の1つの類型は、ウォルシュ(Walsh)関数と呼ばれる。ウォルシュ関数は、ウォルシュ関数行列から派生したものであり、アダマール行列(Hadamard
matrix)としても知られている。アダマール行列の行は、正弦波の±1の近似値とみなすことができるので、アダマール行列(時としてウォルシュ変換と称される)との乗算は、離散フーリエ変換の2進形態のものである。
図2を参照すると、RG12により乱数のストリームが発生されると、その発生乱数は先ず2進の±1ビットに変換され、その後に所定サイズ(n)のブロックに分割されベクトル(v)の列を形成する。nビットの各ベクトルvは、その行の当該ベクトルに対する相関を計算するために連続してサイズ(n×n)のアダマール行列と掛けられる。なお、当該ベクトルvの長さとしてのn=16ビットのブロックは例証する目的で示したものであり、本発明は、どんな2の累乗ベクトル長(これはアダマール行列の行の長さでもある)も支持することができる点に留意すべきである。したがって、図中の単一ベクトルにおける16ビットのグルーピングは、本発明の範囲に限定を課すべきものではない。
サイズを2とする(正規化された)アダマール行列Hは、次のような帰納的な方法で規定される。
Figure 0004220398
ここで、全部Hの第1行は全て1であり、他の全ての行は等しい数の+1及び−1のエントリからなる。アダマール行列は直交しており、H×H′=H′×H=2・I2nである。この場合、I2nは、サイズを2とする恒等行列を表す。ここで、行と列は対の形で直交している。かかる正規化されたアダマール行列の定義から、次のような帰納が得られる。
Figure 0004220398
図2に示されるように、アダマール行列をvの移項部と掛け、当該アダマール変換された数列wの値を得るようにしている。別言すれば、w=(h,h,・・・,h T=H×vである。vの全てのエントリが+1であれば、h=2で他の全てはhi=0である。vの1つのエントリが−1に転じると、全てのhiは2だけ変化する。したがって、全てhi≡2mod4か又は全てhi≡0mod4であり、これはvが奇数又は偶数個の−1エントリを有するかどうかによる。
アダマール変換を施した後は、その回数だけwにおけるアダマール変換エントリの起こりうる値がアキュムレータのアレイにおいてカウントされ、ベクトルのwにおける起こりうる値の各々がある時間にわたり現れる平均回数を得るようにする。用いるアキュムレータの数を減らすため、1より多い起こりうる値が単一のアキュムレータにカウントされるようにしてもよい。すなわちベクトルwのエントリの起こりうる値の各々につきアキュムレータが設けられ、新しいブロックのビットが発生されアダマール変換に付されるたびに、アダマール変換出力が各アキュムレータの範囲内に入る回数を数えるようにしている。こうしてアキュムレータは、所定の期間中ベクトルのwの起りうる値の各々が生じる平均回数を示すヒストグラムh(t)を示すように機能する。
なお、本発明は実時間において乱数列を検査するために適用可能なので、アキュムレータは常に更新されなければならない。そのため、古い周波数値は減少又は無効のものとならなければならない。すなわち、乱数列の統計的品質を評価する検査は連続的に実行され、アキュムレータは周期的にクリアされてオーバフローを回避するようにしなければならない。本発明の技術に従って実施することのできるカウント方法は色々あるが、指数化平均は、以下に説明するように周波数カウント動作中に用いられるのが好ましい。
かかる指数化平均演算において、アキュムレータはwの各変換値範囲の周波数又は平均発生回数を更新するので、nの乱数ビットが発生されるたびに、0から1の間に入る係数α(0<α<1)は、アキュムレータに対し乗算され、その後にアキュムレータにおいて現在の値h(t)に加えられる。すなわち、Znew=α・Zold+h(t)であり、この場合初期の指数化平均値Zoldは演算器又はオペレータにより最初に初期化される。有益な平均化作用を奏するために、αの値は1に近いものに選択され、α=1−1/N(N>>1)とされる。この場合、log
α≒−1/Nであり、平均化された値の半分の期間はk≒N・log 2≒0.30103・Nである。Nステップの後、最も古い平均値の重みは、(1−1/N)≒1/e≒0.367879となる。ここでeは、自然対数の基(オイラー定数)であり、項Nは1ビットの「自然期間」となる。平均化された値の全てが1であれば、アキュムレータの値は1+α+α+・・・=1/(1−α)=Nであり、平均化された値の全てが0であれば、アキュムレータ値は0である。なお、当該指数化平均の期待値は個々の値の期待値の指数化平均である。これら平均化された値が均等に分布した2進ビットである場合、指数化平均の期待値は、1/2+(1/2)α+(1/2)α+・・・=N/2である。
上述したように、アキュムレータが所定の0<α<1の率で減少すると、指数化平均はカウンタをクリアするように動作する。したがって、アキュムレータは、当該演算モードにおいて過大にならない。指数化平均が各アキュムレータに対して行われると、各指数化平均の値は、所定の許容範囲と比較される。いずれかのアキュムレータの値が指数化平均カウント動作中に所定の範囲を超えた場合は、本発明の実施例により発生乱数は十分不規則なものではないと推測される。ここで当該検査が繰り返し異常を呈した場合にユーザに知らせるよう閾値を設定してもよい。
厳密な許容限界は、理想的ヒストグラム分布を得ることができる既知の適切な乱数源による広範なシミュレーションから得られるデータに基づいて選択的に調整可能である。このような乱数列は商業的に入手可能であり、例えば“www.fourmilab.ch/hotbits”及び“lavarand.sgi.com”を含む色々なウェブソースからダウンロード可能である。したがって、当該検査に用いられる実際の範囲はオペレータにより選択的に設定され、発生乱数列が十分に不規則であるとみなされるかどうかについて種々の感度の中から選択をなすことができる。代替実施例では、異なる許容範囲を各アキュムレータに割り当てることができる。
図3は、本発明により乱数列の統計的品質を検査するための動作ステップを示すフローチャートである。四角い構成要素はコンピュータソフトウェアの命令を表し、菱形の構成要素は、四角のブロックにより表されたコンピュータソフトウェア命令の実行をなすコンピュータソフトウェア命令を表す。また、これら処理及び決定ブロックは、ディジタル信号処理回路又は用途特定の集積回路(ASIC)のような機能的に等価な回路によって行われるステップを表す。なお、ループ及び変数の初期化や仮の変数の使用などの多くのルーチンプログラムの要素は図示していない。なお、ここで別のことを示さない限り、説明したステップの特定のシーケンスは例証するためのものに過ぎず、本発明の精神から逸脱することなく変形することができることは当業者により明らかとなる。
図3に示されるように、ステップ100において乱数発生器12により乱数2進ビットの連続ストリームを発生すると、不規則性検査が開始される。同時にカウンタがリセットされる。ステップ120において、発生乱数は1セットの符号付きビットのベクトルに分割され、アダマール変換係数ベクトルwを得るようアダマール行列に乗算される。その後、予め初期化されたアキュムレータのアレイはヒストグラムベクトルh(t)に掛けられて周波数検査を行い、ベクトルwにおける各値範囲の周波数が計算されステップ130において平均ヒストグラムベクトルwを発生する。その後、これらヒストグラムベクトルは、ステップ140において指数化平均演算を用いて各アキュムレータにおいて更新される。更新モードにおいて、前の指数周波数値の全てが係数α(0<α<1)で減ぜられ、古い周波数値が減少効果を呈することになる。指数化平均演算が行われた後は、ステップ160において、更新された周波数値が所定の許容範囲又はそれぞれの所定許容範囲と比較される。各アキュムレータAにおける値のいずれかが所定の許容範囲外にあれば、ステップ200において不規則でないパターンが検出されたものと判定され、カウンタが1だけ増加する。或いは、ステップ180においてカウンタがリセットされ、乱数処理のステップ100に戻る。ステップ220では、カウンタの値が閾値より大なる場合にステップ240において当該発生乱数が十分に不規則ではない旨の通知が送られる。これに代えて、スイッチ16が非アクティブ化されて後続のアプリケーションのために乱数の流れを止めるようにすることができる。そして、発生した乱数は破棄され、新しい乱数を発生する処理全体を開始することができる。カウンタの値がステップ220において閾値を超えないと、乱数を発生する処理は繰り返される。
上述した各種ステップは、アプリケーションプログラム内に組み込まれる機能にそれらをプログラムすることによって実施することができ、当業界の通常のスキルのプログラマであれば、Cやビジュアルベーシック、Java、Perl、C++などの言語による慣例的プログラム作成技術を用いて実現することができる。典型的実施例においては、図4において説明した方法は次のように(Cのプログラム言語を用いて)構築することができる。簡明とするために、浮動小数点演算を用いてこの検査を実現している。
Figure 0004220398
Figure 0004220398
以上、本発明の好適実施例を図示し説明してきたが、本発明の真の範囲から逸脱することなく様々な変更や改変をなすことができさらにはその各要素に等価なものに代替することができることは当業者には理解されるところとなる。また、当該中心的範囲を逸脱することなく多くの改変例を特定の状況や本発明の教示内容に適合させることも可能である。したがって、本発明は、本発明を実施するために熟慮されたベストモードとして開示された特定の実施例に限定をすべきものではなく、本発明は添付の請求項の範囲に入る全ての実施例を含むものであることを意図されている。
本発明の一実施例による乱数発生モジュールの簡単化されたブロック図。 本発明の実施例により乱数の数列に対しどのようにしてアダマール変換がなされるかを示す図。 本発明の実施例により発生乱数の統計情報を検査する動作ステップを示すフローチャート。

Claims (25)

  1. 乱数のストリームの不規則性を検査する方法であって、
    乱数発生器により乱数2進ビットの連続的ストリームを検出器に供給するステップと、
    前記検出器により前記乱数2進ビットの所定ブロックにアダマール変換計算を施すステップと、
    前記検出器により前記アダマール変換計算の出力に指数周波数計算を施し前記アダマール変換の出力が所定時間期間にわたり所定範囲の値に入る平均回数を計算し更新するステップと、
    前記検出器により前記指数周波数計算の出力を所定の許容範囲と比較することにより、当該発生乱数2進ビットが十分に不規則なものかどうかを判定するステップと、
    を有する、
    方法。
  2. 請求項1に記載の方法であって、前記指数周波数計算は、
    前記検出器により前記所定範囲の値を有するアキュムレータのアレイを前記アダマール変換計算の出力に割り当てるステップと、
    前記検出器により前記アダマール変換各々の出力が前記所定時間期間において対応する前記所定範囲の値に入る回数をカウントするステップと、
    により行われる、方法。
  3. 請求項2に記載の方法であって、前記指数周波数計算は、Znew=α・Zold+h(t)なる式により計算され、ここでのαは0から1の間(0<α<1)に入り、Zoldはオペレータにより最初に割り当てられ、h(t)は前記アダマール変換の出力が前記所定時間期間において対応する前記所定範囲の値に入る回数を表す、方法。
  4. 請求項1に記載の方法であって、前記所定の許容範囲は、既知の乱数源を用いたシミュレーションに基づきオペレータが調整可能である、方法。
  5. 請求項1に記載の方法であって、前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に当該発生乱数ビットの不規則性は不十分であると判定するステップをさらに有する、方法。
  6. 請求項1に記載の方法であって、前記検出器により前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に当該発生乱数ビットの不規則性は不十分であることを、オペレータに知らせるステップをさらに有する、方法。
  7. 請求項1に記載の方法であって、前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に、前記乱数発生器により新しいセットの乱数ビットを発生するステップをさらに有する、方法。
  8. 請求項1に記載の方法であって、前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に後のアプリケーションに対し当該発生乱数ビットを拒否するステップをさらに有する、方法。
  9. 乱数のストリームの不規則性を検査する方法であって、
    (a)乱数発生器により乱数2進ビットの連続的ストリームを検出器に供給するステップと、
    (b)前記検出器により前記乱数2進ビットの所定ブロックにアダマール変換計算を施すステップと、
    (c)前記検出器により所定範囲の値を有するアキュムレータのアレイを前記アダマール変換計算の各出力に割り当て、前記アダマール変換計算の各出力がそれぞれのアキュムレータにおける前記所定範囲の値の1つに入る回数をカウントするステップと、
    (d)前記検出器により前記アキュムレータのアレイの値に指数周波数計算を施し前記アダマール変換計算の各出力が所定時間期間にわたり当該それぞれのアキュムレータにおける前記所定範囲の値の1つに入る平均回数を更新するステップと、
    (e)前記検出器により前記指数周波計算の出力を所定許容範囲と比較するステップと、
    を有する、
    方法。
  10. 請求項9に記載の方法であって、前記指数周波数計算は、Znew=α・Zold+h(t)なる式により計算され、ここでのαは0から1の間(0<α<1)に入り、Zoldはオペレータにより最初に指定され、h(t)は前記アダマール変換の各出力が前記それぞれのアキュムレータにおける前記所定範囲の値の1つに入る回数を表す、方法。
  11. 請求項9に記載の方法であって、前記所定許容範囲は、既知の乱数源を用いたシミュレーションに基づきオペレータが調整可能である、方法。
  12. 請求項9に記載の方法であって、前記指数周波数計算の出力が所定回数よりも多く前記所定許容範囲を繰り返し超えた場合に当該発生乱数ビットの不規則性は不十分であると判定するステップをさらに有する、方法。
  13. 請求項9に記載の方法であって、前記指数周波数計算の各々が前記所定許容範囲内に入る場合に前記指数周波数計算出力の少なくとも1つが前記所定許容範囲外になるまで前記ステップ(a)ないし(e)を繰り返すステップをさらに有する、方法。
  14. 請求項13に記載の方法であって、前記検出器により前記ステップ(a)ないし(e)が所定回数を超えて繰り返されたときに不規則性の不十分な乱数が発生されたことを、オペレータに知らせるステップをさらに有する、方法。
  15. 請求項13に記載の方法であって、前記ステップ(a)ないし(e)が所定回数を超えて繰り返されたときに、前記乱数発生器により新しいセットの乱数を発生するステップをさらに有する、方法。
  16. 不規則性を検査するシステムであって、
    ・2進ビットを有する乱数列を発生する乱数発生器と、
    ・指数周波数演算に基づいて当該発生乱数列が十分に不規則であるかどうかを検出する検出器と、
    ・前記指数周波数演算の結果に基づき、前記発生乱数列が十分に不規則でないと判断される場合は、後のアプリケーションのために前記発生乱数列の流れを止めるスイッチと、
    を有し、
    前記乱数2進ビットの所定ブロックにアダマール変換計算を施しその後に指数周波数計算を施し所定時間期間にわたり前記アダマール変換計算の各出力が所定範囲の値の1つに入る平均回数を更新し、前記指数周波数計算出力のいずれかの出力が所定回数を超えて繰り返し所定許容範囲外にある場合に前記発生乱数列の不規則性が不十分であると判定する、システム。
  17. 請求項16に記載のシステムであって、前記指数周波数計算の出力が繰り返し前記所定回数を超えて前記所定許容範囲外にあるときに前記発生乱数列の不規則性が不十分である旨の警報信号を伝送する手段をさらに有する、システム。
  18. 請求項16に記載のシステムであって、前記指数周波数計算の出力が繰り返し前記所定回数を超えて前記所定許容範囲外にあるときに、前記乱数発生器は、新しいセットの乱数ビットを発生する、システム。
  19. 命令シーケンスを表すデータを記憶する機械的読取可能媒体であって、前記命令シーケンスは、プロセッサにより実行されると、
    乱数発生器より発生した乱数2進ビットの連続的ストリームを所定ブロックに分割し
    ・前記乱数2進ビットの前記所定ブロックにアダマール変換計算を施し、
    ・前記アダマール変換計算の出力に対し指数周波数計算を行い前記アダマール変換の各出力が所定時間期間にわたり所定範囲の値の1つに入る平均回数を更新し、
    ・前記指数周波数計算の出力を所定の許容範囲と比較することにより、当該発生乱数2進ビットが十分に不規則なものかどうかを判定する、
    一連の処理を行うように前記プロセッサを動作させる、機械的読取可能媒体。
  20. 請求項19に記載の機械的読取可能媒体であって、前記指数周波数計算は、Znew=α・Zold+h(t)なる式により更新され、ここでのαは0から1の間(0<α<1)に入り、Zoldはオペレータにより最初に割り当てられ、h(t)は前記アダマール変換の各出力が前記所定時間期間において対応する範囲の値に入る回数を表す、機械的読取可能媒体。
  21. 請求項19に記載の機械的読取可能媒体であって、前記所定の許容範囲は、既知の乱数源を用いたシミュレーションに基づきオペレータが調整可能である、機械的読取可能媒体。
  22. 請求項19に記載の機械的読取可能媒体であって、前記プロセッサはさらに、前記指数周波数計算の出力が繰り返し前記所定許容範囲を超えた場合に当該発生乱数ビットの不規則性は不十分であると判定するよう動作可能である、機械的読取可能媒体。
  23. 請求項19に記載の機械的読取可能媒体であって、前記プロセッサはさらに、前記指数周波数計算の出力が繰り返し前記所定許容範囲を超えた場合に当該発生乱数ビットの不規則性は不十分であることを報知するよう動作可能である、機械的読取可能媒体。
  24. 請求項19に記載の機械的読取可能媒体であって、前記プロセッサはさらに、前記指数周波数計算の出力が所定回数よりも多く繰り返し前記所定許容範囲を超えた場合に前記乱数発生器により発生した新しいセットの乱数ビットに前記一連の処理を実行するよう動作可能である、機械的読取可能媒体。
  25. 請求項19に記載の機械的読取可能媒体であって、前記指数周波数計算の出力が繰り返し前記所定許容範囲を超えた場合に後のアプリケーションに対し当該発生乱数ビットを拒否するよう動作可能である、機械的読取可能媒体。
JP2003584910A 2002-04-17 2003-04-04 アダマール変換オンライン不規則性検査 Expired - Fee Related JP4220398B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/124,034 US7031991B2 (en) 2002-04-17 2002-04-17 Hadamard-transform on-line randomness test
PCT/IB2003/001384 WO2003088034A1 (en) 2002-04-17 2003-04-04 Hadamard-transform on-line randomness test

Publications (2)

Publication Number Publication Date
JP2005523497A JP2005523497A (ja) 2005-08-04
JP4220398B2 true JP4220398B2 (ja) 2009-02-04

Family

ID=29214523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003584910A Expired - Fee Related JP4220398B2 (ja) 2002-04-17 2003-04-04 アダマール変換オンライン不規則性検査

Country Status (6)

Country Link
US (1) US7031991B2 (ja)
EP (1) EP1499952A1 (ja)
JP (1) JP4220398B2 (ja)
CN (1) CN100437468C (ja)
AU (1) AU2003214562A1 (ja)
WO (1) WO2003088034A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20090012528A (ko) * 2007-07-30 2009-02-04 삼성전자주식회사 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법
US8805905B2 (en) * 2007-09-18 2014-08-12 Seagate Technology Llc On-line randomness test for restart random number generators
US8676870B2 (en) * 2007-09-18 2014-03-18 Seagate Technology Llc Active test and alteration of sample times for a ring based random number generator
US8635260B2 (en) * 2009-12-02 2014-01-21 Seagate Technology Llc Random number generator incorporating channel filter coefficients
US8583711B2 (en) * 2009-12-02 2013-11-12 Seagate Technology Llc Random number generation system with ring oscillators
KR20180055299A (ko) 2016-11-16 2018-05-25 삼성전자주식회사 난수 생성기의 랜덤성 시험 장치 및 방법
US10430161B1 (en) 2018-04-09 2019-10-01 Jan J. Tatarkiewicz Apparatus, systems, and methods comprising tritium random number generator
EP3674884A1 (en) * 2018-12-27 2020-07-01 Secure-IC SAS Device and method for testing a sequence generated by a random number generator
US10901695B1 (en) 2020-03-03 2021-01-26 Randaemon Sp. Z O.O. Apparatus, systems, and methods for beta decay based true random number generator
US11048478B1 (en) 2020-03-03 2021-06-29 Randaemon Sp. Z O.O. Method and apparatus for tritium-based true random number generator
US11249725B1 (en) 2021-07-22 2022-02-15 Randaemon Sp. Zo.O. Method and apparatus for highly effective on-chip true random number generator utilizing beta decay
US11586421B2 (en) 2021-07-22 2023-02-21 Randaemon Sp. Z O.O. Method for making cost-effective nickel-63 radiation source for true random number generators
US11281432B1 (en) 2021-07-22 2022-03-22 Randaemon Sp. Z O.O. Method and apparatus for true random number generator based on nuclear radiation
US11567734B1 (en) 2021-10-22 2023-01-31 Randaemon Sp. Z O.O. Method and apparatus for highly effective on-chip quantum random number generator
US12014153B1 (en) 2022-12-05 2024-06-18 Randaemon Sp. Z O.O. Method and apparatus for implementing on chip quantum random number generator using beta decay
US12034834B1 (en) 2023-01-30 2024-07-09 Randaemon Sp. Z O.O. Method and apparatus for steganographic cipher encryption using true random number generator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4685132A (en) * 1985-07-30 1987-08-04 Sperry Corporation Bent sequence code generator
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
JP2000105685A (ja) * 1998-09-28 2000-04-11 Nec Ic Microcomput Syst Ltd 乱数発生装置
US6452959B1 (en) * 1999-05-28 2002-09-17 Dot Wireless, Inc. Method of and apparatus for generating data sequences for use in communications
US6766342B2 (en) * 2001-02-15 2004-07-20 Sun Microsystems, Inc. System and method for computing and unordered Hadamard transform
US6675126B2 (en) * 2001-03-27 2004-01-06 Kabushiki Kaisha Toyota Chuo Kenkyusho Method, computer program, and storage medium for estimating randomness of function of representative value of random variable by the use of gradient of same function

Also Published As

Publication number Publication date
CN100437468C (zh) 2008-11-26
CN1647027A (zh) 2005-07-27
US7031991B2 (en) 2006-04-18
WO2003088034A1 (en) 2003-10-23
JP2005523497A (ja) 2005-08-04
AU2003214562A1 (en) 2003-10-27
EP1499952A1 (en) 2005-01-26
US20030200238A1 (en) 2003-10-23

Similar Documents

Publication Publication Date Title
JP4220398B2 (ja) アダマール変換オンライン不規則性検査
US6675113B2 (en) Monobit-run frequency on-line randomness test
US6947960B2 (en) Randomness test utilizing auto-correlation
US20030200239A1 (en) Gap histogram on-line randomness test
KR20150078817A (ko) 디지털 값 처리 장치 및 방법
US9836280B2 (en) Arrangement and method for checking the entropy of a random number sequence
US7295674B2 (en) On-line randomness test for detecting irregular pattern
JP4263622B2 (ja) ギャップ平均オンラインランダム性テスト
US11921623B2 (en) Device and method for testing a sequence generated by a random number generator
Addabbo et al. Pseudo-chaotic lossy compressors for true random number generation
US20030187889A1 (en) Functional gap average on-line randomness test
Strydom et al. Random number generation using IBM quantum processors
Kaysici et al. Experimental Vulnerability Analysis of a 4-D Hyperchaotic Random Number Generator
Pulatovna et al. A method for improving Milner-Rabin algorithm to reduce the number of false witnesses

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060403

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070323

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080916

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: 20081014

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: 20081113

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees