JP4413858B2 - 乱数検定回路 - Google Patents

乱数検定回路 Download PDF

Info

Publication number
JP4413858B2
JP4413858B2 JP2005359236A JP2005359236A JP4413858B2 JP 4413858 B2 JP4413858 B2 JP 4413858B2 JP 2005359236 A JP2005359236 A JP 2005359236A JP 2005359236 A JP2005359236 A JP 2005359236A JP 4413858 B2 JP4413858 B2 JP 4413858B2
Authority
JP
Japan
Prior art keywords
random number
circuit
random
test
test circuit
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.)
Active
Application number
JP2005359236A
Other languages
English (en)
Other versions
JP2007164434A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005359236A priority Critical patent/JP4413858B2/ja
Priority to EP06256186A priority patent/EP1798638A3/en
Priority to US11/635,590 priority patent/US7917560B2/en
Publication of JP2007164434A publication Critical patent/JP2007164434A/ja
Application granted granted Critical
Publication of JP4413858B2 publication Critical patent/JP4413858B2/ja
Active 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
    • 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/15Correlation function computation including computation of convolution operations

Landscapes

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

Description

本発明は、乱数検定回路に関する。
従来、統計学的な乱数検定方法があるが、それらは多数のデータ(20000ビット以上)が必要な上、検定項目を実現するには大規模なプログラムが必要であった。そのため、乱数検定回路の規模が大きくなり、工場での出荷時に1回だけ検定が行なわれていた。しかし、頻繁に乱数を使用する小型情報端末においては、乱数検定回路は小規模かつ簡便なものが要求される。
これに対し、乱数検定回路をチップ内に組み込んだ自己検定型乱数生成回路がある(特許文献1参照)。
特許文献1に記載の乱数検定回路は、検定方法としてFIPS−140−2を採用し、図10に示すように、シリアル物理乱数発生器201と、シリアル物理乱数発生器201の出力側に接続されたFIPS−140−2に含まれる4種類の検定方法を回路化した、Monobit Test 回路202と、Poker Test 回路203と、Runs Test 回路204と、Long Runs Test 回路205と、これらMonobit Test 回路202、Poker Test 回路203、Runs Test 回路204、Long Runs Test 回路205による検定結果を保持し、総合判定するためのセレクター206と、を備えている。
先ず、シリアル物理乱数発生器201から出力されたシリアル乱数をMonobit Test 回路202、Poker Test 回路203、Runs Test 回路204、Long Runs Test 回路205の入力に接続する。Monobit Test 回路202、Poker Test 回路203、Runs Test 回路204、およびLong Runs Test 回路205は、検定に20000ビットのデータが必要であり、それぞれが制御回路、カウンタ、比較回路、比較器等で構成されており、Monobit Test 回路202、Poker Test 回路203、Runs Test 回路204、Long Runs Test 回路205それぞれによる結果はセレクター206に保持され、総合判定は4種類すべての検定方法で判定結果が合格のときに出力される。
特開2004−310314
しかし、FIPS−140−2による検定は、検定に必要なデータ数が20000ビットと非常に多く、この20000ビットのデータを保持するために膨大な保持回路が必要となり、さらに、検定に必要な動作1サイクルに対し、4種類の検定方法が必要であり、それぞれが20000ビットのデータを必要とすることから、非常に回路規模が大きくなるという問題があった。
さらに、ここで述べた問題はFIPS−140−2に限らず、他の数学的検定方法をそのまま回路化すると、回路面積が膨大になることが本質にある。したがって、ICカード等、小型回路にも搭載するためにも、回路面積を大幅に縮小することが要求されている。
本発明は、多量の検定に必要なデータ数を扱ったとしても回路規模が増大せず、小型化が可能な乱数検定回路を提供することを目的とする。
本発明の第1の態様による乱数検定回路は、クロックに基づいて動作し、乱数生成素子から発生されるシリアル乱数を順次記憶するシフトレジスタと、前記シフトレジスタの所定の段から出力される第1の乱数と、前記第1の乱数から予め定めた第1のビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較する比較回路と、前記シリアル乱数内の全てのビットに対して、前記第1の乱数が前記第2の乱数と等しいときの発生頻度をカウントするカウンタと、前記発生頻度xが以下の不等式を満たせば良品と判定する判定回路と、
Figure 0004413858
(nは乱数の総数、α、δは以下の等式を満たす)
Figure 0004413858
を備えていることを特徴とする。
なお、前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いてもよい。
また、本発明の第2の態様による乱数検定回路は、クロックに基づいて動作し、乱数生成素子から発生されるシリアル乱数を順次記憶するシフトレジスタと、前記シフトレジスタの所定の段から出力される第1の乱数と、前記第1の乱数から予め定めた第1のビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較する比較回路と、前記シリアル乱数内の全てのビットに対して、前記第1の乱数が前記第2の乱数と異なるときの発生頻度をカウントするカウンタと、前記発生頻度yが以下の不等式を満たせば良品と判定する判定回路と、
Figure 0004413858
(nは乱数の総数、α、δは以下の等式を満たす)
Figure 0004413858
を備えていることを特徴とする。
なお、前記カウンタは、前記第1の乱数の値が「1」でありかつ前記第2の乱数の値が「0」であるときの発生頻度をカウントしてもよい。
なお、前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いてもよい。
また、本発明の第の態様による乱数検定回路において、前記比較回路は前記シフトレジスタの複数の所定の段から出力される複数の第1の乱数と、前記第1の乱数のそれぞれから予め定めたそれぞれが異なるビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較してもよい。
なお、前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いてもよい。
また、本発明の第の態様による乱数検定回路において、前記比較回路は前記シフトレジスタの複数の所定の段から出力される複数の第1の乱数と、前記第1の乱数のそれぞれから予め定めたそれぞれが異なるビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較してもよい。
なお、前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いてもよい。
なお、前記乱数生成素子が組み込まれている半導体チップと同一の半導体チップに組み込まれていてもよい。
本発明によれば、検定に必要な乱数の総数に制限がなく、多量の検定に必要なデータ数を扱ったとしても回路規模が増大せず、小型化が可能な乱数検定回路を提供することができる。
本発明の実施形態を説明する前に、本発明の概要を説明する。
先ず、各実施形態で用いられる検定方法と回路規模縮小に向けての考え方について説明する。
本発明の各実施形態における乱数の検定方法は、S. W. Golombによって定義された検定条件を用いている。上記の検定条件は、3つの条件から構成されているが、3つの条件のうち、以下に示す自己相関関数に関する条件を満たせば、他の2つの条件は満たすことが知られている(Solomon W. Golomb, SHIFT REGISTER SEQUENCES参照)。上記自己相関関数に関する条件は、自己相関関数C(t)が乱数の総数nに対し、
Figure 0004413858
で表され、上記式におけるKが正規分布に従うとき、乱数は真性乱数であると判定される。ここで、tは1 n−1 である。なお、記号「*」は乗算記号を示している。
上記の検定方法における式(1)は周期性をもつ総和である。ここで周期性を持つ総和と述べたものは、例えば数列の母数をn、t=1であったとき、上記式(1)は
Figure 0004413858
と表されることを意味する。このとき、シリアル乱数において式(2)におけるn*C(1)を求める過程を回路化した場合、2つの乱数に関する積の総和を求めるには、2つの乱数SとSi+tは1方向にtだけずれた乱数というだけではなく、検定を行なう乱数の総数がnならば、2つの乱数の一方がSnであるとき、他方が周期的に戻りS1とならなくてはならない。よって、式(2)におけるn*C(1)を求めるには少なくともS1のデータは何らかの方法で保持しなければならず、これはtが大きくなるほど保持しなければならない数が増える上に、複数のtについて検定を行うならば、検定に必要な乱数すべてを保持する必要が生じうる。
よって、式(2)を求めるためには、検定する乱数の総数(例えばn個)分の段数を持つシフトレジスタを用いてシリアル乱数をパラレル乱数に変換し、ある数だけ離れた乱数と値を比較するために、XNORゲートあるいはXORゲートもしくは1入力をNOT入力としたANDゲートをn個用い、さらにその出力値であるn個のパラレル乱数をシリアル乱数に変換するために再びn段のシフトレジスタを用いる必要がある。そのため検定する乱数の総数が増加するに従いゲート数は膨大になり、回路規模が拡大してしまう上に、この検定回路の大部分をこのn*C(t)の計算部分が占めているという欠点がある。
そこで、本発明の各実施形態においては、上記の回路をより小型化するためには、上記のシリアル乱数からパラレル乱数への変換およびその逆変換の過程を削除することでそれを実現した。これを実現させるにあたり、「式(1)における2乱数の積の総和
Figure 0004413858
は、周期性を持たない場合と周期性を持つ場合、すなわち、周期的にt個離れた相関をとる場合も、一方向的にt個離れた相関をとる場合も、双方の方法における総和に大きな相違はない」という仮定をおいた。ここで周期性を持たない場合における式(1)とは
Figure 0004413858
で表される式である。
さらに、本発明の一実施形態において、乱数検定の判定基準値は正規分布に従う。総数n個の乱数列S1,S2,・・・,Snが与えられているとき、t個ずらした数の組(S1,S1+t),(S2,S2+t),・・・,(Sn,St)における相関係数rxy (t) は次式で定義される。
Figure 0004413858
但し、
Figure 0004413858
である。この値の大小によって乱数列の規則性の有無を検定する方法を『おくれtの系列相関検定』といい、統計的仮説検定の考えに基づいて行なわれる(脇本和昌著「乱数の知識」参照)。すなわち、rxy (t) の値を求めて規則性の有無を判定する場合、rxy (t) がどれくらいまでであれば乱数列の無規則性が保証されるかということがあいまいであるために、本発明の一実施形態においては以下のような検定基準を採用し、この検定基準を自己相関関数C(t)において当てはめることで、本発明の一実施形態における検定方法として適応させる。
本発明の一実施形態に係る検定方法として、複雑な式で表現される相関係数rxy (t) の分布を、FisherのZ変換を用いることで、簡単化している。このFisherのZ変換は、相関係数rxy (t)
Figure 0004413858
と変換し、さらに、u=Z(N−3)1/2としたときのuが近似的に正規分布に従うことを利用している。ここで言う相関係数rxy (t) は、式(1)における自己相関関数C(t)に対応しており、その詳細については以降に記述する。これより、この変換を利用し、本発明の一実施形態の検定基準を定め、正規分布の信頼率を95%として信頼区間を決定する。
次に、式(4)のように表される相関係数rxy (t) と自己相関関数C(t)の関係について述べる。式(1)を展開すると次の式で表すことができる。
Figure 0004413858
式(5)の右辺の第1項目である式
Figure 0004413858
についてまとめ、式(4)の相関係数の式に代入することで、式(4)は次の式(6)のように表すことができる。
Figure 0004413858
さらに、帰無仮説を『乱数が無規則に並んでいる』とすることで、この帰無仮説の下では
Figure 0004413858
とみなすことができることから、相関係数rxy (t) と自己相関関数C(t)との関係は次のように表すことができる。
xy (t) = C(t)
これより、式(1)におけるKの範囲は次の式(7)に従うことになる。ただし、判定対象である乱数の総数nは任意である。
Figure 0004413858
また、本発明の一実施形態においては、この判定基準に基づき行ったが、あくまで一例であり、その他の基準値に置き換えて判定を行うことも可能である。乱数の総数nを横軸とし、自己相関係数C(t)に乱数の総数nをかけた値Kを縦軸としたときの式(7)の判定基準について図8に示した。
本発明の一実施形態における検定基準値は、上記の式(7)より以下のように導く。総数nの乱数中のある1ビットの乱数SiとSiから予め定めたあるビット数tだけ離れた乱数Si+tが等しいときの発生頻度をx、また総数nの乱数中のある1ビットの乱数Siと、この乱数Siから予め定めたあるビット数tだけ離れた乱数Si+tとが異なるときの発生頻度をyとおくとき、x、y、nの間には、x+y=nいう関係式が成り立ち、さらにx、y、Kとの間にはK=x−yいう関係式が成り立つ。
したがって、本発明の一実施形態における検定基準値は、式(7)より、xの範囲で書き換えると次の式(8)のようになる。
Figure 0004413858
また、本発明の他の一実施形態における検定基準値は、式(7)より、yの範囲で書き換えると次の式(9)のようになる。
Figure 0004413858
また、本発明の更に他の実施形態における検定基準値は、総数nの乱数中のある1ビットの乱数Siと、この乱数Siから予め定めたあるビット数tだけ離れた乱数Si+tとが異なり、かつSiとSi+tのどちらの値が「1」あるいは「0」であるかが予め定められているため、このときカウントされた発生頻度をzとすると、発生頻度zは発生頻度yの1/2となる。これより発生頻度zの検定基準値は、次の式(10)のようになる。
Figure 0004413858
上記に述べた『周期的にt個離れた相関をとる場合と、一方向的にt個離れた相関をとる場合において、双方の方法における総和に大きな相違はない』という仮定の信頼性を確認するため、実際に両方の方法の検定をおこなった。検定に使用した乱数は、一般検定に合格した乱数列と不合格であった乱数列の2種類の乱数列を用意し(DONALD E. KNUTH, The Art of Computer Programming参照)、上記の仮定中で述べた周期性を持つ乱数を評価する方法と、一方向にのみずれた周期性を持たない乱数を評価する方法とで、この2種類の乱数列を評価し、一般検定に合格した乱数列に対し合格の判定を、もう一方の一般検定に不合格であった乱数列に対し不合格の判定をすることで、その判定法は信頼できるものと判断する。
図9は周期的および非周期的評価方法で判定した結果について、縦軸を棄却された検定結果の総数、横軸を乱数の総数nとしたときのプロットしたものである。図9(a)は一般検定に合格した乱数列を周期的および非周期的評価方法で判定した結果であり、図9(b)は一般検定に不合格であった乱数列を周期的および非周期的評価方法で判定した結果である。
図9(a)および図9(b)から、一般検定に合格であった乱数列および不合格であった乱数列を、周期的および非周期的評価方法で判定した際、どちらにしても、周期的および非周期的のどちらの検定方法で検定しようと、検定方法によってその検定結果が大きく覆るほどの振る舞いの差はみられないことがわかる。よって、上記の仮定を棄却するには及ばないことを意味する。
また、本発明の更なる他の実施形態における検定方法は、上記の検定総数に対する棄却された検定結果の割合と、乱数の総数nとの関係性に基づくものである。この検定方法において、総数nの乱数中のある1ビットの乱数に対して比較するもう一方の1ビットの乱数との距離(ビット数)をtとし、各tにおいて相関係数を用いる前述した検定を行ったとき、検定に合格するtの総数Pは0からn−1までの範囲で、それぞれの値になる確率は等確率である。これより、検定の合格率はP/(n−1)と表すことができ、よって検定の合格率はχ分布に従う。
例えば、合格率は0から1まで範囲を25区分割し、そのうち合格率が0.95以上、つまり95%以上のtが検定に通るという基準を設けたとする。乱数の総数をnとすると、とり得るtの値はn−1であることから、検定に合格するtの総数Pがχ(n−1,0.05)以上のとき検定に合格したと判定する。
ただし、これはあくまで一例であり、χ分布の危険率の設け方は利用者の判断に任せ、確定するものではない。ただし、検定数に対する棄却された検定結果の割合は少ないほどよいのは当然である。上述した文献(Solomon W. Golomb, SHIFT REGISTER SEQUENCES)における検定方法は、乱数の総数nが乱数列において、2乱数の距離tについて可能な全てのtにおいて検定が合格することが検定合格の条件としている。
これにより、上記のシリアル乱数からパラレル乱数への変換およびその逆変換の過程に必要な回路部分を削除でき、検定に要する乱数の総数nに回路規模を左右されない小型回路を実現した。その具体例を実施形態で説明する。
上記式(3)で示した総和を用い、検定を行なうことへの妥当性を示すことができたことから、式(3)を採用した自己相関関数C(t)について、上記の検定方法および検定基準を用いた乱数検定回路を、以下の第1乃至第9実施形態で説明する。
以下、図面を参照して、本発明の実施形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
本発明の第1乃至第3実施形態は、上記乱数検定方法を採用した式(1)、式(8)に基づく判定基準に従う乱数検定回路であり、式(1)における乱数Siと乱数Si+tとが、等しい場合の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証する乱数検定方法を採用している。
(第1実施形態)
本発明の第1実施形態による乱数検定回路を図1に示す。本実施形態の乱数検定回路は、シフトレジスタ1と、ANDゲート2、3、4と、XNOR(排他的NOR)ゲート6と、カウンタ回路7と、比較回路8と、カウンタ回路9と、比較回路10と、制御回路50とを備えている。なお、ANDゲートの数は検定基準で説明したtに応じて変更する。
乱数生成素子より発生したシリアル乱数であるランダム信号RSを、乱数検定回路の入力端子101に入力することにより、ランダム信号RSと、ランダム信号RSがあるクロック数tだけ遅れたランダム信号RSi+tをXNORゲート6に入力し、ある時刻において、ランダム信号RSとランダム信号RSi+tとが等しい場合にXNORゲート6は「1」を出力する。このとき、ランダム信号RSi+tはシフトレジスタ1を介して生成され、シフトレジスタの段数はtに応じて決定する。また、複数のtについて検定を行なう場合(図1では、tはt=1、3、4の場合)には、その複数個のtのうち、最大のtであるtmax段(図1ではtmax =4)のシフトレジスタ1を用意し、それぞれのtに対応する段からランダム信号RSi+tを出力し、XNORゲート6の1入力とする。
選択するtの個数dは1≦d≦n−1の範囲を持つ。ただし、それぞれのtに対応するシフトレジスタ1からの出力を2入力ANDゲート2、3、4の一方の入力に接続し、ANDゲート2、3、4の他方の入力に制御回路50の出力端子103、104、105を介して生成された信号ON1、ON2、ON3をそれぞれ接続する。そして、これらのANDゲート2、3、4の出力を3入力ORゲート5へ入力することで、異なるtの値を持つランダム信号RSi+tが、時間により順にORゲート5の出力値、すなわちXNORゲート6の1入力となる。ただし、ここで述べたANDゲートの個数とORゲートの入力端子数は検定に用いるtの個数と等しくなる。
本発明の第1実施形態による乱数検定回路の動作のタイミングチャートを図2に示す。この図2に示すタイミングチャートより、制御信号ON1、ON2、ON3は、それぞれのどれか1つの制御信号が「1」のときには他の2つの制御信号は必ず「0」となり、「1」となる区間はn(=乱数の総数)クロックである。また、制御信号ON1、ON2、ON3が「1」となる順は任意である。
XNORゲート6の出力を受けるクロックイネーブル入力CEと、入力端子102からの基準クロックCLK_0を受けるクロック入力Cと有するカウンタ回路7は、クロックイネーブル入力CEに入力される信号の値「1」を基準クロックCLK_0のタイミング毎にカウントし、カウント値を出力する。またカウンタ回路7は検定を行う乱数の総数がnであったときn+1クロック毎に、制御回路50の出力端子106からのリセット信号CLK_1によりリセットされる。
カウンタ回路7によりカウントされた値Aは、比較回路8において予め定められた基準値と比較される。カウンタ回路7によりカウントされた値Aが予め定めた基準値の範囲外となった場合、比較回路8は、カウンタ回路7がリセットされてから次にリセットされるまでに、必ずあるクロック間で「1」を出力する。
制御信号ON2と制御信号ON3とが「1」のときについても、制御信号ON1が「1」のときと同様に、カウンタ回路7によってカウントされた値Aと予め定められた基準値との比較を比較回路8で行なう。比較回路8の出力をカウンタ回路9のクロック入力Cに入力し、クロックイネーブル入力CEには制御回路50の出力端子108を介して生成された信号ON4を入力する。これより、カウンタ回路9の出力Qを比較回路10において予め定めた基準値と比較し、出力端子109から判定信号を出力する。これにより、予め定めた総数n個の乱数は、スタート信号CLK_2から(dn+2d+1)クロック後に検証することができる。ただし、dは選択したtの数であり、任意の数である。例えば、図1における第1実施形態の乱数検定回路ならば、d=3である。
従来は乱数列中における2つの乱数の比較を周期的に行なうために、乱数列全体および部分を保持する必要があった。
しかし、本実施形態においては、周期的に比較を行なわずとも、ある乱数Siと、時系列的にあるクロック数(ここではtクロックとする)ずれた乱数(Si+tもしくはSi-t)との比較の結果は、より真性乱数に近いほど同等である、とみなすことにより、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第2実施形態)
本発明の第2実施形態による乱数検定回路を図3に示し、本実施形態による乱数検定回路の動作のタイミングチャートを図4に示す。本実施形態の乱数検定回路は、図1に示す第1実施形態の乱数検定回路のカウンタ回路9、比較回路10の代わりに、D型のフリップフロップ回路11(以下、D−FF11ともいう)と、ラッチ回路12、13、14、15、16、17と、加算器18と、比較回路19とを設けた構成となっている。ただし、図3に示した回路は選択したtが3つのときである。シフトレジスタ1、ANDゲート2、3、4、ORゲート5、XNORゲート6、およびカウンタ回路7は第1実施形態と同等の動作をする。
カウンタ回路7よりカウントされた値Aは、比較回路8により、予め定められた基準値と比較し、D−FF11によりCLK_1から「1」の信号が入力されるまでその結果が保持される。
D−FF9の出力Qは、ラッチ回路12〜14のクロック入力CKに接続され、ラッチ回路10〜12それぞれにおいて、制御回路50を介して生成された信号ON1〜ON3が「1」のとき、ラッチ回路12〜14のクロック入力CKの立ち上がりエッジにより、比較回路8による比較の結果を一時的に保持される。比較回路8を介した出力は、カウンタ回路7よりカウントされた値Aが予め定めた基準値の範囲外となった場合、カウンタ回路7がリセットされてから次にリセットされるまでに、必ずあるクロック間で「1」を出力する。
ラッチ回路12〜14の出力をそれぞれラッチ回路15〜17のクロック入力CKに接続し、ラッチ回路15〜17で制御回路50を介して生成された信号CLK_2によってリセットされるまで、その比較回路による比較の結果を保持する。
ラッチ回路15〜17それぞれの出力を加算器18の入力に接続し、加算器18は予め定めた複数の2乱数の距離tのうち、自己相関関数が正規分布範囲外と判定されたtの数を出力する。加算器18により出力された値が、予め定めた判定基準値内もしくは基準値外であることを比較回路19を介して判定し、判定信号を出力する。これにより、予め定めた総数n個の乱数は、スタート信号CLK_2から(dn+2d+1)クロック後に検証することができる(ただし、dは選択したtの数であり、例えば、図3における第2実施形態ならば、d=3)。
以上説明したように、本実施形態も第1実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第3実施形態)
次に、本発明の第3実施形態による乱数検定回路を図5(a)、(b)に示し、本実施形態による乱数検定回路の動作のタイミングチャートを図6に示す。
本実施形態の乱数検定回路は、図5(a)に示すように、回路28a、28b、28cが並列に接続された回路25と、加算器29と、比較回路30と、制御回路52とを備えている。並列に接続された回路28a、28b、28cは、それぞれ図5(b)に示す回路28と同じ構成であり、シフトレジスタの段数のみが異なっている。ただし、図5(a)に示した回路は選択したtが3つのときであり、並列させる回路28の数は選択するtに等しい。図5(b)に示す回路28は、シフトレジスタ20と、XNORゲート21と、カウンタ回路22と、比較回路23と、ラッチ回路24とを備えている。
回路28において、乱数生成素子より発生したシリアル乱数であるランダム信号RSを回路入力部である端子101に入力することにより、ランダム信号RSと、このランダム信号RSがシフトレジスタ20を通ることによって得られる、あるクロック数遅れたランダム信号RSi+tとがXNORゲート21の入力部に入力され、両ランダム信号が等しいときにXNORゲート21が「1」を出力する。シフトレジスタの段数は、式(1)におけるtに対応し、予め設定する。
カウンタ回路22は、XNORゲート21の出力をクロックイネーブル入力CEで受け、入力端子102を介して送られてくる基準クロックCLK_0をクロック入力CKで受けることで、XNORゲート21の出力信号の値「1」をクロック信号CLK_0のタイミング毎にカウントし、カウント値を出力する。
カウンタ回路22の出力であるカウント値Aは、比較回路23において予め定められた基準値と比較される。比較回路23の出力信号はラッチ回路24のクロック入力CKに入力される。ラッチ回路24のデータ入力Dを常に「1」とすることで、比較回路23より得られた基準値との比較の結果をラッチする。すなわち、入力端子103を介して送られて来るスタート信号CLK_2の立下りエッジを1クロック目とすると、1〜nクロック目までの時刻の間に比較回路23の出力信号が「1」となれば、カウンタ回路22を介して得られたカウント値Aが、予め定めた基準値の範囲外であると判断される。
これらより、異なる段数のシフトレジスタ20を持つ回路28a、28b、28cを、図5(a)に示すように並列に接続することで、複数の異なるtにおける検定を、回路28a、28b、28cそれぞれで実行し、これら回路28a、28b、28cの出力を加算器29に入力して加算し、その加算結果を比較回路30に入力することで、比較回路30は、予め定めた基準に相当する値と加算器29より出力された値とを比較し、判定信号を出力する。これにより、予め定めた総数n個の乱数は、スタート信号CLK_2からnクロック後に検証することができる。
以上説明したように、本実施形態も第1実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
以下に説明する本発明の第4乃至第6実施形態による乱数検定回路は、式(1)および式(9)に基づく判定基準に従う乱数検定回路であり、式(1)におけるSiとSi+tが異なる場合の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証するように構成されている。
(第4実施形態)
本発明の第4実施形態による乱数検定回路を図7に示す。本実施形態の乱数検定回路は、図1に示した第1実施形態の乱数検定回路において、XNORゲート6を図7(a)に示したXORゲート31に変更した構成となっている。
XNORゲート6をXORゲート31と入れ替えることにより、入力信号であるランダム信号RSと、このランダム信号RSがシフトレジスタ1を通ることによってあるクロック数遅れたランダム信号RSi+tとをXORゲート31に入力することにより、XORゲート31は両信号が異なる場合に「1」を出力する。そして、それぞれがRSとRSi+tとからなるn個の組において、RSとRSi+tとが異なる組の数をカウンタ回路7でカウントする。ここまでの回路動作は基本的には第1実施形態の動作と同様である。
本実施形態においては、カウンタ回路7によりカウントされた値Bを予め定めた基準値と比較回路8を介して比較する。よって、比較回路8での比較の値が異なることを除けば、基本的には第1実施形態と同様の動作で検定が可能である。
以上説明したように、本実施形態も第1実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第5実施形態)
次に、本発明の第5実施形態による乱数検定回路を説明する。本実施形態の乱数検定回路は、図3に示す第2実施形態の乱数検定回路において、XNORゲート6を図7(a)に示すXORゲート31に変更した構成となっている。
本実施形態においても、カウンタ回路7によりカウントされた値Bを予め定めた基準値と比較回路8において比較する。このため、比較回路8での比較する値が異なることを除けば、基本的には第2実施形態と同様の動作で検定が可能である。
これにより、本実施形態も第2実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第6実施形態)
次に、本発明の第6実施形態による乱数検定回路を説明する。本実施形態の乱数検定回路は、図5に示す第3実施形態の乱数検定回路において、XNORゲート21を図7(a)におけるXORゲート31に変更した構成となっている。
第6実施形態において、カウンタ回路22によりカウントされた値Bを予め定めた基準値と比較回路23を介して比較する。このため、比較回路23での比較する値が異なることを除けば、基本的には第3実施形態と同様の動作で検定が可能である。
これにより、本実施形態も第3実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第7〜9実施形態)
以下に説明する本発明の第7乃至第9実施形態による乱数検定回路は、式(1)および式(10)に基づく判定基準に従う乱数検定回路であり、式(1)におけるSiとSi+tが、それぞれ「1」と「0」である場合の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証するように構成されている。
(第7実施形態)
次に、本発明の第7実施形態による乱数検定回路を説明する。本実施形態の乱数検定回路は、図1に示す第1実施形態の乱数検定回路において、XNORゲート6を、2入力ANDゲートの1入力をNOT入力とした図7(b)に示すANDゲート32に変更した構成となっている。
第7実施形態において、カウンタ回路7によりカウントされた値Xを予め定めた基準値と比較回路8を介して比較する。比較回路8での比較する値が異なることを除けば、基本的には第1実施形態と同様の動作で検定が可能である。
これにより、本実施形態も第1実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第8実施形態)
次に、本発明の第8実施形態による乱数検定回路を説明する。本実施形態の乱数検定回路は、図3に示す第2実施形態の乱数検定回路において、XNORゲート6を、2入力ANDゲートの1入力をNOT入力とした図7(b)に示すANDゲート32に変更した構成となっている。
第8実施形態において、カウンタ回路7によりカウントされた値Xを予め定めた基準値と比較回路8を介して比較する。第8実施形態における回路動作は、比較回路8での比較する値が異なることを除けば、基本的には第2実施形態と同様の動作で検定が可能である。
これにより、本実施形態も第2実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
(第9実施形態)
次に、本発明の第9実施形態による乱数検定回路を説明する。本実施形態の乱数検定回路は、図5に示す第3実施形態の乱数検定回路において、XNORゲート21を、2入力ANDゲートの1入力をNOT入力とした図7(b)に示すANDゲート32に変更した構成となっている。
第9実施形態において、カウンタ回路22によりカウントされた値Xを予め定めた基準値と比較回路23を介して比較する。比較回路23での比較する値が異なることを除けば、基本的には第3実施形態と同様の動作で検定が可能である。
これにより、本実施形態も第3実施形態と同様に、2乱数を比較する際に必要であった保持回路を排除することができ、検定に必要なデータ数に関わらず、回路規模が拡大するのを防止することができるとともに小型化することができる。
なお、上記第1乃至第9実施形態の乱数検定回路は、乱数を発生する乱数発生素子が形成されている半導体チップ上に組み込んでもよいし、別の半導体チップに設けてもよい。
既に述べた第1乃至第9実施形態による乱数検定回路については、比較回路8および比較22において、基準範囲外の時に「1」を出力する回路構成をとっているが、範囲内であるときに「1」を出力する回路構成をとることも可能である。このとき、既に述べた第2、第3、第5、第6、第8、第9実施形態による乱数検定回路については、ラッチ回路13〜15及び21の出力を、QではなくQバーに変更することで、範囲内であるときに「1」を出力する回路構成をとることが可能となる。
既に述べた第1乃至第9実施形態による乱数検定回路については、乱数列中のある1ビットの乱数に対し距離tだけ離れた乱数に対し、乱数検定を行い、且つ、検定を行ったtの数と合格数の割合に対する乱数列との関係おける検定を組み合わせて行っているが、すべてのtにおいて合格した場合のみ合格とする場合には、既に述べた第2、3、5、6、8、9実施形態による乱数検定回路については、加算器18と比較回路19あるいは加算器29と比較回路30の部分をNOR回路もしくはAND回路に置き換えることが可能である。
本発明の第1実施形態による乱数検定回路を示す図。 第1実施形態による乱数検定回路の動作タイミングチャート。 本発明の第2実施形態による乱数検定回路を示す図。 第2実施形態による乱数検定回路の動作タイミングチャート。 本発明の第3実施形態による乱数検定回路を示す図。 第3実施形態による乱数検定回路の動作タイミングチャート。 本発明の第4乃至第9実施形態による乱数検定回路に用いられるゲート回路を示す図。 乱数検定基準に係る例として、正規分布に従う検定基準領域について示した図。 周期的評価方法および非周期的評価方法の2つの検定方法にて検定を行なったとき、乱数の総数と棄却されるtの数の関係を説明する図。 従来の乱数検定回路を説明する図。
符号の説明
1 シフトレジスタ
2 ANDゲート
3 ANDゲート
4 ANDゲート
5 ORゲート
6 XNORゲート
7 カウンタ回路
8 比較回路
9 カウンタ回路
10 比較回路
11 D型フリップフロップ回路
12〜17 ラッチ回路
18 加算器
19 比較回路
20 シフトレジスタ
21 XNORゲート
22 カウンタ回路
23 比較回路
24 ラッチ回路
29 加算器
30 比較回路
50 制御回路
52 制御回路

