JP4952461B2 - 乱数生成装置および乱数生成方法 - Google Patents

乱数生成装置および乱数生成方法 Download PDF

Info

Publication number
JP4952461B2
JP4952461B2 JP2007236072A JP2007236072A JP4952461B2 JP 4952461 B2 JP4952461 B2 JP 4952461B2 JP 2007236072 A JP2007236072 A JP 2007236072A JP 2007236072 A JP2007236072 A JP 2007236072A JP 4952461 B2 JP4952461 B2 JP 4952461B2
Authority
JP
Japan
Prior art keywords
random number
light
number generation
output
generation device
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
Application number
JP2007236072A
Other languages
English (en)
Other versions
JP2009070009A (ja
Inventor
邦宣 篠
洋平 川元
昌一 浮田
隆博 三浦
徹哉 浅山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007236072A priority Critical patent/JP4952461B2/ja
Publication of JP2009070009A publication Critical patent/JP2009070009A/ja
Application granted granted Critical
Publication of JP4952461B2 publication Critical patent/JP4952461B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Optical Communication System (AREA)

Description

この発明は、物理乱数(真性乱数)を発生する乱数生成方法および乱数生成方法に関する。詳しくは、この発明は、光源からの光を2等分し、各光の検出出力の差分に基づいて乱数列を生成することにより、安価な構成で、物理乱数を高速に生成できるようにした乱数生成装置および乱数生成方法に係るものである。
偏りのない乱数は、暗号の種、あるいは、シミュレーションにおいてパラメータを振るために使用されている。現代では高速な暗号通信や、より大規模なシミュレーションのために、乱数を高速に生成することが強く求められている。
乱数は、シフトレジスタなどを使って生成される擬似乱数と、自然の雑音を利用した物理乱数(真性乱数)に分けられている。擬似乱数は長い間観測するとその統計性に偏りが生じ、その乱数を使用する暗号の秘匿性に問題が発生したり、シミュレーション結果にバイアスが生じたりすることになる。そこで、通信の秘匿性を確保し、あるいは、正確なシミュレーション結果を得るために、物理乱数を高速に生成することが必要となる。
従来、物理乱数の生成装置として、電気回路中の熱雑音を利用した乱数生成装置が知られている。例えば、図12に示すような接続構成として熱雑音発生抵抗で発生された熱雑音を増幅器で増幅してランダムな電圧値を発生させ、図示していないが、このランダムな電圧値を所定の閾値と比較し、比較結果を任意のクロックでサンプリングして2値の乱数列を生成する、ようにされる。
このように電気回路中の熱雑音を利用して物理乱数を生成するものにあっては、回路の電圧変動や気温などの外部環境の影響が抵抗値や抵抗に流れる電流を揺動させ、その影響が出力に出てしまうこと、広帯域の増幅器が使われると内部のフィードバック回路が雑音の癖に影響を与える可能性があること、などの問題点がある。
そこで、従来、より本質的なランダム性を使用した物理乱数の生成装置として、単一光子を使った乱数生成装置が知られている(例えば、特許文献1参照)。図13は、この乱数生成装置の典型的な構成例を示している。反射、透過が50%ずつのハーフビームスプリッタ(HBS)に単一光子が入射すると、その反射面で、透過するか、反射するかは、他の何物にも影響されない、まったくのランダムな事象になる。そのため、光検出器1で検出されるか、光検出器2で検出されるかをそれぞれ0,1としておけば、2値の乱数列が得られる。
特開2003−36168号公報
上述した単一光子を使って物理乱数を生成する乱数生成装置にあっては、単一光子の発生が難しい、という問題点がある。光源からの光を減衰器で弱めて使用するが、この状態の光は平均光子数が1個であっても、ある時は、0個、1個、それ以上など、時々によってばらつく。そのため、乱数の生成速度を上げることができない。また、単一光子を使って物理乱数を生成するものにあっては、単一光子の光検出器が必要であるが、これは非常に高価で、応答速度も遅い、という問題点がある。
この発明の目的は、安価な構成で、物理乱数を高速に生成可能とすることにある。
この発明の概念は、
光源と、
上記光源からの光を2等分して第1の光および第2の光を得る光分割部と、
上記光分割部で得られた第1の光を検出する第1の光検出器と、
上記光分割部で得られた第2の光を検出する第2の光検出器と、
上記第1の光検出器の検出出力と上記第2の光検出器の検出出力との差分を得る差分器と、
上記差分器の出力に基づいて乱数列を生成する乱数生成部と
を備えることを特徴とする乱数生成装置にある。
この発明において、光源からの光は、光分割部で2等分されて、第1の光および第2の光が得られる。光分割部は、光を2等分するものであればよく、例えば、ハーフビームスプリッタ(HBS)、分岐導波路等で構成される。第1の光は第1の光検出器で検出され、第2の光は第2の光検出器で検出される。そして、差分器により、第1の光検出器の検出出力と第2の光検出器の検出出力との差分が得られる。この差分器の出力には、乱数列の生成の基礎とできる、量子揺らぎが現れる。
この差分器の出力に基づいて、乱数生成部により、乱数列が生成される。例えば、乱数生成部では、差分器の出力が所定の閾値と比較され、比較結果が任意のクロックでサンプリングされて2値の乱数列が生成される。また、例えば、乱数生成部では、差分器の出力が複数の閾値と比較され、複数の比較結果が任意のクロックでサンプリングされ、複数のサンプリング結果が多値データにマッピングされて多値の乱数列が生成される。
この場合、光源は、定常発光ではなく、パルス発光とされて、消費電力の低減を図ることができる。すなわち、光源は、上述したように比較結果をサンプリングするクロックに同期して間欠的に発光される。
このように、この発明においては、光源からの光を2等分し、各光の検出出力の差分(量子揺らぎが現れる)を求め、この差分に基づいて乱数列を生成するものであり、単一光子発生器や単一光子検出器等の特殊な装置を必要とせず、安価な構成で、物理乱数を高速に生成できる。
また、この発明において、例えば、乱数生成部で生成された2値の乱数列を2ビットずつ区切り、2ビットのデータが互いに異なる第1のパターンにあるとき2値を構成する一方の値を出力し、2ビットのデータが互いに異なる第2のパターンにあるとき2値を構成する他方の値を出力し、0,1の出現頻度を等しくした新たな2値の乱数列を生成する乱数補正部をさらに備える、ようにされてもよい。この場合、0,1の出現頻度が等しい2値の乱数列を得ることができる。
なお、乱数補正部で生成される2値の乱数列の生成レートは、上述の乱数生成部における2値の乱数列の生成レートの約半分となる。そこで、この発明において、例えば、乱数生成部で生成された乱数列または乱数補正部で生成された乱数列を選択的に出力するスイッチ部をさらに備える、ようにされてもよい。この場合、高速な乱数列が必要なときは、スイッチ部から乱数生成部で生成された乱数列を出力させることができる。
この発明によれば、光源からの光を2等分し、各光の検出出力の差分に基づいて乱数列を生成するものであり、単一光子発生器や単一光子検出器等の特殊な装置を必要とせず、安価な構成で、物理乱数を高速に生成できる。
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としての乱数生成装置100の構成例を示している。
この乱数生成装置100は、光源101と、ハーフビームスプリッタ(HBS)102と、光検出器103,104と、差分器105と、乱数生成部106と、出力端子107とを有している。
光源101は、光を出力する。この光源101は、LED(Light Emitting Diode)、LD(Laser Diode)等で構成される。ハーフビームスプリッタ(HBS)102は、反射、透過がほぼ50%のビームスプリッタである。このハーフビームスプリッタ102は、光分割部を構成しており、光源101からの光L0を2等分して、第1の光L1と、第2の光L2を得る。ここで、2等分は、上述したようにハーフビームスプリッタ102は、反射、透過がほぼ50%のビームスプリッタであることから、厳密な意味での2等分ではなく、ほぼ2等分という意味である。
光検出器103は、ハーフビームスプリッタ102で得られた第1の光L1を検出する。光検出器104は、ハーフビームスプリッタ102で得られた第2の光L2を検出する。これら光検出器103は、光量を電圧に変換するものであり、フォトダイオード等の光検出素子で構成される。差分器105は、光検出器103の検出出力と光検出器104の検出出力との差分を得る。この差分器105は、例えば差動増幅器等で構成される。乱数生成装置100では、差分器105の出力に現れる量子揺らぎを基礎として、乱数列が生成される。
ここで、差分器105の出力について、さらに説明する。
光源101の光L0がハーフビームスプリッタ102に入射される場合、反射膜102a上における各光子の振る舞いは、透過するか反射するか、それぞれ50%の確率になっている。このような各光子について独立で離散的な過程は、ポアソン過程となる。その結果、透過光(第1の光L1)、反射光(第2の光L2)の光量は、光L0の光子数をNとすると、N/2であり、その標準偏差は√(N/2)となる。
光量を電圧に変換する光検出器103,104を通すと、それぞれの電圧値は、平均値がV/2、標準偏差が√(V/2)となる。ただし、電圧値V/2は、光子数N/2の光を入力した場合における、光検出器103,104の出力電圧値である。この電圧値を差分器105に入れると、その出力は平均値が0、標準偏差が√Vとなる。
図2は、差分器105の出力の様子を示している。この図2において、横軸が出力電圧で、縦軸が頻度である。差分器105の出力(差分出力)、図示のように、0の周りで揺らぐ。この揺らぎは、一つ一つの光子がハーフビームスプリッタ102の反射膜102a上で、それぞれが透過するか反射するかの揺らぎに起因しており、きわめて本質的で、周囲環境に影響されない。
乱数生成装置100では、この揺らぎを乱数列の生成の基礎として用いる。ポアソン過程でのこの揺らぎは、ガウス分布になり、平均値の周りに対称に分布し、従って、平均値の+側も−側も同じ頻度になる。そのため、差分器105の出力を、0の閾値で比較し、例えば、+側を“1”、−側を“0”に割り振ることで、0,1の2値の乱数列を生成できる。
図1に戻って、乱数生成部106は、差分器105の出力に基づいて、2値の乱数列を生成する。すなわち、乱数生成部106は、差分器105の出力を、平均値に対応した閾値Vref=0と比較し、比較結果(2値出力)を任意のクロックCLKでサンプリングして、0,1の2値の乱数列を生成する。この乱数列のビット周波数は、クロックCLKの周波数と等しくなる。出力端子107は、乱数生成部106で生成された乱数列を出力する。
図1に示す乱数生成装置100の動作を説明する。
光源101から出力される光L0は、ハーフビームスプリッタ102で2等分され、第1の光L1および第2の光L2とされる。第1の光L1は、光検出器103に入力される。この光検出器103からは、第1の光L1の光量に対応した値の電圧が、検出出力として得られる。また、第2の光L2は、光検出器104に入力される。この光検出器104からは、第2の光L2の光量に対応した値の電圧が、検出出力として得られる。
光検出器103,104の検出出力は差分器105に供給される。この差分器105では、光検出器103の検出出力と光検出器104の検出出力との差分が得られる。この差分器105の出力(差分出力)は、乱数生成部106に供給される。乱数生成部106では、差分器105の出力が、閾値Vref=0と比較され、比較結果(2値出力)が任意のクロックCLKでサンプリングされて、0,1の2値の乱数列が生成される。この乱数列は、出力端子107に出力される。
図1に示す乱数生成装置100においては、光源101からの光L0が2等分され、各光L1,L2の検出出力の差分(量子揺らぎが現れる)が求められ、この差分に基づいて乱数列が生成されるものである。したがって、単一光子発生器や単一光子検出器等の特殊な装置を必要とせず、安価な構成で、物理乱数を高速に生成できる。
なお、図1に示す乱数生成装置100においては、光源101からの光L0が直接ハーフビームスプリッタ102に入力され、また、ハーフビームスプリッタ102からの光L1,L2が直接光検出器103,104に入力されるものを示した。図3に示すように、光源101とハーフビームスプリッタ102との間、ハーフビームスプリッタ102と光検出器103,104との間に、レンズ110を挿入した構成とし、ハーフビームスプリッタ102や光検出器103,104に、効率よく光を送り込むようにしてもよい。
また、図1に示す乱数生成装置100においては、光源101からの光L0を2等分する光分割部をハーフビームスプリッタ102で構成したものを示した。このハーフビームスプリッタ102の代わりに、図4に示すように、光源101からの光L0を2等分する分岐導波路109等を用いて構成してもよい。
また、図1に示す乱数生成装置100において、光源101は、LED(Light Emitting Diode)、LD(Laser Diode)等で構成されることを述べたが、白熱灯のようなスペクトル幅の広いものは、広帯域に渡り、反射率、透過率をほぼ50%に保持できるハーフビームスプリッタ102の設計が難しいので不向きである。ただし、白熱灯のようなスペクトル幅の広いものにあっても、周波数フィルタなどを通してスペクトル幅を制限すれば使用できる。
また、図1に示す乱数生成装置100において、光源101からの光の光量変動などで、差分器105の出力の平均値は変わらなくても、その分散量は変化することがある。その場合にあっても、差分器105の出力の平均値で判別する0,1の出現確率にはなんら変化を及ぼさない。しかし、分布の分散値が変化するのが困るような乱数の使用用途には、出力の和を別にとってそれで、差動出力を規格化してやることで、分散の変化を抑えることができる。
次に、この発明の他の実施の形態について説明する。図5は、他の実施の形態としての乱数生成装置100Aの構成例を示している。この図5において、図1と対応する部分には同一符号を付し、その詳細説明は省略する。
乱数生成装置100Aは、図1に示す乱数生成装置100の光源101の代わりに、光源101Aが配置された構成とされている。光源101は定常発光をするものであるが、光源101Aはパルス発光をする。すなわち、この光源101Aは、上述した乱数生成部106に供給される、比較結果をサンプリングするためのクロックCLKに同期して、間欠的に発光するようにされる。
ここで、平均Pワットの光をΔt時間だけ発光させた場合の光子数Nは、プランク定数をh、光の振動数をfとすると、以下の(1)式で表される。
N=P・Δt/h・f ・・・(1)
いま、光波長が800nメートル、P=10mワット、Δt=1n秒とすると、N=4×10個となる。したがって、この光を入力したときの差分出力は√N個に比例するので、その揺らぎを仕事に換算すると1.6μW(−18dBm)相当の出力になる。これは充分に処理可能な光量である。
図5に示す乱数生成装置100Aのその他の構成および動作は、図1に示す乱数生成装置100と同様であるので、その説明は省略する。
この図5に示す乱数生成装置100Aにおいては、図1に示す乱数生成装置100と同様の効果を得ることができ、さらに、光源101Aが乱数列のビット周波数に合わせてパルス発光を行うため、消費電力の低減を図ることができる。
次に、この発明のさらに他の実施の形態について説明する。図6は、他の実施の形態としての乱数生成装置100Bの構成例を示している。この図6において、図1と対応する部分には同一符号を付し、その詳細説明は省略する。
上述した図1に示す乱数生成装置100においては、光源101からの光L0を2等分し、差分器105では各光L1,L2の検出出力の差分をとっているため、光源101の変動などは、キャンセルされて出力に影響を与えないという利点がある。しかし、上述したように、ハーフビームスプリッタ102の反射、透過はほぼ50%であり、当該ハーフビームスプリッタ102の透過、反射が50%ずつであるという保証はない。
ハーフビームスプリッタ102の反射、透過の50%からのずれによる、差分出力の平均値0からのずれをキャンセルするために、閾値Vrefのオフセット調整などを乱数生成部106に設けることは充分効果的である。しかし、調整値をどのようにするかが問題となる。充分に長い間観測して、オフセットをつけるが、物理乱数の性質上その周期以上の乱数を発生させることはできなくなる。同じように、平均値をモニタして、それが零になるようにオフセットにフィードバックをかけるのも、うまくいかない。フィードバックの時定数より長い周期の乱数は発生できなくなるからである。そこで、乱数生成部106の後に、差分出力の平均値が0からずれることによる、乱数列における0,1の偏りを正す回路を配置することが考えられる。
図6に示す乱数生成装置100Bは、乱数生成部106の後に、乱数列における0,1の偏りを正す回路である乱数補正部110を配置したものである。
この乱数補正部110は、乱数生成部106で生成された2値の乱数列を2ビットずつ区切り、2ビットのデータが互いに異なる第1のパターンにあるとき2値を構成する一方の値を出力し、2ビットのデータが互いに異なる第2のパターンにあるとき2値を構成する他方の値を出力し、0,1の出現頻度を等しくした新たな2値の乱数列を生成する。
この乱数補正部110は、フォンノイマンバランシング(もしくはフォンノイマンバイアシング)と呼ばれる原理を用いる。この原理は、0の出る確率をp、1の出る確率をqとしたときに、2ビットの連接確率は、00=pp、01=pq、10=qp、11=qqとなり、01,10の出る確率は、p、qが如何なるものであっても、同じものとなる、という事実を基にしている。すなわち、入力の0,1の信号列を2ビットずつ分割し、それが、00,11なら捨てる、10,01ならどちらかを0、どちらかを1と定義して、乱数列とする、というものである。これにより、乱数の生成レートは約1/4に落ちるが、完全に偏りのない、乱数列がフィードバックなしに生成できる。
この乱数補正部110は、2ビットのシフトレジスタ111と、EXOR(エクスクルーシブオア)回路112と、アンド回路113と、1/2分周器114と、バッファメモリ115とから構成されている。
乱数生成部106で生成された2値の乱数列は、2ビットのシフトレジスタ111に入力される。このシフトレジスタ111には、乱数生成部106で比較結果をサンプリングするために用いられたクロックCLKが、動作クロックとして供給される。シフトレジスタ111の1番目のレジスタb0および2番目のレジスタb1の出力はEXOR回路112に入力され、このEXOR回路112の出力はアンド回路113の一方の入力側に入力される。
また、クロックCLKは1/2分周器114に入力される。この1/2分周器114からは、クロックCLKが1/2分周されたクロックCLK′が出力される。このクロックCLK′はアンド回路113の他方の入力側に供給される。アンド回路113の出力は、バッファメモリ115に書き込みクロックとして供給される。このバッファメモリ115には、シフトレジスタ111の2番目のレジスタb1の出力が、書き込みデータとして供給されている。また、このバッファメモリ115には、読み出しクロックCLK2が供給される。
バッファメモリ115は、例えば2ポートバッファの一種であるリングバッファで構成されている。このリングバッファは、書き込みと読み出しとを同時に行えるリング状のバッファであり、後側に順次書き込まれていくと共に、前側から順次読み出されていく。読み出しクロックCLK2は、例えば、乱数列を必要とする図示しないシステムから供給される。ここで、重要な点は、読み出しが書き込みに追いつかないように、充分大きなバッファを用いて、読み出しクロックCLK2の平均レートが書き込みクロックの平均レートを上回らないようにすることである。
この乱数補正部110においては、アンド回路113にクロックCLKを1/2分周したクロックCLK′が入力されることで、乱数生成部106で生成された2値の乱数列が2ビットずつ区切られて、バッファメモリ115に対する書き込み処理が行われる。
すなわち、2ビットのデータ「b0b1」が互いに異なる第1のパターン、例えば「10」にあるとき、EXOR回路112の出力は「1」となることから、アンド回路113からバッファメモリ115に書き込みクロックが供給され、当該バッファメモリ115には、シフトレジスタ111の2番目のレジスタb1に保持されているデータ「0」が書き込まれる。
また、2ビットのデータ「b0b1」が互いに異なる第2のパターン、例えば「01」にあるとき、EXOR回路112の出力は「1」となることから、アンド回路113からバッファメモリ115に書き込みクロックが供給され、当該バッファメモリ115には、シフトレジスタ111の2番目のレジスタb1に保持されているデータ「1」が書き込まれる。
なお、2ビットのデータ「b0b1」が「00」あるいは「11」にあるときは、EXOR回路112の出力は「0」となることから、バッファメモリ115に書き込みクロックが供給されることはなく、当該バッファメモリ115にデータの書き込みは行われない。
乱数補正部110では、バッファメモリ115に対する書き込み処理が上述したように行われることで、バッファメモリ115から読み出される乱数列は、0,1の出現頻度が等しいものとなる。バッファメモリ115から読み出された乱数列は、出力端子107に出力される。
図7は、乱数生成部106から乱数補正部110に供給される乱数列が「10100111010」であった場合のタイミングチャートを示している。図7(a)はクロックCLKを示し、図7(b)はシフトレジスタ111に保持される2ビットのデータを示し、図7(c)はEXOR回路112の出力を示し、図7(d)はクロックCLK′を示し、図7(e)はアンド回路113の出力を示し、図7(f)はバッファメモリ115に書き込まれるデータ列(乱数列)を示している。図示のように、バッファメモリ115に書き込まれるデータ列は、入力を2ビットずつ取り出し、それが異なっていたときの前のビットを拾い出したものと同じになっている。
図6に示す乱数生成装置100Bのその他の構成および動作は、図1に示す乱数生成装置100と同様であるので、その説明は省略する。この図6に示す乱数生成装置100Bにおいては、図1に示す乱数生成装置100と同様の効果を得ることができ、さらに、最終的に出力端子107に0,1の出現頻度が等しくされた2値の乱数列を得ることができる。
次に、この発明の別の実施の形態について説明する。図8は、別の実施の形態としての乱数生成装置100Cの構成例を示している。この図8において、図6と対応する部分には同一符号を付し、その詳細説明は省略する。
上述した図6に示す乱数生成装置100Bにおいては、出力端子107に出力される2値の乱数列は0,1の出現頻度が等しくされたものとなるが、当該2値の乱数列の生成レートは、乱数生成部106における2値の乱数列の生成レートの約半分となる。そのため、乱数生成部106で生成された乱数列または乱数補正部110で生成された乱数列を、選択的に、出力できれば便利である。
図8に示す乱数生成装置100Cは、乱数生成部106で生成された乱数列または乱数補正部110で生成された乱数列を、選択的に、出力可能に構成されている。
すなわち、乱数生成部106で生成された乱数列またはシフトレジスタ111の2番目のレジスタb1に保持されているデータがスイッチ121で取り出されてバッファメモリ115に書き込みデータとして供給される。また、クロックCLKまたはアンド回路113の出力S2がスイッチ122で取り出されてバッファメモリ115に書き込みクロックとして供給される。また、クロックCLKまたはクロックCLK2がスイッチ123で取り出されてバッファメモリ115に読み出しクロックとして供給される。スイッチ121〜123の切り替えは、ユーザ操作部125からのユーザの指示に基づいて、制御部124によって制御される。
ユーザにより乱数生成部106で生成された乱数列の出力が指示されるとき、制御部124の制御のもと、スイッチ121では乱数生成部106で生成された乱数列が取り出され、スイッチ122ではクロックCLKが取り出され、スイッチ123ではクロックCLKが取り出される。この場合、乱数生成部106で生成された乱数列が、バッファメモリ115を介して、出力端子107に得られる。
一方、ユーザにより乱数補正部110で生成された乱数列の出力が指示されるとき、制御部124の制御のもと、スイッチ121ではシフトレジスタ111の2番目のレジスタb1の保持データが取り出され、スイッチ122ではアンド回路113の出力S2が取り出され、スイッチ123ではクロックCLK2が取り出される。この場合、乱数生成部106で生成された乱数列が乱数生成部110に供給され、当該乱数補正部110で生成された乱数列が、出力端子107に得られる。
このように、図8に示す乱数生成装置100Cにおいては、乱数生成部106で生成された乱数列または乱数補正部110で生成された乱数列を、選択的に、出力できる。したがって、高速な乱数列が必要なときは、出力端子107に、乱数生成部106で生成された乱数列を出力させることができる。一方、0,1の出現頻度が等しい乱数列が必要なときは、出力端子107に、乱数補正部110で生成された乱数列を出力させることができる。
次に、この発明のさらに別の実施の形態について説明する。図9は、さらに別の実施の形態としての乱数生成装置100Dの構成例を示している。この図9において、図1と対応する部分には同一符号を付し、その詳細説明は省略する。
この乱数生成装置100Dにおいては、図1の乱数生成装置100における乱数生成部106の代わりに、乱数生成部130が配置されている。乱数生成部130は、差分器105の出力に基づいて、多値、この実施の形態においては、4値の乱数列を生成する。すなわち、乱数生成部130は、差分器105の出力を、3つの閾値Vref1,Vref2,Vref3と比較し、3つの比較結果を任意のクロックCLKでサンプリングし、そのサンプリング結果を4値データ(2ビットデータ)にマッピングして4値の乱数列を生成する。この乱数列のビット周波数は、クロックCLKの周波数と等しくなる。出力端子107は、乱数生成部130で生成された乱数列を出力する。
図10は、乱数生成部130の構成例を示している。この乱数生成部130は、差分器105の出力Sinを、閾値Vref1,Vref2,Vref3と比較する3つの比較器131,132,133と、これら比較器131〜133の比較結果をクロックCLKでサンプリングし、そのサンプリング結果を4値データSoutにマッピングするマッピング回路134とを有している。マッピング回路134において、サンプリング結果を4値データSoutにマッピングする部分は、例えば、サンプリング結果を入力として4値データにSoutを読み出すメモリで構成できる。
ここで、閾値Vref1,Vref2,Vref3は、図11に示すように、ガウス分布を等面積に分割するように設定される。これにより、差分器105の出力が各領域に落ちる頻度をほぼ等しくできる。マッピング回路134では、比較器131〜133の出力に基づいて、差分器105の出力がどの領域にあるかが判定され、I,II,III,IVの各領域に対して、例えば、マッピング1で示されるように、4値データ「00」、「01」、「10」「11」がマッピングされる。
この場合、厳密に等面積にできなかったり、分布の幅が変わったりすると各領域に等確率で電圧値が落ちなくなる。このような場合には、領域とデータのマッピングを、図11に示すように、マッピング1〜マッピング4のように適時変化させることで、ある時間平均では等確率になるようにできる。
図9に示す乱数生成装置100Dのその他の構成および動作は、図1に示す乱数生成装置100と同様であるので、その説明は省略する。この図9に示す乱数生成装置100Dにおいては、図1に示す乱数生成装置100と同様の効果を得ることができる。なお、この図9に示す乱数生成装置100Dは、4値の乱数列を生成するものを示したが、同様にして、8値、16値等の多値の乱数列を生成できる。また、図9の乱数生成装置100Dの光源101を、図5に示す乱数生成装置100Aの光源101Aと同様に、パルス発光させて、消費電力の低減を図るようにしてもよい。
なお、上述実施の形態における光源101としては、高速なパルス発振を考えると、レーザを使用するのが望ましい。また、レーザは光量を多くとれ、結果的に分散の幅を大きくでき検出がしやすくなる。さらに、小型化のためには半導体レーザが好ましく、安価に構成するにはシリコンのフォトダイオードで受光できる、400〜900nm帯であることが好ましい。
この発明は、安価な構成で、物理乱数を高速に生成できるものであり、暗号の種、あるいは、シミュレーションにおいてパラメータを振るために使用される乱数列を生成する乱数生成装置に適用できる。
この発明の実施の形態としての乱数生成装置の構成例を示すブロック図である。 差分器の出力の様子を示す図である。 光源とハーフビームスプリッタとの間、ハーフビームスプリッタと光検出器との間に、レンズを挿入した構成を示す図である。 光源からの光L0を2等分するために、ハーフビームスプリッタの代わりに、分岐導波路109を用いて構成を示す図である。 この発明の他の実施の形態としての乱数生成装置の構成例を示すブロック図である。 この発明のさらに他の実施の形態としての乱数生成装置の構成例を示すブロック図である。 乱数補正部の動作を説明するためのタイミングチャートである。 この発明の別の実施の形態としての乱数生成装置の構成例を示すブロック図である。 この発明のさらに別の実施の形態としての乱数生成装置の構成例を示すブロック図である。 4値の乱数列を生成する乱数生成部の構成例を示すブロック図である。 4値の乱数列を生成する乱数生成部において閾値Vref1,Vref2,Vref3の設定を説明するための図である。 従来の電気回路中の熱雑音を利用した乱数生成装置を説明するための図である。 従来の単一光子を使った乱数生成装置を説明するための図である。
符号の説明
100,100A〜100D・・・乱数生成装置、101・・・光源、102・・・ハーフビームスプリッタ、102a・・・反射膜、103,104・・・光検出器、105・・・差分器、106・・・乱数生成部、107・・・出力端子、108・・・レンズ、109・・・分岐導波路、110・・・乱数補正部、111・・・2ビットのシフトレジスタ、112・・・エクスクルーシブオア回路、113・・・アンド回路、114・・・1/2分周器、115・・・バッファメモリ、121〜123・・・スイッチ、130・・・乱数生成部

Claims (8)

  1. 光源と、
    上記光源からの光を2等分して第1の光および第2の光を得る光分割部と、
    上記光分割部で得られた第1の光を検出する第1の光検出器と、
    上記光分割部で得られた第2の光を検出する第2の光検出器と、
    上記第1の光検出器の検出出力と上記第2の光検出器の検出出力との差分を得る差分器と、
    上記差分器の出力に基づいて乱数列を生成する乱数生成部と
    を備えることを特徴とする乱数生成装置。
  2. 上記乱数生成部は、
    上記差分器の出力を所定の閾値と比較し、比較結果を任意のクロックでサンプリングして2値の乱数列を生成する
    ことを特徴とする請求項1に記載の乱数生成装置。
  3. 上記光源は、
    上記任意のクロックに同期して間欠的に発光する
    ことを特徴とする請求項2に記載の乱数生成装置。
  4. 上記乱数生成部で生成された2値の乱数列を2ビットずつ区切り、2ビットのデータが互いに異なる第1のパターンにあるとき2値を構成する一方の値を出力し、2ビットのデータが互いに異なる第2のパターンにあるとき2値を構成する他方の値を出力し、0,1の出現頻度を等しくした新たな2値の乱数列を生成する乱数補正部をさらに備える
    ことを特徴とする請求項2に記載の乱数生成装置。
  5. 上記乱数生成部で生成された乱数列または上記乱数補正部で生成された乱数列を選択的に出力するスイッチ部をさらに備える
    ことを特徴とする請求項4に記載の乱数生成装置。
  6. 上記乱数生成部は、
    上記差分器の出力を複数の閾値と比較し、複数の比較結果を任意のクロックでサンプリングし、複数のサンプリング結果を多値データにマッピングして多値の乱数列を生成する
    ことを特徴とする請求項1に記載の乱数生成装置。
  7. 上記光源は、
    上記任意のクロックに同期して間欠的に発光する
    ことを特徴とする請求項6に記載の乱数生成装置。
  8. 光源の光を2分して第1の光および第2の光を得る分光ステップと、
    上記分光ステップで得られた第1の光を検出する第1の光検出ステップと、
    上記分光ステップで得られた第2の光を検出する第2の光検出ステップと、
    上記第1の光検出ステップで得られた検出出力と上記第2の光検出ステップで得られた検出出力との差分を得る差分ステップと、
    上記差分ステップの出力に基づいて乱数列を生成する乱数生成ステップと
    を備えることを特徴とする乱数生成方法。
JP2007236072A 2007-09-12 2007-09-12 乱数生成装置および乱数生成方法 Expired - Fee Related JP4952461B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007236072A JP4952461B2 (ja) 2007-09-12 2007-09-12 乱数生成装置および乱数生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007236072A JP4952461B2 (ja) 2007-09-12 2007-09-12 乱数生成装置および乱数生成方法

Publications (2)

Publication Number Publication Date
JP2009070009A JP2009070009A (ja) 2009-04-02
JP4952461B2 true JP4952461B2 (ja) 2012-06-13

Family

ID=40606216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007236072A Expired - Fee Related JP4952461B2 (ja) 2007-09-12 2007-09-12 乱数生成装置および乱数生成方法

Country Status (1)

Country Link
JP (1) JP4952461B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4759077B2 (ja) * 2009-08-03 2011-08-31 日本電信電話株式会社 乱数を発生させる装置および方法
GB0915000D0 (en) 2009-08-27 2009-09-30 Univ Bruxelles Quantum random number generation
EP2754243B1 (en) 2011-09-09 2016-08-17 National Research Council of Canada Random number generator
US10019235B2 (en) 2011-09-30 2018-07-10 Los Alamos National Security, Llc Quantum random number generators
WO2014203466A1 (ja) * 2013-06-18 2014-12-24 パナソニックIpマネジメント株式会社 乱数発生装置
JP5586805B1 (ja) * 2014-04-25 2014-09-10 雅紀 廣石 光子乱数生成器
EP2940923B1 (en) 2014-04-28 2018-09-05 Université de Genève Method and device for optics based quantum random number generator
US10705799B2 (en) 2015-03-04 2020-07-07 Carol Y. Scarlett Transmission of information through the use of quantum-optical effects within a multi-layered birefringent structure
WO2016141192A1 (en) * 2015-03-04 2016-09-09 Scarlett Carol Y Generation of random numbers through the use of quantum-optical effects within a mirror cavity system
JP6647384B2 (ja) * 2015-07-29 2020-02-14 トライアド ナショナル セキュリティ リミテッド ライアビリティ カンパニー 量子乱数ジェネレータ
KR101880520B1 (ko) * 2015-08-25 2018-07-20 에스케이텔레콤 주식회사 복수의 광원을 활용하는 양자 노이즈 기반 난수생성장치
EP3306464B1 (en) 2016-10-09 2021-09-29 Université de Genève Method and device for quantum random number generation
GB2575043B (en) * 2018-06-25 2021-05-19 Toshiba Kk Apparatus and method for mearuring a signal
WO2020141921A1 (en) * 2019-01-03 2020-07-09 Samsung Electronics Co., Ltd. Honest random number generation and intelligent millimeterwave honest random number generator thereof
CN111351775B (zh) * 2020-02-27 2021-08-20 电子科技大学 一种基于室温单光子源的真随机数产生方法及装置
CN111488993A (zh) * 2020-06-03 2020-08-04 世融能量科技有限公司 一种基于真空态涨落技术的高速量子随机数发生器
CN111708514A (zh) 2020-08-06 2020-09-25 世融能量科技有限公司 基于光子集成技术的真空涨落量子随机数发生器芯片
EP4170480A1 (en) 2021-10-20 2023-04-26 Université de Genève Method and device for quantum random number generation
CN114637704B (zh) * 2022-05-10 2022-08-23 沐曦集成电路(上海)有限公司 多接口激励实现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3580737B2 (ja) * 1999-08-30 2004-10-27 富士通株式会社 正規乱数生成装置および記録媒体
US6711342B2 (en) * 2002-05-29 2004-03-23 Northrop Grumman Corporation Optical random number generator and method of optically generating random numbers
JP2005250714A (ja) * 2004-03-03 2005-09-15 Univ Nihon 光子乱数発生器
JP2005259004A (ja) * 2004-03-15 2005-09-22 Japan Science & Technology Agency 乱数生成方法、及び乱数生成装置
JP2008547072A (ja) * 2005-06-16 2008-12-25 ザ チャイニーズ ユニバーシティー オブ ホンコン 量子乱数発生器
US20100217789A1 (en) * 2006-01-20 2010-08-26 Niigata University Physical random number generation method and physical random number generator

Also Published As

Publication number Publication date
JP2009070009A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
JP4952461B2 (ja) 乱数生成装置および乱数生成方法
US11442698B2 (en) Quantum random number generators
JP7264949B2 (ja) 量子乱数ジェネレータ
KR101564954B1 (ko) 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치
WO2019180770A1 (ja) 光子検出器の駆動タイミング調整方法、装置および光通信システム
CN109240645A (zh) 一种量子随机数发生器及量子随机数生成方法
JP2013503374A (ja) ネットワーク分散量子乱数発生
US9276680B2 (en) Adaptive sampling qualification for extinction ratio control
JP7160027B2 (ja) 量子鍵配送システムにおける単一光子検出器のタイミング調整方法、装置、およびプログラム
CN209103272U (zh) 一种量子随机数发生器
EP3588269B1 (en) Quantum noise-based random number generation device using multiple light sources
Tang et al. Experimental study of high speed polarization-coding quantum key distribution with sifted-key rates over Mbit/s
Hao et al. A compact multi-pixel superconducting nanowire single-photon detector array supporting gigabit space-to-ground communications
WO2021094606A1 (en) A quantum random number generator
KR101880520B1 (ko) 복수의 광원을 활용하는 양자 노이즈 기반 난수생성장치
JP2003243691A (ja) 光子検出器とそれを用いた量子通信装置及び量子計算機
US20200285447A1 (en) Random number generating circuit and random number generating method
Lavie et al. Estimating the photon-number distribution of photonic channels for realistic devices and applications in photonic quantum information processing
JP6598302B2 (ja) 信号処理回路
Çirkinoglu et al. Monolithically integrated differential phase shift transmitter for quantum key distribution
CN113826069A (zh) 用于生成随机数的紧凑数字化系统
CN111785712A (zh) 一种无偏量子熵源芯片结构
JP2019021137A (ja) 乱数信号発生器及び乱数信号発生方法
Incoronato et al. Linear SPAD array single-and multiple-photon coincidence-based Quantum Random Number Generator
JP2024070212A (ja) 光源の光子数統計を決定するための方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees