乱数生成回路
【課題】消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することを可能にする。
【解決手段】電流ノイズ源2および電流ノイズ源の出力を受けるシュミット・インバータ4を有する組を少なくとも1組含むリング発振器と、リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路20と、を備えている。
【解決手段】電流ノイズ源2および電流ノイズ源の出力を受けるシュミット・インバータ4を有する組を少なくとも1組含むリング発振器と、リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路20と、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乱数生成回路に関し、特に、物理現象に基づき乱数を生成する乱数生成回路に関する。
【背景技術】
【0002】
情報通信技術の進展、普及に伴い、高品質な乱数に対する要求が高まっている。情報セキュリティの強度は、予測困難性の元となる乱数に依存している。また、科学技術計算の分野でも、より正確な計算のために、高品質乱数を必要としている。
【0003】
一般的に用いられている乱数は、あるアルゴリズムに基づいて、計算により擬似的に求められた算術乱数である。この算術乱数を発生する回路は簡易に製作することができるが、初期値(シード)が一定であれば、出力乱数は常に一定になる。また、出力乱数が、回路の構成により決まる一定の周期を持つという問題がある。
【0004】
一方、算術乱数とは異なる、物理的な揺らぎ現象を利用して生成される物理乱数が知られている。物理乱数においては、物理的な揺らぎを利用することにより、出力される乱数が初期値に依存せず、また周期を持たない乱数列を得ることができる。このような物理乱数を発生する乱数生成回路の例として、例えば特許文献1に開示されている。
【特許文献1】特開2006−189946号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1に開示された乱数生成回路では、ノイズを意図的に大きくした素子をノイズ源とすることによって、良質な乱数を生成することができる。しかしながら、上記乱数生成回路においては、ノイズ源となる素子の出力を乱数化するためにコンパレータが用いられているが、このコンパレータは、消費電力が大きいという問題があった。
【0006】
本発明は、上記事情を考慮してなされたものであって、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様による乱数生成回路は、電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも1組含むリング発振器と、前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、を備えていることを特徴とする。
【発明の効果】
【0008】
本発明によれば、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することができる。
【発明を実施するための最良の形態】
【0009】
本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【0010】
まず、本発明の一実施形態による乱数生成回路に用いられる電流ノイズ源について説明する。電流ノイズ源とは、電流ノイズ源となる素子の各端子に一定電圧を加えた場合に、その電流値の揺らぎが大きい素子を指している。例えば、図2に示すような、ナノスケールの微細な電子チャネル42と、この電子チャネル42の近傍に配設された、ノイズ信号を発生させる電子トラップ44とを備えた素子40を指す。この素子40の一具体例として微細なチャネル長、チャネル幅を持つ電界効果トランジスタ(FET)が挙げられる。このFETにおいては、電子チャネル42はFETのソース領域とドレイン領域との間のチャネルであり、電子トラップ44はFETのゲート絶縁膜中の電子トラップである。電子トラップ44に電子eが捕獲されると、電子eが作るクーロン場により電子チャネル42を通過する電子eが影響を受け、電子チャネル42の伝導度が変化する。電子トラップ44における電子eの捕獲又は放出は、電子チャネル42と電子トラップ44との間に存在するエネルギ障壁を介して、電子チャネル42との間において行われる。電子eの捕獲又は放出はランダムに発生するので、電子チャネル42の伝導度はランダムに揺らぐことになる。結果的に、電子チャネル42に一定電圧を供給しても、電子チャネルにおいて電流値がランダムに揺らいだノイズ信号を生成することができる。このような素子は、例えば、特開2007−304730号公報に開示されている。この特開2007−304730号公報に開示された電流ノイズ源は、MOSFETの構造を工夫することによって、ノイズを大きくしている。MOSFETの構造やレイアウトを工夫することにより電流ノイズを大きくした電流ノイズ源はMOSFET型電流ノイズ源と呼ばれている。
【0011】
また、電流ノイズ源40の他の例としては、図3に示すように、一対の電極46a、46b間に挟まれ疑似破壊された絶縁膜48を有する構成とすることもできる。この電流ノイズ源は、例えばコンデンサである。コンデンサにおいては、絶縁膜48に電気的ストレスを加えると、絶縁膜48の伝導度が若干増加した状態になる。このとき、絶縁膜48に一定電圧を印加すると、絶縁膜48中の電子トラップ間をトンネル現象により電子eがランダムに移動し、大きく揺らいだ電流値が得られる。この電流値の揺らぎにより、ノイズ信号を生成することができる。電極46a、46bは、単結晶シリコン、多結晶シリコン、非晶質シリコン、金属等の導電性材料により形成される。絶縁膜48としては、シリコン酸化膜、シリコン窒化膜等の単層膜、ハフニウムやアルミニウムを含む高誘電率酸化物(いわゆるhigh−k絶縁膜)、またそれらを積層した複合膜等の絶縁性材料により構成される。擬似破壊された絶縁膜48における電極46a、46b間の平均の伝導度は、電極46a、46b間に印加される電圧によって変化することが無い。このように、平均の伝導度が端子の電圧によらない電流ノイズ源は抵抗型電流ノイズ源と呼ばれている。
【0012】
本発明者達は、図4に示す、3段のインバータ501、502、503からなるリング発振器の経路に、MOSFET型電流ノイズ源40を組み込んだ発振器について考察した。この発振器において、点Aと点Bにおける発振波形を、オシロスコープで取得した図を図5に示す。点Aは電流ノイズ源40の出力端子と1段目のインバータ501の入力端子との接続点を示し、点Bは第1段目のインバータ501の出力端子と2段目のインバータ502の入力端子との接続点を示す。点A及び点Bの発振波形は、計測した複数の点Bの波形のそれぞれの縦軸のレベルが点Zを通過する点でタイミングを合わせて、すなわち横軸においてトリガと示された点でタイミングを合わせて、重ねて描いたものである。なお、図5において、GNDAは点Aのグランドレベルを示し、GNDBは点Bのグランドレベルを示している。発振器の発振周期が一定の場合、波形がよく重なり合うため、オシロスコープの画面には乱れの無い発振波形が表示される。一方、発振器の発振周期に揺らぎがある場合は、波形が重なり合わず、ばらついた波形が表示される。オシロスコープの画面の表示のばらつき具合が、発振周波数の揺らぎの程度を見る目安になる。
【0013】
図5からわかるように、発振波形は互いによく重なりあっていて、周波数の揺らぎがあまり無いことが分かる。また、点Aと点Bの発振振幅を比較すると、点Bは2.2V程度の振幅を持つのに対して、点Aは0.6V程度と点Bに比べて小さい振幅であることが分かる。点Aの電位変化が小さいということは、点Aにおける電荷の移動が小さいということを意味している。発振器の発振周波数に揺らぎがみられないのは、電流ノイズ源40に流れる電荷量が小さいため、発振波形に現れるノイズの効果が小さいためだと考えられる。
【0014】
次に、電流ノイズ源40の出力端子の直後の点Aにおける電位変化が小さい理由を説明する。インバータの入力電圧Vinと出力電圧Voutの関係を図6に示す。図6中の点線で示したように、インバータの出力が反転するために必要な入力電圧の変化量は小さい。図4に示すリング発振器を構成する各インバータ501、502、503のゲートが充電される経路を図7に示す。破線60で示したように、インバータ501の入力は、インバータ503のpMOSFETと電流ノイズ源40とを介して充電される。一方、破線62で示したように、それ以外のインバータ502、503は前段のインバータのpMOSFETのみを介して充電される。一般的に、電流ノイズ源40の伝導度はインバータ501、502、503を構成するMOSFETに比べて小さい。即ち、電流ノイズ源40の直後のインバータ501のゲート容量は、他のインバータ502、503のゲート容量に比べて、充電される速度が遅い。各インバータ501、502、503の放電速度に関しても同様の議論が成り立つ。したがって、図7においては、点Aの電位変化の速度は、点B、点C、点Dの電位変化速度に比べて遅い。なお、点Cは第2段目のインバータ502の出力端子と3段目のインバータ503の入力端子との接続点を示し、点Dは第3段目のインバータ503の出力端子と電流ノイズ源40の入力端子との接続点を示す。
【0015】
点Aにおける電位変化を起点として、図4に示すリング発振器の動作を考える。点Aの電位がインバータ501の閾値を超えると、インバータ501の出力が反転する。そして、B→C→Dへと反転信号が順次伝わる。点Dに反転信号が到達すると同時に、点Aにおける電位変化方向が逆転する。点Aの電位変化速度は遅いため、点Dに反転信号が到達した時点では、点Aの電位はインバータ501の閾値からあまり変化していない。この動作が繰り返されるため、点Aにおける発振振幅は、概ねインバータの出力が遷移するために必要な入力の幅程度(図6に示す点線間の幅Vst程度)になる。
【0016】
以上の説明からわかるように、図4に示すリング発振器の発振周波数の揺らぎが小さいのは、点Aの電位変化速度が遅く、またインバータ501が反転するために必要な入力の幅が小さいため、電流ノイズ源40にあまり電荷が流れないためである。
【0017】
そこで、本発明者達は、電流ノイズ源の出力が入力されるインバータは、電流ノイズ源が、ある程度電荷を流すまで反転を待つものであればよいと考えた。すなわち、図8に示すような、入出力関係にヒステリシスを持つ、シュミット・トリガ技術を使ったインバータを用いれば良いと考えた。以下このようなインバータを、シュミット・インバータと呼ぶ。
【0018】
(一実施形態)
次に、本発明の一実施形態による乱数生成回路を説明する。本実施形態の乱数生成回路を図1に示す。本実施形態の乱数生成回路は、電流ノイズ源2と、シュミット・インバータ4と、インバータ121、122と、乱数化回路20とを備えている。電流ノイズ源2は、MOSFET型電流ノイズ源または抵抗型電流ノイズ源のいずれであってもよい。シュミット・インバータ4は電流ノイズ源2の出力を受ける。インバータ121はシュミット・インバータ4の出力を受け、インバータ122はインバータ121の出力を受ける。そして、インバータ122の出力は電流源ノイズ2に入力される。すなわち、電流ノイズ源2、シュミット・インバータ4、およびインバータ121、122によってリング発振器を構成している。このリング発振器においては、シュミット・インバータ4が電流ノイズ源2に効率的に電荷を流すことにより、このリング発振器の発振信号にノイズの影響が効果的に加わる。このため、リング発振器の周波数は大きく揺らぐことになる。乱数化回路20は、リング発振器の発振周波数の揺らぎを利用して乱数を生成する。
【0019】
次に、上述のように構成された本実施形態の乱数生成回路の作用および効果を説明する。
【0020】
本実施形態の乱数生成回路に用いられるリング発振器を図9に示す。このリング発振器の点Aと点Bの発振波形をオシロスコープで取得した図を図10に示す。点Aは電流ノイズ源2の出力端子とシュミット・インバータ4の入力端子との接続点を示し、点Bはシュミット・インバータ4の出力端子とインバータ121の入力端子との接続点を示す。この図10においては、図5に示す場合と同様に、トリガで示した点でタイミングを合わせて、複数個の発振波形を重ねて描いている。また、時間スケールを図5と揃えている。図10を見ると、トリガの左右において、波形が乱れていることが分かる。これは、重ね描いた複数の発振波形が、互いに重なりあっていないためである。すなわち、発振周期に揺らぎが生じていることを示している。点Aの電位振幅を見ると1.3V程度であり、図5に示す場合に比べて増加していることが分かる。電位振幅が増えたということは、その分だけ電流ノイズ源2に流れる電荷が増えたことを意味している。発振周波数の揺らぎが増加したのは、電流ノイズ源2に、より多くの電荷を流せるようになったからであると考えられる。
【0021】
次に、図9に示す点Aを起点として、リング発振器の動作を考える。点Aの電位が図8に示す電位VHを超えると、シュミット・インバータ4が反転してその信号がB→C→Dと伝わる。ここで、点Cはインバータ121の出力端子とインバータ122の入力端子との接続点を示し、点Dはインバータ122の出力端子と電流ノイズ源2の入力端子との接続点を示す。点Dに反転信号が伝わると、点Aの電位が減少し始める。点Aの電位変化速度は遅いが、シュミット・インバータ4は点Aの電位が図8に示すVLよりも下がるまで反転を待つ。この間に電流ノイズ源2に電流が流れるため、発振波形にノイズの影響が加わる。点Aの電位がVLよりも下がると、シュミット・インバータ4が反転してその信号がB→C→Dと伝わる。そして点Dに反転信号が伝わると点Aの電位が増加し始める。点Aの電位変化速度は遅いが、シュミット・インバータ4は点Aの電位がVHに到達するまで反転を待つ。この間に電流ノイズ源2に電流が流れる。この動作を繰り返すことで、図9のリング発振器は発振する。
【0022】
既に、図4を参照して説明したように、電流ノイズ源の出力を通常のインバータに入力した場合は、点Aの電位はインバータの遷移幅程度しか変化しなかった。
【0023】
これに対して、本実施形態のように、電流ノイズ源2の出力をシュミット・インバータ4に入力した場合は、点Aの電位はシュミット・インバータの閾値の差(=VH−VL)程度変化できるようになる。点Aの電位変化量が増加することで、電流ノイズ源2に、より多くの電荷を流すことができるようになり、リング発振器の発振周波数の揺らぎを大きくすることができる。以上の動作が実現されているために、図9に示すリング発振器の発振周波数は、図10に示される大きな揺らぎを持つ。
【0024】
次に、シュミット・インバータ4の一具体例を、図11を参照して説明する。この一具体例のシュミット・インバータ4は、直列に接続されたpチャネルMOSFET4a、4bと、直列に接続されたnチャネルMOSFET4c、4dと、pチャネルMOSFET4eと、nチャネルMOSFET4fと、を備えている。pチャネルMOSFET4a、4bと、nチャネルMOSFET4c、4dのゲートはそれぞれ共通に接続されて、入力電圧Vinが入力される。pチャネルMOSFET4aは、ソースに電源電圧VDDが印加され、ドレインがpチャネルMOSFET4bのソースと接続ノードN1で共通に接続されている。pチャネルMOSFET4bはドレインがnチャネルMOSFET4cのドレインと接続ノードN2で共通に接続されている。nチャネルMOSFET4cは、ソースがnチャネルMOSFET4dのドレインと接続ノードN3に共通に接続されている。nチャネルMOSFET4dはソースが接地されている。また、pチャネルMOSFET4eは、ソースが接続ノードN1に接続され、ドレインが接地され、ゲートが接続ノードN2に接続されている。また、nチャネルMOSFET4fは、ソースが接続ノードN3に接続され、ドレインに電源電圧VDDが印加されている。接続ノードN2から出力Voutが出力される。
【0025】
次に、このように構成された本具体例のシュミット・インバータ4の動作を、図8および図11を参照して説明する。入力Vinの電位が「0」のとき、pチャネルMOSFET4a、4bはON状態となり、nチャネルMOSFET4c、4dがOFF状態となるから、ノードN2の電位はVDD、すなわち出力VoutはVDDとなっている。このとき、pチャネルMOSFET4eはOFF状態となっているから、ノードN1の電位はVDDである。また、ノードN3とVDDの間には、飽和領域にドライブされたnチャネルMOSFET4fが存在するので、ノードN3の電位は「VDD−Vth4f」となる。ここで、Vth4fはnチャネルMOSFET4fの閾値電圧である。
【0026】
この状態において、入力Vinの電位が「0」から増加して行き、直列に接続された1個のpチャネルMOSFETおよび1個のnチャネルMOSFETからなる通常のインバータの出力が反転する電位(通常、VDD/2)に近づくと、nチャネルMOSFET4dが徐々にONし始める。しかし、nチャネルMOSFET4fがON状態であるため、ノードN3の電位は「VDD−Vth4f」から減少するものの「0」にはならない。そのため、nチャネルMOSFET4cのゲートとソース間の電位差が、nチャネルMOSFET4cの閾値電圧よりも小さく、nチャネルMOSFET4cはOFF状態で、Voutは依然としてVDDを維持する(図8参照)。
【0027】
更にVinが増加し、ある所定の電位、すなわち第1閾値VHに達する直前から(図8参照)、nチャネルMOSFET4cがONし始め、出力Voutが減少し始める。
【0028】
更に入力Vinの電位が増加し、第1閾値VHを超えると、pチャネルMOSFET4bがOFF状態となるとともにnチャネルMOSFET4cがON状態となって、出力Voutが「0」となる(図8参照)。更にVinを増加しても出力Voutは「0」を維持する。
【0029】
入力Vinの電位が「VDD」のとき、pチャネルMOSFET4a、4bはOFF状態となり、nチャネルMOSFET4c、4dがON状態となるから、ノードN2の電位は「0」、すなわち出力Voutは「0」となっている。このとき、nチャネルMOSFET4fはOFF状態となっているから、ノードN3の電位は「0」である。また、ノードN1とVDDの間には、飽和領域にドライブされたpチャネルMOSFET4eが存在するので、ノードN1の電位は、「Vth4e」となる。ここでVth4eはpチャネルMOSFET4eの閾値電圧の絶対値である。
【0030】
この状態で、入力Vinの電位がVDDから減少し、直列に接続された1個のpチャネルMOSFETおよび1個のnチャネルMOSFETからなる通常のインバータの出力が反転する電位(通常、VDD/2)に近づくと、pチャネルMOSFET4aが徐々にONし始める。しかし、pチャネルMOSFET4eがONの状態であるため、ノードN1の電位は「Vth4e」から増加するものの、「VDD」にはならない。そのため、pチャネルMOSFET4bのゲートとソース間の電位差が閾値電圧よりも小さく、pチャネルMOSFET4bはOFF状態で、Voutは依然として「0」を維持する(図8参照)。
【0031】
更に入力Vinの電位が減少し、ある所定の電位値すなわち第2閾値VLに達する直前から(図8参照)、pチャネルMOSFET4bがONし始め出力Voutが増加し始める。
【0032】
更に入力Vinの電位が減少し、第1閾値VLよりも小さくなると、nチャネルMOSFET4cがOFF状態となるとともにpチャネルMOSFET4bがON状態となって、出力Voutが「VDD」となる(図8参照)。更にVinを増加しても出力Voutは「VDD」を維持する。
【0033】
次に、シュミット・インバータ4の第1および第2閾値電圧に関する条件について説明する。
【0034】
シュミット・インバータ4の第1および第2閾値VH、VLの、望ましい関係について説明する。シュミット・インバータ4の入力の電位をV、電流ノイズ源の伝導度をσ、シュミット・インバータ4の入力ゲート容量をC、電源電圧をVDDとする。簡単のため、インバータ122を構成するMOSFETの伝導度は、電流ノイズ源2の伝導度に比べて小さいとして無視する。時刻t=0において、シュミット・インバータ4の入力電位が上昇し始めるとする。このとき、ゲートに流入する電流iとVの関係は次の(1)式を満たす。
【数1】
【0035】
また、シュミット・インバータ4の入力ゲートに蓄えられた電荷をQとすると、Q=C×Vなので、
【数2】
となる。(1)、(2)式から、
【数3】
となる。電流ノイズ源2の伝導度は各端子に与えられた電圧に依存しないと仮定する。t=0でV=VLという初期条件で(3)式の微分方程式を解くと、電圧Vは次の(4)で表される。
【数4】
ここで、t=t1でV=VHとなるとすると、
【数5】
これが、シュミット・インバータ4の前段のインバータ(図1においては、インバータ122)が反転してから、シュミット・インバータ4の出力が反転するのに要する遅延時間である。伝導度σがΔσだけ揺らいでいる場合、遅延時間の揺らぎΔt1は以下のように表される。
【数6】
【0036】
リング発振器からシュミット・インバータ4を除いた部分のゲート遅延の積算をTとすると、平均の発振周期はT+t1である。高品質な乱数を生成する場合、発振周期の揺らぎΔt1は、発振周期T+t1の1%以上であることが望ましい。即ち、次の(8)式を満たすことが望ましい。
【数7】
【0037】
これが、シュミット・インバータ4の第1および第2閾値VH、VLに対する望ましい関係である。もし伝導度が端子に与えられた電圧に依存する場合は、平均の伝導度を用いて上式を適用する。
【0038】
次に、本実施形態において、電流ノイズ源2として、nMOSFET型電流ノイズ源を使う場合、nチャネルMOSFET型電流ノイズ源のゲートに加える電圧VGは以下の関係式を満たす必要がある
VG>VH+Vth
ここで、VHはシュミット・インバータ4の閾値の大きい側の値(第1閾値)であり、VthはnチャネルMOSFET型電流ノイズ源の閾値電圧である。この関係が満たされない場合、図9に示す点Aの電位が上昇していくと、ある時点でVGS=Vthが成立する。こうなってしまうと、nチャネルMOSFET型電流ノイズ源がオフするので、点Aに電荷が流入できなくなり、発振が止まる。
【0039】
また、本実施形態において、電流ノイズ源として、pチャネルMOSFET型電流ノイズ源を使う場合、pチャネルMOSFET型電流ノイズ源のゲートに加える電圧VGは以下の関係式を満たす必要がある
VG<VL−VTH
ここで、VLはシュミット・インバータ4の閾値の小さい側の値(第2閾値)であり、VTHはpチャネルMOSFET型電流ノイズ源の閾値電圧の絶対値である。この関係が満たされない場合、図9に示す点Aの電位が減少していくと、ある時点でVGS=VTHが成立する。こうなってしまうと、pチャネルMOSFET型電流ノイズ源がオフするので、点Aに電荷が流入できなくなり、発振が止まる。
【0040】
なお、本実施形態においては、リング発振器に含まれる電流ノイズ源とシュミット・インバータとからなる組の数は1組であったが、複数組を備えていてもよい。例えば、図12に示すように、電流ノイズ源とシュミット・インバータの組を複数組(図12では、2組)と、少なくとも1個の通常のインバータとを備えていてもよい。すなわち、図12に示すリング発振器は、直列に接続されたMOSFET型電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続されたMOSFET型電流ノイズ源22およびシュミット・インバータ42の組と、通常のインバータ12とを備え、それらが直列に接続された構成としてもよい。この場合は、リング発振器に含まれる、シュミット・インバータおよび通常のインバータの総数は奇数個である必要がある。さもないと、発振しないからである。
【0041】
また、図13に示すように、リング発振器は、電流ノイズ源とシュミット・インバータとからなる組を、3以上の奇数組(図13では3組)直列に接続した直列回路のみからなる構成としてもよい。すなわち、図13に示すリング発振器は、直列に接続されたMOSFET型電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続されたMOSFET型電流ノイズ源22およびシュミット・インバータ42の組と、直列に接続されたMOSFET型電流ノイズ源23およびシュミット・インバータ43の組と、を備え、それらが直列に接続された構成としてもよい。この場合、通常のインバータは不要なる。
【0042】
さらに、図14に示すように、電流ノイズ源とシュミット・インバータとからなる組を複数組と、少なくとも1個の通常のインバータとを備え、各組の電流ノイズ源として異なる種類の電流ノイズ源を用いてもよい。すなわち、図14に示すリング発振器は、直列に接続された電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続された電流ノイズ源22およびシュミット・インバータ42の組と、通常のインバータ12とを備え、それらが直列に接続され、電流ノイズ源21として例えばMOSFET型電流ノイズ源を用い、電流ノイズ源22として例えば抵抗型電流ノイズ源を用いてもよい。
【0043】
また、図15に示すように、リング発振器として、直列に接続された電流ノイズ源、シュミット・インバータ、および通常のインバータからなる組をn−1個(nは3以上の整数)直列に接続した直列回路と、直列に接続された電流ノイズ源およびシュミット・インバータからなる一組の直列回路とを直列に接続するように構成してもよい。すなわち、電流ノイズ源21、シュミット・インバータ41、インバータ121、電流ノイズ源22、シュミット・インバータ42、インバータ122、・・・、電流ノイズ源2n、およびシュミット・インバータ4n、を直列に接続した構成としてもよい。また、図27に示すように、直列に接続された電流ノイズ源2i(i=1,・・・,n)およびシュミット・インバータ4iからなる直列回路をn個(n≧1)直列に接続し、それらの間に複数個(図27においては、4個)のインバータ121〜124を設けた構成としてもよい。そして、インバータは任意の位置に設けることができる。また、リング発振器内に設けられるインバータの個数は、リング発振器を構成するシュミット・インバータの個数との合計が奇数であれば、制限はない。そして、リング発振器の出力は、シュミット・インバータの出力から取り出さなくてもよい。例えば、図27においては、シュミット・インバータ41の出力端子から、リング発振器の出力が取り出されているが、図28に示すように、インバータ123の出力端子から取り出してもよい。なお、図28に示すリング発振器は、図27に示すリング発振器と同じ構成を有している。
【0044】
このように、リング発振器として、電流ノイズ源とシュミット・インバータとの組を複数組備えることは、1組の場合よりも、発振周波数の揺らぎを大きくする効果がある。
【0045】
これまでの説明では、シュミット・インバータとして、シュミット・トリガ技術を使ったインバータを使用してきた。シュミット・インバータの代わりに、同様の動作する、シュミット・トリガ技術を使ったバッファを用いてもよい。もちろん、結合するインバータやバッファの数は、リング発振機として動作するように設計する必要がある。
【0046】
次に、リング発振器のデューティー比について説明する。
【0047】
図10に示す発振波形を見ると、デューティー比が50%ではないことが分かる。特にMOSFET型電流ノイズ源を使った場合、回路構成によっては、デューティー比が50%にならない場合がある。その理由について説明する。
【0048】
電流ノイズ源はnチャネルMOSFET型であるとする。MOSFETの伝導度は、主としてゲートに与えた電位とソース電位の差によって制御される。ここでソース電位とは、nチャネルMOSFETのチャネル両端の電極のうち、電位が低い方である。図16に、点Aの電位が「ハイ」から「ロー」に変化するときの、ゲート・ソース間電圧VGSと電流の関係を示す。点Aの電位が「ハイ」から「ロー」になる場合は、図16の矢印に示す経路に電流が流れることにより、点Aに蓄えられた電荷が放電される。このとき、電流ノイズ源2のソース電極は図16において左側の端子になり、VGSは放電される間一定である。すなわち、電流ノイズ源2の伝導度はほとんど変化しない。
【0049】
一方、図17には、点Aの電位が「ロー」から「ハイ」に変化する場合を示している。この場合、図17の矢印で示した方向に電流が流れ、点Aが充電される。このとき、ソース電極は図17において右側の端子になる。電流が流れるに従って点Aの電位が上昇し、VGSは減少する。すなわち、点Aの電位が上昇するに従って、電流ノイズ源2の伝導度が小さくなっていく。以上から、nチャネルMOSFET型電流ノイズ源2を使った場合、点Aの電位が上昇する速度は、点Aの電位が減少する速度よりも遅いことが分かる。
【0050】
電流ノイズ源2がpチャネルMOSFET型の場合、伝導度を決めるソース電位は、チャネル両端の電極のうち電位の高い方である。図16、17のnチャネルMOSFET型の電流ノイズ源をpチャネルMOSFET型に変えた場合、点Aの電位変化速度は、電位上昇が速く、電位降下は遅い。以上のように、MOSFET型電流ノイズ源を用いた場合、電位上昇速度と降下速度は非対称である。そのため、発振器のデューティー比が50%にならない場合がある。
【0051】
これに対して、抵抗型電流ノイズ源の場合、伝導度は端子に与えられた電位に依存しないので、デューティー比を50%にすることは容易である。ただし、例えばインバータを構成するnチャネルMOSFETおよびpチャネルMOSFETのゲート長やゲート幅のマッチングによっては、デューティー比が50%にならない場合もある。
【0052】
次に、本実施形態に係る乱数化回路の具体例について説明する。乱数化回路と、リング発振器との接続箇所は、具体例によって異なってくる。
【0053】
リング発振器のどこから、乱数化回路が入力を受けるかは、デューティー比を考慮することが望ましい場合がある。乱数化回路の具体例とともに説明する。
【0054】
本実施形態に係る乱数化回路の第1具体例を図18に示す。この第1具体例の乱数化回路20Aは、D型のフリップフロップ20aと、インバータ20b、20cと、D型のフリップフロップ20dとを備えている。
【0055】
一般に、D型のフリップフロップ20aは、その動作を制御するCE端子を持つことを特徴とする。CE端子に「ハイ」レベルが入力された場合はフリップフロップが通常の動作をし、「ロー」レベルの信号が入力された場合はフリップフロップの動作が停止する。このフリップフロップの動作は、CK端子に入力される信号(通常はクロック信号)に基づいて動作し、D端子に入力されたデータが1クロック遅れて出力端子となるQ端子から出力される。
【0056】
本実施形態においては、インバータ20bはD型フリップフロップ20aの出力Qを反転してD端子に帰還する。D型フリップフロップ20dのCK端子には、入力信号INをインバータ20cによって反転した信号が入力される。D型フリップフロップ20dは、そのD端子にD型フリップフロップ20aの出力Qを受ける。そして、D型フリップフロップ20dは、Q端子から出力されるデータが乱数となる。
【0057】
次に、図19を参照して第1具体例の乱数化回路20Aの動作を説明する。入力信号INが「ロー」レベルの状態のとき、D型フリップフロップ20aの出力端子QとD型フリップフロップ20dのD端子との接続ノードMのレベルは「ロー」レベルで、出力OUTも「ロー」レベルとなっている。この状態は、時刻t1において、入力信号INが「ハイ」レベルとなるまで続く。このとき、フリップフロップ20aのD端子は、「ハイ」レベルとなっている。そして、時刻t2に(>t1)に発振信号CSが「ハイ」レベルとなると、フリップフロップ20aの出力となるノードMは「ハイ」レベルとなる。このとき、フリップフロップ20aのD端子はインバータ20bによって「ロー」レベルにされる。続いて、時刻t3に(>t2)に発振信号CSが「ハイ」レベルとなると、フリップフロップ20aの出力となるノードMは「ロー」レベルとなる。このとき、フリップフロップ20aのD端子はインバータ20bによって「ハイ」レベルにされる。これらのことは、入力信号INが「ハイ」レベルの間、繰り返される。すなわち、入力信号INが「ハイ」レベルの間は、ノードMの電位レベルは、発振信号CSの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。
【0058】
その後、時刻t4(>t3)になる直前において、ノードMの電位が「ハイ」レベルであるときに、時刻t4において、入力信号INが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ20dのCK端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ20dのQ端子の電位レベル、すなわち出力OUTは「ロー」レベルから「ハイ」レベルに変化する。しかし、時刻t4を過ぎると、入力信号INのレベルが「ロー」となるから、ノードMの電位レベルは「ハイ」のままとなる。
【0059】
そして、時刻t5(>t4)において、入力信号INが「ロー」レベルから「ハイ」レベルになる。そして、入力信号INが「ハイ」レベルになった後の、発振信号CSの最初の立ち上がりに同期してノードMの電位レベルは「ロー」となる(時刻t5’)。それ以降、入力信号INが「ハイ」レベルの間は、ノードMの電位レベルは、発振信号CSの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。しかし、この期間、出力OUTの電位レベルは「ハイ」レベルのままである。
【0060】
その後、時刻t6(>t5)になる直前において、ノードMの電位が「ロー」レベルであるときに、時刻t6において、入力信号INが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ20dのCK端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ20dのQ端子の電位レベル、すなわち出力OUTは「ハイ」レベルから「ロー」レベルに変化する。しかし、時刻t6を過ぎると、入力信号INのレベルが「ロー」となるから、ノードMの電位レベルは「ロー」のままとなる。
【0061】
以上の動作説明からわかるように、入力信号INが「ハイ」レベルの間、ノードMには発振信号CSの振動回数に応じて「ハイ」レベルと「ロー」レベルが交互に出力される。入力信号INが「ロー」レベルに落ちると、ノードMの値がOUTに出力される。このため、入力信号INの「ハイ」レベルの期間がランダムに変動すれば、入力信号INが「ハイ」レベルから「ロー」レベルに変化する直前のノードMの電位レベルはランダムとなり、その結果、出力OUTは乱数となる。また、発振信号のCSの発振周波数がランダムに変動する場合には、入力信号INが「ハイ」レベルから「ロー」レベルに変化する直前のノードMの電位レベルはランダムとなり、その結果、出力OUTは乱数となる。
【0062】
本実施形態に係るリング発振器と図18に示す乱数化回路20Aを使って乱数を生成する場合、リング発振器の出力を乱数化回路20Aのフリップフロップ20aのCE端子またはCK端子のどちらに入力するかによって、二通りの方法がある。一つは、フリップフロップ20aのCE端子にリング発振器の出力を入れ、CK端子に外部の発振信号を入れる方法である。もう一つは、CE端子に外部の発振信号を入力し、CK端子にリング発振器の出力を入力する方法である。それぞれの特徴と回路構成上の注意点について解説する。
【0063】
図15に示すリング発振器の出力をCE端子に、外部の発振信号をCK端子に入力した回路を図20に示す。この回路構成は、リング発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。リング発振器の発振周波数に対して、十分速い外部の発振信号を用意できる場合に有効である。また、リング発振器のデューティー比が50%でない場合、CE端子には、「ハイ」レベルの期間が「ロー」レベルの期間よりも長い信号を入力することが望ましい。これは、図10に示す波形から分かるように、出力時間が長いレベルの揺らぎの方が、出力時間が短いレベルの揺らぎよりも大きいためである。
【0064】
レイアウトの都合等で「ハイ」レベルの方が長い出力を取れない場合は、図21に示すように、フリップフロップ20aのCE端子の直前にインバータ30を置く。こうすることで、乱数化回路20Aにハイレベルの方が長い信号を入力することができる。
【0065】
フリップフロップ20aのCE端子に外部の発振信号を、CK端子に、図15に示すリング発振器の出力を入力した乱数生成回路を図22に示す。この場合、外部の発振信号は発振器の出力に比べて発振周波数が小さい必要がある。この回路構成は、発振器の発振周波数が、必要とされる乱数生成レートに比べて十分速い場合に有効である。また、高速な外部の発振信号が他の回路のノイズ源となる恐れがある場合にも有効である。図22に示す回路構成では、図20、図21に示す構成とは異なり、リング発振器のどの出力を入力しても構わない。これは、図18に示す乱数化回路20AはCK端子に入力される信号の発振回数を数えられていて、そのデューティー比は動作に影響しないからである。また、外部の発振信号は、デューティー比50%ではなく、ハイレベルの方がローレベルよりも長い発振信号にすることも有効である。これは、リング発振器を長時間振動させる方が、ランダム性を高めることができるからである。
【0066】
図20に示す乱数生成回路において、リング発振器として図9に示すリング発振器を用いた場合の消費電力と、特開2006−189946号公報に示された乱数生成回路における消費電力の比較を、シミュレーションを行って比較した。シミュレーション用のトランジスタモデルは、Predictive Technology Modelを用いた(URL : http://www.eas.asu.edu/~ptm/、およびY. Cao, T. Sato, D. Sylvester, M. Orshansky, C. Hu, "New paradigm of predictive MOSFET and interconnect modeling for early circuit design," pp. 201-204, CICC, 2000.参照)。
【0067】
消費電力を計算した結果、特開2006−189946号公報に示された乱数生成回路は0.87mW、本実施形態の乱数生成回路は0.74mWとなり、消費電力が改善されることが示された。
【0068】
次に、本実施形態に係る乱数化回路の第2具体例を図23に示す。この第2具体例の乱数化回路20Bは、D型フリップフロップ20eを有している。このフリップフロップ20eのD端子に入力された発振信号を、CK端子に入力されるクロック信号CLKの立ち上がりで、Q端子から出力OUTが出力される。発振周波数は、D端子に入力される信号INの方がCK端子に入力される信号CLKよりも大きい必要がある。図23に示す乱数化回路20Bと、本実施形態に係るリング発振器から乱数を生成する方法は、二通りある。一つは、D端子に外部の発振信号を入力し、CK端子にリング発振器の出力を入力する方法である。もう一つは、D端子にリング発振器の出力を入力し、CK端子に外部の発振信号を入力する方法である。
【0069】
図23に示す乱数化回路20BのD端子に外部の発振信号を、CK端子に、図15に示すリング発振器の出力を入力した乱数生成回路を図24に示す。この回路構成では、外部の発振信号のデューティー比は50%であることが望ましい。また、CK端子への入力は、リング発振器のどこから取っても構わない。そして、この回路構成は、発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。
【0070】
図23に示す乱数化回路20BのD端子に図15に示すリング発振器の出力を、CK端子に外部の発振信号を入力した乱数生成回路を図25に示す。この回路構成では、発振器はデューティー50%であることが望ましい。もしデューティーが50%にならない場合は、図26に示すように、リング発振器の出力と、乱数化回路20Bとの間に分周器35を設ければよい。この分周器35は、CK端子にリング発振器の出力を受けるD型フリップフロップ35aと、フリップフロップ35aのQ端子からの出力の反転信号をD端子に帰還させるインバータ35bと、を備えている。したがって、図26に示す分周器35は1/2分周器となる。
【0071】
なお、図26では1/2分周器を用いているが、1/4、1/8、1/16等、何分周しても構わない。この回路構成では、外部の発振信号がリング発振器の発振周波数よりも遅い必要がある。また、この回路構成は、発振器の発振周波数が必要とされる乱数生成速度よりも十分速い場合や、高速の外部の発振信号を使えない場合に有効である。
【0072】
本実施形態の乱数生成回路は、電流ノイズ源、リング発振器、乱数化回路とも、標準の半導体集積回路製造工程で作成することができる。そのため半導体基板上に集積化することが容易である。
【0073】
次に、本実施形態の乱数生成回路と、他の公知の乱数生成回路との差について説明する。
【0074】
発振器中に発振周期を変化させるための回路を付加した乱数生成回路が、特開2001−166920号公報に開示されている。この特開2001−166920号公報に記載された乱数生成回路では、インバータで構成されたリング発振器に発振周波数を変化させるための回路を付加している。
【0075】
本発明に至った経緯で既に説明したように、インバータの出力が反転するために必要な入力の幅は狭い。そのため、特開2001−166920号公報に記載された乱数生成回路においても、本発明に至った経緯と同様の議論が成り立ち、発振周波数の変化は小さい。そのため良質の乱数を出力するのが難しい。
【0076】
これに対して、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込むという本実施形態の構成により、発振周波数の揺らぎが大きくすることが可能になり、良質の乱数を生成することができる。
【0077】
また、リング発振器とシュミット・トリガを使った乱数生成回路が、特開2003−108365号公報に開示されている。この特開2003−108365号公報に示された乱数生成回路においては、発振器の出力をノイズ源となるCR積分器に入力し、CR積分器の熱雑音の効果により発振信号にジッタを加える。そして、そのジッタを利用して乱数を生成するものである。シュミット・トリガとCR積分器は、発振機の外側に配置するという構成になっている。また、シュミット・トリガは、電圧雑音により回路が誤動作するのを防ぐためのバッファとしての効果を持ち、シュミット・トリガの使用目的として一般的に知られている。雑音源を発振器の外側に置くため、雑音の効果は各周期で使い捨てであり、発信信号には雑音の効果が保存されない。言い換えると、雑音によるエントロピーは蓄積されない。
【0078】
これに対して、本実施形態では、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込む構成となっている。この構成により、電流ノイズ源に流れる電荷を増やし、発振波形に効果的にノイズの影響を加えることができるという効果を持つ。さらに、発振のたびに電流ノイズ源によるエントロピーを蓄積することができる。本実施形態の乱数生成回路と、特開2003−108365号公報に開示された乱数生成回路とは、その構成、目的、および効果が異なっている。シュミット・トリガの最も一般的な使用法は、電圧雑音により回路が誤動作するのを防ぐことである。
【0079】
これに対して、本実施形態では、一般的に雑音除去に使用されるロジックゲートを、雑音の影響を発振信号に効果的に加えるという、新しい目的で使用している。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施形態による乱数生成回路を示すブロック図。
【図2】電流ノイズ源を説明する模式図。
【図3】抵抗型電流ノイズ源を示す断面図。
【図4】3段のインバータからなるリング発振器にMOSFET型電流ノイズ源を組み込んだ乱数生成回路。
【図5】図4に示す乱数生成回路の特性を示す波形図。
【図6】CMOSインバータの特性を示す図。
【図7】図4に示す乱数生成回路を構成するインバータのゲートの充電経路を説明する図。
【図8】シュミット・インバータの特性を示す図。
【図9】図1に示す乱数生成回路の電流ノイズ源にMOSFET型電流ノイズ源を用いた回路図。
【図10】図9に示す乱数生成回路の特性を示す波形図。
【図11】図1に示す一実施形態に用いられるシュミット・インバータの一具体例を示す回路図。
【図12】第1変形例によるリング発振器を示す回路図。
【図13】第2変形例によるリング発振器を示す回路図。
【図14】第3変形例によるリング発振器を示す回路図。
【図15】第4変形例によるリング発振器を有する乱数生成回路を示す回路図。
【図16】nチャネルMOSFET型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図17】nチャネルMOSFET型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図18】第1具体例の乱数化回路を示す回路図。
【図19】第1具体例の乱数化回路の動作を示すタイミングチャート。
【図20】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図21】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図22】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図23】第2具体例の乱数化回路を示す回路図。
【図24】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図25】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図26】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図27】リング発振器の一具体例を示す回路図。
【図28】リング発振器の出力の位置を説明する回路図。
【符号の説明】
【0081】
2 電流ノイズ源
4 シュミット・インバータ
12 インバータ
121,122 インバータ
20 乱数化回路
40 電流ノイズ源
【技術分野】
【0001】
本発明は、乱数生成回路に関し、特に、物理現象に基づき乱数を生成する乱数生成回路に関する。
【背景技術】
【0002】
情報通信技術の進展、普及に伴い、高品質な乱数に対する要求が高まっている。情報セキュリティの強度は、予測困難性の元となる乱数に依存している。また、科学技術計算の分野でも、より正確な計算のために、高品質乱数を必要としている。
【0003】
一般的に用いられている乱数は、あるアルゴリズムに基づいて、計算により擬似的に求められた算術乱数である。この算術乱数を発生する回路は簡易に製作することができるが、初期値(シード)が一定であれば、出力乱数は常に一定になる。また、出力乱数が、回路の構成により決まる一定の周期を持つという問題がある。
【0004】
一方、算術乱数とは異なる、物理的な揺らぎ現象を利用して生成される物理乱数が知られている。物理乱数においては、物理的な揺らぎを利用することにより、出力される乱数が初期値に依存せず、また周期を持たない乱数列を得ることができる。このような物理乱数を発生する乱数生成回路の例として、例えば特許文献1に開示されている。
【特許文献1】特開2006−189946号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1に開示された乱数生成回路では、ノイズを意図的に大きくした素子をノイズ源とすることによって、良質な乱数を生成することができる。しかしながら、上記乱数生成回路においては、ノイズ源となる素子の出力を乱数化するためにコンパレータが用いられているが、このコンパレータは、消費電力が大きいという問題があった。
【0006】
本発明は、上記事情を考慮してなされたものであって、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様による乱数生成回路は、電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも1組含むリング発振器と、前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、を備えていることを特徴とする。
【発明の効果】
【0008】
本発明によれば、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することができる。
【発明を実施するための最良の形態】
【0009】
本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【0010】
まず、本発明の一実施形態による乱数生成回路に用いられる電流ノイズ源について説明する。電流ノイズ源とは、電流ノイズ源となる素子の各端子に一定電圧を加えた場合に、その電流値の揺らぎが大きい素子を指している。例えば、図2に示すような、ナノスケールの微細な電子チャネル42と、この電子チャネル42の近傍に配設された、ノイズ信号を発生させる電子トラップ44とを備えた素子40を指す。この素子40の一具体例として微細なチャネル長、チャネル幅を持つ電界効果トランジスタ(FET)が挙げられる。このFETにおいては、電子チャネル42はFETのソース領域とドレイン領域との間のチャネルであり、電子トラップ44はFETのゲート絶縁膜中の電子トラップである。電子トラップ44に電子eが捕獲されると、電子eが作るクーロン場により電子チャネル42を通過する電子eが影響を受け、電子チャネル42の伝導度が変化する。電子トラップ44における電子eの捕獲又は放出は、電子チャネル42と電子トラップ44との間に存在するエネルギ障壁を介して、電子チャネル42との間において行われる。電子eの捕獲又は放出はランダムに発生するので、電子チャネル42の伝導度はランダムに揺らぐことになる。結果的に、電子チャネル42に一定電圧を供給しても、電子チャネルにおいて電流値がランダムに揺らいだノイズ信号を生成することができる。このような素子は、例えば、特開2007−304730号公報に開示されている。この特開2007−304730号公報に開示された電流ノイズ源は、MOSFETの構造を工夫することによって、ノイズを大きくしている。MOSFETの構造やレイアウトを工夫することにより電流ノイズを大きくした電流ノイズ源はMOSFET型電流ノイズ源と呼ばれている。
【0011】
また、電流ノイズ源40の他の例としては、図3に示すように、一対の電極46a、46b間に挟まれ疑似破壊された絶縁膜48を有する構成とすることもできる。この電流ノイズ源は、例えばコンデンサである。コンデンサにおいては、絶縁膜48に電気的ストレスを加えると、絶縁膜48の伝導度が若干増加した状態になる。このとき、絶縁膜48に一定電圧を印加すると、絶縁膜48中の電子トラップ間をトンネル現象により電子eがランダムに移動し、大きく揺らいだ電流値が得られる。この電流値の揺らぎにより、ノイズ信号を生成することができる。電極46a、46bは、単結晶シリコン、多結晶シリコン、非晶質シリコン、金属等の導電性材料により形成される。絶縁膜48としては、シリコン酸化膜、シリコン窒化膜等の単層膜、ハフニウムやアルミニウムを含む高誘電率酸化物(いわゆるhigh−k絶縁膜)、またそれらを積層した複合膜等の絶縁性材料により構成される。擬似破壊された絶縁膜48における電極46a、46b間の平均の伝導度は、電極46a、46b間に印加される電圧によって変化することが無い。このように、平均の伝導度が端子の電圧によらない電流ノイズ源は抵抗型電流ノイズ源と呼ばれている。
【0012】
本発明者達は、図4に示す、3段のインバータ501、502、503からなるリング発振器の経路に、MOSFET型電流ノイズ源40を組み込んだ発振器について考察した。この発振器において、点Aと点Bにおける発振波形を、オシロスコープで取得した図を図5に示す。点Aは電流ノイズ源40の出力端子と1段目のインバータ501の入力端子との接続点を示し、点Bは第1段目のインバータ501の出力端子と2段目のインバータ502の入力端子との接続点を示す。点A及び点Bの発振波形は、計測した複数の点Bの波形のそれぞれの縦軸のレベルが点Zを通過する点でタイミングを合わせて、すなわち横軸においてトリガと示された点でタイミングを合わせて、重ねて描いたものである。なお、図5において、GNDAは点Aのグランドレベルを示し、GNDBは点Bのグランドレベルを示している。発振器の発振周期が一定の場合、波形がよく重なり合うため、オシロスコープの画面には乱れの無い発振波形が表示される。一方、発振器の発振周期に揺らぎがある場合は、波形が重なり合わず、ばらついた波形が表示される。オシロスコープの画面の表示のばらつき具合が、発振周波数の揺らぎの程度を見る目安になる。
【0013】
図5からわかるように、発振波形は互いによく重なりあっていて、周波数の揺らぎがあまり無いことが分かる。また、点Aと点Bの発振振幅を比較すると、点Bは2.2V程度の振幅を持つのに対して、点Aは0.6V程度と点Bに比べて小さい振幅であることが分かる。点Aの電位変化が小さいということは、点Aにおける電荷の移動が小さいということを意味している。発振器の発振周波数に揺らぎがみられないのは、電流ノイズ源40に流れる電荷量が小さいため、発振波形に現れるノイズの効果が小さいためだと考えられる。
【0014】
次に、電流ノイズ源40の出力端子の直後の点Aにおける電位変化が小さい理由を説明する。インバータの入力電圧Vinと出力電圧Voutの関係を図6に示す。図6中の点線で示したように、インバータの出力が反転するために必要な入力電圧の変化量は小さい。図4に示すリング発振器を構成する各インバータ501、502、503のゲートが充電される経路を図7に示す。破線60で示したように、インバータ501の入力は、インバータ503のpMOSFETと電流ノイズ源40とを介して充電される。一方、破線62で示したように、それ以外のインバータ502、503は前段のインバータのpMOSFETのみを介して充電される。一般的に、電流ノイズ源40の伝導度はインバータ501、502、503を構成するMOSFETに比べて小さい。即ち、電流ノイズ源40の直後のインバータ501のゲート容量は、他のインバータ502、503のゲート容量に比べて、充電される速度が遅い。各インバータ501、502、503の放電速度に関しても同様の議論が成り立つ。したがって、図7においては、点Aの電位変化の速度は、点B、点C、点Dの電位変化速度に比べて遅い。なお、点Cは第2段目のインバータ502の出力端子と3段目のインバータ503の入力端子との接続点を示し、点Dは第3段目のインバータ503の出力端子と電流ノイズ源40の入力端子との接続点を示す。
【0015】
点Aにおける電位変化を起点として、図4に示すリング発振器の動作を考える。点Aの電位がインバータ501の閾値を超えると、インバータ501の出力が反転する。そして、B→C→Dへと反転信号が順次伝わる。点Dに反転信号が到達すると同時に、点Aにおける電位変化方向が逆転する。点Aの電位変化速度は遅いため、点Dに反転信号が到達した時点では、点Aの電位はインバータ501の閾値からあまり変化していない。この動作が繰り返されるため、点Aにおける発振振幅は、概ねインバータの出力が遷移するために必要な入力の幅程度(図6に示す点線間の幅Vst程度)になる。
【0016】
以上の説明からわかるように、図4に示すリング発振器の発振周波数の揺らぎが小さいのは、点Aの電位変化速度が遅く、またインバータ501が反転するために必要な入力の幅が小さいため、電流ノイズ源40にあまり電荷が流れないためである。
【0017】
そこで、本発明者達は、電流ノイズ源の出力が入力されるインバータは、電流ノイズ源が、ある程度電荷を流すまで反転を待つものであればよいと考えた。すなわち、図8に示すような、入出力関係にヒステリシスを持つ、シュミット・トリガ技術を使ったインバータを用いれば良いと考えた。以下このようなインバータを、シュミット・インバータと呼ぶ。
【0018】
(一実施形態)
次に、本発明の一実施形態による乱数生成回路を説明する。本実施形態の乱数生成回路を図1に示す。本実施形態の乱数生成回路は、電流ノイズ源2と、シュミット・インバータ4と、インバータ121、122と、乱数化回路20とを備えている。電流ノイズ源2は、MOSFET型電流ノイズ源または抵抗型電流ノイズ源のいずれであってもよい。シュミット・インバータ4は電流ノイズ源2の出力を受ける。インバータ121はシュミット・インバータ4の出力を受け、インバータ122はインバータ121の出力を受ける。そして、インバータ122の出力は電流源ノイズ2に入力される。すなわち、電流ノイズ源2、シュミット・インバータ4、およびインバータ121、122によってリング発振器を構成している。このリング発振器においては、シュミット・インバータ4が電流ノイズ源2に効率的に電荷を流すことにより、このリング発振器の発振信号にノイズの影響が効果的に加わる。このため、リング発振器の周波数は大きく揺らぐことになる。乱数化回路20は、リング発振器の発振周波数の揺らぎを利用して乱数を生成する。
【0019】
次に、上述のように構成された本実施形態の乱数生成回路の作用および効果を説明する。
【0020】
本実施形態の乱数生成回路に用いられるリング発振器を図9に示す。このリング発振器の点Aと点Bの発振波形をオシロスコープで取得した図を図10に示す。点Aは電流ノイズ源2の出力端子とシュミット・インバータ4の入力端子との接続点を示し、点Bはシュミット・インバータ4の出力端子とインバータ121の入力端子との接続点を示す。この図10においては、図5に示す場合と同様に、トリガで示した点でタイミングを合わせて、複数個の発振波形を重ねて描いている。また、時間スケールを図5と揃えている。図10を見ると、トリガの左右において、波形が乱れていることが分かる。これは、重ね描いた複数の発振波形が、互いに重なりあっていないためである。すなわち、発振周期に揺らぎが生じていることを示している。点Aの電位振幅を見ると1.3V程度であり、図5に示す場合に比べて増加していることが分かる。電位振幅が増えたということは、その分だけ電流ノイズ源2に流れる電荷が増えたことを意味している。発振周波数の揺らぎが増加したのは、電流ノイズ源2に、より多くの電荷を流せるようになったからであると考えられる。
【0021】
次に、図9に示す点Aを起点として、リング発振器の動作を考える。点Aの電位が図8に示す電位VHを超えると、シュミット・インバータ4が反転してその信号がB→C→Dと伝わる。ここで、点Cはインバータ121の出力端子とインバータ122の入力端子との接続点を示し、点Dはインバータ122の出力端子と電流ノイズ源2の入力端子との接続点を示す。点Dに反転信号が伝わると、点Aの電位が減少し始める。点Aの電位変化速度は遅いが、シュミット・インバータ4は点Aの電位が図8に示すVLよりも下がるまで反転を待つ。この間に電流ノイズ源2に電流が流れるため、発振波形にノイズの影響が加わる。点Aの電位がVLよりも下がると、シュミット・インバータ4が反転してその信号がB→C→Dと伝わる。そして点Dに反転信号が伝わると点Aの電位が増加し始める。点Aの電位変化速度は遅いが、シュミット・インバータ4は点Aの電位がVHに到達するまで反転を待つ。この間に電流ノイズ源2に電流が流れる。この動作を繰り返すことで、図9のリング発振器は発振する。
【0022】
既に、図4を参照して説明したように、電流ノイズ源の出力を通常のインバータに入力した場合は、点Aの電位はインバータの遷移幅程度しか変化しなかった。
【0023】
これに対して、本実施形態のように、電流ノイズ源2の出力をシュミット・インバータ4に入力した場合は、点Aの電位はシュミット・インバータの閾値の差(=VH−VL)程度変化できるようになる。点Aの電位変化量が増加することで、電流ノイズ源2に、より多くの電荷を流すことができるようになり、リング発振器の発振周波数の揺らぎを大きくすることができる。以上の動作が実現されているために、図9に示すリング発振器の発振周波数は、図10に示される大きな揺らぎを持つ。
【0024】
次に、シュミット・インバータ4の一具体例を、図11を参照して説明する。この一具体例のシュミット・インバータ4は、直列に接続されたpチャネルMOSFET4a、4bと、直列に接続されたnチャネルMOSFET4c、4dと、pチャネルMOSFET4eと、nチャネルMOSFET4fと、を備えている。pチャネルMOSFET4a、4bと、nチャネルMOSFET4c、4dのゲートはそれぞれ共通に接続されて、入力電圧Vinが入力される。pチャネルMOSFET4aは、ソースに電源電圧VDDが印加され、ドレインがpチャネルMOSFET4bのソースと接続ノードN1で共通に接続されている。pチャネルMOSFET4bはドレインがnチャネルMOSFET4cのドレインと接続ノードN2で共通に接続されている。nチャネルMOSFET4cは、ソースがnチャネルMOSFET4dのドレインと接続ノードN3に共通に接続されている。nチャネルMOSFET4dはソースが接地されている。また、pチャネルMOSFET4eは、ソースが接続ノードN1に接続され、ドレインが接地され、ゲートが接続ノードN2に接続されている。また、nチャネルMOSFET4fは、ソースが接続ノードN3に接続され、ドレインに電源電圧VDDが印加されている。接続ノードN2から出力Voutが出力される。
【0025】
次に、このように構成された本具体例のシュミット・インバータ4の動作を、図8および図11を参照して説明する。入力Vinの電位が「0」のとき、pチャネルMOSFET4a、4bはON状態となり、nチャネルMOSFET4c、4dがOFF状態となるから、ノードN2の電位はVDD、すなわち出力VoutはVDDとなっている。このとき、pチャネルMOSFET4eはOFF状態となっているから、ノードN1の電位はVDDである。また、ノードN3とVDDの間には、飽和領域にドライブされたnチャネルMOSFET4fが存在するので、ノードN3の電位は「VDD−Vth4f」となる。ここで、Vth4fはnチャネルMOSFET4fの閾値電圧である。
【0026】
この状態において、入力Vinの電位が「0」から増加して行き、直列に接続された1個のpチャネルMOSFETおよび1個のnチャネルMOSFETからなる通常のインバータの出力が反転する電位(通常、VDD/2)に近づくと、nチャネルMOSFET4dが徐々にONし始める。しかし、nチャネルMOSFET4fがON状態であるため、ノードN3の電位は「VDD−Vth4f」から減少するものの「0」にはならない。そのため、nチャネルMOSFET4cのゲートとソース間の電位差が、nチャネルMOSFET4cの閾値電圧よりも小さく、nチャネルMOSFET4cはOFF状態で、Voutは依然としてVDDを維持する(図8参照)。
【0027】
更にVinが増加し、ある所定の電位、すなわち第1閾値VHに達する直前から(図8参照)、nチャネルMOSFET4cがONし始め、出力Voutが減少し始める。
【0028】
更に入力Vinの電位が増加し、第1閾値VHを超えると、pチャネルMOSFET4bがOFF状態となるとともにnチャネルMOSFET4cがON状態となって、出力Voutが「0」となる(図8参照)。更にVinを増加しても出力Voutは「0」を維持する。
【0029】
入力Vinの電位が「VDD」のとき、pチャネルMOSFET4a、4bはOFF状態となり、nチャネルMOSFET4c、4dがON状態となるから、ノードN2の電位は「0」、すなわち出力Voutは「0」となっている。このとき、nチャネルMOSFET4fはOFF状態となっているから、ノードN3の電位は「0」である。また、ノードN1とVDDの間には、飽和領域にドライブされたpチャネルMOSFET4eが存在するので、ノードN1の電位は、「Vth4e」となる。ここでVth4eはpチャネルMOSFET4eの閾値電圧の絶対値である。
【0030】
この状態で、入力Vinの電位がVDDから減少し、直列に接続された1個のpチャネルMOSFETおよび1個のnチャネルMOSFETからなる通常のインバータの出力が反転する電位(通常、VDD/2)に近づくと、pチャネルMOSFET4aが徐々にONし始める。しかし、pチャネルMOSFET4eがONの状態であるため、ノードN1の電位は「Vth4e」から増加するものの、「VDD」にはならない。そのため、pチャネルMOSFET4bのゲートとソース間の電位差が閾値電圧よりも小さく、pチャネルMOSFET4bはOFF状態で、Voutは依然として「0」を維持する(図8参照)。
【0031】
更に入力Vinの電位が減少し、ある所定の電位値すなわち第2閾値VLに達する直前から(図8参照)、pチャネルMOSFET4bがONし始め出力Voutが増加し始める。
【0032】
更に入力Vinの電位が減少し、第1閾値VLよりも小さくなると、nチャネルMOSFET4cがOFF状態となるとともにpチャネルMOSFET4bがON状態となって、出力Voutが「VDD」となる(図8参照)。更にVinを増加しても出力Voutは「VDD」を維持する。
【0033】
次に、シュミット・インバータ4の第1および第2閾値電圧に関する条件について説明する。
【0034】
シュミット・インバータ4の第1および第2閾値VH、VLの、望ましい関係について説明する。シュミット・インバータ4の入力の電位をV、電流ノイズ源の伝導度をσ、シュミット・インバータ4の入力ゲート容量をC、電源電圧をVDDとする。簡単のため、インバータ122を構成するMOSFETの伝導度は、電流ノイズ源2の伝導度に比べて小さいとして無視する。時刻t=0において、シュミット・インバータ4の入力電位が上昇し始めるとする。このとき、ゲートに流入する電流iとVの関係は次の(1)式を満たす。
【数1】
【0035】
また、シュミット・インバータ4の入力ゲートに蓄えられた電荷をQとすると、Q=C×Vなので、
【数2】
となる。(1)、(2)式から、
【数3】
となる。電流ノイズ源2の伝導度は各端子に与えられた電圧に依存しないと仮定する。t=0でV=VLという初期条件で(3)式の微分方程式を解くと、電圧Vは次の(4)で表される。
【数4】
ここで、t=t1でV=VHとなるとすると、
【数5】
これが、シュミット・インバータ4の前段のインバータ(図1においては、インバータ122)が反転してから、シュミット・インバータ4の出力が反転するのに要する遅延時間である。伝導度σがΔσだけ揺らいでいる場合、遅延時間の揺らぎΔt1は以下のように表される。
【数6】
【0036】
リング発振器からシュミット・インバータ4を除いた部分のゲート遅延の積算をTとすると、平均の発振周期はT+t1である。高品質な乱数を生成する場合、発振周期の揺らぎΔt1は、発振周期T+t1の1%以上であることが望ましい。即ち、次の(8)式を満たすことが望ましい。
【数7】
【0037】
これが、シュミット・インバータ4の第1および第2閾値VH、VLに対する望ましい関係である。もし伝導度が端子に与えられた電圧に依存する場合は、平均の伝導度を用いて上式を適用する。
【0038】
次に、本実施形態において、電流ノイズ源2として、nMOSFET型電流ノイズ源を使う場合、nチャネルMOSFET型電流ノイズ源のゲートに加える電圧VGは以下の関係式を満たす必要がある
VG>VH+Vth
ここで、VHはシュミット・インバータ4の閾値の大きい側の値(第1閾値)であり、VthはnチャネルMOSFET型電流ノイズ源の閾値電圧である。この関係が満たされない場合、図9に示す点Aの電位が上昇していくと、ある時点でVGS=Vthが成立する。こうなってしまうと、nチャネルMOSFET型電流ノイズ源がオフするので、点Aに電荷が流入できなくなり、発振が止まる。
【0039】
また、本実施形態において、電流ノイズ源として、pチャネルMOSFET型電流ノイズ源を使う場合、pチャネルMOSFET型電流ノイズ源のゲートに加える電圧VGは以下の関係式を満たす必要がある
VG<VL−VTH
ここで、VLはシュミット・インバータ4の閾値の小さい側の値(第2閾値)であり、VTHはpチャネルMOSFET型電流ノイズ源の閾値電圧の絶対値である。この関係が満たされない場合、図9に示す点Aの電位が減少していくと、ある時点でVGS=VTHが成立する。こうなってしまうと、pチャネルMOSFET型電流ノイズ源がオフするので、点Aに電荷が流入できなくなり、発振が止まる。
【0040】
なお、本実施形態においては、リング発振器に含まれる電流ノイズ源とシュミット・インバータとからなる組の数は1組であったが、複数組を備えていてもよい。例えば、図12に示すように、電流ノイズ源とシュミット・インバータの組を複数組(図12では、2組)と、少なくとも1個の通常のインバータとを備えていてもよい。すなわち、図12に示すリング発振器は、直列に接続されたMOSFET型電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続されたMOSFET型電流ノイズ源22およびシュミット・インバータ42の組と、通常のインバータ12とを備え、それらが直列に接続された構成としてもよい。この場合は、リング発振器に含まれる、シュミット・インバータおよび通常のインバータの総数は奇数個である必要がある。さもないと、発振しないからである。
【0041】
また、図13に示すように、リング発振器は、電流ノイズ源とシュミット・インバータとからなる組を、3以上の奇数組(図13では3組)直列に接続した直列回路のみからなる構成としてもよい。すなわち、図13に示すリング発振器は、直列に接続されたMOSFET型電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続されたMOSFET型電流ノイズ源22およびシュミット・インバータ42の組と、直列に接続されたMOSFET型電流ノイズ源23およびシュミット・インバータ43の組と、を備え、それらが直列に接続された構成としてもよい。この場合、通常のインバータは不要なる。
【0042】
さらに、図14に示すように、電流ノイズ源とシュミット・インバータとからなる組を複数組と、少なくとも1個の通常のインバータとを備え、各組の電流ノイズ源として異なる種類の電流ノイズ源を用いてもよい。すなわち、図14に示すリング発振器は、直列に接続された電流ノイズ源21およびシュミット・インバータ41の組と、直列に接続された電流ノイズ源22およびシュミット・インバータ42の組と、通常のインバータ12とを備え、それらが直列に接続され、電流ノイズ源21として例えばMOSFET型電流ノイズ源を用い、電流ノイズ源22として例えば抵抗型電流ノイズ源を用いてもよい。
【0043】
また、図15に示すように、リング発振器として、直列に接続された電流ノイズ源、シュミット・インバータ、および通常のインバータからなる組をn−1個(nは3以上の整数)直列に接続した直列回路と、直列に接続された電流ノイズ源およびシュミット・インバータからなる一組の直列回路とを直列に接続するように構成してもよい。すなわち、電流ノイズ源21、シュミット・インバータ41、インバータ121、電流ノイズ源22、シュミット・インバータ42、インバータ122、・・・、電流ノイズ源2n、およびシュミット・インバータ4n、を直列に接続した構成としてもよい。また、図27に示すように、直列に接続された電流ノイズ源2i(i=1,・・・,n)およびシュミット・インバータ4iからなる直列回路をn個(n≧1)直列に接続し、それらの間に複数個(図27においては、4個)のインバータ121〜124を設けた構成としてもよい。そして、インバータは任意の位置に設けることができる。また、リング発振器内に設けられるインバータの個数は、リング発振器を構成するシュミット・インバータの個数との合計が奇数であれば、制限はない。そして、リング発振器の出力は、シュミット・インバータの出力から取り出さなくてもよい。例えば、図27においては、シュミット・インバータ41の出力端子から、リング発振器の出力が取り出されているが、図28に示すように、インバータ123の出力端子から取り出してもよい。なお、図28に示すリング発振器は、図27に示すリング発振器と同じ構成を有している。
【0044】
このように、リング発振器として、電流ノイズ源とシュミット・インバータとの組を複数組備えることは、1組の場合よりも、発振周波数の揺らぎを大きくする効果がある。
【0045】
これまでの説明では、シュミット・インバータとして、シュミット・トリガ技術を使ったインバータを使用してきた。シュミット・インバータの代わりに、同様の動作する、シュミット・トリガ技術を使ったバッファを用いてもよい。もちろん、結合するインバータやバッファの数は、リング発振機として動作するように設計する必要がある。
【0046】
次に、リング発振器のデューティー比について説明する。
【0047】
図10に示す発振波形を見ると、デューティー比が50%ではないことが分かる。特にMOSFET型電流ノイズ源を使った場合、回路構成によっては、デューティー比が50%にならない場合がある。その理由について説明する。
【0048】
電流ノイズ源はnチャネルMOSFET型であるとする。MOSFETの伝導度は、主としてゲートに与えた電位とソース電位の差によって制御される。ここでソース電位とは、nチャネルMOSFETのチャネル両端の電極のうち、電位が低い方である。図16に、点Aの電位が「ハイ」から「ロー」に変化するときの、ゲート・ソース間電圧VGSと電流の関係を示す。点Aの電位が「ハイ」から「ロー」になる場合は、図16の矢印に示す経路に電流が流れることにより、点Aに蓄えられた電荷が放電される。このとき、電流ノイズ源2のソース電極は図16において左側の端子になり、VGSは放電される間一定である。すなわち、電流ノイズ源2の伝導度はほとんど変化しない。
【0049】
一方、図17には、点Aの電位が「ロー」から「ハイ」に変化する場合を示している。この場合、図17の矢印で示した方向に電流が流れ、点Aが充電される。このとき、ソース電極は図17において右側の端子になる。電流が流れるに従って点Aの電位が上昇し、VGSは減少する。すなわち、点Aの電位が上昇するに従って、電流ノイズ源2の伝導度が小さくなっていく。以上から、nチャネルMOSFET型電流ノイズ源2を使った場合、点Aの電位が上昇する速度は、点Aの電位が減少する速度よりも遅いことが分かる。
【0050】
電流ノイズ源2がpチャネルMOSFET型の場合、伝導度を決めるソース電位は、チャネル両端の電極のうち電位の高い方である。図16、17のnチャネルMOSFET型の電流ノイズ源をpチャネルMOSFET型に変えた場合、点Aの電位変化速度は、電位上昇が速く、電位降下は遅い。以上のように、MOSFET型電流ノイズ源を用いた場合、電位上昇速度と降下速度は非対称である。そのため、発振器のデューティー比が50%にならない場合がある。
【0051】
これに対して、抵抗型電流ノイズ源の場合、伝導度は端子に与えられた電位に依存しないので、デューティー比を50%にすることは容易である。ただし、例えばインバータを構成するnチャネルMOSFETおよびpチャネルMOSFETのゲート長やゲート幅のマッチングによっては、デューティー比が50%にならない場合もある。
【0052】
次に、本実施形態に係る乱数化回路の具体例について説明する。乱数化回路と、リング発振器との接続箇所は、具体例によって異なってくる。
【0053】
リング発振器のどこから、乱数化回路が入力を受けるかは、デューティー比を考慮することが望ましい場合がある。乱数化回路の具体例とともに説明する。
【0054】
本実施形態に係る乱数化回路の第1具体例を図18に示す。この第1具体例の乱数化回路20Aは、D型のフリップフロップ20aと、インバータ20b、20cと、D型のフリップフロップ20dとを備えている。
【0055】
一般に、D型のフリップフロップ20aは、その動作を制御するCE端子を持つことを特徴とする。CE端子に「ハイ」レベルが入力された場合はフリップフロップが通常の動作をし、「ロー」レベルの信号が入力された場合はフリップフロップの動作が停止する。このフリップフロップの動作は、CK端子に入力される信号(通常はクロック信号)に基づいて動作し、D端子に入力されたデータが1クロック遅れて出力端子となるQ端子から出力される。
【0056】
本実施形態においては、インバータ20bはD型フリップフロップ20aの出力Qを反転してD端子に帰還する。D型フリップフロップ20dのCK端子には、入力信号INをインバータ20cによって反転した信号が入力される。D型フリップフロップ20dは、そのD端子にD型フリップフロップ20aの出力Qを受ける。そして、D型フリップフロップ20dは、Q端子から出力されるデータが乱数となる。
【0057】
次に、図19を参照して第1具体例の乱数化回路20Aの動作を説明する。入力信号INが「ロー」レベルの状態のとき、D型フリップフロップ20aの出力端子QとD型フリップフロップ20dのD端子との接続ノードMのレベルは「ロー」レベルで、出力OUTも「ロー」レベルとなっている。この状態は、時刻t1において、入力信号INが「ハイ」レベルとなるまで続く。このとき、フリップフロップ20aのD端子は、「ハイ」レベルとなっている。そして、時刻t2に(>t1)に発振信号CSが「ハイ」レベルとなると、フリップフロップ20aの出力となるノードMは「ハイ」レベルとなる。このとき、フリップフロップ20aのD端子はインバータ20bによって「ロー」レベルにされる。続いて、時刻t3に(>t2)に発振信号CSが「ハイ」レベルとなると、フリップフロップ20aの出力となるノードMは「ロー」レベルとなる。このとき、フリップフロップ20aのD端子はインバータ20bによって「ハイ」レベルにされる。これらのことは、入力信号INが「ハイ」レベルの間、繰り返される。すなわち、入力信号INが「ハイ」レベルの間は、ノードMの電位レベルは、発振信号CSの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。
【0058】
その後、時刻t4(>t3)になる直前において、ノードMの電位が「ハイ」レベルであるときに、時刻t4において、入力信号INが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ20dのCK端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ20dのQ端子の電位レベル、すなわち出力OUTは「ロー」レベルから「ハイ」レベルに変化する。しかし、時刻t4を過ぎると、入力信号INのレベルが「ロー」となるから、ノードMの電位レベルは「ハイ」のままとなる。
【0059】
そして、時刻t5(>t4)において、入力信号INが「ロー」レベルから「ハイ」レベルになる。そして、入力信号INが「ハイ」レベルになった後の、発振信号CSの最初の立ち上がりに同期してノードMの電位レベルは「ロー」となる(時刻t5’)。それ以降、入力信号INが「ハイ」レベルの間は、ノードMの電位レベルは、発振信号CSの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。しかし、この期間、出力OUTの電位レベルは「ハイ」レベルのままである。
【0060】
その後、時刻t6(>t5)になる直前において、ノードMの電位が「ロー」レベルであるときに、時刻t6において、入力信号INが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ20dのCK端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ20dのQ端子の電位レベル、すなわち出力OUTは「ハイ」レベルから「ロー」レベルに変化する。しかし、時刻t6を過ぎると、入力信号INのレベルが「ロー」となるから、ノードMの電位レベルは「ロー」のままとなる。
【0061】
以上の動作説明からわかるように、入力信号INが「ハイ」レベルの間、ノードMには発振信号CSの振動回数に応じて「ハイ」レベルと「ロー」レベルが交互に出力される。入力信号INが「ロー」レベルに落ちると、ノードMの値がOUTに出力される。このため、入力信号INの「ハイ」レベルの期間がランダムに変動すれば、入力信号INが「ハイ」レベルから「ロー」レベルに変化する直前のノードMの電位レベルはランダムとなり、その結果、出力OUTは乱数となる。また、発振信号のCSの発振周波数がランダムに変動する場合には、入力信号INが「ハイ」レベルから「ロー」レベルに変化する直前のノードMの電位レベルはランダムとなり、その結果、出力OUTは乱数となる。
【0062】
本実施形態に係るリング発振器と図18に示す乱数化回路20Aを使って乱数を生成する場合、リング発振器の出力を乱数化回路20Aのフリップフロップ20aのCE端子またはCK端子のどちらに入力するかによって、二通りの方法がある。一つは、フリップフロップ20aのCE端子にリング発振器の出力を入れ、CK端子に外部の発振信号を入れる方法である。もう一つは、CE端子に外部の発振信号を入力し、CK端子にリング発振器の出力を入力する方法である。それぞれの特徴と回路構成上の注意点について解説する。
【0063】
図15に示すリング発振器の出力をCE端子に、外部の発振信号をCK端子に入力した回路を図20に示す。この回路構成は、リング発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。リング発振器の発振周波数に対して、十分速い外部の発振信号を用意できる場合に有効である。また、リング発振器のデューティー比が50%でない場合、CE端子には、「ハイ」レベルの期間が「ロー」レベルの期間よりも長い信号を入力することが望ましい。これは、図10に示す波形から分かるように、出力時間が長いレベルの揺らぎの方が、出力時間が短いレベルの揺らぎよりも大きいためである。
【0064】
レイアウトの都合等で「ハイ」レベルの方が長い出力を取れない場合は、図21に示すように、フリップフロップ20aのCE端子の直前にインバータ30を置く。こうすることで、乱数化回路20Aにハイレベルの方が長い信号を入力することができる。
【0065】
フリップフロップ20aのCE端子に外部の発振信号を、CK端子に、図15に示すリング発振器の出力を入力した乱数生成回路を図22に示す。この場合、外部の発振信号は発振器の出力に比べて発振周波数が小さい必要がある。この回路構成は、発振器の発振周波数が、必要とされる乱数生成レートに比べて十分速い場合に有効である。また、高速な外部の発振信号が他の回路のノイズ源となる恐れがある場合にも有効である。図22に示す回路構成では、図20、図21に示す構成とは異なり、リング発振器のどの出力を入力しても構わない。これは、図18に示す乱数化回路20AはCK端子に入力される信号の発振回数を数えられていて、そのデューティー比は動作に影響しないからである。また、外部の発振信号は、デューティー比50%ではなく、ハイレベルの方がローレベルよりも長い発振信号にすることも有効である。これは、リング発振器を長時間振動させる方が、ランダム性を高めることができるからである。
【0066】
図20に示す乱数生成回路において、リング発振器として図9に示すリング発振器を用いた場合の消費電力と、特開2006−189946号公報に示された乱数生成回路における消費電力の比較を、シミュレーションを行って比較した。シミュレーション用のトランジスタモデルは、Predictive Technology Modelを用いた(URL : http://www.eas.asu.edu/~ptm/、およびY. Cao, T. Sato, D. Sylvester, M. Orshansky, C. Hu, "New paradigm of predictive MOSFET and interconnect modeling for early circuit design," pp. 201-204, CICC, 2000.参照)。
【0067】
消費電力を計算した結果、特開2006−189946号公報に示された乱数生成回路は0.87mW、本実施形態の乱数生成回路は0.74mWとなり、消費電力が改善されることが示された。
【0068】
次に、本実施形態に係る乱数化回路の第2具体例を図23に示す。この第2具体例の乱数化回路20Bは、D型フリップフロップ20eを有している。このフリップフロップ20eのD端子に入力された発振信号を、CK端子に入力されるクロック信号CLKの立ち上がりで、Q端子から出力OUTが出力される。発振周波数は、D端子に入力される信号INの方がCK端子に入力される信号CLKよりも大きい必要がある。図23に示す乱数化回路20Bと、本実施形態に係るリング発振器から乱数を生成する方法は、二通りある。一つは、D端子に外部の発振信号を入力し、CK端子にリング発振器の出力を入力する方法である。もう一つは、D端子にリング発振器の出力を入力し、CK端子に外部の発振信号を入力する方法である。
【0069】
図23に示す乱数化回路20BのD端子に外部の発振信号を、CK端子に、図15に示すリング発振器の出力を入力した乱数生成回路を図24に示す。この回路構成では、外部の発振信号のデューティー比は50%であることが望ましい。また、CK端子への入力は、リング発振器のどこから取っても構わない。そして、この回路構成は、発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。
【0070】
図23に示す乱数化回路20BのD端子に図15に示すリング発振器の出力を、CK端子に外部の発振信号を入力した乱数生成回路を図25に示す。この回路構成では、発振器はデューティー50%であることが望ましい。もしデューティーが50%にならない場合は、図26に示すように、リング発振器の出力と、乱数化回路20Bとの間に分周器35を設ければよい。この分周器35は、CK端子にリング発振器の出力を受けるD型フリップフロップ35aと、フリップフロップ35aのQ端子からの出力の反転信号をD端子に帰還させるインバータ35bと、を備えている。したがって、図26に示す分周器35は1/2分周器となる。
【0071】
なお、図26では1/2分周器を用いているが、1/4、1/8、1/16等、何分周しても構わない。この回路構成では、外部の発振信号がリング発振器の発振周波数よりも遅い必要がある。また、この回路構成は、発振器の発振周波数が必要とされる乱数生成速度よりも十分速い場合や、高速の外部の発振信号を使えない場合に有効である。
【0072】
本実施形態の乱数生成回路は、電流ノイズ源、リング発振器、乱数化回路とも、標準の半導体集積回路製造工程で作成することができる。そのため半導体基板上に集積化することが容易である。
【0073】
次に、本実施形態の乱数生成回路と、他の公知の乱数生成回路との差について説明する。
【0074】
発振器中に発振周期を変化させるための回路を付加した乱数生成回路が、特開2001−166920号公報に開示されている。この特開2001−166920号公報に記載された乱数生成回路では、インバータで構成されたリング発振器に発振周波数を変化させるための回路を付加している。
【0075】
本発明に至った経緯で既に説明したように、インバータの出力が反転するために必要な入力の幅は狭い。そのため、特開2001−166920号公報に記載された乱数生成回路においても、本発明に至った経緯と同様の議論が成り立ち、発振周波数の変化は小さい。そのため良質の乱数を出力するのが難しい。
【0076】
これに対して、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込むという本実施形態の構成により、発振周波数の揺らぎが大きくすることが可能になり、良質の乱数を生成することができる。
【0077】
また、リング発振器とシュミット・トリガを使った乱数生成回路が、特開2003−108365号公報に開示されている。この特開2003−108365号公報に示された乱数生成回路においては、発振器の出力をノイズ源となるCR積分器に入力し、CR積分器の熱雑音の効果により発振信号にジッタを加える。そして、そのジッタを利用して乱数を生成するものである。シュミット・トリガとCR積分器は、発振機の外側に配置するという構成になっている。また、シュミット・トリガは、電圧雑音により回路が誤動作するのを防ぐためのバッファとしての効果を持ち、シュミット・トリガの使用目的として一般的に知られている。雑音源を発振器の外側に置くため、雑音の効果は各周期で使い捨てであり、発信信号には雑音の効果が保存されない。言い換えると、雑音によるエントロピーは蓄積されない。
【0078】
これに対して、本実施形態では、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込む構成となっている。この構成により、電流ノイズ源に流れる電荷を増やし、発振波形に効果的にノイズの影響を加えることができるという効果を持つ。さらに、発振のたびに電流ノイズ源によるエントロピーを蓄積することができる。本実施形態の乱数生成回路と、特開2003−108365号公報に開示された乱数生成回路とは、その構成、目的、および効果が異なっている。シュミット・トリガの最も一般的な使用法は、電圧雑音により回路が誤動作するのを防ぐことである。
【0079】
これに対して、本実施形態では、一般的に雑音除去に使用されるロジックゲートを、雑音の影響を発振信号に効果的に加えるという、新しい目的で使用している。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施形態による乱数生成回路を示すブロック図。
【図2】電流ノイズ源を説明する模式図。
【図3】抵抗型電流ノイズ源を示す断面図。
【図4】3段のインバータからなるリング発振器にMOSFET型電流ノイズ源を組み込んだ乱数生成回路。
【図5】図4に示す乱数生成回路の特性を示す波形図。
【図6】CMOSインバータの特性を示す図。
【図7】図4に示す乱数生成回路を構成するインバータのゲートの充電経路を説明する図。
【図8】シュミット・インバータの特性を示す図。
【図9】図1に示す乱数生成回路の電流ノイズ源にMOSFET型電流ノイズ源を用いた回路図。
【図10】図9に示す乱数生成回路の特性を示す波形図。
【図11】図1に示す一実施形態に用いられるシュミット・インバータの一具体例を示す回路図。
【図12】第1変形例によるリング発振器を示す回路図。
【図13】第2変形例によるリング発振器を示す回路図。
【図14】第3変形例によるリング発振器を示す回路図。
【図15】第4変形例によるリング発振器を有する乱数生成回路を示す回路図。
【図16】nチャネルMOSFET型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図17】nチャネルMOSFET型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図18】第1具体例の乱数化回路を示す回路図。
【図19】第1具体例の乱数化回路の動作を示すタイミングチャート。
【図20】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図21】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図22】第1具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図23】第2具体例の乱数化回路を示す回路図。
【図24】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図25】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図26】第2具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図27】リング発振器の一具体例を示す回路図。
【図28】リング発振器の出力の位置を説明する回路図。
【符号の説明】
【0081】
2 電流ノイズ源
4 シュミット・インバータ
12 インバータ
121,122 インバータ
20 乱数化回路
40 電流ノイズ源
【特許請求の範囲】
【請求項1】
電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも1組含むリング発振器と、
前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、
を備えていることを特徴とする乱数生成回路。
【請求項2】
前記シュミット・インバータは第1閾値電圧VHと前記第1閾値電圧よりも低い第2閾値電圧VLとを有し、Cを前記シュミット・インバータの入力ゲート容量、σを前記電流ノイズ源の電気伝導度、Δσを前記電流ノイズ源の電気伝導度σの揺らぎ、VDDを電源電圧、Tを前記リング発振器から前記シュミット・インバータを除いた部分のゲート遅延の積算値、t1を前記シュミット・インバータのゲートの電圧が前記第2閾値電圧VLから前記第1閾値電圧VHになるまでの時間、Δt1を前記電流ノイズ源の電気伝導度σがΔσだけ揺らいでいる場合の遅延時間の揺らぎとすると、前記第1閾値電圧VHおよび前記第2閾値電圧VLは、以下の関係式を満たすことを特徴とする請求項1記載の乱数生成回路。
【数1】
【請求項3】
前記電流ノイズ源はnチャネルMOSFET型電流ノイズ源であって、VHを前記シュミット・インバータの2つの閾値のうち大きい方の閾値とし、Vthを前記nチャネルMOSFET型電流ノイズ源の閾値とするとき、前記nチャネルMOSFET型電流ノイズ源のゲートに印加する電圧VGは、
VG>VH+Vth
を満たすように与えられることを特徴とする請求項1または2記載の乱数生成回路。
【請求項4】
前記電流ノイズ源はpチャネルMOSFET型電流ノイズ源であって、VLを前記シュミット・インバータの2つの閾値のうち小さい方の閾値とし、Vthを前記pチャネルMOSFET型電流ノイズ源の閾値の絶対値とするとき、前記pチャネルMOSFET型電流ノイズ源のゲートに印加する電圧VGは、
VG<VL−Vth
を満たすように与えられることを特徴とする請求項1または2記載の乱数生成回路。
【請求項5】
前記乱数化回路は、
前記リング発振器の出力を受けるCE端子、外部からの発振信号を受けるCK端子、D端子、およびQ端子を有する第1のD型フリップフロップと、
前記第1のD型フリップフロップのQ端子からの出力を反転し前記第1のD型フリップフロップのD端子に帰還する第1のインバータと、
前記リング発振器の出力を反転する第2のインバータと、
前記第2のインバータの出力を受けるCK端子、前記第1のD型フリップフロップのQ端子からの出力を受けるD端子、および乱数を出力するQ端子を有する第2のD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項6】
前記乱数化回路が受ける前記リング発振器の出力は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項5記載の乱数生成回路。
【請求項7】
前記乱数化回路は、
前記リング発振器の出力を受けるCK端子、外部からの発振信号を受けるCE端子、D端子、およびQ端子を有する第1のD型フリップフロップと、
前記第1のD型フリップフロップのQ端子からの出力を反転し前記第1のD型フリップフロップのD端子に帰還する第1のインバータと、
前記リング発振器の出力を反転する第2のインバータと、
前記第2のインバータの出力を受けるCK端子、前記第1のD型フリップフロップのQ端子からの出力を受けるD端子、および乱数を出力するQ端子を有する第2のD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項8】
外部からの前記発振信号は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項7記載の乱数生成回路。
【請求項9】
前記乱数化回路は、前記リング発振器の出力を受けるCK端子、外部からの発振信号を受けるD端子、および乱数を出力するQ端子を有するD型フリップフロップを備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項10】
前記乱数化回路は、
前記リング発振器の出力の周波数を分周する分周器と、
外部からの発振信号を受けるCK端子、前記分周器の出力を受けるD端子、および乱数を出力するQ端子を有するD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項11】
前記乱数化回路は、前記リング発振器の出力を受けるD端子、外部からの発振信号を受けるCK端子、および乱数を出力するQ端子を有するD型フリップフロップを備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項12】
前記シュミット・インバータは、
入力端子と、
出力端子と、
ゲートが前記入力端子に接続され、ソースが駆動電源に接続される第1のpチャネルMOSFETと、
ゲートが前記入力端子に接続され、ソースが前記第1のpチャネルMOSFETのドレインに接続される第2のpチャネルMOSFETと、
ゲートが前記入力端子に接続され、ドレインが前記第2のpチャネルMOSFETのドレインに接続される第1のnチャネルMOSFETと、
ゲートが前記入力端子に接続され、ドレインが前記第1のnチャネルMOSFETのソースに接続され、ソースが接地される第2のnチャネルMOSFETと、
ソースが前記第1のpチャネルMOSFETのドレインに接続され、ドレインが接地され、ゲートが前記出力端子に接続される第3のpチャネルMOSFETと、
ソースが前記第1のnチャネルMOSFETのソースに接続され、ドレインが前記駆動電源に接続され、ゲートが前記出力端子に接続される第3のnチャネルMOSFETと、
を備えていることを特徴とする請求項1乃至11のいずれかに記載の乱数生成回路。
【請求項13】
前記リング発振器は、前記電流ノイズ源および前記シュミット・インバータからなる組が奇数個直列に接続された直列回路であることを特徴とする請求項1乃至12のいずれかに記載の乱数生成回路。
【請求項14】
前記リング発振器は、
少なくとも1つのインバータを更に備え、前記シュミット・インバータの個数と前記インバータの個数の合計が奇数であることを特徴とする請求項1乃至12のいずれかに記載の乱数生成回路。
【請求項1】
電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも1組含むリング発振器と、
前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、
を備えていることを特徴とする乱数生成回路。
【請求項2】
前記シュミット・インバータは第1閾値電圧VHと前記第1閾値電圧よりも低い第2閾値電圧VLとを有し、Cを前記シュミット・インバータの入力ゲート容量、σを前記電流ノイズ源の電気伝導度、Δσを前記電流ノイズ源の電気伝導度σの揺らぎ、VDDを電源電圧、Tを前記リング発振器から前記シュミット・インバータを除いた部分のゲート遅延の積算値、t1を前記シュミット・インバータのゲートの電圧が前記第2閾値電圧VLから前記第1閾値電圧VHになるまでの時間、Δt1を前記電流ノイズ源の電気伝導度σがΔσだけ揺らいでいる場合の遅延時間の揺らぎとすると、前記第1閾値電圧VHおよび前記第2閾値電圧VLは、以下の関係式を満たすことを特徴とする請求項1記載の乱数生成回路。
【数1】
【請求項3】
前記電流ノイズ源はnチャネルMOSFET型電流ノイズ源であって、VHを前記シュミット・インバータの2つの閾値のうち大きい方の閾値とし、Vthを前記nチャネルMOSFET型電流ノイズ源の閾値とするとき、前記nチャネルMOSFET型電流ノイズ源のゲートに印加する電圧VGは、
VG>VH+Vth
を満たすように与えられることを特徴とする請求項1または2記載の乱数生成回路。
【請求項4】
前記電流ノイズ源はpチャネルMOSFET型電流ノイズ源であって、VLを前記シュミット・インバータの2つの閾値のうち小さい方の閾値とし、Vthを前記pチャネルMOSFET型電流ノイズ源の閾値の絶対値とするとき、前記pチャネルMOSFET型電流ノイズ源のゲートに印加する電圧VGは、
VG<VL−Vth
を満たすように与えられることを特徴とする請求項1または2記載の乱数生成回路。
【請求項5】
前記乱数化回路は、
前記リング発振器の出力を受けるCE端子、外部からの発振信号を受けるCK端子、D端子、およびQ端子を有する第1のD型フリップフロップと、
前記第1のD型フリップフロップのQ端子からの出力を反転し前記第1のD型フリップフロップのD端子に帰還する第1のインバータと、
前記リング発振器の出力を反転する第2のインバータと、
前記第2のインバータの出力を受けるCK端子、前記第1のD型フリップフロップのQ端子からの出力を受けるD端子、および乱数を出力するQ端子を有する第2のD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項6】
前記乱数化回路が受ける前記リング発振器の出力は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項5記載の乱数生成回路。
【請求項7】
前記乱数化回路は、
前記リング発振器の出力を受けるCK端子、外部からの発振信号を受けるCE端子、D端子、およびQ端子を有する第1のD型フリップフロップと、
前記第1のD型フリップフロップのQ端子からの出力を反転し前記第1のD型フリップフロップのD端子に帰還する第1のインバータと、
前記リング発振器の出力を反転する第2のインバータと、
前記第2のインバータの出力を受けるCK端子、前記第1のD型フリップフロップのQ端子からの出力を受けるD端子、および乱数を出力するQ端子を有する第2のD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項8】
外部からの前記発振信号は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項7記載の乱数生成回路。
【請求項9】
前記乱数化回路は、前記リング発振器の出力を受けるCK端子、外部からの発振信号を受けるD端子、および乱数を出力するQ端子を有するD型フリップフロップを備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項10】
前記乱数化回路は、
前記リング発振器の出力の周波数を分周する分周器と、
外部からの発振信号を受けるCK端子、前記分周器の出力を受けるD端子、および乱数を出力するQ端子を有するD型フリップフロップと、
を備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項11】
前記乱数化回路は、前記リング発振器の出力を受けるD端子、外部からの発振信号を受けるCK端子、および乱数を出力するQ端子を有するD型フリップフロップを備えていることを特徴とする請求項1乃至4のいずれかに記載の乱数生成回路。
【請求項12】
前記シュミット・インバータは、
入力端子と、
出力端子と、
ゲートが前記入力端子に接続され、ソースが駆動電源に接続される第1のpチャネルMOSFETと、
ゲートが前記入力端子に接続され、ソースが前記第1のpチャネルMOSFETのドレインに接続される第2のpチャネルMOSFETと、
ゲートが前記入力端子に接続され、ドレインが前記第2のpチャネルMOSFETのドレインに接続される第1のnチャネルMOSFETと、
ゲートが前記入力端子に接続され、ドレインが前記第1のnチャネルMOSFETのソースに接続され、ソースが接地される第2のnチャネルMOSFETと、
ソースが前記第1のpチャネルMOSFETのドレインに接続され、ドレインが接地され、ゲートが前記出力端子に接続される第3のpチャネルMOSFETと、
ソースが前記第1のnチャネルMOSFETのソースに接続され、ドレインが前記駆動電源に接続され、ゲートが前記出力端子に接続される第3のnチャネルMOSFETと、
を備えていることを特徴とする請求項1乃至11のいずれかに記載の乱数生成回路。
【請求項13】
前記リング発振器は、前記電流ノイズ源および前記シュミット・インバータからなる組が奇数個直列に接続された直列回路であることを特徴とする請求項1乃至12のいずれかに記載の乱数生成回路。
【請求項14】
前記リング発振器は、
少なくとも1つのインバータを更に備え、前記シュミット・インバータの個数と前記インバータの個数の合計が奇数であることを特徴とする請求項1乃至12のいずれかに記載の乱数生成回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2009−163539(P2009−163539A)
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願番号】特願2008−1141(P2008−1141)
【出願日】平成20年1月8日(2008.1.8)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度独立行政法人情報通信研究機構「高度情報セキュリティに向けた真性乱数生成用集積回路の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願日】平成20年1月8日(2008.1.8)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度独立行政法人情報通信研究機構「高度情報セキュリティに向けた真性乱数生成用集積回路の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]