(57)【特許請求の範囲】
【請求項１】
複数の値を逐次変化させて出力する乱数値生成回路と；
乱数を要求されると、上記乱数値生成回路で生成された乱数値を応答として返す乱数値要求インタフェースと；
上記乱数値生成回路にアクセスして値を読み出すためのアクセス権を調停する複数の非同期アービタ回路と；
上記非同期アービタ回路に上記アクセス権を要求するためのアクセス要求を発生するアクセス要求発生回路と；
を有し、上記非同期アービタ回路は、複数のアクセス権の要求のうちで、同時には１つの要求のみに対してアクセス権を与える回路であり、上記非同期アービタ回路の動作と上記アクセス要求発生回路の動作とに応じて、上記乱数値要求インタフェースが上記乱数値生成回路にアクセスするタイミングを変動させることによって、上記乱数値生成回路が出力する数値の取得タイミングを変化させ、上記非同期アービタ回路から要求した全てのアクセス権を得たときに、上記乱数値生成回路が出力した数値を乱数として出力することを特徴とする乱数生成器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロックを使用しない非同期回路を用いて物理乱数を生成する乱数生成器に関する。
【０００２】
【従来の技術】
従来、乱数の生成方法として、算術式を用いる方法と、物理現象を利用する方法とが知られている。
【０００３】
算術式を用いて乱数を生成する方法は、生成のための規則性が残るとともに、その周期が有限であるので、真の乱数とは言えず、疑似乱数と呼ばれている。
【０００４】
他方、物理現象を利用して乱数を生成する方法として、抵抗体の熱雑音を利用する方法、放射性物質の崩壊を利用する方法、水晶やダイオードの発振を利用する方法等が知られている。
【０００５】
【発明が解決しようとする課題】
しかし、上記物理現象を利用して乱数を生成する方法では、何れの方法も特殊な物理デバイスや、そのアナログ特性を観測する装置が必要になるという問題がある。
【０００６】
特に、アナログ特性を観測する装置においては、ＡＤコンバータを必要とし、このＡＤコンバータの精度が、生成される乱数の品質に影響を与える。この参考文献は、「『暗号利用技術ハンドブック』電子商取引実証推進協議会  共通セキュリティ関連技術検討ＷＧ  平成１０年２月発行」である。
【０００７】
ところで、従来例の１つとして、デジタル信号のみで乱数を生成する回路が知られ、このデジタル信号のみで乱数を生成する回路は、クロックに同期してカウンタが１を加算し、オーバフロー時には、初期状態に戻るようにし、何等かの不規則なタイミングで、上記カウンタの値を読み出す回路であり、この読み出した値が乱数である。
【０００８】
上記従来のデジタル信号のみで乱数を生成する回路は、回路構成自体に、物理現象によるランダム性を含まないが、読み出しを行うタイミングに依存して、乱数の質が変化するので、良質の乱数が得られることを保証することができないという問題がある。
【０００９】
本発明は、周期的に値を更新する回路へのアクセスタイミングを、物理的な性質で変動させることができ、したがって、良質の乱数が得られることを保証することができ、しかも、特殊な物理デバイスを設ける必要がなく、また、そのアナログ特性を観測する必要がない乱数生成器を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
本発明は、特殊な物理デバイスや観測する装置の代わりに、非同期アービタ回路を使用し、乱数生成回路へアクセスするタイミングを取得する場合、非同期アービタ回路内部のトランジスタのスイッチング時間を利用して上記タイミングを取得し、乱数を得る乱数生成器である。
【００１１】
【発明の実施の形態および実施例】
図１は、本発明の一実施例である乱数生成器ＲＧ１を示すブロック図である。
【００１２】
乱数生成器ＲＧ１は、アクセス要求発生回路１、２、３と、乱数値要求インタフェース４と、乱数値生成回路５と、非同期アービタ回路１１、１２、１３、１４とを有する。
【００１３】
乱数値要求インタフェース４は、外部から乱数を要求されると、乱数生成回路５で生成された乱数値を応答として返すものである。この場合、乱数値要求インタフェース４は、外部から乱数を要求されると、非同期アービタ１１〜１４のうち、予め定めておいた１個以上の非同期アービタそれぞれに対してアクセス要求を行い、それらの要求全てが受け付けられると、乱数生成回路で生成された乱数値を応答として返す。以下の実施例では、非同期アービタ１１〜１４のそれぞれにアクセス要求を行うものとする。
【００１４】
乱数値生成回路５は、その内容を順次、更新し、乱数値要求インタフェース４から、乱数値の読み出しを要求されると、乱数値生成回路５の現在の値を、乱数値要求インタフェース４に応答として返す回路である。
【００１５】
乱数値生成回路５は、たとえば、カウンタである。また、乱数値生成回路５は、数ビットを出力する回路であり、上記数ビットを構成する各ビットが、０と１とを繰り返して変化し、この繰り返し周期がビット毎に異なる回路を使用するようにしてもよい。つまり、乱数値生成回路５は、複数の値を逐次変化させて出力する回路であればよい。
【００１６】
非同期アービタ回路１１は、要求信号入力端子ＲＥＱ１、ＲＥＱ２に、同時に、要求信号が入力された場合、これら入力された複数の要求信号のうちで、１つの要求信号に対してのみ、アクノレッジ信号ＡＣＫ１、ＡＣＫ２を介して、要求が受け付けられたことを、乱数値要求インタフェース４に通知する回路である。
【００１７】
つまり、非同期アービタ回路１１は、「乱数値生成回路５にアクセスして乱数値生成回路５から値を読み出すための」アクセス権を調停する回路であり、複数のアクセス要求発生回路１〜３からのアクセス権要求のうちの１つの要求のみに対して、アクセス権を与える回路である。
【００１８】
なお、上記「アクセス権を調停する」とは、公平かつ矛盾なくアクセス権を与えることである。
【００１９】
非同期アービタ回路１２、１３、１４の構成も、非同期アービタ回路１１の構成と同様である。
【００２０】
アクセス要求発生回路１は、非同期アービタ回路１１にアクセスを要求する回路である。アクセス要求発生回路１の要求は所定の一定時間毎であり、その周期は乱数生成回路５の更新周期よりも十分長い。
【００２１】
アクセス要求発生回路２は、非同期アービタ回路１２にアクセスを要求する回路であり、アクセス要求発生回路３は、非同期アービタ回路１３、１４にアクセスを要求する回路である。
【００２２】
非同期アービタ回路１１はたとえば、文献「ＣＭＯＳ超ＬＳＩの設計」（培風館  菅野卓雄監修）の第１３０頁図４．４５に記載されている構成を用いることができる。
【００２３】
次に、非同期アービタ回路１１の動作について説明する。
【００２４】
この非同期アービタ回路１１では、要求信号入力端子ＲＥＱ１とＲＥＱ２とにおける要求信号が、同時にＯＮ（要求の発生が通知）になった場合でも、アクノレッジ信号ＡＣＫ１、ＡＣＫ２のうちの一方のアクノレッジ信号のみが、ＯＮになる（要求の受付が通知される）。また、要求信号入力端子ＲＥＱを変化させない期間は、他方のアクノレッジ信号ＡＣＫがＯＮになることはない。さらに、要求が受け付けられた要求信号入力端子ＲＥＱがＯＦＦになると、これに対応するアクノレッジ信号ＡＣＫがＯＦＦになり、他方の要求信号入力端子ＲＥＱがＯＮであれば、これに対応するアクノレッジ信号ＡＣＫがＯＮになる。
【００２５】
アクセス要求発生回路１、２が、信号線を介して、要求信号入力端子ＲＥＱをＯＮし、これによって、非同期アービタ回路１１、１２に、それぞれアクセス要求を送り、非同期アービタ回路１１、１２から、信号線を介して、アクノレッジ信号ＡＣＫがＯＮである応答を受ける。
【００２６】
ここで、非同期アービタ回路１１に、クロックが使用されていないので、非同期アービタ回路１１を構成するトランジスタのスイッチング時間にばらつきが生じる。
【００２７】
つまり、アクセス要求発生回路１、２が、非同期アービタ回路１１、１２にアクセス要求を送ったときから、アクノレッジ信号ＡＣＫがＯＮである応答を受けるまでの時間に、ばらつきが生じる。この結果、周期的に値を更新する乱数値生成回路５へのアクセスタイミングを、物理的な性質で変動させることができ、しかも、この場合、特殊な物理デバイスを設ける必要がなく、また、そのアナログ特性を観測する必要がない。
【００２８】
アクセス要求回路１，２は、アクノレッジ信号ＡＣＫがＯＮである応答を受けると、内部に構成されている回路の動作によって決定される時間が経過した後に、要求信号入力端子ＲＥＱをＯＦＦにするので、アクノレッジ信号ＡＣＫがＯＦＦになる。
【００２９】
上記と同様に、アクセス要求回路３は、非同期アービタ回路１３にアクセスを要求し、アクノレッジ信号ＡＣＫを介して、要求が受け付けられると、引き続いて非同期アービタ回路１４にアクセスを要求する。
【００３０】
アクセス要求回路３は、アクノレッジ信号ＡＣＫを介して、非同期アービタ回路１３と１４との両方から、要求が受け付けられると、アクセス要求回路３の内部に構成されている回路の動作によって決定される時間が経過した後に、非同期アービタ回路１３に対する要求信号入力端子ＲＥＱをＯＦＦにすることによって、アクノレッジ信号ＡＣＫがＯＦＦになり、引き続いて非同期アービタ回路１４に対する要求信号入力端子ＲＥＱをＯＦＦにすることによって、アクノレッジ信号ＡＣＫがＯＦＦになる。
【００３１】
ここで、各アクセス要求回路１、２、３は、互いに独立に非同期アービタ回路にアクセスする動作を繰り返す。
【００３２】
次に、乱数生成器ＲＧ１の全体的な動作について説明する。
【００３３】
まず、乱数生成器ＲＦ１の外部から、乱数値要求インタフェース４に、乱数を要求すると、乱数値要求インタフェース４は、非同期アービタ回路１１に対して要求信号入力端子ＲＥＱ２をＯＮにすることによって、アクセス要求を行い、その後、アクノレッジ信号ＡＣＫによって、アクセス要求が受け付けられる。このようにして、非同期アービタ回路１１に対するアクセス要求が受け付けられると、上記と同様の動作を、非同期アービタ回路１２、１３、１４のそれぞれに対して順次、実行する。
【００３４】
このときに、各非同期アービタ回路１１〜１４は、アクセス要求発生回路１、２、３からのアクセス同士の間における調停を行い、各非同期アービタ回路１１〜１４における処理時間が、アクセス毎に変動することが期待される。
【００３５】
乱数値要求インタフェース４からのアクセス要求に対して、全ての非同期アービタ回路１１〜１４で要求が受け付けられると、乱数値生成回路５における現在値の読み取りを出力する出力指示を、乱数値生成回路５に送り、この出力値を乱数値として、乱数生成器ＲＧ１の外部に出力する。乱数生成器ＲＧ１の外部に、乱数値を出力すると、乱数値要求インタフェース４は、アクセス要求した場合とは、逆順に、要求信号入力端子ＲＥＱを、順次、ＯＦＦする。
【００３６】
上記実施例において、非同期アービタ回路とアクセス要求発生回路との動作が、乱数値生成回路５における値の更新周期とは独立に動作し、上記非同期アービタ回路とアクセス要求発生回路との動作に応じて、乱数値要求インタフェース４が乱数値生成回路５にアクセスするタイミングが変動する。このタイミングの変動は、非同期アービタ回路の内部に設けられているトランジスタのスイッチング速度やアクセス要求回路の内部における信号伝搬時間等の物理現象に起因する。
【００３７】
また、上記実施例では、従来例において必要である特別な物理デバイスや、それを観測する装置、ＡＤコンバータを必要としない。
【００３８】
なお、乱数生成器ＲＧ１は、非同期アービタ回路を用いた乱数生成器のうちで、最も簡単な構成例である。
【００３９】
図２は、本発明の他の実施例である乱数生成器ＲＧ２の構成を示すブロック図である。
【００４０】
乱数生成器ＲＧ２は、基本的には、乱数生成器ＲＧ１と同じであるが、アクセス要求発生回路２の代わりに、アクセス要求発生回路２ａを設け、乱数値要求インタフェース４の代わりに、乱数値要求インタフェース４ａを設けた点が、乱数生成器ＲＧ１とは異なる。
【００４１】
アクセス要求発生回路２ａは、乱数値生成回路５から値を読み出すアクセス権を、非同期アービタ回路１２と１３とに要求する回路であり、所定の一定時間毎に乱数値生成回路５にアクセスする回路である。
【００４２】
乱数値要求インタフェース４ａは、外部から乱数を要求されると、乱数生成回路５で生成された乱数値を応答として返すものであり、この場合、乱数値要求インタフェース４ａは、外部から乱数を要求されると、非同期アービタ１１、１２、１４のそれぞれにアクセス要求を行い、非同期アービタ１１、１２、１４の全ての要求が受け付けられると、乱数生成回路５で生成された乱数値を応答として返す。
【００４３】
アクセスを要求する非同期アービタ回路１３を、アクセス要求発生回路２ａ、３が共有し、この共有によって、非同期アービタ回路から乱数値要求インタフェース４に応答として通知されるアクノレッジ信号ＡＣＫのタイミングを、変動させることができる。
【００４４】
また、非同期アービタ回路の数を増加させれば、乱数値生成回路５に乱数値を出力させるタイミングの変動幅を増幅させることを期待することができる。
【００４５】
【発明の効果】
本発明によれば、非同期アービタ回路と、これら非同期アービタ回路へのアクセス要求を繰り返すアクセス要求発生回路とを使用しているので、、周期的に値を更新する回路へのアクセスタイミングを、物理的な性質で変動させることができ、したがって、良質の乱数が得られることを保証することができ、しかも、特殊な物理デバイスを設ける必要がなく、また、そのアナログ特性を観測する必要がないという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施例である乱数生成器ＲＧ１を示すブロック図である。
【図２】本発明の他の実施例である乱数生成器ＲＧ２の構成を示すブロック図である。
【符号の説明】
ＲＧ１…乱数生成器、
１、２、３…アクセス要求発生回路、
４…乱数値要求インタフェース、
５…乱数値生成回路、
１１、１２、１３、１４…非同期アービタ回路。
【図１】
0003685452.tif 000002
【図２】
0003685452.tif 000003