Claims (10)

  1. クロックに基づいて動作し、乱数生成素子から発生されるシリアル乱数を順次記憶するシフトレジスタと、
    前記シフトレジスタの所定の段から出力される第1の乱数と、前記第1の乱数から予め定めた第1のビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較する比較回路と、
    前記シリアル乱数内の全てのビットに対して、前記第1の乱数が前記第2の乱数と等しいときの発生頻度をカウントするカウンタと、
    前記発生頻度xが以下の不等式を満たせば良品と判定する判定回路と、
    Figure 0004413858
    (nは乱数の総数、α、δは以下の等式を満たす)
    Figure 0004413858
    を備えていることを特徴とする乱数検定回路。
  2. 前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いたことを特徴とする請求項1記載の乱数検定回路。
  3. クロックに基づいて動作し、乱数生成素子から発生されるシリアル乱数を順次記憶するシフトレジスタと、
    前記シフトレジスタの所定の段から出力される第1の乱数と、前記第1の乱数から予め定めた第1のビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較する比較回路と、
    前記シリアル乱数内の全てのビットに対して、前記第1の乱数が前記第2の乱数と異なるときの発生頻度をカウントするカウンタと、
    前記発生頻度yが以下の不等式を満たせば良品と判定する判定回路と、
    Figure 0004413858
    (nは乱数の総数、α、δは以下の等式を満たす)
    Figure 0004413858
    を備えていることを特徴とする乱数検定回路。
  4. 前記カウンタは、前記第1の乱数の値が「1」でありかつ前記第2の乱数の値が「0」であるときの発生頻度をカウントすることを特徴とする請求項3記載の乱数検定回路。
  5. 前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いたことを特徴とする請求項3または4記載の乱数検定回路。
  6. 前記比較回路は前記シフトレジスタの複数の所定の段から出力される複数の第1の乱数と、前記第1の乱数のそれぞれから予め定めたそれぞれが異なるビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較することを特徴とする請求項1記載の乱数検定回路。
  7. 前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いたことを特徴とする請求項6記載の乱数検定回路。
  8. 前記比較回路は前記シフトレジスタの複数の所定の段から出力される複数の第1の乱数と、前記第1の乱数のそれぞれから予め定めたそれぞれが異なるビット数だけ離れた、前記乱数生成素子から発生される第2の乱数との値を比較することを特徴とする請求項3記載の乱数検定回路。
  9. 前記シリアル乱数のサンプルデータ数は任意であり、前記判定回路における良品と判定するための基準は検定を行なう乱数の総数に応じて正規分布に従う乱数検定方法を用いたことを特徴とする請求項8記載の乱数検定回路。
  10. 前記乱数生成素子が組み込まれている半導体チップと同一の半導体チップに組み込まれていることを特徴とする請求項1乃至9のいずれかに記載の乱数検定回路。
