JP3604658B2 - Random number generation circuit - Google Patents
Random number generation circuit Download PDFInfo
- Publication number
- JP3604658B2 JP3604658B2 JP2001294835A JP2001294835A JP3604658B2 JP 3604658 B2 JP3604658 B2 JP 3604658B2 JP 2001294835 A JP2001294835 A JP 2001294835A JP 2001294835 A JP2001294835 A JP 2001294835A JP 3604658 B2 JP3604658 B2 JP 3604658B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- circuit
- level
- output
- uncertain
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、乱数生成回路に関し、特に、デジタル論理回路によりコンパクトに構成することが可能でしかも真性度が高い乱数を発生し、暗号アルゴリズムに用いても好適な乱数生成回路に関する。
【0002】
【従来の技術】
デジタル乱数は、確率過程を伴う現象のシミュレーションや、セキュリティーに用いる暗号アルゴリズムでの暗号鍵の生成などに用いられる。従来、デジタル乱数としては、CPUで計算によって作られる「擬似乱数」が用いられてきた。この疑似乱数は、典型的には、「フィードバックシフトレジスタ」と呼ばれる論理回路で作られる。
【0003】
これに対して、抵抗やダイオードに発生する雑音を使って乱数を作り出す方式も実用化されている。この場合、乱数に偏りや周期性などは見られなくなり、「真性乱数」に近いものが得られる。このタイプの乱数生成回路においては、雑音源の素子に一定電流を流して発生する雑音をハイパスフィルター回路に通して、AC成分を取り出し、それをアナログ回路で増幅したのち、AD変換してデジタル化する。このとき、ある値を閾値として、それを越えるものを「1」、それ以下のものを「0」というようにする。さらに、出てきた乱数列は偏りが出るため、それをデジタル回路で補正してから用いる場合が多い。
【0004】
【発明が解決しようとする課題】
CPUで作る擬似乱数は、初めに与えた数字(種)が同じであれば、同じ乱数を発生させてしまうことや、レジスタの個数に基づく周期性をもってしまうため、乱数としては適当でないことが知られている。特に、セキュリティーに用いる場合には、「暗号鍵」を破られる危険性を産む原因となる。
【0005】
一方、雑音を増幅するタイプだと、一般的に抵抗やダイオードの熱雑音やショット雑音はアナログ信号であり、また出力が小さいために、アナログ増幅回路の構成が大規模となり、集積化、小型化が困難である。特に、暗号セキュリティー機能を搭載したICカード等の小型機器に組み込むことは困難である。
【0006】
つまり、周期性を持たない質の高い乱数を発生させ、かつ小型の集積回路が必要とされつつある。
【0007】
小型化のためには、TTLやCMOS等のデジタル回路で構成することが望ましい。しかし、デジタル回路は、基本的にある入力に対して同一の出力を与えるので、アルゴリズム的な処理で乱数を作ることしかできない。このため、フィードバックシフトレジスタと同様に疑似乱数しか作り出せない。
【0008】
この矛盾を解決するためには、デジタル回路で、出力が不確定になる回路を作る必要がある。
【0009】
本発明は、かかる課題の認識に基づいてなされたものである。すなわち、その目的は、真性度の高い乱数を発生させ、かつ小型の集積回路化が可能な乱数生成回路を提供することにある。
【課題を解決するための手段】
上記目的を達成するため、本発明の一態様によれば、不確定なデジタル信号列を生成する不確定出力回路を備え、前記不確定出力回路は、「0」レベルと「1」レベルとを交互に出力し、前記「0」レベルと前記「1」レベルをそれぞれ保持する時間を決定するMOSトランジスタのチャネル抵抗が時間とともに変動することにより、前記「0」レベルと前記「1」レベルを保持する時間のいずれかが変動するマルチバイブレータを有し、
前記MOSトランジスタは、複数の電子トラップが形成されたゲート絶縁膜を有し、チャネルを通過する電子が前記ゲート絶縁膜をトンネルして前記トラップに捕獲され、また前記トラップに捕獲された電子がチャネルにトンネルできるものとして構成されていることを特徴とする乱数生成回路が提供される。
またここで、前記ゲート絶縁膜は、シリコンのナノクリスタルを分散させたシリコン酸化膜からなるものとすることができる。
または、前記ゲート絶縁膜は、窒化酸化シリコンからなるものとすることもできる。
または、前記ゲート絶縁膜は、膜の内部に欠陥及び不純物の少なくともいずれかが層状に導入されてなるものとすることができる。
【0010】
上記構成によれば、マルチバイブレータを構成する素子の特性の変動に応じた不確定な信号列が得られ、乱数生成回路を少ない論理ゲート数で構成できるので、小規模な回路で済む。
【0011】
また、本発明の他の一態様によれば、不確定なデジタル信号列を生成する不確定出力回路を備え、前記不確定出力回路は、「0」レベルと「1」レベルとを交互に出力し、前記「0」レベルと前記「1」レベルをそれぞれ保持する時間を決定するフォトダイオードの抵抗が時間とともに変動することにより、前記「0」レベルと前記「1」レベルを保持する時間のいずれかが変動するマルチバイブレータを有し、
前記フォトダイオードは、サブマイクロメータサイズのゲートを有するMOSFETのドレインに高電圧を加えてホットエレクトロンを生じさせそれが緩和する過程で生ずる発光に応答して前記抵抗を変化させることを特徴とする乱数生成回路が提供される。
【0012】
ここで、前記不確定出力回路は、前記マルチバイブレータから出力される前記「0」レベルと前記「1」レベルとの信号列を一定の周期で読み取るカウンタをさらに有するものとすれば、マルチバイブレータからの信号列から不確定なデジタル信号列を得ることができる。
【0013】
また、前記カウンタが読み取る前記一定の周期は、前記マルチバイブレータから出力される前記「0」レベルと前記「1」レベルとの信号列における平均的な遷移の周期よりも十分に長いものとすれば、マルチバイブレータから出力される信号列の周期性の影響を排除することができる。
【0014】
また、前記不確定出力回路から出力される前記不確定なデジタル信号列における「0」と「1」の出現頻度をカウントするカウント回路と、前記カウント回路によりカウントした前記出現頻度に基づいたフィードバック信号を前記マルチバイブレータの前記回路要素に与えるフィードバック回路と、をさらに備えたものとすれば、不確定出力回路からのデジタル出力列における「偏り」を抑制することができる。
【0015】
また、前記不確定出力回路から出力された前記不確定なデジタル信号列に含まれる複数のデジタル信号の排他的論理和を演算しその演算結果を乱数として出力する論理演算回路をさらに備えたものとすれば、「偏り」のない乱数が得られる。
【0016】
または、「0」と「1」との出現頻度が1:1であるデジタル信号列と、前記不確定出力回路から出力される前記不確定なデジタル信号列と、の排他的論理和を演算しその演算結果をデジタル乱数列として出力する論理演算回路をさらに備えたものとすれば、「偏り」のない乱数列が得られる。
【0017】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について詳細に説明する。
【0018】
図1は、本発明の乱数生成回路の要部構成を表すブロック図である。
【0019】
すなわち、本発明の乱数生成回路は、不確定出力回路10と、その出力を受ける一様化回路20とを備える。
【0020】
不確定出力回路10は、デジタル回路で構成した無安定マルチバイブレータ10Aとカウンタ10Bとを有する。無安定マルチバイブレータ10Aは、その振動周期を決定する抵抗の抵抗値あるいはコンデンサの容量が、物理現象に基づいて時間的に揺らぎやすいような素子が導入されており、マルチバイブレータの振動周期が時間的に不規則に変動するようにされている。
【0021】
そして、このように不規則に揺らいでいるバイブレータ信号をカウンタ10Bが一定のクロックで読み出すことにより、「0」と「1」のランダムなデジタル信号列を得ることができる。
【0022】
この方法で得られた「0」と「1」とのデジタル信号列の配列は、マルチバイブレータを構成する素子の特性に依存しているので、「0」と「1」の出現頻度に「偏り」が生ずる場合がある。
【0023】
そこで、このような場合には、一様化回路20において、それらを再度デジタル処理して、偏りを無くして真性度の高いデジタル乱数を得る。
【0024】
このようにすれば、乱数生成回路を少ない論理ゲート数で構成できるので、小規模な回路で済む。「0」と「1」の頻度を補正する回路も、比較的小規模な論理回路で構成可能である。
【0025】
また、本発明においては、一様化回路20は必須ではなく、不確定出力回路10から出力されるデジタル乱数列が十分に一様であるような場合には、一様化回路20を設ける必要はない。
【0026】
以下、本発明の不確定出力回路10において用いる無安定マルチバイブレータについて説明する。
【0027】
図2は、通常「無安定マルチバイブレータ」と呼ばれるデジタル回路を表す模式図である。この無安定マルチバイブレータは、フリップフロップ型に接続された2つのNAND回路11、12に、抵抗R1、R2とコンデンサC1、C2とがそれぞれ接続された構成を有する。
【0028】
このマルチバイブレータは、B側のコントロール入力をONすると、動作が開始する。すなわち、始めにB側のコントロール入力が「0」である(すなわち、コンデンサC2が空)とすると、NAND回路12の出力が「1」になり、A側にあるコンデンサC1を充電し始める。あるところまで充電が進むと、A側の入力が「0」となるので、A側のNAND回路11の出力は「1」となり、今度はB側のコンデンサC2を充電し始める。これが交互に繰り返されるので、A側のNAND回路11の出力は、「1」と「0」とを交互に繰り返したものとなる。
【0029】
この繰り返しの周期は、コンデンサC1、C2の充電時間で決まり、コンデンサの容量と抵抗R1、R2の大きさの積、すなわち(C×R)に比例する。
【0030】
図2に表したマルチバイブレータの場合、繰り返しの周期は およそ0.7(C1R1+C2R2) となる。
【0031】
本発明においては、この繰り返し周期が変動するように独特の素子を配置する。
【0032】
図3は、本発明の乱数発生回路において用いるマルチバイブレータの要部構造を例示する模式図である。
【0033】
すなわち、同図に表した無安定マルチバイブレータは、抵抗R1、R2の少なくともいずれかを、チャネル抵抗が時間的な揺らぎを持つ特殊なMOSトランジスタ14に置換た構造を有する。
【0034】
図4は、MOSトランジスタ14の要部構造を例示する概念図である。
【0035】
このMOSトランジスタのゲート絶縁膜14Gには、複数の電子トラップTが形成されている。チャネル14C中を通過する電子は、絶縁膜14Gをトンネルして頻繁にトラップTに捕獲され、また捕獲されている電子がチャネル14Cにトンネルできるように、素子パラメータが調節されている。
【0036】
電子トラップTは、例えば、シリコン酸化膜の絶縁膜中にシリコンのナノクリスタルを分散させたり、電子トラップの多いSiONx(窒化酸化シリコン)を絶縁膜14Gとして用いたりすることで形成することができる。
【0037】
または、絶縁膜14Gの形成の途中で中断し、異なるガス雰囲気などに晒すことにより、欠陥や不純物を導入することによっても、電子トラップTを絶縁膜14Gの中に形成することが可能である。
【0038】
トラップTに電子がトラップされると、クーロン相互作用によって、絶縁膜14Gとの界面付近のチャネル14Cを移動する電子が散乱を受け、チャネル抵抗が上昇する。
【0039】
従って、このMOSトランジスタ14の設計にあたっては、チャネル14Cを薄く絞ることにより、電子トラップTへの電子の捕獲と脱離によって、MOSトランジスタのチャネル抵抗が、その平均値に対して数十%程度揺らぐように、初期ゲート電圧を調整しておくことが望ましい。また、ゲート幅(チャネル幅)が狭いほど、チャネル抵抗の変動率が大きくなるので、ゲート幅の狭いMOSFETが望ましい。
【0040】
マルチバイブレータの周期は、コンデンサC1、C2の容量とMOSトランジスタ14のチャネル抵抗で(より厳密には、トランジスタ14の寄生容量も影響する)決まるので、トランジスタのチャネル抵抗が数十%揺らぐと、マルチバイブレータの周期も数十%揺らぐ。
【0041】
図5は、トランジスタのチャネル抵抗が時間的に揺らいでいる状態を表す模式図である。この「揺らぎ」の頻度あるいはピッチは、当然のことながら一定ではなく、またその振幅も一定ではない。「揺らぎ」の発生頻度は、トラップTへの電子の捕獲頻度と、トラップTにおける電子の滞在時間に依存する。従って、「揺らぎ」の発生頻度が最適な範囲となるように、トラップTの種類やその形成条件を調節することができる。
【0042】
MOSFET以外にも、フォトトランジスタやフォトダイオードを使うことも出来る。図11にPIN型フォトダイオードを使う例を示す。フォトダイオード21は微弱な光を感知して、光電流に変換する素子である。その原理に基づき、光があたるとその光量によって抵抗が著しく変化する。そこで、フォトダイオードの近くに小型のLED型の発光素子22を設置しておき、マルチバイブレータ回路を動かすための制御電圧で発光素子が動作するようにしておく。発光素子の光量は、ノイズなどにより変動するので、その変動に応答してフォトダイオードは抵抗成分を変化させるので、マルチバイブレータの周期もそれにつれて変動する。発光素子22の光量は微弱で良いので、サブμmサイズのゲートを有するMOSFETのドレインに高電界を加えてホットエレクトロンを生じさせ、それが緩和する過程での発光を使っても良い。
【0043】
さて、本発明においては、このように「揺らぎ」が生ずるトランジスタ14を設けることにより、無安定マルチバイブレータの動作を不安定化させる。
【0044】
図6は、本発明における無安定マルチバイブレータから得られる出力信号を例示する概念図である。このように一定周期でないデジタル信号の変化を、この変化の周期よりも十分長い周期のカウンタ10Bで読み取ると、その値は1ビットの乱数列となる。
【0045】
ここで、カウンタ10Bの読み取り周期をマルチバイブレータ10Aの出力信号の変化の周期よりも十分に長くするのは、得られる乱数列に周期性が生ずるのを防ぐためである。周期性を十分に低下させるためには、マルチバイブレータ10Aの出力信号の変化の周期に対して、カウンタ10Bの読み取りの周期を
10倍あるいはそれ以上とすることが望ましい。
【0046】
このようにして得られたデジタル乱数列が十分に一様であるような場合には、これをそのまま、乱数列して利用することができる。
【0047】
一方、このようにして得られた乱数列の「0」と「1」の出現確率に「偏り」が見られる場合には、一様化回路20において、「偏り」を補正する。
【0048】
そこで、次に、一様化回路20について説明する。
【0049】
図7は、本実施例における一様化回路の動作を説明するための概念図である。
【0050】
同図に表したように、不確定出力回路10の出力を時系列的に、Qn、…Qn+kとして、これらのk+1個のデータにXOR(排他的論理和)の論理演算を施す。その結果をTとする。不確定出力回路1の出力において、「1」の出現確率をp、「0」の出現確率を1−pとすると、Tが1となる確率は、
0.5+0.5・(1−2p)k+1
となる。kが大きくなるほど、確率が0.5に近づき、偏りが補正される。
【0051】
前述した第1実施例において実際に試作したSR−FFでは、「偏り」が大きくほぼp=0.1であった。k=10の場合、Tが1となる確率は0.543となり、K=20の場合、0.505、K=30の場合、0.5005と0.5に近づき、ほとんど「偏り」がなくなる。
【0052】
kが大きくなると、乱数の生成速度が遅くなってしまうが、例えば電源をON、OFFする周期を30MHzにすると、k=30としても約1Mbit/秒の速度でデジタル乱数列を生成することができるので、実用上は問題とならない場合が多い。
【0053】
また、このようにして得られた乱数列データをフィードバックシフトレジスタのシード(種)に使っても良い。
【0054】
また、以下に説明するような方法を用いれば、簡便に「0」と「1」の出現確率を均等にすることができる。
【0055】
すなわち、デジタル信号Pが「1」になる確率をp、デジタル信号Qが「1」になる確率をqとすると、PとQとの排他的論理和(XOR)の演算値Tが「1」となる確率と、「0」となる確率の差は、次式により表される。
4(0.5−p)(0.5−q)・・・(1)
従って、「Pが「1」になる確率が0.5」であれば、Qが「1」になる確率が1/2でなくても、PとQとの排他的論理和の演算値Tの「0」と「1」の出現確率は等しくなる。
【0056】
ここで、図10に表したように、カウンタ10Bへの入力信号を分岐してT型のフリップフロツプ20Bに入れると、周期が2倍の信号になり、これは不確定出力回路10の出力と同じタイミングで「0」と「1」とが交互に並ぶ信号となる。この信号は、当然に「0」と「1」の出現率が等しい。従って、この信号と不確定出力回路10の信号との排他的論理和をとると、その演算出力Tにおいては当然に「0」と「1」の出現確率が等しく、真性度の高いデジタル乱数列として用いることができる。
【0057】
また、図11に表したように、フィードバックシフトレジスタ(FSR)20Cにより、カウンタ10Bと同じクロックで作った擬似乱数Rは、「0」と「1」とを均等に出力するので、これと不確定出力回路10の出力との排他的論理和をとると、その演算値Tは「0」と「1」の出現率が等しく、真性度の高いデジタル乱数列として用いることができる。
【0058】
一方、本発明においては、不確定出力回路10の出力をモニタしフィードバックをかけることによっても「偏り」を補正することができる。
【0059】
図10は、このような乱数生成回路の要部構成を表す模式図である。
【0060】
本具体例においては、無安定マルチバイブレータのトランジスタ14のゲート14Gに、一様化回路20がフィードバックを加える。このようなフィードバックにより、不確定フリップフロップの「0」と「1」の出現確率を均等に近くすることができる。
【0061】
すなわち、同図において、不確定出力回路10の出力をデジタルカウンタ20Dでカウントしておき、「0」と「1」のカウントの差分に応じて、フィードバック回路20Eが所定のゲート電圧をマルチバイブレータのMOSトランジスタのゲート14Gに印加する。
【0062】
すると、MOSトランジスタ14のチャネル抵抗の相対的な揺らぎの大きさが調節され、「偏り」を修正することが可能である。
【0063】
この場合にも、図7乃至図9に関して前述したように、「偏り」をなくす論理回路を組み合わせると、乱数の「偏り」をさらに小さくできる。この場合、前述したXORをとるデータkの数が少なくて済むので、乱数の生成速度を上げることができる。
【0064】
以上、具体例を例示しつつ本発明の実施の形態について説明した。しかし、本発明は、上述した各具体例に限定されるものではない。
【0065】
例えば、本発明において用いる不確定出力回路および一様化回路の具体的な構成に関しては、上記の具体例に限定されず、その機能あるいは作用が同様な全ての回路に置換したものも本発明の範囲に包含される。
【0066】
また、上述した具体例においては、マルチバイブレータ10Aの一方のNAND回路だけにMOSトランジスタを配置した場合を例示したが、A側とB側の両方に設けても良い。
【0067】
また、マルチバイブレータの容量C1、C2のいずれかが時間的に変動するようにしてもよい。
【0068】
また、本発明においては、無安定マルチバイブレータに限らず、「単安定マルチバイブレータ」や「双安定マルチバイブレータ」を用いても同様の不安定な出力を形成させることができ、これらも本発明の範囲に包含される。
【0069】
さらに、前述した複数の実施例のうち、不確定出力のデジタル回路と、デジタル出力の頻度を補正する回路とを部分的に組み合わせたものも、乱数生成回路として使用可能であり、本発明の範囲に包含される。
【0070】
また、本発明の乱数生成回路によって作られたデジタル乱数は、そのまま使用することもできるが、フィードバックシフトレジスタの種として用いることにより、新たな乱数を生成することもできる。
【0071】
【発明の効果】
以上詳述したように、本発明によれば、無安定マルチバイブレータにおいて、その出力を不安定とする素子を導入することにより、乱数生成回路を少ない論理ゲート数で構成できるので、小規模な回路で済む。
【0072】
また同時に、「0」と「1」の頻度を補正する一様化回路も、比較的小規模な論理回路で構成可能である。
【0073】
そして、乱数の元になる現象は、無安定マルチバイブレータ10Aを構成する素子の物理現象に基づくものであるので、同一の入力に対して、不確定の出力が得られるため、乱数列に周期性が出ず、乱数を推定可能な疑似乱数とは異なる質の高い乱数を得ることができる。
【0074】
すなわち、本発明によれば、真性度が高い乱数をコンパクト且つ低価格で実現できるようになり、例えばICカードなどに応用してセキュリティの確実な安価なカードシステムを実現できることができる点で産業上のメリットは多大である。
【図面の簡単な説明】
【図1】本発明の乱数生成回路の要部構成を表すブロック図である。
【図2】通常「無安定マルチバイブレータ」と呼ばれるデジタル回路を表す模式図である。
【図3】本発明の乱数発生回路において用いるマルチバイブレータの要部構造を表す模式図である。
【図4】MOSトランジスタ14の要部構造を例示する概念図である。
【図5】トランジスタのチャネル抵抗が時間的に揺らいでいる状態を表す模式図である。
【図6】本発明における無安定マルチバイブレータから得られる出力信号を例示する概念図である。
【図7】本発明における一様化回路の動作を説明するための概念図である。
【図8】一様化回路のもうひとつの具体例を表す模式図である。
【図9】一様化回路のもうひとつの具体例を表す模式図である。
【図10】本発明の具体例の乱数生成回路の要部構成を表す模式図である。
【図11】フォトダイオードを用いたマルチバイブレータを表す模式図である。
【符号の説明】
10 不確定出力回路
10A 無安定マルチバイブレータ
10B カウンタ
11、12 NAND回路
14 トランジスタ
12C チャネル
12G ゲート絶縁膜
20 一様化回路
20A XOR回路
20B フリップフロツプ
20C FSR
20D デジタルカウンタ
20E フィードバック回路
T トラップ
21 フォトダイオード
22 発光素子[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a random number generation circuit, and more particularly to a random number generation circuit that can be compactly configured by a digital logic circuit, generates random numbers with a high degree of authenticity, and is suitable for use in an encryption algorithm.
[0002]
[Prior art]
The digital random number is used for simulation of a phenomenon involving a stochastic process, generation of an encryption key by an encryption algorithm used for security, and the like. Conventionally, as a digital random number, a “pseudo random number” generated by calculation by a CPU has been used. This pseudo random number is typically created by a logic circuit called a “feedback shift register”.
[0003]
On the other hand, a method of generating a random number using noise generated in a resistor or a diode has been put to practical use. In this case, no bias or periodicity is found in the random numbers, and a value close to a “true random number” is obtained. In this type of random number generation circuit, the noise generated by passing a constant current through the noise source element is passed through a high-pass filter circuit to extract the AC component, which is then amplified by an analog circuit, and then converted by AD and digitized. I do. At this time, a certain value is set as a threshold value, a value exceeding the threshold value is set to “1”, and a value below it is set to “0”. Furthermore, since the random number sequence that has appeared is biased, it is often used after correcting it with a digital circuit.
[0004]
[Problems to be solved by the invention]
It is known that the pseudorandom number generated by the CPU is not suitable as a random number because the same random number is generated if the initially given number (seed) is the same, or it has periodicity based on the number of registers. Have been. In particular, when used for security, this may cause the risk of breaking the "encryption key".
[0005]
On the other hand, in the case of a type that amplifies noise, the thermal noise and shot noise of resistors and diodes are generally analog signals, and the output is small. Is difficult. In particular, it is difficult to incorporate it into a small device such as an IC card equipped with an encryption security function.
[0006]
That is, there is a need for a small-sized integrated circuit that generates high-quality random numbers having no periodicity.
[0007]
In order to reduce the size, it is desirable to configure a digital circuit such as TTL or CMOS. However, a digital circuit basically gives the same output to a certain input, and therefore can only generate random numbers by algorithmic processing. For this reason, only a pseudo random number can be generated similarly to the feedback shift register.
[0008]
In order to solve this inconsistency, it is necessary to create a digital circuit whose output is uncertain.
[0009]
The present invention has been made based on the recognition of such a problem. That is, an object of the present invention is to provide a random number generation circuit that generates random numbers with a high degree of trueness and that can be formed into a small-sized integrated circuit.
[Means for Solving the Problems]
In order to achieve the above object, according to one embodiment of the present invention, there is provided an uncertain output circuit for generating an uncertain digital signal sequence, wherein the uncertain output circuit sets a “0” level and a “1” level. The "0" level and the "1" level are held by the channel resistance of the MOS transistor which outputs alternately and determines the time for holding the "0" level and the "1" level respectively fluctuates with time. Have a multivibrator that varies in any of the times
The MOS transistor has a gate insulating film in which a plurality of electron traps are formed. Electrons passing through a channel tunnel through the gate insulating film and are captured by the trap. A random number generation circuit characterized in that the random number generation circuit is configured to be capable of tunneling to a random number.
Here, the gate insulating film may be formed of a silicon oxide film in which silicon nanocrystals are dispersed.
Alternatively, the gate insulating film can be made of silicon nitride oxide.
Alternatively, the gate insulating film may be formed by introducing at least one of a defect and an impurity into a layer inside the film.
[0010]
According to the above configuration, an uncertain signal sequence corresponding to the variation in the characteristics of the elements constituting the multivibrator can be obtained, and the random number generation circuit can be configured with a small number of logic gates, so that a small-scale circuit is sufficient.
[0011]
According to another aspect of the present invention, there is provided an uncertain output circuit for generating an uncertain digital signal sequence, wherein the uncertain output circuit alternately outputs a “0” level and a “1” level. Then, when the resistance of the photodiode that determines the time for holding the “0” level and the “1” level changes with time, either of the time for holding the “0” level and the time for holding the “1” level is reduced. Has a multi-vibrator that fluctuates,
The photodiode is characterized in that a high voltage is applied to a drain of a MOSFET having a submicrometer-sized gate to generate hot electrons, and the resistance changes in response to light emission generated in the process of relaxing the hot electrons. A generation circuit is provided.
[0012]
Here, if the indeterminate output circuit further includes a counter that reads the signal sequence of the “0” level and the “1” level output from the multivibrator at a constant cycle, An uncertain digital signal sequence can be obtained from the above signal sequence.
[0013]
Further, if the constant period read by the counter is sufficiently longer than an average transition period in the signal sequence of the “0” level and the “1” level output from the multivibrator, In addition, the influence of the periodicity of the signal train output from the multivibrator can be eliminated.
[0014]
A count circuit that counts the frequency of occurrence of “0” and “1” in the uncertain digital signal sequence output from the uncertain output circuit; and a feedback signal based on the occurrence frequency counted by the count circuit. And a feedback circuit that provides the circuit element of the multivibrator with the above-mentioned configuration, it is possible to suppress the “bias” in the digital output string from the indeterminate output circuit.
[0015]
A logic operation circuit for calculating an exclusive OR of a plurality of digital signals included in the uncertain digital signal sequence output from the uncertain output circuit and outputting the operation result as a random number; Then, random numbers without "bias" can be obtained.
[0016]
Alternatively, an exclusive OR of a digital signal sequence in which the appearance frequency of “0” and “1” is 1: 1 and the uncertain digital signal sequence output from the uncertain output circuit is calculated. If a logic operation circuit that outputs the operation result as a digital random number sequence is further provided, a random number sequence without “bias” can be obtained.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0018]
FIG. 1 is a block diagram illustrating a main configuration of a random number generation circuit according to the present invention.
[0019]
That is, the random number generation circuit of the present invention includes an
[0020]
The
[0021]
Then, the
[0022]
Since the arrangement of the digital signal sequence of “0” and “1” obtained by this method depends on the characteristics of the elements constituting the multivibrator, the appearance frequency of “0” and “1” is “biased”. May occur.
[0023]
Therefore, in such a case, the uniforming
[0024]
With this configuration, the random number generation circuit can be configured with a small number of logic gates, so that a small-scale circuit is sufficient. A circuit for correcting the frequency of “0” and “1” can also be configured by a relatively small-scale logic circuit.
[0025]
In the present invention, the equalizing
[0026]
Hereinafter, the astable multivibrator used in the
[0027]
FIG. 2 is a schematic diagram showing a digital circuit usually called an “astable multivibrator”. This astable multivibrator has a configuration in which resistors R1, R2 and capacitors C1, C2 are respectively connected to two
[0028]
The operation of the multivibrator starts when the control input on the B side is turned on. That is, if the control input on the B side is initially “0” (ie, the capacitor C2 is empty), the output of the
[0029]
The cycle of this repetition is determined by the charging time of the capacitors C1 and C2, and is proportional to the product of the capacitances of the capacitors and the magnitudes of the resistors R1 and R2, ie, (C × R).
[0030]
In the case of the multivibrator shown in FIG. 2, the repetition cycle is about 0.7 (C1R1 + C2R2).
[0031]
In the present invention, unique elements are arranged so that the repetition period varies.
[0032]
FIG. 3 is a schematic view illustrating the main structure of the multivibrator used in the random number generation circuit of the present invention.
[0033]
That is, the astable multivibrator shown in the figure has a structure in which at least one of the resistors R1 and R2 is replaced by a
[0034]
FIG. 4 is a conceptual diagram illustrating the main structure of the
[0035]
A plurality of electron traps T are formed on the
[0036]
The electron trap T can be formed by, for example, dispersing silicon nanocrystals in an insulating film of a silicon oxide film, or using SiON x (silicon oxynitride) having many electron traps as the insulating
[0037]
Alternatively, the electron trap T can be formed in the insulating
[0038]
When electrons are trapped in the trap T, electrons moving on the
[0039]
Therefore, in designing the
[0040]
The cycle of the multivibrator is determined by the capacitances of the capacitors C1 and C2 and the channel resistance of the MOS transistor 14 (more strictly, the parasitic capacitance of the
[0041]
FIG. 5 is a schematic diagram illustrating a state where the channel resistance of the transistor fluctuates with time. Naturally, the frequency or pitch of this "fluctuation" is not constant, and its amplitude is not constant either. The frequency of occurrence of the “fluctuation” depends on the frequency of trapping electrons in the trap T and the staying time of the electrons in the trap T. Therefore, the type of the trap T and the conditions for forming the trap T can be adjusted so that the frequency of occurrence of “fluctuation” is in an optimum range.
[0042]
Besides the MOSFET, a phototransistor or a photodiode can be used. FIG. 11 shows an example in which a PIN photodiode is used. The
[0043]
In the present invention, the operation of the astable multivibrator is destabilized by providing the
[0044]
FIG. 6 is a conceptual diagram illustrating an output signal obtained from the astable multivibrator according to the present invention. When a change in the digital signal that is not a fixed cycle is read by the
[0045]
Here, the reason why the reading cycle of the
[0046]
If the digital random number sequence obtained in this manner is sufficiently uniform, it can be used as it is as a random number sequence.
[0047]
On the other hand, if there is a “bias” in the appearance probabilities of “0” and “1” in the random number sequence thus obtained, the “bias” is corrected in the
[0048]
Therefore, next, the equalizing
[0049]
FIG. 7 is a conceptual diagram for explaining the operation of the equalizing circuit in the present embodiment.
[0050]
As shown in the figure, the outputs of the
0.5 + 0.5 · (1-2p) k + 1
It becomes. As k increases, the probability approaches 0.5, and the bias is corrected.
[0051]
In the SR-FF actually prototyped in the above-described first embodiment, the “bias” was large and almost p = 0.1. When k = 10, the probability that T becomes 1 is 0.543, when K = 20, it approaches 0.505, and when K = 30, it approaches 0.5005 and 0.5, and there is almost no “bias”. .
[0052]
When k becomes large, the generation speed of random numbers becomes slow. For example, if the power ON / OFF cycle is set to 30 MHz, even if k = 30, a digital random number sequence can be generated at a speed of about 1 Mbit / sec. Therefore, there is often no problem in practical use.
[0053]
Further, the random number sequence data thus obtained may be used as a seed of the feedback shift register.
[0054]
Also, by using the method described below, the appearance probabilities of “0” and “1” can be easily equalized.
[0055]
That is, assuming that the probability that the digital signal P becomes “1” is p and the probability that the digital signal Q becomes “1” is q, the operation value T of the exclusive OR (XOR) of P and Q becomes “1”. Is different from the probability of being “0” by the following equation.
4 (0.5-p) (0.5-q) (1)
Therefore, if "the probability that P becomes" 1 "is 0.5", the operation value T of the exclusive OR of P and Q is obtained even if the probability that Q becomes "1" is not 1/2. Have the same appearance probability of “0” and “1”.
[0056]
Here, as shown in FIG. 10, when the input signal to the
[0057]
Further, as shown in FIG. 11, the pseudo-random number R generated by the feedback shift register (FSR) 20C at the same clock as the
[0058]
On the other hand, in the present invention, "bias" can be corrected by monitoring the output of the
[0059]
FIG. 10 is a schematic diagram illustrating a main configuration of such a random number generation circuit.
[0060]
In this specific example, the equalizing
[0061]
That is, in the figure, the output of the
[0062]
Then, the magnitude of the relative fluctuation of the channel resistance of the
[0063]
Also in this case, as described above with reference to FIGS. 7 to 9, the combination of the logic circuits for eliminating the “bias” can further reduce the “bias” of the random numbers. In this case, the number of pieces of data k to be XORed can be reduced, so that the speed of generating random numbers can be increased.
[0064]
The embodiment of the invention has been described with reference to specific examples. However, the present invention is not limited to the specific examples described above.
[0065]
For example, the specific configurations of the uncertain output circuit and the unifying circuit used in the present invention are not limited to the specific examples described above, and those in which the functions or operations are replaced by all similar circuits of the present invention are also included. Included in the scope.
[0066]
Further, in the specific example described above, the case where the MOS transistor is arranged only in one of the NAND circuits of the
[0067]
Further, any one of the capacitances C1 and C2 of the multivibrator may be varied with time.
[0068]
Further, in the present invention, not only an astable multivibrator but also a similar unstable output can be formed by using a “monostable multivibrator” or a “bistable multivibrator”. Included in the scope.
[0069]
Further, among the above-described embodiments, a combination of a digital circuit having an uncertain output and a circuit for correcting the frequency of the digital output may be used as the random number generation circuit. Is included.
[0070]
The digital random number generated by the random number generation circuit of the present invention can be used as it is, but a new random number can be generated by using it as a seed of the feedback shift register.
[0071]
【The invention's effect】
As described in detail above, according to the present invention, in the astable multivibrator, by introducing an element that makes the output unstable, the random number generation circuit can be configured with a small number of logic gates. Only needs to be done.
[0072]
At the same time, a uniforming circuit for correcting the frequency of "0" and "1" can also be constituted by a relatively small-scale logic circuit.
[0073]
Since the phenomenon that causes the random number is based on the physical phenomenon of the elements constituting the
[0074]
That is, according to the present invention, a random number having a high degree of authenticity can be realized at a compact size and at a low price. For example, an inexpensive card system with secure security can be realized by applying it to an IC card or the like. The benefits are enormous.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a main configuration of a random number generation circuit according to the present invention.
FIG. 2 is a schematic diagram showing a digital circuit usually called an “astable multivibrator”.
FIG. 3 is a schematic diagram illustrating a main structure of a multivibrator used in a random number generation circuit according to the present invention.
FIG. 4 is a conceptual diagram exemplifying a main structure of a
FIG. 5 is a schematic diagram illustrating a state where channel resistance of a transistor fluctuates with time.
FIG. 6 is a conceptual diagram illustrating an output signal obtained from an astable multivibrator according to the present invention.
FIG. 7 is a conceptual diagram for explaining the operation of the equalizing circuit according to the present invention.
FIG. 8 is a schematic diagram illustrating another specific example of the uniforming circuit.
FIG. 9 is a schematic diagram illustrating another specific example of the uniforming circuit.
FIG. 10 is a schematic diagram illustrating a configuration of a main part of a random number generation circuit according to a specific example of the present invention.
FIG. 11 is a schematic diagram illustrating a multivibrator using a photodiode.
[Explanation of symbols]
Claims (10)
前記不確定出力回路は、「0」レベルと「1」レベルとを交互に出力し、前記「0」レベルと前記「1」レベルをそれぞれ保持する時間を決定するMOSトランジスタのチャネル抵抗が時間とともに変動することにより、前記「0」レベルと前記「1」レベルを保持する時間のいずれかが変動するマルチバイブレータを有し、
前記MOSトランジスタは、複数の電子トラップが形成されたゲート絶縁膜を有し、チャネルを通過する電子が前記ゲート絶縁膜をトンネルして前記トラップに捕獲され、また前記トラップに捕獲された電子がチャネルにトンネルできるものとして構成されていることを特徴とする乱数生成回路。An uncertain output circuit that generates an uncertain digital signal sequence,
The indeterminate output circuit alternately outputs a “0” level and a “1” level, and the channel resistance of the MOS transistor that determines the time for holding the “0” level and the “1” level is changed with time. Having a multivibrator in which either of the “0” level and the time for holding the “1” level fluctuates due to fluctuation,
The MOS transistor has a gate insulating film in which a plurality of electron traps are formed. Electrons passing through a channel tunnel through the gate insulating film and are captured by the trap. A random number generation circuit characterized in that the random number generation circuit is configured to be capable of tunneling to.
前記不確定出力回路は、「0」レベルと「1」レベルとを交互に出力し、前記「0」レベルと前記「1」レベルをそれぞれ保持する時間を決定するフォトダイオードの抵抗が時間とともに変動することにより、前記「0」レベルと前記「1」レベルを保持する時間のいずれかが変動するマルチバイブレータを有し、
前記フォトダイオードは、サブマイクロメータサイズのゲートを有するMOSFETのドレインに高電圧を加えてホットエレクトロンを生じさせそれが緩和する過程で生ずる発光に応答して前記抵抗を変化させることを特徴とする乱数生成回路。An uncertain output circuit that generates an uncertain digital signal sequence,
The indeterminate output circuit alternately outputs the “0” level and the “1” level, and the resistance of the photodiode that determines the time for holding the “0” level and the “1” level varies with time. By doing so, there is provided a multivibrator in which any one of the time for holding the “0” level and the “1” level fluctuates,
The random number is characterized in that the photodiode changes a resistance in response to light emission generated in the process of applying a high voltage to a drain of a MOSFET having a gate of a sub-micrometer size to generate hot electrons and relaxing the hot electrons. Generation circuit.
前記マルチバイブレータから出力される前記「0」レベルと前記「1」レベルとの信号列を一定の周期で読み取るカウンタをさらに有することを特徴とする請求項1〜5のいずれか1つに記載の乱数生成回路。The uncertain output circuit,
The counter according to any one of claims 1 to 5, further comprising a counter that reads a signal sequence of the “0” level and the “1” level output from the multivibrator at a constant cycle. Random number generation circuit.
前記カウント回路によりカウントした前記出現頻度に基づいたフィードバック信号を前記マルチバイブレータの前記回路要素に与えるフィードバック回路と、
をさらに備えたことを特徴とする請求項1〜7のいずれか1つに記載の乱数生成回路。A count circuit that counts the appearance frequency of “0” and “1” in the uncertain digital signal sequence output from the uncertain output circuit;
A feedback circuit that provides a feedback signal based on the appearance frequency counted by the counting circuit to the circuit element of the multivibrator,
The random number generation circuit according to any one of claims 1 to 7, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001294835A JP3604658B2 (en) | 2001-09-26 | 2001-09-26 | Random number generation circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001294835A JP3604658B2 (en) | 2001-09-26 | 2001-09-26 | Random number generation circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003108363A JP2003108363A (en) | 2003-04-11 |
JP3604658B2 true JP3604658B2 (en) | 2004-12-22 |
Family
ID=19116367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001294835A Expired - Fee Related JP3604658B2 (en) | 2001-09-26 | 2001-09-26 | Random number generation circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3604658B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100585552C (en) * | 2004-02-12 | 2010-01-27 | 日立超大规模集成电路系统株式会社 | Random number generation method and semiconductor integrated circuit device |
JP4365872B2 (en) | 2007-05-31 | 2009-11-18 | 株式会社東芝 | Random number generator |
JP5171315B2 (en) * | 2008-02-28 | 2013-03-27 | 株式会社東芝 | Random number generator |
WO2011039846A1 (en) | 2009-09-29 | 2011-04-07 | 株式会社 東芝 | Random number generation circuit |
JP4983991B1 (en) | 2011-04-07 | 2012-07-25 | パナソニック株式会社 | Random number generation apparatus and random number generation method |
US9329836B2 (en) | 2014-04-17 | 2016-05-03 | International Business Machines Corporation | Extracting entropy from the vibration of multiple machines |
US20150304107A1 (en) | 2014-04-17 | 2015-10-22 | International Business Machines Corporation | Extracting Entropy from Machine Vibration |
JP6472766B2 (en) * | 2016-03-16 | 2019-02-20 | 株式会社東芝 | Random number generator |
-
2001
- 2001-09-26 JP JP2001294835A patent/JP3604658B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003108363A (en) | 2003-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3604674B2 (en) | Random number generation circuit | |
US8612501B2 (en) | Method and hardware for generating random numbers using dual oscillator architecture and continuous-time chaos | |
US8738675B2 (en) | Random numbers generation using continuous-time chaos | |
US20110169580A1 (en) | Inverting gate with maximized thermal noise in random number genertion | |
JP2000066592A (en) | Random number generating apparatus | |
US20070244950A1 (en) | Method and Apparatus for Generating Random Data | |
US9430192B2 (en) | Method and system for generating random numbers | |
JP3696209B2 (en) | Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device | |
JP2009545769A5 (en) | ||
JP3604658B2 (en) | Random number generation circuit | |
Bucci et al. | Fully digital random bit generators for cryptographic applications | |
Xu et al. | A $16\times 16$ Pixel Post-Processing Free Quantum Random Number Generator Based on SPADs | |
EP1320026A1 (en) | Method for generating a random number sequence and a relative random bit generator | |
CN104778029A (en) | Method for generating an output of a random source of a random generator | |
EP1662375B1 (en) | Random number generator and method for testing the generator | |
Jin et al. | A dynamically reconfigurable entropy source circuit for high-throughput true random number generator | |
CN109683852A (en) | A kind of real random number generator | |
US7193481B2 (en) | Apparatus for providing a jittered clock signal and apparatus for providing a random bit | |
US7139397B2 (en) | Hybrid architecture for realizing a random numbers generator | |
JP3600592B2 (en) | Random number generator | |
Fujita et al. | Si nanodevices for random number generating circuits for cryptographic security | |
KR20080050220A (en) | True random number generation device using oscillator sampling method | |
Japa et al. | Low area overhead DPA countermeasure exploiting tunnel transistor‐based random number generator | |
Tannu et al. | Low power random number generator using single electron transistor | |
RU2440602C2 (en) | Generating random numbers using continuous-time chaos |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040621 |
|
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: 20040927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040929 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111008 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111008 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121008 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |