(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】乱数発生装置
(51)【国際特許分類】
G06F 7/58 20060101AFI20231003BHJP
G09C 1/00 20060101ALI20231003BHJP
【FI】
G06F7/58 680
G09C1/00 650B
(21)【出願番号】P 2019231330
(22)【出願日】2019-12-23
【審査請求日】2022-09-22
(73)【特許権者】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100064621
【氏名又は名称】山川 政樹
(72)【発明者】
【氏名】小貝 和史
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2008-250783(JP,A)
【文献】特開平10-171349(JP,A)
【文献】特開2010-271888(JP,A)
【文献】米国特許出願公開第2017/0228216(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/58- 7/72
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
計測対象の時間を
数ピコ秒単位で計測して計測値を出力するように構成された時間計測部と、
前記時間計測部が出力した計測値
の誤差が含まれる下位の有効ではない桁を乱数とするように構成された演算部と
を備える乱数発生装置。
【請求項2】
請求項1記載の乱数発生装置において、
前記演算部は、前記計測値より設定された桁数の数値を取り出して乱数とする
ことを特徴とする乱数発生装置。
【請求項3】
請求項2記載の乱数発生装置において、
前記演算部は、前記計測値の最下位より設定された桁数の数値を取り出して乱数とする
ことを特徴とする乱数発生装置。
【請求項4】
請求項2または3記載の乱数発生装置において、
前記演算部は、複数の前記計測値の各々より取り出した複数の数値を組み合わせて乱数とすることを特徴とする乱数発生装置。
【請求項5】
請求項1~4のいずれか1項に記載の乱数発生装置において、
前記計測値は、デジタルデータであることを特徴とする乱数発生装置。
【請求項6】
請求項1~5のいずれか1項に記載の乱数発生装置において、
前記時間計測部は、送信部から電磁波または音波が送出されてから対象物で反射して受信部で受信されるまでの時間を計測する
ことを特徴とする乱数発生装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乱数発生装置に関する。
【背景技術】
【0002】
情報セキュリティのために暗号が利用されているが、暗号には乱数を必要とすることが多い。例えば、暗号に使用する暗号鍵は一般的には乱数である。乱数は誰にも予測、再現されないことが求められる。乱数の発生技術として、例えば、リングオシレータをサンプリングして乱数源とする技術が知られている(特許文献1参照)。また、ツェナーダイオードなどの半導体の熱雑音から乱数を生成する乱数生成ICもある。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第5465636号公報
【文献】特許第5292797号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した技術では、乱数を得るためには、乱数生成装置が実装されたコンピュータを用いる、または、乱数生成ICを用いることになり、コストの上昇が問題となる。また、電池駆動などの低消費電力であることが求められる製品では、乱数生成のために追加する乱数発生部における消費電流の増加が問題となる。
【0005】
本発明は、以上のような問題点を解消するためになされたものであり、コストの上昇や消費電流の上昇を招くことなく、乱数が発生できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る乱数発生装置は、計測対象の時間を計測して計測値を出力するように構成された時間計測部と、時間計測部が出力した計測値を乱数とするように構成された演算部とを備える。
【0007】
上記乱数発生装置の一構成例において、演算部は、計測値より設定された桁数の数値を取り出して乱数とする。例えば、演算部は、計測値の最下位より設定された桁数の数値を取り出して乱数とする。
【0008】
上記乱数発生装置の一構成例において、演算部は、複数の計測値の各々より取り出した複数の数値を組み合わせて乱数とする。
【0009】
上記乱数発生装置の一構成例において、計測値は、デジタルデータである。
【0010】
上記乱数発生装置の一構成例において、時間計測部は、送信部から電磁波または音波が送出されてから対象物で反射して受信部で受信されるまでの時間を計測する。
【発明の効果】
【0011】
以上説明したように、本発明によれば、時間計測部が出力した計測値を乱数とするので、コストの上昇や消費電流の上昇を招くことなく、乱数が発生できる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本発明の実施の形態に係る乱数発生装置の構成を示す構成図である。
【
図2】
図2は、本発明の実施の形態に係る乱数発生装置の演算部102のハードウエア構成を示す構成図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態に係る乱数発生装置について
図1を参照して説明する。この乱数発生装置は、計測対象の時間を計測して計測値を出力する時間計測部101と、時間計測部101が出力した計測値を乱数とする演算部102とを備える。計測値は、デジタルデータである。時間計測部101は、例えば、公知の時間計測回路(Time to Digital Converter:TDC)から構成することができる。演算部102は、計測値より設定された桁数の数値を取り出して乱数とする。例えば、演算部102は、計測値の最下位より設定された桁数の数値を取り出して乱数とする。例えば、計測値の有効でない桁を乱数として取り出すことができる。このようにして得られた乱数は、真性乱数である。
【0014】
例えば、数ピコ秒単位の高い分解能を有する時間計測部101で計測される時間は、様々な誤差が含まれている。この誤差は、計測値の下位の桁(下位ビット)に現れるので、これを乱数源として使用する。例えば、演算部102は、計測値の最下位より3桁の数値を取り出して乱数とする。また、演算部102は、複数の計測値の各々より取り出した複数の数値を組み合わせて乱数とする。例えば、必要とされる乱数の桁数が12桁の場合、4回の時間計測で得られた4つの3桁の乱数を組み合わせることで、12桁の乱数とする。
【0015】
ここで、時間計測部101は、送信部103から電磁波または音波が送出されてから対象物131で反射して受信部104で受信されるまでの時間を計測する。例えば、時間計測部101、演算部102、送信部103、受信部104は、超音波流量計である。送信部103、受信部104は、超音波送受信器であり、対象物131は、例えば、流体である。
【0016】
超音波流量計において、送信部103から超音波を出力し、反射した超音波を受信部104で受信する。このときの超音波の伝搬時間が時間計測部101で計測され、計測された伝搬時間差に基づいて、演算部102が、流体の流量を算出する(特許文献2)。この種の超音波流量計では、誤差成分の除去のために、順逆の伝搬時間の計測を繰り返し実施して補正し、順逆の伝搬時間の差分から流量を算出している。このように、時間計測を実施している超音波流量計において、新たな乱数生成装置や乱数生成ICを追加することなく、乱数を生成することができる。また、演算部102により求められた乱数は、記憶部105に記憶しておき、必要なときに用いる。
【0017】
また、時間計測部101、演算部102、送信部103、受信部104は、測距装置とすることもできる。送信部103は、レーザ光を出射し、受信部104は、対象物で反射されたレーザ光を受光する。時間計測部101は、送信部103がレーザ光を出射してから、対象物131で反射して受信部104で受光されるまでの時間を計測する。計測された時間差に基づいて、演算部102が、送信部103から対象物131までの距離を算出する。
【0018】
ここで、乱数について説明する。一般に、乱数には、真性乱数と疑似乱数とがある。真性乱数は、熱雑音、光の散乱、原子崩壊の放射線などの物理現象から生成され、既知の値から次の値が独立している数である。疑似乱数は、真性乱数に似た性質を持つ計算で求めた数である。疑似乱数は、計算方法が決まっているため、内部状態が既知の場合は次の値が予測可能である。また、疑似乱数においては、内部状態が識別されないように、真性乱数で初期化(seed)することが必要な場合がある。
【0019】
また、乱数は、例えば、暗号の生成に用いられる。例えば、暗号鍵は、乱数で生成する。例えば、暗号論的疑似乱数生成器(Cryptographically Secure Pseudo Random Number Generator:CSPRNG)が、暗号鍵の生成に利用される。暗号論的疑似乱数生成器で生成される乱数は、予測不可能性をもち、再現性があるが、計算方法は一定のため、同じ初期状態からは同じ値が生成される。このため、暗号論的疑似乱数生成器では、初期状態を真性乱数で初期化することが必要となる。
【0020】
なお、上述した実施の形態に係る乱数発生装置の演算部102は、
図2に示すように、CPU(Central Processing Unit;中央演算処理装置)301と主記憶装置302と外部記憶装置303とネットワーク接続装置304となどを備えたコンピュータ機器とし、主記憶装置302に展開されたプログラムによりCPU301が動作する(プログラムを実行する)ことで、上述した演算部102の動作が実現されるようにすることもできる。ネットワーク接続装置304は、ネットワーク305に接続する。また、各機能は、複数のコンピュータ機器に分散させることもできる。
【0021】
また、上述した実施の形態に係る乱数発生装置の演算部102は、FPGA(field-programmable gate array)などのプログラマブルロジックデバイス(PLD:Programmable Logic Device)により構成することも可能である。
【0022】
以上に説明したように、本発明によれば、時間計測部が出力した計測値を乱数とするので、コストの上昇や消費電流の上昇を招くことなく、乱数が発生できるようになる。
【0023】
なお、本発明は以上に説明した実施の形態に限定されるものではなく、本発明の技術的思想内で、当分野において通常の知識を有する者により、多くの変形および組み合わせが実施可能であることは明白である。
【符号の説明】
【0024】
101…時間計測部、102…演算部、103…送信部、104…受信部、105…記憶部、131…対象物。