JP2005359236A 2005-12-13 2005-12-13 乱数検定回路 Active JP4413858B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005359236A JP4413858B2 (ja) 2005-12-13 2005-12-13 乱数検定回路
EP06256186A EP1798638A3 (en) 2005-12-13 2006-12-04 Test circuit for random numbers
US11/635,590 US7917560B2 (en) 2005-12-13 2006-12-08 Random number test circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005359236A JP4413858B2 (ja) 2005-12-13 2005-12-13 乱数検定回路

Publications (2)

Publication Number Publication Date
JP2007164434A JP2007164434A (ja) 2007-06-28
JP4413858B2 true JP4413858B2 (ja) 2010-02-10

Family

ID=37897345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005359236A Active JP4413858B2 (ja) 2005-12-13 2005-12-13 乱数検定回路

Country Status (3)

Country Link
US (1) US7917560B2 (ja)
EP (1) EP1798638A3 (ja)
JP (1) JP4413858B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886363B2 (ja) * 2006-06-01 2012-02-29 株式会社エルイーテック 乱数生成検定方法及びこれを用いた乱数生成検定装置
US20090125171A1 (en) * 2007-11-08 2009-05-14 Gm Global Technology Operations, Inc. Processor security diagnostics for hybrid vehicle electric motor control system
US7733139B2 (en) * 2008-01-25 2010-06-08 Himax Technologies Limited Delay locked loop circuit and method for eliminating jitter and offset therein
JP4538066B2 (ja) * 2008-08-26 2010-09-08 株式会社東芝 乱数生成装置
US9594541B2 (en) * 2009-01-06 2017-03-14 Inside Secure System and method for detecting FRO locking
WO2010134197A1 (ja) * 2009-05-22 2010-11-25 株式会社 東芝 乱数生成回路およびこれを用いた暗号回路
US8831821B2 (en) 2010-12-17 2014-09-09 GM Global Technology Operations LLC Controller area network message transmission disable testing systems and methods
US8868630B1 (en) * 2011-03-18 2014-10-21 Board Of Regents Of The University Of Texas System Verification of pseudorandom number streams
CN103460219B (zh) 2011-04-11 2016-03-16 惠普发展公司,有限责任合伙企业 批量串行化
US9122662B2 (en) 2011-06-01 2015-09-01 James Mason Faucett Processor safety test control systems and methods
US9495271B2 (en) * 2014-01-29 2016-11-15 Freescale Semiconductor, Inc. Statistical power indication monitor for purpose of measuring power consumption
JP6492467B2 (ja) * 2014-09-03 2019-04-03 株式会社ソシオネクスト 受信回路及び半導体集積回路
FR3028970B1 (fr) * 2014-11-25 2020-01-10 Direction Generale De L'armement -Ds/Sdpa/Bpi - Dga/Ds/Sdpa/Bpi Procede de calcul de la variance de la gigue de phase dans un generateur de nombres vraiment aleatoires et procede de controle associe
KR20180055299A (ko) 2016-11-16 2018-05-25 삼성전자주식회사 난수 생성기의 랜덤성 시험 장치 및 방법
RU2710990C1 (ru) * 2019-09-23 2020-01-14 Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский Томский государственный университет" (ТГУ, НИ ТГУ) Цифровой интегратор

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4071903A (en) 1976-08-04 1978-01-31 International Business Machines Corporation Autocorrelation function factor generating method and circuitry therefor
GB2144004A (en) 1983-07-25 1985-02-20 Gen Electric FM discriminator circuits
DE3474517D1 (en) 1983-07-28 1988-11-17 Robert John Seymour A racquet
JP3487300B2 (ja) 2001-07-17 2004-01-13 Fdk株式会社 1ビット乱数発生装置および多数ビット乱数発生装置ならびに確率発生装置
JP3604674B2 (ja) 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
JP2003196081A (ja) 2001-10-15 2003-07-11 Takeshi Saito 真性乱数発生チップの迅速検定方法
JP4102072B2 (ja) 2002-01-08 2008-06-18 株式会社東芝 半導体装置
US6947960B2 (en) * 2002-02-21 2005-09-20 Koninklijke Philips Electronics N.V. Randomness test utilizing auto-correlation
KR100575182B1 (ko) 2002-09-13 2006-05-02 가부시끼가이샤 도시바 난수 발생 회로
JP2004310314A (ja) 2003-04-04 2004-11-04 Fdk Corp 物理乱数発生装置
FR2856163A1 (fr) 2003-06-12 2004-12-17 St Microelectronics Sa Circuit de controle d'alea d'un generateur de nombres aleatoires
JP3803664B2 (ja) 2003-09-30 2006-08-02 株式会社東芝 乱数生成回路、半導体集積回路、icカード及び情報端末機器
JP4094570B2 (ja) 2004-03-02 2008-06-04 株式会社東芝 乱数検査回路、乱数生成回路、半導体集積装置、icカードおよび情報端末機器

