(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183424
(43)【公開日】2022-12-13
(54)【発明の名称】乱数発生器
(51)【国際特許分類】
G06F 7/58 20060101AFI20221206BHJP
【FI】
G06F7/58 680
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021090734
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】899000068
【氏名又は名称】学校法人早稲田大学
(74)【代理人】
【識別番号】100215371
【弁理士】
【氏名又は名称】古茂田 道夫
(72)【発明者】
【氏名】篠原 尋史
(72)【発明者】
【氏名】張 瑞琳
(72)【発明者】
【氏名】王 興宇
(57)【要約】
【課題】本発明は、低消費電力で良質な乱数を発生可能であり、かつノイズ注入攻撃に対する耐性が高い乱数発生器の提供を目的とする。
【解決手段】本発明の一態様に係る乱数発生器は、乱雑さの発生源となる帰還インバータ部と、上記帰還インバータ部から発生する乱雑さに基づいて乱数を生成するデジタル変換回路とを備え、上記帰還インバータ部が、1つの入力及び1つの出力を有し、上記出力の電位が上記入力の電位の反転増幅となるように構成されているインバータ回路と、上記インバータ回路の上記出力を上記入力に帰還する1又は複数の抵抗性帰還パスを有する帰還回路とを有し、少なくとも1つの上記抵抗性帰還パスのコンダクタンスが、上記インバータ回路の上記入力と上記出力との電位が静的に等しくなる平衡状態における上記インバータ回路の相互コンダクタンスより小さい。
【選択図】
図1
【特許請求の範囲】
【請求項1】
乱雑さの発生源となる帰還インバータ部と、
上記帰還インバータ部から発生する乱雑さに基づいて乱数を生成するデジタル変換回路と
を備え、
上記帰還インバータ部が、
1つの入力及び1つの出力を有し、上記出力の電位が上記入力の電位の反転増幅となるように構成されているインバータ回路と、
上記インバータ回路の上記出力を上記入力に帰還する1又は複数の抵抗性帰還パスを有する帰還回路と
を有し、
少なくとも1つの上記抵抗性帰還パスのコンダクタンスが、上記インバータ回路の上記入力と上記出力との電位が静的に等しくなる平衡状態における上記インバータ回路の相互コンダクタンスより小さい乱数発生器。
【請求項2】
上記帰還回路が、
コンダクタンスの異なる複数の抵抗性帰還パスと、
上記複数の抵抗性帰還パスから1の抵抗性帰還パスを選択する制御部と
を有する請求項1に記載の乱数発生器。
【請求項3】
1の上記抵抗性帰還パスが、複数の抵抗性素子を有し、
上記複数の抵抗性素子のうち、少なくとも1つが他の上記抵抗性帰還パスの抵抗性素子と共通に用いられている請求項2に記載の乱数発生器。
【請求項4】
1の上記抵抗性帰還パスが、直列接続された複数の抵抗性素子を有し、
上記複数の抵抗性素子のうち、2個以上の抵抗性素子のコンダクタンスが、上記インバータ回路の相互コンダクタンスより小さい請求項1、請求項2又は請求項3に記載の乱数発生器。
【請求項5】
一対の上記帰還インバータ部を備え、
上記一対の帰還インバータ部を、第1帰還インバータ部及び第2帰還インバータ部とするとき、
上記デジタル変換回路が、
上記第1帰還インバータ部及び上記第2帰還インバータ部のインバータ回路の出力と入力との間の帰還回路を経由する接続の有無を選択する第1選択回路と、
上記第1帰還インバータ部のインバータ回路の出力と上記第2帰還インバータ部のインバータ回路の入力との間及び上記第2帰還インバータ部のインバータ回路の出力と上記第1帰還インバータ部のインバータ回路の入力との間の接続の有無を選択する第2選択回路と
を有する請求項1から請求項4のいずれか1項に記載の乱数発生器。
【請求項6】
上記インバータ回路がMOSトランジスタを含み、
上記抵抗性帰還パスの抵抗性素子がMOSトランジスタで構成され、
少なくとも1つの上記抵抗性帰還パスの抵抗を構成するMOSトランジスタのゲート長に対するゲート幅比の合成値が、上記インバータ回路に含まれるMOSトランジスタの上記合成値より小さい請求項1から請求項5のいずれか1項に記載の乱数発生器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乱数発生器に関する。
【背景技術】
【0002】
IoT(Internet of Things)の進展とともにモノに対するセキュリティの要求が高まっている。この要求に答えるべく、例えばパスワードや暗号鍵に乱数を用いる方法が実用化されている。しかし、アルゴリズムに基づいて乱数を発生させるいわゆる擬似乱数では、シードが漏洩すれば容易に乱数値が再現できる。シードが漏洩しなくとも、昨今の発達したAI技術や量子コンピュータを用いることで乱数値が再現できるおそれもある。
【0003】
このため、熱雑音のような物理現象に基づく動的乱雑性を利用した乱数発生器が提案されている。このような物理現象を採用した乱数は予測不可能でランダム性が高く、上述の擬似乱数に対し真性乱数と呼ばれる。
【0004】
真性乱数を発生させる乱数発生器として、リング発振器の周波数揺らぎを利用するもの(例えば特開2010-117846号公報参照)、ラッチ回路のメタステーブル状態を利用するもの(例えば国際公開第2011/117929号参照)が公知である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010-117846号公報
【特許文献2】国際公開第2011/117929号
【発明の概要】
【発明が解決しようとする課題】
【0006】
リング発振器を利用した従来の乱数発生器は、比較的安定して良質の、すなわち0、1がほぼ均等な確率で発生する乱数を得ることができるが、回路規模が大きく、1ビット乱数を得るための消費電力が大きくなり易い。また、リング発振器の発振周波数に近い周波数の擾乱波を重畳させる、いわゆるノイズ注入攻撃を受けると、その周波数に発振周波数がロックされてしまい、乱数性が低下するという脆弱性がある。
【0007】
ラッチ回路を利用した従来の乱数発生器は、基本回路の規模が小さく消費電力が小さいが、回路のばらつき特性の性質上、0、1のいずれかの発生確率が大きくなり易く、偏った乱数となり易い。この偏りは、フィードバック制御等の補正や多数のラッチ回路を準備してそれらの排他的論理和をとることで解消可能ではあるものの、消費電力が小さいというラッチ回路を利用する本来の長所を相殺してしまう。
【0008】
本発明は、以上のような事情に基づいてなされたものであり、低消費電力で良質な乱数を発生可能であり、かつノイズ注入攻撃に対する耐性が高い乱数発生器の提供を目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様に係る乱数発生器は、乱雑さの発生源となる帰還インバータ部と、上記帰還インバータ部から発生する乱雑さに基づいて乱数を生成するデジタル変換回路とを備え、上記帰還インバータ部が、1つの入力及び1つの出力を有し、上記出力の電位が上記入力の電位の反転増幅となるように構成されているインバータ回路と、上記インバータ回路の上記出力を上記入力に帰還する1又は複数の抵抗性帰還パスを有する帰還回路とを有し、少なくとも1つの上記抵抗性帰還パスのコンダクタンスが、上記インバータ回路の上記入力と上記出力との電位が静的に等しくなる平衡状態における上記インバータ回路の相互コンダクタンスより小さい。
【0010】
当該乱数発生器は、増幅器として作用する帰還インバータ部の抵抗性帰還パスのコンダクタンスを上記インバータ回路の相互コンダクタンスより小さくすることで、帰還インバータ部に重畳する熱雑音の電圧を種として例えば発振又は減衰発振を生じさせ、振幅が大きい雑音電圧を得ることができる。この雑音電圧は、上記帰還インバータ部のインバータ回路の入力と出力との電位が静的に等しくなる平衡状態を中心に、上記入力が上記出力より大きい状態と小さい状態とを、比較的乱雑かつ偏りなく生じさせるので、良質の乱雑さ発生源となる。また、当該乱数発生器では、この振幅が大きい雑音電圧に基づいて、デジタル変換回路が乱数を生成するので、小さな回路規模、すなわち低消費電力で良質な乱数を発生可能である。さらに、当該乱数発生器では、比較的少ない周期数で振幅が大きい雑音電圧を得ることができるので、ノイズ注入攻撃を受けてもロックがかかりにくく、ノイズ注入攻撃に対する耐性が高い。
【0011】
上記帰還回路が、コンダクタンスの異なる複数の抵抗性帰還パスと、上記複数の抵抗性帰還パスから1の抵抗性帰還パスを選択する制御部とを有するとよい。このように帰還回路にコンダクタンスの異なる複数の抵抗性帰還パスを設け、上記複数の抵抗性帰還パスを利用することで、連続して乱数を得る場合の自己相関を低減できる。また、ノイズ注入攻撃に対する耐性を高めることができる。
【0012】
1の上記抵抗性帰還パスが、複数の抵抗性素子を有し、上記複数の抵抗性素子のうち、少なくとも1つが他の上記抵抗性帰還パスの抵抗性素子と共通に用いられているとよい。このように複数の抵抗性帰還パスで共通に用いられる抵抗性素子を設けることで、帰還回路を低面積化することが可能となり、消費電力をさらに低減できる。
【0013】
1の上記抵抗性帰還パスが、直列接続された複数の抵抗性素子を有し、上記複数の抵抗性素子のうち、2個以上の抵抗性素子のコンダクタンスが、上記インバータ回路の相互コンダクタンスより小さいとよい。このように直列接続された抵抗性素子を用いると、その直列接続の間の寄生容量素子等の効果により発振波の位相変化が大きくなり、熱雑音の電圧を種とした発振を生じさせ易くすることができる。種が乱雑なため、発振が生じる度に位相が乱雑にばらついた発振波を生じさせることができる。また、抵抗性素子の回路面積を比較的小さく抑えられ、かつ発振波の振幅は大きいので、デジタル変換回路の規模を小さくすることができ、消費電力をさらに低減できる。
【0014】
一対の上記帰還インバータ部を備え、上記一対の帰還インバータ部を、第1帰還インバータ部及び第2帰還インバータ部とするとき、上記デジタル変換回路が、上記第1帰還インバータ部及び上記第2帰還インバータ部のインバータ回路出力と入力との間の帰還回路を経由する接続の有無を選択する第1選択回路と、上記第1帰還インバータ部のインバータ回路の出力と上記第2帰還インバータ部のインバータ回路の入力との間及び上記第2帰還インバータ部のインバータ回路の出力と上記第1帰還インバータ部のインバータ回路の入力との間の接続の有無を選択する第2選択回路とを有するとよい。このように当該乱数発生器を上述の構成とすることで、デジタル変換回路を構成する素子特性のばらつきにより生成される乱数の偏りが生じることを抑止できる。
【0015】
上記インバータ回路がMOSトランジスタを含み、上記抵抗性帰還パスの抵抗性素子がMOSトランジスタで構成され、少なくとも1つの上記抵抗性帰還パスの抵抗を構成するMOSトランジスタのゲート長に対するゲート幅比の合成値が、上記インバータ回路に含まれるMOSトランジスタの上記合成値より小さいとよい。このように、インバータ回路及び抵抗性帰還パスの抵抗性素子にMOSトランジスタを用い、ゲート長に対するゲート幅比の合成値を上述の関係とすることで、生成される乱数の良質性を維持しつつ、集積回路に容易に実装することができる。また、トランジスタ製造技術の微細化に対応して比例縮小した回路においても、上述の関係は維持されるので、比較的簡単な設計で、容易に製造コスト、消費電力、速度における微細化の恩恵を受けることができる。
【0016】
ここで、「出力の電位が入力の電位の反転増幅となるインバータ回路」とは、入力電位変化に対する出力電位変化の微分係数が0以下であり、かつ入力と出力との電位が静的に等しくなる入力電位における上記微分係数が-1未満である、すなわち微分係数の絶対値が1より大きく増幅作用があるインバータ回路を言う。
【0017】
本明細書において帰還回路が有する「1の抵抗性帰還パス」とは、インバータ回路の出力を入力に帰還する帰還回路を形成する際に、インバータ回路の出力と入力との間に配置され、上記出力から上記入力へ至る帰還電流が流れる回路素子により構成される回路網全体を指し、特にパスを構成する抵抗性回路素子の全てが直列に接続されていることを要しない。従って、「抵抗性帰還パスのコンダクタンス」とは、抵抗性帰還パスが複数の回路素子により構成されている場合にあっては、インバータ回路の出力と入力との間に接続される回路網全体の合成コンダクタンスを指す。また、構成する回路素子の一部又は全部が共通する場合であっても回路網の形態が異なる場合は、異なる抵抗性帰還パスであると分類するものとする。
【0018】
「MOSトランジスタのゲート長に対するゲート幅比の合成値」とは、対象とするインバータ回路又は1の抵抗性帰還パスを構成する全MOSトランジスタについて、個々のMOSトランジスタのゲート長Lに対するゲート幅Wの比(W/L)を求め、並列接続されているMOSトランジスタ部分については上記W/L(対象のMOSトランジスタが合成されている場合は、その合成比。以下同じ)の和を合成比とし、直列接続されているMOSトランジスタ部分については上記W/Lの逆数の和の逆数を合成比とする合成を対象とする回路(又は回路網)の全MOSトランジスタに対して繰り返して得られる1つの合成値を指す。
【発明の効果】
【0019】
本発明の乱数発生器は、低消費電力で良質な乱数を発生可能であり、かつノイズ注入攻撃に対する耐性が高い。
【図面の簡単な説明】
【0020】
【
図1】
図1は、本発明の一実施形態に係る乱数発生器を示す模式的回路図である。
【
図2】
図2は、
図1の帰還インバータ部の動作を説明するための模式的等価回路図である。
【
図3】
図3は、
図2の帰還インバータ部のインバータ回路の出力が単調減衰する際の出力波形を示す模式的グラフである。
【
図4】
図4は、
図2の帰還インバータ部のインバータ回路の出力が減衰発振する際の出力波形を示す模式的グラフである。
【
図5】
図5は、単調減衰条件及び減衰発振条件におけるインバータ回路の出力のノイズシミュレーション結果を示すグラフである。
【
図6】
図6は、
図1の乱数発生器の外部入力端子F及びSEへの入力を示すタイミングチャートである。
【
図7】
図7は、
図1とは異なる実施形態に係る乱数発生器を示す模式的回路図である。
【
図8】
図8は、
図7の帰還インバータ部のインバータ回路の出力が発振する際の出力波形を示す模式的グラフである。
【
図9】
図9は、
図1及び
図7とは異なる実施形態に係る乱数発生器を示す模式的回路図である。
【発明を実施するための形態】
【0021】
[第1実施形態]
以下、本発明の第1の実施形態に係る乱数発生器について、適宜図面を参照しつつ説明する。
【0022】
図1に示す乱数発生器1は、乱雑さの発生源となる帰還インバータ部10と、帰還インバータ部10から発生する乱雑さに基づいて乱数を生成するデジタル変換回路20とを備える。
【0023】
<帰還インバータ部>
帰還インバータ部10は、インバータ回路10aと、帰還回路10bとを有する。
【0024】
(インバータ回路)
インバータ回路10aは、1つの入力Vin及び1つの出力Voutを有し、出力Voutの電位が入力Vinの電位の反転増幅となるように構成されている(以下、入力Vin、出力Voutを、それぞれ単に「Vin」、「Vout」ということがある)。
【0025】
インバータ回路10aは、MOSトランジスタを含む。すなわち、インバータ回路10aは、PMOSであるMOSトランジスタP
INVと、NMOSであるMOSトランジスタN
INVとを含む(以下、例えばMOSトランジスタP
INVを単に「P
INV」ともいう。他のMOSトランジスタについても同様である。PはPMOSを示し、NはNMOSを示す)。具体的には、
図1に示すように、P
INVと、N
INVとが、それぞれのドレインを接続点として接続され、P
INVのソースは電源VDD(以下、単に「VDD」ともいう)に接続され、N
INVのソースは接地されている。また、P
INV及びN
INVのゲートには、Vinが接続されており、P
INV及びN
INVのドレイン(上記接続点)には、Voutが接続されている。
【0026】
(帰還回路)
帰還回路10bは、インバータ回路10aの出力Voutを入力Vinに帰還し、コンダクタンスの異なる2つの抵抗性帰還パス11(高抵抗帰還パス11a及び低抵抗帰還パス11b)と、2つの抵抗性帰還パス11から1の抵抗性帰還パス11を選択する制御部12とを有する。抵抗性帰還パス11の抵抗性素子は、MOSトランジスタで構成されている。
【0027】
高抵抗帰還パス11aは、
図1に示すように、抵抗性素子であるON状態に固定されたトランスミッションゲートTG1(以下単に「TG1」ともいう。他の素子についても同様である)により構成されている。具体的には、TG1は、PMOSトランジスタP
TG1及びNMOSトランジスタN
TG1から構成され、そのソース同士及びドレイン同士がそれぞれ接続されている。TG1は、インバータ回路10aのVin-Vout間に配置されており(上記ソースがVinに接続され、上記ドレインがVoutに接続されており)、P
TG1のゲートは接地され、N
TG1のゲートはVDDに接続されている。つまり、P
TG1及びN
TG1は、ともにON状態に固定されている。
【0028】
一方、低抵抗帰還パス11bは、上述のTG1と、トランスミッションゲートTG2とから構成される。つまり、低抵抗帰還パス11bは、2つの抵抗性素子(TG1及びTG2)を有し、上記複数の抵抗性素子のうちの1つTG1が他の抵抗性帰還パス11である高抵抗帰還パス11aの抵抗性素子(TG1)と共通に用いられている。このように複数の抵抗性帰還パス11で共通に用いられる抵抗性素子を設けることで、帰還回路10bを低面積化することが可能となり、消費電力をさらに低減できる。
【0029】
TG2は、インバータ回路10aのVin-Vout間に配置されており、PTG1のゲートは後述する制御部12の外部入力端子Fに接続され、NTG1のゲートは外部入力端子Fの反転信号に接続されている。
【0030】
ここで、高抵抗帰還パス11aはTG1のみで構成され、低抵抗帰還パス11bはTG1とTG2との並列接続からなる回路網で構成されるから、高抵抗帰還パス11aの抵抗値は、低抵抗帰還パス11bの抵抗値よりも高い。抵抗値の逆数であるコンダクタンスで言えば、高抵抗帰還パス11aのコンダクタンスは、低抵抗帰還パス11bのコンダクタンスよりも小さい。
【0031】
制御部12は、
図1に示すように、選択する抵抗性帰還パス11を決める外部入力端子Fと、この外部入力端子Fにその入力が接続され、外部入力端子Fの反転信号を出力するインバータ素子INV1とを有する。
【0032】
INV1は、例えばCMOSインバータで実現することができる。INV1の出力は、TG2を構成するNTG1のゲートに接続されている。また、外部入力端子Fは、PTG1のゲートにも接続されている。このように構成すると、外部入力端子Fを論理値1(電源VDDの電位)とすると、NTG1のゲートにはその反転信号である論理値0(接地電位)が伝わるから、TG2がOFF状態となり、TG1のみで構成される高抵抗帰還パス11aが選択される。逆に、外部入力端子Fを論理値0とすると、TG2がON状態となり、TG1及びTG2で構成される低抵抗帰還パス11bが選択される。
【0033】
(帰還インバータ部の動作)
ここで、帰還インバータ部10の動作について説明する。
図2は、1の抵抗性帰還パス11が選択された状態の帰還インバータ部10の等価回路を示している。
図2において、C1、C2(それぞれ容量値をC1、C2で表す)は寄生容量、又は寄生容量とこれに付加された容量素子である。例えばC1には、寄生容量としてP
INVのドレイン容量、N
INVのドレイン容量、N3のゲート容量等が含まれ、C2には、寄生容量としてP
INVのゲート容量、N
INVのゲート容量、N2のゲート容量が含まれる。G1は、インバータ回路10aの入力Vinと出力Voutとの電位が静的に等しくなる平衡状態におけるインバータ回路10aの相互コンダクタンス(以下、単に「インバータ回路の相互コンダクタンス」ともいう)を表し、上記平衡状態における出力Voutの電位をVeqとして、入力Vin及び出力電流Ioutを用いて、下記式1を満たす。G2は、選択された1の抵抗性帰還パスの等価コンダクタンスである。
Iout=-(Vin-Veq)×G1 ・・・1
【0034】
図2の回路で、熱雑音等により出力Voutの電位がVeqより変動した場合の過渡応答を考えると、帰還回路10bの時定数C2/G2が、ある臨界値よりも小さい場合、
図3に示すように、ΔVout=Vout-Veqは、単調へ0に減衰していく単調減衰の挙動を示す。一方、上記時定数C2/G2を上記臨界値よりも大きくすると、
図4に示すように、ΔVoutは、発振しながら振幅が0に近づいていく減衰発振の挙動を示すようになる。
【0035】
ここで、
図2に示す寄生容量素子の容量値は一般にC1≒C2であり、この場合上記臨界値はC1/G1≒C2/G1となる。つまり、抵抗性帰還パス11のコンダクタンスG2が、インバータ回路10aの相互コンダクタンスG1より大きい場合に、時定数C2/G2は上記臨界値より小さくなり、単調減衰する。一方、抵抗性帰還パス11のコンダクタンスG2が、インバータ回路10aの相互コンダクタンスG1より小さくなると、時定数C2/G2は上記臨界値より大きくなり、減衰発振する。
【0036】
熱雑音は常時発生しており、広い周波数成分と、乱雑な振幅及び位相とを持つ。減衰発振の条件においては、その減衰波形と周波数が近い成分が強め合いΔVoutとして多数の過去の雑音電圧の累積により大きな雑音電圧を得ることができる。
図5にG1<G2の単調減衰条件(グラフ左側)及びG2<G1の減衰発振条件(グラフ右側)でのノイズシミュレーション結果を示す。減衰発振時は単調減衰時よりもVoutの電圧(グラフ上側、電圧軸は左側)の振幅は大きく、特定の周波数成分が認められるが、正弦波のような周期的な波形でなく、振幅と位相ともに乱雑である。この時、Vinの電圧(グラフ下側、電圧軸は右側)も、Voutと同様にVeq(
図5では0.33V)を中心として乱雑な振幅と位相を持ち、サイクル毎にも異なっている。
【0037】
当該乱数発生器1では、高抵抗帰還パス11aのコンダクタンスがインバータ回路10aの相互コンダクタンスより小さくなるように構成され、低抵抗帰還パス11bのコンダクタンスがインバータ回路10aの相互コンダクタンスより大きくなるように構成されている。つまり、当該乱数発生器1では、少なくとも1つの抵抗性帰還パス11のコンダクタンスが、インバータ回路10aの相互コンダクタンスより小さいという構成を満たし、高抵抗帰還パス11aを選択した場合には減衰発振が生じ、低抵抗帰還パス11bを選択した場合には単調減衰が生じる。
【0038】
インバータ回路10aの相互コンダクタンスに対する高抵抗帰還パス11aのコンダクタンスの比の上限としては、1であり、0.9がより好ましく、0.5がさらに好ましく、0.1が特に好ましい。上記コンダクタンス比を上記上限以下とすることで、大きな雑音電圧を容易に得ることができる。また、上述のように通常はC1≒C2であるが、上記コンダクタンスの比を0.9以下とすることで、C1とC2との間の開きが2倍以下である場合に、また上記コンダクタンスの比を0.5以下とすることでC1とC2との間の開きが5倍以下である場合に、減衰発振を生じさせることができるので、当該乱数発生器1を安定して動作させることができる。なお、「C1とC2との間の開きがN倍以下」とは、C1/C2≦N又はC2/C1≦Nのいずれかが成立することを意味する。
【0039】
一方、上記コンダクタンス比の下限としては、特に限定されず、理論限界値の0であってもよいが、0.01が好ましい。上記コンダクタンス比が上記下限未満であると、帰還に要する時間及びそれに伴う振幅増大のための時間が長くなり、スループット(単位時間あたりに得られる乱数の数)が小さくなり、乱数1ビットあたりの消費電力が大きくなるおそれがある。
【0040】
上述したように、当該乱数発生器1では、抵抗性帰還パス11の抵抗性素子がMOSトランジスタで構成されている。抵抗性帰還パス11のうち、コンダクタンスがインバータ回路10aの相互コンダクタンスより小さい高抵抗帰還パス11aを構成するMOSトランジスタのゲート長に対するゲート幅比の合成値が、インバータ回路10aに含まれるMOSトランジスタの上記合成値より小さいことが好ましい。具体的には、高抵抗帰還パス11aでは、TG1を構成する2つのMOSトランジスタが並列に接続されているから、その合成値X1は下記式2で表される。一方、インバータ回路10aは2つのMOSトランジスタがVDDと接地とに対して並列に接続されているから、その合成値X2は下記式3で表され、X1<X2であることが好ましい。なお、式2、式3中の添え字は、
図1で対応するMOSトランジスタを表している。
【数1】
【0041】
このように、インバータ回路10a及び抵抗性帰還パス11の抵抗性素子にMOSトランジスタを用い、ゲート長に対するゲート幅比の合成値を上述の関係とすることで、生成される乱数の良質性を維持しつつ、集積回路に容易に実装することができる。また、トランジスタ製造技術の微細化に対応して比例縮小した回路においても、上述の関係は維持されるので、比較的簡単な設計で、容易に製造コスト、消費電力、速度における微細化の恩恵を受けることができる。
【0042】
<デジタル変換回路>
デジタル変換回路20は、インバータ回路10aの入力Vin及び出力Voutの両方を入力とし、インバータ回路10aの入力Vin及び出力Voutの電位に応じた論理を出力する。
【0043】
図1に示すデジタル変換回路20は、いわゆるストロングアームラッチと呼ばれるものであり、ラッチ回路21を有している。ラッチ回路21は、第1CMOSインバータ21a及び第2CMOSインバータ21bを含み、互いに逆極性のデータを保持可能に構成されている。具体的には、第1CMOSインバータ21aの出力Qが第2CMOSインバータ21bの入力に接続され、第2CMOSインバータ21bの出力QBが第2CMOSインバータ21bの入力に接続されている。この構成によりラッチ回路21は、出力Qと出力QBとが互いに反転の状態で安定し、データが保持される。
【0044】
デジタル変換回路20は、4つのPMOSトランジスタP1、P2、P3及びP4と、3つのNMOSトランジスタN1、N2、N3と、外部入力端子SEとをさらに有している。P1は第1CMOSインバータ21aの出力Qと電源VDDとの間に、P2は第1CMOSインバータ21aを構成するNMOSトランジスタNaのソースと電源VDDとの間に、P3は第2CMOSインバータ21bの出力QBと電源VDDとの間に、P4は第2CMOSインバータ21bを構成するNMOSトランジスタNbのソースと電源VDDとの間に、それぞれ配置されている。また、P1乃至P4のゲートは、外部入力端子SEに接続されている。N1は、ソースが接地されており、ドレインはN2及びN3のソースに接続されている。N2のドレインは第1CMOSインバータ21aのNaのソースに、N3のドレインは第2CMOSインバータ21bのNbのソースに、それぞれ接続されている。さらに、N1のゲートは外部入力端子SEに、N2のゲートは帰還インバータ部10のインバータ回路10aの入力Vinに、N3のゲートは帰還インバータ部10のインバータ回路10aの出力Voutに、それぞれ接続されている。
【0045】
デジタル変換回路20の動作について説明すると、まず、SEを論理値0(接地電位)とすることで、N1をOFF状態、P1乃至P4をON状態とする。このとき、第1CMOSインバータ21aを構成するPMOSトランジスタPa及び第2CMOSインバータ21bを構成するPMOSトランジスタPbのON/OFFに関わりなく、ラッチ回路21の内部ノードは全て電源電位VDDにプリチャージされる。
【0046】
次に、帰還回路10bが減衰発振状態である、すなわち高抵抗帰還パス11aが選択されているときに、SEを論理値1(電源電位)とすると、N1がON状態、P1乃至P4がOFF状態となり、ラッチ回路21のラッチ動作が開始される。具体的には、プリチャージされた内部ノードの電位は低下していく。ここで、出力Q及びQBの電位の低下速度は、それぞれN2及びN3のオン抵抗に左右される。例えばVin>Voutの時は、N2のオン抵抗が小さくなるため、Qの電位の方が速く低下することとなり、ラッチ回路はQ=0、QB=1で安定し、データがラッチされる。逆に、Vin<Voutの時は、Q=1、QB=0で安定し、データがラッチされる。
【0047】
上述のようにインバータ回路10aのVinとVoutとはともにVeqを中心として乱雑に変化するので、Vin>Voutの状態と、Vin<Voutの状態とは乱雑に等確率で発生するから、ラッチ回路21を構成するトランジスタのばらつきが十分に小さい場合、ラッチ回路21が0を取る確率と1を取る確率とが等しい(確率0.5である)真乱数が得られる。
【0048】
一方で、ラッチ回路21を構成するトランジスタのばらつきが無視できない場合には、0又は1のいずれかが発生し易い偏りが発生し得る。ここで、トランジスタのばらつきは、電位換算で数十mVのオーダーである。一方、熱雑音自体は、典型的には数mVのオーダーであり、そのままではトランジスタのばらつきが無視できない。しかし、当該乱数発生器1では、減衰発振を利用することで、熱雑音の振幅を増幅して利用するので、トランジスタのばらつきによる影響が低減され、乱数性を向上することができる。
【0049】
なお、デジタル変換回路20の応答速度(SEを0→1としてからラッチ回路21が乱数値を取得するまでに要する時間)は、減衰発振の周期に比べて短いことが好ましい。これにより、安定して良質の乱数を得ることができる。
【0050】
<当該乱数発生器の使用方法>
当該乱数発生器1は、減衰発振を生じさせる高抵抗帰還パス11aに加えて、単調減衰を生じさせる低抵抗帰還パス11bを選択することができる。以下に、両者を使用する利点とその使用方法について説明する。
【0051】
当該乱数発生器1で、連続して乱数を得る場合、SEに対して0、1を繰り返し入力することとなる。この繰り返し間隔が短い場合、直前の乱数取得に寄与した過去の減衰発振の影響が残った状態で次の乱数を取得する場合がある。この場合、直前の乱数値との間で自己相関が生じ、乱数性が低下するおそれがある。この自己相関は、乱数を取得する周期を減衰発振の周期に対して十分に大きくすることで避け得るが、乱数発生のスループットも低下してしまう。
【0052】
低抵抗帰還パス11bを併用すると、乱数発生のスループットの低下を抑止しつつ、自己相関を低減することができる。具体的には、
図6に示すように、外部入力端子F及びSEを制御する。
図6でF=1の場合、高抵抗帰還パス11aが選択され、減衰発振が生じる。一方、F=0の場合、低抵抗帰還パス11bが選択され、単調減衰が生じる。乱数の取得(SE=0→1)は、F=1、すなわち高抵抗帰還パス11aの選択時に行われるが、次の乱数の取得の前に、低抵抗帰還パス11bを選択し(F=0)、単調減衰の期間を設ける。単調減衰の期間を設けると、減衰発振していた直前の熱雑音は速やかにVeqに収束するから、次の乱数の取得に対する影響を低減することができる。
【0053】
このように帰還回路10bにコンダクタンスの異なる複数の抵抗性帰還パス11を設け、複数の抵抗性帰還パス11を利用することで、連続して乱数を得る場合の自己相関を低減できる。また、ノイズ注入攻撃に対する耐性を高めることができる。さらに、単調減衰とする期間を設けることで、インバータ回路10aに常に流れている貫通電流の大きさを低減できるから、消費電力を低減することもできる。
【0054】
<利点>
当該乱数発生器1は、増幅器として作用する帰還インバータ部10の抵抗性帰還パス11のコンダクタンスをインバータ回路10aの相互コンダクタンスより小さくすることで、帰還インバータ部10に重畳する熱雑音の電圧を種として減衰発振させ、振幅が大きい雑音電圧を得ることができる。この雑音電圧は、帰還インバータ部10のインバータ回路10aの入力と出力との電位が静的に等しくなる平衡状態を中心に、入力Vinが出力Voutより大きい状態と小さい状態とを、比較的乱雑かつ偏りなく生じさせるので、良質の乱雑さ発生源となる。また、当該乱数発生器1では、この振幅が大きい雑音電圧に基づいて、デジタル変換回路20が乱数を生成するので、小さな回路規模、すなわち低消費電力で良質な乱数を発生可能である。さらに、当該乱数発生器1では、比較的少ない周期数で熱雑音の電圧を減衰発振させ振幅が大きい雑音電圧を得ることができるので、ノイズ注入攻撃を受けてもロックがかかりにくく、ノイズ注入攻撃に対する耐性が高い。
【0055】
[第2実施形態]
図7に示す乱数発生器2は、乱雑さの発生源となる帰還インバータ部14と、帰還インバータ部14から発生する乱雑さに基づいて乱数を生成するデジタル変換回路20とを備える。このうち、デジタル変換回路20は、第1実施形態のデジタル変換回路20と同様に構成できるので、同一符号を付し、詳細説明を省略する。
【0056】
帰還インバータ部14は、1つの入力Vin及び1つの出力Voutを有し、出力Voutの電位が入力Vinの電位の反転増幅となるように構成されているインバータ回路10aと、帰還回路14bとを有する。このうち、インバータ回路10aは、第1実施形態のインバータ回路10aと同様であるので、同一符号を付し、詳細説明を省略する。
【0057】
帰還回路14bは、インバータ回路10aの出力Voutを入力Vinに帰還する3つの抵抗性帰還パス15と、3つの抵抗性帰還パス15から1の抵抗性帰還パス15を選択する制御部16とを有する。
【0058】
制御部16は、
図7に示すように、選択する抵抗性帰還パス15を決める2つの外部入力端子F1、F2と、これらの外部入力端子F1、F2にその入力がそれぞれ接続され、外部入力端子F1、F2の反転信号を出力する2つのインバータ素子INV2、INV3とを有する。
【0059】
当該乱数発生器2では、抵抗性帰還パス15として、単調減衰を生じさせる単調減衰帰還パス15a及び減衰発振を生じさせる減衰発振帰還パス15bに加えて、発振帰還パス15cを有している。このうち減衰発振帰還パス15b及び発振帰還パス15cのコンダクタンスが、インバータ回路10aの相互コンダクタンスより小さい。すなわち、少なくとも1つの抵抗性帰還パス15のコンダクタンスが、インバータ回路10aの入力Vinと出力Voutとの電位が静的に等しくなる平衡状態におけるインバータ回路10aの相互コンダクタンスより小さい。以下、発振帰還パス15cについて説明する。なお、抵抗性帰還パス15の抵抗性素子は、MOSトランジスタで構成されている。
【0060】
(発振帰還パス)
発振帰還パス15cは、
図7に示すように2つのトランスミッションゲートTG3、TG4の直列接続により構成されている。トランスミッションゲートの構成については、第1実施形態で述べた通りである。発振帰還パス15cのTG3及びTG4は、ON状態に固定されており、他の抵抗性帰還パス15である単調減衰帰還パス15a及び減衰発振帰還パス15bの抵抗性素子と共通に用いられている。この発振帰還パス15cのコンダクタンスは、インバータ回路10aの相互コンダクタンスより小さい。また、直列接続を構成するTG3及びTG4のコンダクタンスは、それぞれインバータ回路10aの相互コンダクタンスより小さい。つまり、当該乱数発生器2では、1の抵抗性帰還パス15(発振帰還パス15c)が、直列接続された複数の抵抗性素子を有し、上記複数の抵抗性素子のうち、2個以上の抵抗性素子のコンダクタンスが、インバータ回路10aの相互コンダクタンスより小さく構成されている。
【0061】
第1実施形態における乱数発生器1では、抵抗性素子は1段である。これに対し、当該乱数発生器2では、抵抗性素子は2段であり、寄生容量とのRC回路が2段構成となる。このように2段以上のRC回路では、各RCの値を適切に制御することにより、1段のRC回路構成の場合に比べて帰還での位相変化が大きくなり、
図8に示すように、発振させることができる。この際、発振時のVoutの振幅は、電源電圧の半分程度まで増幅させることができる。
【0062】
コンダクタンスがインバータ回路10aの相互コンダクタンスより小さい発振帰還パス15cを構成するMOSトランジスタのゲート長に対するゲート幅比の合成値が、インバータ回路10aに含まれるMOSトランジスタの上記合成値より小さいことが好ましい。具体的には、下記式4で表される発振帰還パス15cの合成値X3及び下記式5で表されるインバータ回路10aの合成値X4について、X3<X4であることが好ましい。また、発振帰還パス15cを構成する2段の抵抗性素子TG3及びTG4のそれぞれの上記合成値X5、X6は、下記式6及び下記式7で表され、X5<X4かつX6<X4であることがより好ましい。なお、式4から式7中の添え字は、
図7で対応するMOSトランジスタを表している。
【数2】
【0063】
発振帰還パス15cが選択される際の外部入力端子F1、F2の論理値は、ともに1である。
【0064】
(減衰発振帰還パス)
減衰発振帰還パス15bは、発振帰還パス15cを構成するトランスミッションゲートTG3、TG4に加えて、トランスミッションゲートTG5を含む。TG5は、直列接続されている2つのトランスミッションゲートTG3、TG4のうち、インバータ回路10aの出力Voutからみて下流側に位置するTG4に対して並列に接続されている。また、TG5のゲートは、外部入力端子F2により制御されている。TG5は、外部入力端子F2を論理値0とすると、ON状態となる。つまり、減衰発振帰還パス15bが選択される際の外部入力端子F1、F2の論理値は、F1が1であり、F2が0である。
【0065】
TG4に対してTG5が並行に接続されるため、減衰発振帰還パス15bの回路網全体のコンダクタンスは、発振帰還パス15cのコンダクタンスより大きくなる。これにより減衰発振帰還パス15bは、選択されると、発振条件を満たさないように構成されている。一方、TG3を主たるコンダクタンス成分とする減衰発振帰還パス15bのコンダクタンスは、インバータ回路10aの相互コンダクタンスより小さくなるよう構成されているので、減衰発振帰還パス15bを選択すると、減衰発振が生じる。このとき、減衰発振帰還パス15bを構成するMOSトランジスタのゲート長に対するゲート幅比の合成値は、上記式5で表されるX4より小さく、かつ上記式4で表されるX3より大きい。
【0066】
(単調減衰帰還パス)
単調減衰帰還パス15aは、減衰発振帰還パス15bを構成するトランスミッションゲートTG3、TG4に加えて、少なくともトランスミッションTG6を含む。TG6は、直列接続されたTG3及びTG4に対して並列に接続される。また、TG6のゲートは、外部入力端子F1により制御されている。なお、TG6は、外部入力端子F1を論理値0とすると、ON状態となる。一方、回路網全体のコンダクタンスがインバータ回路10aの相互コンダクタンスより大きくなる限り、TG5はON状態であってもOFF状態であってもよい。つまり、F2の論理値は0又は1のいずれかが選択される。
【0067】
直列接続されたTG3及びTG4に対してTG6が並列に接続されるため、単調減衰帰還パス15aの回路網全体のコンダクタンスは、減衰発振帰還パス15bのコンダクタンスよりさらに大きくなる。これにより単調減衰帰還パス15aは、選択されると、そのコンダクタンスがインバータ回路10aの相互コンダクタンスより大きくなるように構成されており、熱雑音は単調減衰する。
【0068】
<当該乱数発生器の使用方法>
当該乱数発生器2は、単調減衰帰還パス15a、減衰発振帰還パス15b及び発振帰還パス15cの3つの抵抗性帰還パス15から1つの抵抗性帰還パス15を選択することができる。以下に、3者を使用する利点とその使用方法について説明する。
【0069】
当該乱数発生器2は、発振を生じさせる発振帰還パス15cを有しているので、熱雑音の初期の微小振幅を大きな振幅で取り出すことができる。従って、デジタル変換回路20のトランジスタのばらつきによる乱数の偏りをさらに抑止できる。ところが、第1実施形態の乱数発生器1のように、自己相関を抑止すべく単調減衰帰還パス15aから発振帰還パス15cに直接切り替えた場合、発振帰還パス15cでは切り替え時に生じる同一性の高い単発雑音を種として成長するため、毎回同じ波形で位相も揃い易い傾向にある。このため生成される乱数は0又は1に偏り易く、良質の乱数が得られないおそれがある。
【0070】
当該乱数発生器2では、減衰発振帰還パス15bを利用することでこの問題を解決することができる。すなわち、当該乱数発生器2では、まず、単調減衰帰還パス15aを選択し、単調減衰とする。この選択は、前サイクルで大振幅となったインバータ回路10aのVin及びVoutを急速にVeqに戻す役割を果たす。次に、減衰発振帰還パス15bを選択し、減衰発振を生じさせる。これによりVin、Voutの振幅を増大させることができる。減衰発振により振幅が増大すると、発振帰還パス15cに切り替える。そうすると、振幅がさらに増大し、発振が生じる。最後に、外部入力端子SEを論理値1として、その瞬間のVin-Voutの大小に応じて乱数値を取得する。このとき発振へと成長しているシードは、減衰発振により生じている雑音であるので、その都度、位相は乱雑に変化する。かつ、発振により振幅が大きく成長しているので、減衰発振帰還パス15bを利用する場合に比べて、デジタル変換回路20のMOSトランジスタのばらつきの影響が低減されるので、0、1がほぼ均等な確率で発生する乱数をさらに容易に得ることができる。なお、乱数値を取得した後には、再び単調減衰帰還パス15aを選択し、上述の手順を繰り返し行うことで、連続して良質の乱数を得ることができる。
【0071】
なお、当該乱数発生器2では、3つの抵抗性帰還パス15を切り替えて用いる場合を説明したが、例えば外部入力端子F1に入力する信号の波形を制御して、0VからVDD又はVDDから0Vへの遷移をゆっくりと時間をかけて変化させることで、単調減衰から減衰発振を経て発振へ移行させることもできる。このような制御を行う場合にあっては、外部入力端子F2、INV3及びTG5を省略することができる。また、TG3及びTG4に加えて、TG6のみをON状態とすることで単調減衰となることが前提となる。
【0072】
あるいは、外部入力端子F2、INV3及びTG5を省略した構成で、F1の論理値を1とした場合に減衰発振を生じるようにTG6を設けてもよい。単調減衰を利用せず、減衰発振(F1の論理値0)から発振(F1の論理値1)へ移行させても、当該乱数発生器2は、同様の効果を奏する。
【0073】
<利点>
当該乱数発生器2では、直列接続された抵抗性素子を用いて一部の抵抗性帰還パス15(発振帰還パス15c)が構成されている。このように直列接続された抵抗性素子を用いると、その直接接続の間の寄生容量素子等の効果により発振波の位相変化が大きくなり、熱雑音の電圧を種とした発振を生じさせ易くすることができる。このような発振波では正弦波に近い周期的な波形になるが、位相は発振の都度異なるため乱雑さが残り、当該乱数発生器2では、この位相の乱雑さを利用して乱数を発生させることができる。
【0074】
当該乱数発生器2のようにデジタル変換回路20のラッチ回路をMOSトランジスタで構成する場合、そのサイズ(ゲート長Lやゲート幅W)を小さくとると、W×Lの平方根に反比例して、トランジスタの閾値電圧Vthがランダムにばらつき易くなる。このVthばらつきが大きくなると、生成される乱数の偏りが生じ易くなる。当該乱数発生器2では、乱雑さを残しつつ発振波の振幅が大きくするので、比較的大きなVthばらつきを許容しても生成される乱数に偏りが生じ難い。つまり、MOSトランジスタのサイズを小さくすることが可能となる。この結果、デジタル変換回路20の規模を小さくすることができ、消費電力をさらに低減できる。
【0075】
[第3実施形態]
図9に示す乱数発生器3は、乱雑さの発生源となる一対の帰還インバータ部(第1帰還インバータ部17及び第2帰還インバータ部18)と、一対の上記帰還インバータ部から発生する乱雑さに基づいて乱数を生成するデジタル変換回路30とを備える。
【0076】
<帰還インバータ部>
第1帰還インバータ部17は、1つの入力Vin1及び1つの出力Vout1を有し、出力Vout1の電位が入力Vinの電位の反転増幅となるように構成されている第1インバータ回路17aと、第1インバータ回路17aの出力Vout1を入力Vin1に帰還する2つの抵抗性帰還パスを有する第1帰還回路17bとを有する。また、第1帰還インバータ部17は、少なくとも1つの上記抵抗性帰還パスのコンダクタンスが、第1インバータ回路17aの入力Vinと出力Voutとの電位が静的に等しくなる平衡状態における第1インバータ回路17aの相互コンダクタンスより小さい。
【0077】
第2帰還インバータ部18は、1つの入力Vin2及び1つの出力Vout2を有し、出力Vout2の電位が入力Vin2の電位の反転増幅となるように構成されている第2インバータ回路18aと、第2インバータ回路18aの出力Vout2を入力Vin2に帰還する2つの抵抗性帰還パスを有する第2帰還回路18bとを有する。また、第2帰還インバータ部18は、少なくとも1つの上記抵抗性帰還パスのコンダクタンスが、第2インバータ回路18aの入力Vin2と出力Vout2との電位が静的に等しくなる平衡状態における第2インバータ回路18aの相互コンダクタンスより小さい。
【0078】
第1インバータ回路17a及び第2インバータ回路18aは、第1実施形態のインバータ回路10aと同様に構成できるので、詳細説明を省略する。なお、第1インバータ回路17a及び第2インバータ回路18aは、同一の構成であることが好ましい。
【0079】
第1帰還回路17b及び第2帰還回路18bは、例えば第1実施形態の帰還回路10bや第2実施形態の帰還回路14b、あるいは他の構成を採用可能である。第1帰還回路17b及び第2帰還回路18bは、同一の構成であることが好ましい。ここでは、第1帰還回路17b及び第2帰還回路18bがともに第1実施形態の帰還回路10bと同様に構成されている場合を例に取り説明するが、第1帰還回路17b及び第2帰還回路18bの構成を第1実施形態の帰還回路10bの構成に限定するものではない。
【0080】
<デジタル変換回路>
デジタル変換回路30は、第1帰還インバータ部17及び第2帰還インバータ部18のインバータ回路の出力と入力との間の帰還回路を経由する接続の有無を選択する第1選択回路31と、第1帰還インバータ部17のインバータ回路の出力Vout1と第2帰還インバータ部18のインバータ回路の入力Vin2との間及び第2帰還インバータ部18のインバータ回路の出力Vout2と第1帰還インバータ部17のインバータ回路の入力Vin1との間の接続の有無を選択する第2選択回路32とを有する。
【0081】
具体的には、第1選択回路31は、
図9に示すように、2つのトランスミッションゲートTG11、TG12と、インバータ素子INV4と、外部入力端子SE1とを有する。TG11は、第1帰還インバータ部17の第1インバータ回路17aの出力Vout1と第1帰還回路17bとの間に配置されており、TG12は、第2帰還インバータ部18の第2インバータ回路18aの出力Vout2と第2帰還回路18bとの間に配置されている。TG11及びTG12が有するPMOSトランジスタのゲートは、外部入力端子SE1に接続されており、TG11及びTG12が有するNMOSトランジスタのゲートは、外部入力端子SE1に接続されてその反転信号を生成するINV4に接続されている。
【0082】
この構成により第1選択回路31では、SE1を論理値0とするとTG11及びTG12がON状態となり、第1帰還インバータ部17及び第2帰還インバータ部18のインバータ回路の出力と入力との間が帰還回路を介して接続され、第1帰還インバータ部17及び第2帰還インバータ部18それぞれで帰還インバータが構成される。一方、SE1を論理値1とするとTG11及びTG12がOFF状態となり、第1帰還インバータ部17及び第2帰還インバータ部18のインバータ回路の出力と入力との間が切り離される。
【0083】
第2選択回路32は、
図9に示すように、2つのトランスミッションゲートTG21、TG22と、インバータ素子INV5と、外部入力端子SE2とを有する。TG21は、第1帰還インバータ部17のインバータ回路の出力Vout1と第2帰還インバータ部18のインバータ回路の入力Vin2との間に配置されており、TG22は、第2帰還インバータ部18のインバータ回路の出力Vout2と第1帰還インバータ部17のインバータ回路の入力Vin1との間に配置されている。TG21及びTG22が有するPMOSトランジスタのゲートは、外部入力端子SE2に接続されており、TG21及びTG22が有するNMOSトランジスタのゲートは、外部入力端子SE2に接続されてその反転信号を生成するINV5に接続されている。
【0084】
この構成により第2選択回路32では、SE2を論理値0とするとTG21及びTG22がON状態となり、第1帰還インバータ部17のインバータ回路の出力Vout1と第2帰還インバータ部18のインバータ回路の入力Vin2との間及び第2帰還インバータ部18のインバータ回路の出力Vout2と第1帰還インバータ部17のインバータ回路の入力Vin1との間が接続され、ラッチ回路が形成される。一方、SE2を論理値1とするとTG21及びTG22がOFF状態となり、上述の接続が切り離される。
【0085】
<当該乱数発生器の使用方法>
当該乱数発生器3では、最初は、論理値でSE1=0、SE2=1とし、第1帰還インバータ部17及び第2帰還インバータ部18に帰還インバータ回路を構成する。ここで、第1帰還インバータ部17及び第2帰還インバータ部18の外部入力端子Fの論理値をともに0→1とすることで、第1帰還インバータ部17及び第2帰還インバータ部18は、減衰発振をする。
【0086】
第1帰還インバータ部17及び第2帰還インバータ部18が減衰発振している状態で、SE1=1とすると、帰還が遮断され、その瞬間の雑音電圧が重畳した入力Vin1、Vin2の電圧は、それぞれのC2に保持される。この雑音電圧は第1インバータ回路17a及び第2インバータ回路18aでそれぞれ増幅される。
【0087】
次に、SE2=0とすると、第1インバータ回路17a及び第2インバータ回路18aによりラッチ回路が構成される。このとき、ラッチ回路が保持する値は、第1インバータ回路17a及び第2インバータ回路18aのC2に保持された雑音電圧に左右されるため、毎回ランダムな値となる。
【0088】
<利点>
第1実施形態で説明したように、ラッチ回路を構成するトランジスタのばらつきが無視できない場合には、得られる乱数に0又は1のいずれかが発生し易い偏りが発生し得る。当該乱数発生器3では、ラッチ回路を構成するインバータ回路が、帰還インバータ回路も構成するので、このばらつきの影響を相殺することができる。従って、当該乱数発生器3を上述の構成とすることで、デジタル変換回路30を構成する素子特性のばらつきにより生成される乱数の偏りが生じることを抑止できる。
【0089】
[その他の実施形態]
上記実施形態は、本発明の構成を限定するものではない。従って、上記実施形態は、本明細書の記載及び技術常識に基づいて上記実施形態各部の構成要素の省略、置換又は追加が可能であり、それらは全て本発明の範囲に属するものと解釈されるべきである。
【0090】
上記実施形態では、インバータ回路がMOSトランジスタを含み、抵抗性帰還パスの抵抗性素子がMOSトランジスタで構成される場合を説明したが、インバータ回路及び抵抗性帰還パスの抵抗性素子の一部又は全部がMOSトランジスタ以外の素子で構成されてもよい。例えば抵抗性帰還パスの抵抗性素子をウェル抵抗、ポリシリコン抵抗、チップ抵抗器等で構成することもできる。
【0091】
上記実施形態では、帰還回路が複数の抵抗性帰還パスを有する場合を説明したが、1の抵抗性帰還パスを有する乱数発生器も本発明の意図するところである。1の抵抗性帰還パスを有する乱数発生器も同様の効果を奏する。この場合、上記1の抵抗性帰還パスのコンダクタンスがインバータ回路の相互コンダクタンスより小さい。また、この構成においては、帰還回路の制御部を省略することができる。
【0092】
上記実施形態では、デジタル変換回路がインバータ回路の入力及び出力の両方を入力とする場合を説明したが、インバータ回路の入力及び出力のうちいずれか一方を入力とすることも可能である。また、デジタル変換回路は、上記実施形態の構成に限定されるものではなく、乱雑さの発生源となる帰還インバータ部から任意のタイミングでの論理値を取り出せるものであればよい。
【0093】
上記第3実施形態では、第1選択回路としてトランスミッションゲートにより各帰還インバータ部のインバータ回路の出力と帰還回路との間の接続の有無を選択する方法を説明したが、帰還回路内の全ての抵抗性帰還パスを非接続とする制御を行うことで、インバータ回路の出力と入力との間の帰還回路を経由する接続の有無を選択してもよい。例えば
図7に示す帰還回路14bを用いる場合であれば、TG3及びTG6をOFF状態とすれば、帰還回路内の全ての抵抗性帰還パスを非接続とできる。この場合、第1選択回路が有するトランスミッションゲート(
図9のTG11、TG12)は省略可能である。
【0094】
上記実施形態では、インバータ回路の相互コンダクタンスよりコンダクタンスの小さい抵抗性帰還パスが発振又は減衰発振を生じる場合を説明したが、インバータ回路の相互コンダクタンスより小さい抵抗性帰還パスが発振又は減衰発振を生じることは必須ではない。減衰発振に至らずとも、抵抗性帰還パスのコンダクタンスをインバータ回路の相互コンダクタンスより小さくすることで、雑音電圧の振幅を大きくすることができるので、上記実施形態と同様の効果を奏する。
【産業上の利用可能性】
【0095】
以上説明したように、本発明の乱数発生器は、低消費電力で良質な乱数を発生可能であり、かつノイズ注入攻撃に対する耐性が高い。
【符号の説明】
【0096】
1、2、3 乱数発生器
10、14 帰還インバータ部
10a インバータ回路
10b、14b 帰還回路
11 抵抗性帰還パス
11a 高抵抗帰還パス
11b 低抵抗帰還パス
12、16 制御部
15 抵抗性帰還パス
15a 単調減衰帰還パス
15b 減衰発振帰還パス
15c 発振帰還パス
17 第1帰還インバータ部
17a 第1インバータ回路
17b 第1帰還回路
18 第2帰還インバータ部
18a 第2インバータ回路
18b 第2帰還回路
20 デジタル変換回路
21 ラッチ回路
21a 第1CMOSインバータ
21b 第2CMOSインバータ
30 デジタル変換回路
31 第1選択回路
32 第2選択回路
Vin、Vin1、Vin2 入力
Vout、Vout1、Vout2 出力
VDD 電源
F、F1、F2、SE、SE1、SE2 外部入力端子
PINV、NINV MOSトランジスタ
TG1、TG2、TG3、TG4、TG5、TG6 トランスミッションゲート
TG11、TG12、TG21、TG22 トランスミッションゲート
PTG1、PTG2、PTG3、PTG4、PTG5、PTG6 MOSトランジスタ
NTG1、NTG2、NTG3、NTG4、NTG5、NTG6 MOSトランジスタ
INV1、INV2、INV3、INV4、INV5 インバータ素子
C1、C2、C3 容量素子
G1、G2 等価抵抗
Pa、Pb、Na、Nb MOSトランジスタ
Q 第1CMOSインバータの出力
QB 第2CMOSインバータの出力
P1、P2、P3、P4 MOSトランジスタ
N1、N2、N3 MOSトランジスタ