特許第6055867号(P6055867)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華邦電子股▲ふん▼有限公司の特許一覧

<>
  • 特許6055867-乱数発生器およびその乱数発生方法 図000002
  • 特許6055867-乱数発生器およびその乱数発生方法 図000003
  • 特許6055867-乱数発生器およびその乱数発生方法 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6055867
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】乱数発生器およびその乱数発生方法
(51)【国際特許分類】
   G06F 7/58 20060101AFI20161219BHJP
   G09C 1/00 20060101ALI20161219BHJP
【FI】
   G06F7/58 640
   G09C1/00 650B
【請求項の数】12
【外国語出願】
【全頁数】10
(21)【出願番号】特願2015-84989(P2015-84989)
(22)【出願日】2015年4月17日
(65)【公開番号】特開2016-24810(P2016-24810A)
(43)【公開日】2016年2月8日
【審査請求日】2015年4月17日
(31)【優先権主張番号】103124777
(32)【優先日】2014年7月18日
(33)【優先権主張国】TW
(73)【特許権者】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100105050
【弁理士】
【氏名又は名称】鷲田 公一
(72)【発明者】
【氏名】李鎮宜
【審査官】 宮下 誠
(56)【参考文献】
【文献】 米国特許出願公開第2009/0172055(US,A1)
【文献】 特開2006−294001(JP,A)
【文献】 特開昭63−107312(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/58
G09C 1/00
H03K 3/64
(57)【特許請求の範囲】
【請求項1】
乱数列を生成する乱数発生器であって、
前記乱数列を受信して、複数の第1制御信号および複数の第2制御信号を生成する線形帰還シフトレジスタ回路と、
前記第1制御信号を受信して、ランダムクロック信号を生成する発振回路と、
交流信号および前記第2制御信号を受信して、ランダム遅延サンプリング信号を生成する遅延回路と、
論理演算回路とを含み、
前記論理演算回路は、前記ランダムクロック信号および前記ランダム遅延サンプリング信号を受信して、前記ランダム遅延サンプリング信号に基づいて前記ランダムクロック信号の論理レベルを取り込み、取り込んだ前記ランダムクロック信号の前記論理レベルに基づいて前記論理演算回路の出力端の論理レベルを決定し、それによって、前記乱数列を形成し、
前記線形帰還シフトレジスタ回路が、
論理入力端および論理出力端を含み、前記論理出力端が、前記第1制御信号および前記第2制御信号を提供するよう構成された複数のフリップフロップ素子と、
第1演算入力端、第2演算入力端および演算出力端を含む複数の論理演算素子であって、前記論理演算素子のうちの最初の論理演算素子の前記第1演算入力端が、前記乱数列を受信し、前記最初の論理演算素子の前記第2演算入力端が、前記フリップフロップ素子の最後のフリップフロップ素子の前記論理出力端に結合され、i個目の論理演算素子の前記演算出力端が、前記フリップフロップ素子のi個目のフリップフロップ素子の前記論理入力端に結合され、前記フリップフロップ素子の前記i個目のフリップフロップ素子の前記論理出力端が、前記論理演算素子のi+1個目の論理演算素子の前記第1演算入力端に結合され、iが、1以上の正の整数である複数の論理演算素子と、
前記最初の論理演算素子以外の残りの前記論理演算素子のうちの1つの前記第2演算入力端と前記フリップフロップ素子の前記最後のフリップフロップ素子の前記論理出力端の間にそれぞれ結合された複数のスイッチと
を含む乱数発生器。
【請求項2】
前記フリップフロップ素子が、複数のDフリップフロップまたは複数のTフリップフロップである請求項に記載の乱数発生器。
【請求項3】
前記論理演算素子が、それぞれANDゲート、ORゲートまたはXORゲートである請求項に記載の乱数発生器。
【請求項4】
前記遅延回路が、互いに直列接続し、それぞれ前記第1制御信号のうちの1つを受信する複数の第1信号バッファリング素子を含み、
前記第1信号バッファリング素子のうちの最初の第1信号バッファリング素子の入力端が、前記交流信号を受信し、
前記第1信号バッファリング素子のうちの最後の第1信号バッファリング素子の出力端が、前記ランダム遅延サンプリング信号を提供する請求項1に記載の乱数発生器。
【請求項5】
前記第1信号バッファリング素子が、それぞれインバータおよびバッファのうちの1つである請求項に記載の乱数発生器。
【請求項6】
前記発振回路が、互いに直列接続し、それぞれ前記第2制御信号のうちの1つを受信する複数の第2信号バッファリング素子を含み、
前記第2信号バッファリング素子のうちの1つの出力端が、前記ランダムクロック信号を提供する請求項1に記載の乱数発生器。
【請求項7】
前記第2信号バッファリング素子が、それぞれインバータおよびバッファのうちの1つである請求項に記載の乱数発生器。
【請求項8】
乱数列を生成するよう構成され、
線形帰還シフトレジスタ回路により前記乱数列を受信して、複数の第1制御信号および複数の第2制御信号を生成し、
発振回路により前記第1制御信号を受信して、ランダムクロック信号を生成し、
遅延回路により交流信号および前記第2制御信号を受信して、ランダム遅延サンプリング信号を生成し、
論理演算回路により前記ランダムクロック信号および前記ランダム遅延サンプリング信号を受信して、前記ランダム遅延サンプリング信号に基づいて前記ランダムクロック信号の論理レベルを取り込み、前記論理演算回路が、取り込んだ前記ランダムクロック信号の前記論理レベルに基づいて前記論理演算回路の出力端の論理レベルを決定し、それによって、前記乱数列を形成し、
前記線形帰還シフトレジスタ回路が、
論理入力端および論理出力端を含み、前記論理出力端が、前記第1制御信号および前記第2制御信号を提供するよう構成された複数のフリップフロップ素子と、
第1演算入力端、第2演算入力端および演算出力端を含む複数の論理演算素子であって、前記論理演算素子のうちの最初の論理演算素子の前記第1演算入力端が、前記乱数列を受信し、前記最初の論理演算素子の前記第2演算入力端が、前記フリップフロップ素子の最後のフリップフロップ素子の前記論理出力端に結合され、i個目の論理演算素子の前記演算出力端が、前記フリップフロップ素子のi個目のフリップフロップ素子の前記論理入力端に結合され、前記フリップフロップ素子の前記i個目のフリップフロップ素子の前記論理出力端が、前記論理演算素子のi+1個目の論理演算素子の前記第1演算入力端に結合され、iが、1以上の正の整数である複数の論理演算素子と、
前記最初の論理演算素子以外の残りの前記論理演算素子のうちの1つの前記第2演算入力端と前記フリップフロップ素子の前記最後のフリップフロップ素子の前記論理出力端の間にそれぞれ結合された複数のスイッチと
を含む乱数発生器の乱数発生方法。
【請求項9】
前記第1制御信号の一部が、前記第2制御信号の一部と完全に一致する請求項に記載の乱数発生器の乱数発生方法。
【請求項10】
前記第1制御信号が、前記第2制御信号と完全に一致する請求項に記載の乱数発生器の乱数発生方法。
【請求項11】
前記第1制御信号が、前記第2制御信号と完全に異なる請求項に記載の乱数発生器の乱数発生方法。
【請求項12】
前記交流信号が、正弦波信号、三角波信号、矩形波信号またはのこぎり波信号のうちの1つである請求項に記載の乱数発生器の乱数発生方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乱数発生器(random number generator)に関するものであり、特に、乱数発生器およびその乱数発生方法に関するものである。
【背景技術】
【0002】
情報化社会およびグルーバル時代において、人々は、コンピュータやインターネットからますます離れられなくなっている。その結果、電子取引の応用もますます便利になり、広く普及した。現在、電子取引の安全性を向上させるため、ランダム符号を用いて各取引の記録を暗号化および復号化するのが一般的である。
【0003】
一般的に、乱数発生器を用いて乱数列を生成し、その乱数列を用いて所望のランダム符号を取得する。また、ランダム符号の非再現可能性(non-repeatability)によりランダム符号のランダム性を決定し、そのランダム符号のランダム性によってランダム符号を解読する確率を決定する。そのため、いかにしてランダム符号のランダム性を向上させるかが、乱数発生器の設計における主な課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、乱数列(random sequence)のランダム性、つまり、ランダム符号のランダム性を向上させることのできる乱数発生器およびその乱数発生方法を提供する。
【課題を解決するための手段】
【0005】
本発明に係る乱数発生器は、乱数列を生成するよう構成され、線形帰還シフトレジスタ(linear-feedback shift register)回路と、発振回路と、遅延回路と、論理演算回路とを含む。線形帰還シフトレジスタ回路は、乱数列を受信して、複数の第1制御信号および複数の第2制御信号を生成する。発振回路は、第1制御信号を受信して、ランダムクロック信号を生成する。遅延回路は、交流信号および第2制御信号を受信して、ランダム遅延サンプリング信号を生成する。論理演算回路は、ランダムクロック信号およびランダム遅延サンプリング信号を受信して、ランダム遅延サンプリング信号に基づいてランダムクロック信号の論理レベルを取り込み、取り込んだランダムクロック信号の論理レベルに基づいて論理演算回路の出力端の論理レベルを決定し、それによって、乱数列を形成する。
【0006】
本発明に係る乱数発生器の乱数発生方法は、乱数列を生成するよう構成され、以下のステップを含む。線形帰還シフトレジスタ回路により乱数列を受信して、複数の第1制御信号および複数の第2制御信号を生成する。発振回路により第1制御信号を受信して、ランダムクロック信号を生成する。遅延回路により交流信号および第2制御信号を受信して、ランダム遅延サンプリング信号を生成する。論理演算回路によりランダムクロック信号およびランダム遅延サンプリング信号を受信して、ランダム遅延サンプリング信号に基づいてランダムクロック信号の論理レベルを取り込む。論理演算回路は、取り込んだランダムクロック信号の論理レベルに基づいて論理演算回路の出力端の論理レベルを決定し、それによって、乱数列を形成する。
【発明の効果】
【0007】
以上のように、乱数発生器およびその乱数発生方法は、生成した乱数列を帰還して、ランダム性を有する第1および第2制御信号を生成した後、第1制御信号に基づいて、発振回路を制御してランダムクロック信号を生成し、第2制御信号に基づいて、遅延回路が交流信号を遅延させる遅延時間を制御する。このようにして、乱数列のランダム性、つまり、ランダム符号のランダム性を向上させることができる。
【0008】
本発明の上記および他の目的、特徴、および利点をより分かり易くするため、図面と併せた幾つかの実施形態を以下に説明する。
【図面の簡単な説明】
【0009】
図1】本発明の1つの実施形態に係る乱数発生器のシステムを示す概略図である。
図2】本発明の1つの実施形態に係る発振回路、線形帰還シフトレジスタ回路および遅延回路を示す概略的回路図である。
図3】本発明の1つの実施形態に係る乱数発生器の乱数発生方法を示すフローチャートである。
【発明を実施するための形態】
【0010】
図1は、本発明の1つの実施形態に係る乱数発生器のシステムを示す概略図である。図1を参照すると、本実施形態において、乱数発生器100は、乱数列RSEを生成するよう構成され、線形帰還シフトレジスタ(linear-feedback shift register, LFSR)回路110と、発振回路120と、遅延回路130と、論理演算回路140とを含む。また、論理演算回路140は、例えば、DフリップフロップDFFを含む。
【0011】
本実施形態において、線形帰還シフトレジスタ回路110は、制御信号RNCおよび乱数列RSEを受信する。線形帰還シフトレジスタ回路110が制御信号RNCの制御下で起動した時、線形帰還シフトレジスタ回路110は、乱数列RSEに基づいて、複数の第1制御信号SC1および複数の第2制御信号SC2を生成する。
【0012】
発振回路120は、第1制御信号SC1を受信して、第1制御信号SC1に基づいてランダムクロック信号SRCKを生成する。また、ランダムクロック信号SRCKのパルス幅は、点線の波形S1で示したように、第1制御信号SC1の電圧レベルの変化によって制御され、それに対応して変化する。遅延回路130は、交流信号SAC(例えば矩形波)および第2制御信号SC2を受信し、第2制御信号SC2に基づいて交流信号SACを遅延させることによって、ランダム遅延サンプリング信号SRDを生成する。また、交流信号SACの遅延時間は、点線の波形S2で示したように、第2制御信号SC2の電圧レベルの変化によって制御され、それに対応して変化する。つまり、交流信号SACは、第2制御信号SC2の電圧レベルに対応して揺らぎ(jitter)、ランダム遅延サンプリング信号SRDとして機能する。
【0013】
論理演算回路140のDフリップフロップDFFの入力端Dは、ランダムクロック信号SRCKを受信し、DフリップフロップDFFのトリガー端は、ランダム遅延サンプリング信号SRDを受信する。DフリップフロップDFFは、ランダム遅延サンプリング信号SRDに基づいてランダムクロック信号SRCKの論理レベルを取り込む。また、取り込んだランダムクロック信号SRCKの論理レベルは、論理演算回路140の出力端Qの論理レベルを決定し、乱数列RSEを形成する。
【0014】
以上のように、乱数列RSEを帰還して第1制御信号SC1および第2制御信号SC2を生成することにより、乱数列RSE自体のランダム性が第1制御信号SC1のランダム性および第2制御信号SC2のランダム性に間接的に影響を及ぼすため、ランダムクロック信号SRCKのパルス幅および交流信号SACの遅延時間をランダムに調節または設定することができ、それによって、乱数列RSEのランダム性を向上させることができる。
【0015】
本発明の1つの実施形態において、第1制御信号SC1は、第2制御信号SC2と部分的に一致してもよく、つまり、第1制御信号SC1の一部は、第2制御信号SC2の一部と完全に一致してもよく;第1制御信号SC1は、第2制御信号SC2と完全に一致してもよく;あるいは、第1制御信号SC1は、第2制御信号SC2と完全に異なってもよい。
【0016】
本実施形態において、論理演算回路140は、例えば、DフリップフロップDFFを含む。しかしながら、別の実施形態において、論理演算回路140は、例えば、ランダム遅延サンプリング信号SRDおよびランダムクロック信号SRCKに基づいて乱数列RSEを生成するTフリップフロップを含んでもよい。また、交流信号SACは、説明の目的で、矩形波として示す。しかしながら、別の実施形態において、交流信号SACは、正弦波信号、三角波信号、矩形波信号またはのこぎり波信号のうちの1つであってもよい。
【0017】
図2は、本発明の1つの実施形態に係る発振回路、線形帰還シフトレジスタ回路および遅延回路を示す概略的回路図である。図1および図2を同時に参照すると、言及すべきこととして、類似する構成要素には類似する参照番号を引用する。本実施形態において、第1制御信号SC1は、第2制御信号SC2と完全に一致するよう設定される。
【0018】
線形帰還シフトレジスタ回路110aは、複数のフリップフロップ(例えば、DフリップフロップDFF_1〜DFF_n)と、複数の論理演算素子(XORゲートXR_1〜XR_n)と、複数のスイッチSW_1〜SW_n−1とを含む。また、スイッチSW_1〜SW_n−1がオンであるかオフであるかは、本分野において通常の知識を有する者により決定されるため、本発明の実施形態はこれに限定されない。
【0019】
DフリップフロップDFF_1〜DFF_nの出力端Q(論理出力端に対応)は、第1制御信号SC1_1〜SC1_nおよび第2制御信号SC2_1〜SC2_nを提供して、次のXORゲート(例えば、XR_2〜XR_n)の演算入力端に結合され、DフリップフロップDFF_1〜DFF_nのリセット端は、制御信号RNCを受信し、DフリップフロップDFF_1〜DFF_nのトリガー端は、基準クロック信号CKRを共同で受信し、DフリップフロップDFF_1〜DFF_nの入力端D(論理入力端に対応)は、前のXORゲート(XR_1〜XR_n)の演算出力端に結合される。
【0020】
例えば、DフリップフロップDFF_1の入力端Dは、XORゲートXR_1の演算出力端に結合され、DフリップフロップDFF_2の入力端Dは、XORゲートXR_2の演算出力端に結合される。つまり、第iXORゲート(例えば、XR_1〜XR_n)の演算出力端は、第iDフリップフロップ(例えば、DFF_1〜DFF_n)の入力端Dに結合される。また、iは、1以上の正の整数である。さらに、DフリップフロップDFF_1の出力端Qは、XORゲートXR_2の演算入力端に結合され、DフリップフロップDFF_2の出力端Qは、XORゲートXR_3の演算入力端に結合される。つまり、第iDフリップフロップ(例えば、DFF_1〜DFF_n)の出力端Qは、第i+1XORゲート(例えば、XR_2〜XR_n)の第1演算入力端に結合される。
【0021】
第1XORゲートXR_1の第1演算入力端は、乱数列RSEを受信し、第1XORゲートXR_1の第2演算入力端は、最後のDフリップフロップDFF_nの出力端に結合される。スイッチSW_1〜SW_n−1は、それぞれ、第1XORゲートXR_1以外のXORゲート(例えば、XR_2〜XR_n)のうちの1つの第2演算入力端と最後のDフリップフロップDFF_nの出力端Qの間に結合される。つまり、スイッチSW_1は、XORゲートXR_2の第2演算入力端と最後のDフリップフロップDFF_nの出力端Qの間に結合され、スイッチSW_2は、XORゲートXR_3の第2演算入力端と最後のDフリップフロップDFF_nの出力端Qの間に結合される。
【0022】
以上のように、線形帰還シフトレジスタ回路110aにより提供された第1制御信号SC1および第2制御信号SC2は、スイッチSW_1〜SW_n−1のオン状態に関連するだけでなく、乱数列RSEにも関連し、第1制御信号SC1および第2制御信号SC2の電圧レベルの切り替えを非周期的にする。
【0023】
また、フリップフロップ素子の例としてDフリップフロップを使用したが、別の実施形態において、フリップフロップ素子は、Tフリップフロップであってもよい。さらに、論理演算素子の例としてXORゲートを使用したが、別の実施形態において、論理演算素子は、ANDゲートおよびORゲートであってもよい。
【0024】
図1および図2を再度参照すると、遅延回路130aは、例えば、複数の第1信号バッファリング素子(例えば、複数のバッファBF_1〜BF_n)を含む。バッファBF_1〜BF_nは、互いに直接接続し、それぞれ第1制御信号(例えば、SC1_1〜SC1_n)のうちの1つを受信して、操作電圧として機能する。また、第1バッファBF_1の入力端は、交流信号SACを受信し、最後のバッファBF_nの出力端は、ランダム遅延サンプリング信号SRDを提供する。また、第1信号バッファリング素子の例としてバッファBF_1〜BF_nを使用したが、第1信号バッファリング素子は、インバータまたはインバータとバッファの組み合わせであってもよい。つまり、第1信号バッファリング素子は、インバータとバッファのうちの1つであってもよい。しかしながら、本発明はこれに限定されない。
【0025】
発振回路120は、例えば、複数の第2信号バッファリング素子(例えば、複数のインバータINT_1〜INT_n)を含む。つまり、発振回路120は、リング発信器であってもよい。インバータINT_1〜INT_nは、互いに直列接続され、それぞれ第2制御信号(例えば、SC2_1〜SC2_n)のうちの1つを受信して、操作電圧として機能する。また、最後のインバータINT_nの出力端は、ランダムクロック信号SRCKを提供する。さらに、第2信号バッファリング素子の例としてインバータINT_1〜INT_nを使用したが、別の実施形態において、第2信号バッファリング素子は、信号反転能力を有する発振回路を形成するインバータとバッファの組み合わせであってもよい。つまり、第2信号バッファリング素子は、それぞれ、インバータおよびバッファであってもよい。
【0026】
また、本実施形態において、第1制御信号SC1は、第2制御信号SC2と完全に一致するよう設定されるため、フリップフロップ素子および論理演算素子の数は、第1および第2信号バッファリング素子の数と同じであってもよい。しかしながら、別の実施形態において、フリップフロップ素子および論理演算素子の数は、第1および第2信号バッファリング素子の数よりも大きくてもよい。第1制御信号SC1が第2制御信号SC2と部分的に一致する状況では、フリップフロップ素子および論理演算素子の数は、第1信号バッファリング素子および第2信号バッファリング素子の数と重複する制御信号を引いた数の合計よりも大きいか、それに等しい。第1制御信号SC1と第2制御信号SC2が完全に異なる状況では、フリップフロップ素子および論理演算素子の数は、第1信号バッファリング素子および第2信号バッファリング素子の数の合計よりも大きいか、それに等しい。
【0027】
さらに、各フリップフロップ素子の出力端は、第1制御信号SC1または第2制御信号SC2を提供しても、あるいは、第1制御信号SC1と第2制御信号SC2を同時に提供してもよく、本分野において通常の知識を有する者により設定されるため、本発明の実施形態はこれに限定されない。
【0028】
図3は、本発明の1つの実施形態に係る乱数発生器の乱数発生方法を示すフローチャートである。図3を参照すると、乱数発生器の乱数発生方法は、以下のステップを含む。線形帰還シフトレジスタ回路により乱数列を受信して、複数の第1制御信号および複数の第2制御信号を生成する(ステップS310)。そして、発振回路により第1制御信号を受信して、ランダムクロック信号を生成し(ステップS320)、遅延回路により交流信号および第2制御信号を受信して、ランダム遅延サンプリング信号を生成する(ステップS330)。最後に、論理演算回路によりランダムクロック信号およびランダム遅延サンプリング信号を受信して、ランダム遅延サンプリング信号に基づいてランダムクロック信号の論理レベルを取り込む。そして、取り込んだランダムクロック信号の論理レベルに基づいて、論理演算回路により論理演算回路の出力端の論理レベルを決定し、乱数列SCEを形成する(ステップS340)。ここで、上述したステップS310、S320、S330およびS340の順序は、説明の目的のために記載したものであり、本発明の実施形態はこれに限定されない。また、ステップS310、S320、S330およびS340の詳細については、図1および図2の実施形態を参照することができるため、ここでは繰り返し説明しない。
【0029】
以上のように、乱数発生器およびその乱数発生方法は、生成した乱数列を帰還して、ランダム性を有する第1および第2制御信号を生成した後、第1制御信号に基づいて、発振回路を制御してランダムクロック信号を生成し、第2制御信号に基づいて、遅延回路が交流信号を遅延させる遅延時間を制御する。このようにして、乱数列のランダム性、つまり、ランダム符号のランダム性を向上させることができる。
【0030】
以上のごとく、この発明を実施形態により開示したが、もとより、この発明を限定するためのものではなく、当業者であれば容易に理解できるように、この発明の技術思想の範囲内において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は、特許請求の範囲および、それと均等な領域を基準として定めなければならない。
【産業上の利用可能性】
【0031】
本発明は、電子取引の応用に使用される乱数発生器であり、特に、乱数列のランダム性、つまり、ランダム符号のランダム性を向上させることのできる乱数発生器およびその乱数発生方法を提供する。
【符号の説明】
【0032】
100 乱数発生器
110、110a 線形帰還シフトレジスタ(LFSR)回路
120、120a 発振回路
130、130a 遅延回路
140 論理演算回路
BF_1〜BF_n バッファ
CKR 基準クロック信号
D 入力端
DFF、DFF_1〜DFF_n Dフリップフロップ
INT_1〜INT_n インバータ
Q 出力端
RNC 制御信号
RSE 乱数列(random sequence)
SAC 交流信号
S1、S2 波形
SC1、SC1_1〜SC1_n 第1制御信号
SC2、SC2_1〜SC2_n 第2制御信号
SRCK ランダムクロック信号
SRD ランダム遅延サンプリング信号
SW_1〜SW_n−1 スイッチ
XR_1〜XR_n XORゲート
S310、S320、S330、S340 ステップ
図1
図2
図3