Also Published As

Publication number Publication date
US20070162806A1 (en) 2007-07-12
EP1798638A3 (en) 2008-09-03
EP1798638A2 (en) 2007-06-20
US7917560B2 (en) 2011-03-29
JP2007164434A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4413858B2 (ja) 乱数検定回路
US7653855B2 (en) Random number test circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
JP4177807B2 (ja) 回路テストシステム
US7386777B2 (en) Systems and methods for processing automatically generated test patterns
JP4471901B2 (ja) 乱数発生装置
US20060236186A1 (en) Test Output Compaction with Improved Blocking of Unknown Values
US6333646B1 (en) Abnormal clock detector and abnormal clock detecting apparatus
CN105717851A (zh) 使用具有计数状态的有限状态机的实时触发
CN114280454A (zh) 芯片测试方法、装置、芯片测试机及存储介质
US8312332B2 (en) Device and method for testing and for diagnosing digital circuits
US11397841B2 (en) Semiconductor integrated circuit, circuit designing apparatus, and circuit designing method
JP2002006003A (ja) 位相ロック・ループ用全ディジタル内蔵自己検査回路および検査方法
Fischer et al. Enhancing Quality and Security of the PLL-TRNG
US9506983B2 (en) Chip authentication using scan chains
US7973584B2 (en) Waveform generator
JP4869879B2 (ja) 半導体集積回路
US7461304B1 (en) Integrated circuit test using clock signal modification
US8793545B2 (en) Apparatus and method for clock glitch detection during at-speed testing
US20150019606A1 (en) Method for evaluating an output of a random generator
JP2011199743A (ja) クロック異常検出回路
US9817069B1 (en) Method and system for construction of a highly efficient and predictable sequential test decompression logic
JP4025301B2 (ja) 電子回路試験用回路、電子回路試験装置、および電子回路試験方法
Wang et al. Identification of Counter Registers through Full Scan Chain
CN117950907A (zh) 一种存储器装置及其控制方法
Demidenko et al. Fault-tolerance in micro programmed control: architectures & schematic synthesis

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090930

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091008

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

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

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4413858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4