図面 (/)

技術 乱数生成装置及び乱数生成方法

出願人 株式会社メガチップス
発明者 山本武史菅原崇彦
出願日 2014年12月26日 (6年0ヶ月経過) 出願番号 2014-266706
公開日 2016年7月11日 (4年5ヶ月経過) 公開番号 2016-126517
状態 特許登録済
技術分野 パルス列発生器 特定演算一般(初等関数/乱数発生/非基数) 暗号化・復号化装置及び秘密通信
主要キーワード 二値論理 他方入力端子 製品出荷前 製品出荷後 乱数出力 不可能性 真性乱数 乱数生成装置
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年7月11日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

発振回路の特性に拘わらず真性度の高い乱数を生成することが可能な乱数生成装置を得る。

解決手段

乱数生成装置1は、二値論理の「0」と「1」とが交互に繰り返される出力値S3を出力する発振回路2と、発振回路2の出力値S3を所定のサンプリングクロックSCに基づいてサンプリングすることにより、乱数S4を生成するサンプリング回路3と、発振回路2の発振周波数可変に設定するセレクタ6と、を備える。

概要

背景

近年における情報技術の発達に伴い、第三者による盗聴改ざん、なりすまし等の犯罪が増加する傾向にある。そのため、暗号化による情報セキュリティが重要になってきており、暗号化において乱数の利用は不可欠である。

従来は、関数の組み合わせによる計算式を用いた演算によって生成される擬似乱数が多く使用されていたが、関数や初期設定が人為的に漏洩する危険性や、第三者によって乱数生成パターン予測され得る可能性があった。そのため、擬似乱数に代えて、再現不可能性及び予測不可能性の高い真性乱数が求められるようになった。

一般的な真性乱数生成器では、二値論理の「0」と「1」とが交互に繰り返される出力値リング発振器から出力し、その出力値をシフトレジスタで所定のサンプリングクロックを用いてサンプリングすることによって、真性乱数が生成される。

なお、下記特許文献1には、乱数出力レジスタから出力された乱数出力に基づいてシステムクロック整数倍のサンプリングクロックを生成し、当該サンプリングクロックを用いて発振器の出力値をサンプリングすることにより、乱数出力レジスタで乱数を生成する真性乱数生成装置が開示されている。

概要

発振回路の特性に拘わらず真性度の高い乱数を生成することが可能な乱数生成装置を得る。乱数生成装置1は、二値論理の「0」と「1」とが交互に繰り返される出力値S3を出力する発振回路2と、発振回路2の出力値S3を所定のサンプリングクロックSCに基づいてサンプリングすることにより、乱数S4を生成するサンプリング回路3と、発振回路2の発振周波数可変に設定するセレクタ6と、を備える。

目的

本発明はかかる事情に鑑みて成されたものであり、発振回路の特性に拘わらず真性度の高い乱数を生成することが可能な、乱数生成装置及び乱数生成方法を得ることを目的とする

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

二値論理の「0」と「1」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のサンプリングクロックに基づいてサンプリングすることにより、乱数を生成する乱数生成回路と、前記発振回路の発振周波数可変に設定する第1の設定部と、を備える、乱数生成装置

請求項2

前記第1の設定部は、外部入力された選択信号に基づいて、前記発振回路の発振周波数を設定する、請求項1に記載の乱数生成装置。

請求項3

前記第1の設定部は、前記乱数生成回路によって生成された乱数に基づいて、前記発振回路の発振周波数を設定する、請求項1に記載の乱数生成装置。

請求項4

前記第1の設定部は、前記乱数生成回路から乱数が出力される毎に、当該乱数に基づいて前記発振回路の発振周波数を設定する、請求項3に記載の乱数生成装置。

請求項5

前記発振回路は、直列に接続された複数奇数個の論理ゲートを含み、前記第1の設定部は、複数の入力端子を有するセレクタを含み、前記セレクタの各々の前記入端子には、全ての前記論理ゲートのうち異なる前記論理ゲートの出力値が入力される、請求項1〜4のいずれか一つに記載の乱数生成装置。

請求項6

前記発振回路の出力値の有効バス幅を可変に設定する第2の設定部をさらに備える、請求項1〜5のいずれか一つに記載の乱数生成装置。

請求項7

前記発振回路の出力値に基づいて、各ビットにおいて二値論理の「0」と「1」とが交互に繰り返される複数Nビットのバス幅を有する出力値を生成し、Nビットの出力値の各ビットにおいて前記発振回路からの出力ビット位置を可変に設定する第2の設定部をさらに備える、請求項1〜5のいずれか一つに記載の乱数生成装置。

請求項8

(A)二値論理の「0」と「1」とが交互に繰り返される出力値を生成するステップと、(B)前記ステップ(A)で生成された出力値を所定のサンプリングクロックに基づいてサンプリングすることにより、乱数を生成するステップと、(C)前記ステップ(A)で生成される出力値の周波数を可変に設定するステップと、を備える、乱数生成方法

技術分野

0001

本発明は、乱数生成装置及び乱数生成方法に関し、特に、真性乱数生成装置及び生成方法に関する。

背景技術

0002

近年における情報技術の発達に伴い、第三者による盗聴改ざん、なりすまし等の犯罪が増加する傾向にある。そのため、暗号化による情報セキュリティが重要になってきており、暗号化において乱数の利用は不可欠である。

0003

従来は、関数の組み合わせによる計算式を用いた演算によって生成される擬似乱数が多く使用されていたが、関数や初期設定が人為的に漏洩する危険性や、第三者によって乱数生成パターン予測され得る可能性があった。そのため、擬似乱数に代えて、再現不可能性及び予測不可能性の高い真性乱数が求められるようになった。

0004

一般的な真性乱数生成器では、二値論理の「0」と「1」とが交互に繰り返される出力値リング発振器から出力し、その出力値をシフトレジスタで所定のサンプリングクロックを用いてサンプリングすることによって、真性乱数が生成される。

0005

なお、下記特許文献1には、乱数出力レジスタから出力された乱数出力に基づいてシステムクロック整数倍のサンプリングクロックを生成し、当該サンプリングクロックを用いて発振器の出力値をサンプリングすることにより、乱数出力レジスタで乱数を生成する真性乱数生成装置が開示されている。

先行技術

0006

特開2005−174206号公報

発明が解決しようとする課題

0007

上記の通り一般的な真性乱数生成器では、リング発振器からの出力値をシフトレジスタでサンプリングすることによって、真性乱数が生成される。しかし、半導体デバイスは個々に特性のばらつきがあり、そのばらつきは一様ではない。従って、半導体デバイスの一種であるリング発振器の特性も個々に異なるため、生成される乱数の真性度(再現不可能性及び予測不可能性)に関しても個々にばらつきが生じる。つまり、リング発振器の特性に応じて、真性度の高い好適な乱数を生成するデバイスと、そうでないデバイスとが存在する。

0008

本発明はかかる事情に鑑みて成されたものであり、発振回路の特性に拘わらず真性度の高い乱数を生成することが可能な、乱数生成装置及び乱数生成方法を得ることを目的とするものである。

課題を解決するための手段

0009

本発明の第1の態様に係る乱数生成装置は、二値論理の「0」と「1」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のサンプリングクロックに基づいてサンプリングすることにより、乱数を生成する乱数生成回路と、前記発振回路の発振周波数可変に設定する第1の設定部と、を備えることを特徴とするものである。

0010

第1の態様に係る乱数生成装置によれば、第1の設定部は、発振回路の発振周波数を可変に設定する。従って、発振回路の特性に起因して乱数の真性度が低い場合には、真性度の高い乱数が得られる他の周波数に設定し直すことにより、発振回路の特性に拘わらず真性度の高い乱数を生成することが可能となる。また、特定の論理ゲート故障等に起因して出荷時に設定した発振周波数では乱数が生成されなくなった場合には、他の周波数に設定し直すことにより所望の乱数を生成でき、その結果、装置の信頼性を向上することが可能となる。

0011

本発明の第2の態様に係る乱数生成装置は、第1の態様に係る乱数生成装置において特に、前記第1の設定部は、外部入力された選択信号に基づいて、前記発振回路の発振周波数を設定することを特徴とするものである。

0012

第2の態様に係る乱数生成装置によれば、第1の設定部は、外部入力された選択信号に基づいて、発振回路の発振周波数を設定する。従って、製品出荷前テストにおいて乱数の真性度が低い場合には、真性度の高い乱数を生成し得る周波数を探索して、選択信号によって当該周波数に設定することにより、真性度の高い乱数を生成し得る製品を出荷できる。その結果、製品の歩留まりを向上することが可能となる。

0013

本発明の第3の態様に係る乱数生成装置は、第1の態様に係る乱数生成装置において特に、前記第1の設定部は、前記乱数生成回路によって生成された乱数に基づいて、前記発振回路の発振周波数を設定することを特徴とするものである。

0014

第3の態様に係る乱数生成装置によれば、第1の設定部は、乱数生成回路によって生成された乱数に基づいて、発振回路の発振周波数を設定する。従って、発振回路の発振周波数が、乱数生成回路によって生成された乱数に応じて不規則に変動するため、生成される乱数の真性度を高めることが可能となる。

0015

本発明の第4の態様に係る乱数生成装置は、第3の態様に係る乱数生成装置において特に、前記第1の設定部は、前記乱数生成回路から乱数が出力される毎に、当該乱数に基づいて前記発振回路の発振周波数を設定することを特徴とするものである。

0016

第4の態様に係る乱数生成装置によれば、第1の設定部は、乱数生成回路から乱数が出力される毎に、当該乱数に基づいて発振回路の発振周波数を設定する。従って、乱数生成回路から乱数が出力される毎に発振回路の発振周波数が変動するため、生成される乱数の真性度をさらに高めることが可能となる。

0017

本発明の第5の態様に係る乱数生成装置は、第1〜第4のいずれか一つの態様に係る乱数生成装置において特に、前記発振回路は、直列に接続された複数奇数個の論理ゲートを含み、前記第1の設定部は、複数の入力端子を有するセレクタを含み、前記セレクタの各々の前記入端子には、全ての前記論理ゲートのうち異なる前記論理ゲートの出力値が入力されることを特徴とするものである。

0018

第5の態様に係る乱数生成装置によれば、発振回路は、直列に接続された複数奇数個の論理ゲートを含み、第1の設定部は、複数の入力端子を有するセレクタを含み、セレクタの各々の入力端子には、全ての論理ゲートのうち異なる論理ゲートの出力値が入力される。これにより、発振周波数を可変に設定可能な発振回路を、簡易な構成によって低コストで実現することが可能となる。

0019

本発明の第6の態様に係る乱数生成装置は、第1〜第5のいずれか一つの態様に係る乱数生成装置において特に、前記発振回路の出力値の有効バス幅を可変に設定する第2の設定部をさらに備えることを特徴とするものである。

0020

第6の態様に係る乱数生成装置によれば、第2の設定部は、発振回路の出力値の有効バス幅を可変に設定する。従って、乱数を取得する外部装置の必要バス幅に対して過不足のない有効バス幅の出力値を第2の設定部が出力し、乱数生成回路が当該出力値をサンプリングすることにより、乱数生成回路において必要バス幅の乱数を効率的に生成できる。その結果、乱数生成回路におけるサンプリング効率を向上することが可能となる。また、必要最小限の有効バス幅の出力値を出力することにより、消費電力を低減できるとともに、クロックスイッチングノイズ等に起因する誤動作の発生を抑制することが可能となる。

0021

本発明の第7の態様に係る乱数生成装置は、第1〜第5のいずれか一つの態様に係る乱数生成装置において特に、前記発振回路の出力値に基づいて、各ビットにおいて二値論理の「0」と「1」とが交互に繰り返される複数Nビットのバス幅を有する出力値を生成し、Nビットの出力値の各ビットにおいて前記発振回路からの出力ビット位置を可変に設定する第2の設定部をさらに備えることを特徴とするものである。

0022

第7の態様に係る乱数生成装置によれば、第2の設定部は、発振回路の出力値に基づいて複数ビットのバス幅を有する出力値を生成し、乱数生成回路は、第2の設定部の出力値をサンプリングすることにより乱数を生成する。従って、一つの発振回路を用いて複数ビットのバス幅を有する乱数を生成できるため、複数の発振回路を用いる場合と比較して回路規模を削減できる。また、第2の設定部は、Nビットの出力値の各ビットにおいて前記発振回路からの出力ビット位置を可変に設定する。従って、Nビットの出力値の各ビット間位相を異ならせることができるため、生成される乱数の真性度を高めることが可能となる。

0023

本発明の第8の態様に係る乱数生成方法は、(A)二値論理の「0」と「1」とが交互に繰り返される出力値を生成するステップと、(B)前記ステップ(A)で生成された出力値を所定のサンプリングクロックに基づいてサンプリングすることにより、乱数を生成するステップと、(C)前記ステップ(A)で生成される出力値の周波数を可変に設定するステップと、を備えることを特徴とするものである。

0024

第8の態様に係る乱数生成方法によれば、ステップ(C)において、発振回路の出力値の周波数が可変に設定される。従って、発振回路の特性に起因して乱数の真性度が低い場合には、真性度の高い乱数が得られる他の周波数に設定し直すことにより、発振回路の特性に拘わらず真性度の高い乱数を生成することが可能となる。また、特定の論理ゲートの故障等に起因して出荷時に設定した発振周波数では乱数が生成されなくなった場合には、他の周波数に設定し直すことにより所望の乱数を生成でき、その結果、装置の信頼性を向上することが可能となる。

発明の効果

0025

本発明によれば、発振回路の特性に拘わらず真性度の高い乱数を生成することが可能となる。

図面の簡単な説明

0026

本発明の実施の形態1に係る乱数生成装置の構成を示す図である。
サンプリング回路の構成を示す図である。
発振回路の構成を示す図である。
本発明の実施の形態2に係る乱数生成装置の構成を示す図である。
発振回路の構成を示す図である。
本発明の実施の形態3に係る乱数生成装置の構成を示す図である。
発振回路の構成を示す図である。
本発明の実施の形態4に係る乱数生成装置の構成を示す図である。
発振回路の構成を示す図である。
第1の変形例に係る乱数生成装置の構成を示す図である。
第2の変形例に係る乱数生成装置の構成を示す図である。
第3の変形例に係る乱数生成装置の構成を示す図である。
第4の変形例に係る乱数生成装置の構成を示す図である。

実施例

0027

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。

0028

<実施の形態1>
図1は、本発明の実施の形態1に係る乱数生成装置1の構成を示す図である。図1に示すように乱数生成装置1は、発振回路2と、発振回路2の後段に接続されたサンプリング回路3とを備えて構成されている。

0029

発振回路2は、二値論理の「0」と「1」とが交互に繰り返される出力値S3を出力する。サンプリング回路3は、乱数生成回路として機能し、発振回路2の出力値S3をサンプリングクロックSCに基づいてサンプリングすることにより、真性乱数S4を生成する。

0030

図2は、サンプリング回路3の構成を示す図である。サンプリング回路3は、複数M個のフリップフロップ5(1)〜5(M)が直列に接続された構成を有している。各フリップフロップ5には、サンプリングクロックSCが共通に入力される。

0031

初段のフリップフロップ5(1)のD端子には、発振回路2から出力値S3が入力される。二段目以降のフリップフロップ5(2)〜5(M)のD端子には、前段のフリップフロップ5(1)〜5(M−1)のQ端子からの出力が入力される。M個のフリップフロップ5(1)〜5(M)が直列に接続され、各フリップフロップ5からの出力が配列されることによって、合計Mビットの真性乱数S4がサンプリング回路3から出力される。

0032

図3は、発振回路2の構成を示す図である。発振回路2は、複数の奇数個の論理ゲートが直列に接続された構成を有している。図3に示した例では、発振回路2は17個の論理ゲートG1〜G17によって構成されており、初段の論理ゲートG1にはNAND回路が用いられ、二段目以降の論理ゲートG2〜G17にはインバータ回路が用いられる。

0033

セレクタ6は、複数の入力端子を有している。図3に示した例では、セレクタ6は8個の入力端子T1〜T8を有している。入力端子T1には、3段目の論理ゲートG3の出力値D3が入力される。同様に、入力端子T2には5段目の論理ゲートG5の出力値D5が、入力端子T3には7段目の論理ゲートG7の出力値D7が、入力端子T4には9段目の論理ゲートG9の出力値D9が、入力端子T5には11段目の論理ゲートG11の出力値D11が、入力端子T6には13段目の論理ゲートG13の出力値D13が、入力端子T7には15段目の論理ゲートG15の出力値D15が、入力端子T8には最終段の論理ゲートG17の出力値D17が、それぞれ入力される。

0034

セレクタ6は、乱数生成装置1の外部装置から入力された選択信号S2に基づいて、出力値D3,D5,D7,D9,D11,D13,D15,D17の中から一の出力値を選択し、その選択した出力値を出力値S3として出力する。つまり、セレクタ6は、発振回路2の発振周波数を可変に設定する設定部として機能する。例えば、出力値D3が選択された場合には、発振回路2の発振周波数は3段構成リングオシレータに相当する発振周波数に設定され、出力値D5が選択された場合には、発振回路2の発振周波数は5段構成のリングオシレータに相当する発振周波数に設定される。

0035

初段の論理ゲートG1の一方入力端子には、発振回路2の動作開始を指示するためのイネーブル信号S1が入力される。論理ゲートG1の他方入力端子には、セレクタ6からの出力値S3が入力される。二段目以降の論理ゲートG2〜G17には、前段の論理ゲートG1〜G16の出力が入力される。

0036

以下、本実施の形態1に係る乱数生成装置1の動作について、図1〜3を参照しつつ説明する。以下の動作は、例えば、製品出荷前のテスト時に実行される。

0037

真性乱数S4の生成が要求されていない期間において、イネーブル信号S1はネゲートされており、それにより発振回路2の動作は停止されている。

0038

真性乱数S4の生成が要求されると、イネーブル信号S1がアサートされる。イネーブル信号S1がアサートされることにより、発振回路2は発振動作を開始する。これにより、発振回路2から出力値D3,D5,D7,D9,D11,D13,D15,D17が出力される。

0039

セレクタ6は、選択信号S2に基づいて、出力値D3,D5,D7,D9,D11,D13,D15,D17の中から一の出力値を選択し、その選択した出力値を出力値S3として出力する。出力値S3は、サンプリング回路3に入力される。この例では、セレクタ6は入力端子T1(出力値D3)を選択しているものとする。この場合、発振回路2の発振周波数は3段構成のリングオシレータに相当する発振周波数に設定される。

0040

サンプリング回路3は、サンプリングクロックSCに同期して出力値S3をサンプリングする。図2を参照して、サンプリングされた出力値S3は初段のフリップフロップ5(1)に入力され、保持される。サンプリング回路3は、次のサンプリングクロックSCが入力されることにより、その時点で発振回路2が出力している出力値S3をサンプリングする。サンプリングされた出力値S3は初段のフリップフロップ5(1)に入力され、保持される。また、初段のフリップフロップ5(1)がそれまで保持していた出力値S3(前回のサンプリングクロックSCに基づいてサンプリングした出力値S3)は、初段のフリップフロップ5(1)から二段目のフリップフロップ5(2)にシフトされる。上記と同様の動作をM回繰り返すことにより、M個のフリップフロップ5(1)〜5(M)の各々に出力値S3が保持される。そして、各フリップフロップ5(1)〜5(M)が保持している出力値S3を各々のQ端子から出力し、これらM個の出力値S3を配列することによって、合計Mビットの乱数S4がサンプリング回路3から出力される。

0041

次に、生成された乱数S4の真性度(再現不可能性及び予測不可能性)が評価される。乱数S4の真性度が規定値より低い場合には、外部装置からセレクタ6に選択信号S2を入力することにより、現在選択されている入力端子T1とは異なる入力端子(例えば入力端子T2)を選択する。つまり、発振回路2の発振周波数を変更する。そして、上記と同様に乱数S4を生成し、その生成した乱数S4の真性度を再び評価する。規定値より高い真性度の乱数S4が得られるまで、セレクタ6による発振周波数の変更と、生成された乱数S4の評価とを繰り返す。

0042

このように本実施の形態1に係る乱数生成装置1によれば、セレクタ6(設定部)は、発振回路2の発振周波数を可変に設定する。従って、発振回路2の特性に起因して乱数S4の真性度が低い場合には、真性度の高い乱数S4が得られる他の周波数に設定し直すことにより、発振回路2の特性に拘わらず真性度の高い乱数S4を生成することが可能となる。また、特定の論理ゲートの故障等に起因して出荷時に設定した発振周波数では乱数S4が生成されなくなった場合には、他の周波数に設定し直すことにより所望の乱数S4を生成でき、その結果、装置の信頼性を向上することが可能となる。

0043

また、本実施の形態1に係る乱数生成装置1によれば、セレクタ6は、外部入力された選択信号S2に基づいて、発振回路2の発振周波数を設定する。従って、製品出荷前のテストにおいて乱数S4の真性度が低い場合には、真性度の高い乱数S4を生成し得る周波数を探索して、選択信号S2によって当該周波数に設定することにより、真性度の高い乱数S4を生成し得る製品を出荷できる。その結果、製品の歩留まりを向上することが可能となる。

0044

また、本実施の形態1に係る乱数生成装置1によれば、発振回路2は、直列に接続された複数奇数個の論理ゲートG1〜G17を含み、セレクタ6は、複数の入力端子T1〜T8を有し、セレクタ6の入力端子T1〜T8には、全ての論理ゲートG1〜G17のうち異なる論理ゲートの出力値が入力される。これにより、発振周波数を可変に設定可能な発振回路2を、簡易な構成によって低コストで実現することが可能となる。

0045

<実施の形態2>
図4は、本発明の実施の形態2に係る乱数生成装置1の構成を示す図である。図4接続関係で示すように、乱数生成装置1は、発振回路2、サンプリング回路3、及び設定回路7を備えて構成されている。設定回路7は、サンプリング回路3によって生成された真性乱数S4に基づいて選択信号S5を生成する。設定回路7は、サンプリング回路3から乱数S4が出力される毎に選択信号S5を出力する。

0046

図5は、発振回路2の構成を示す図である。セレクタ6は、設定回路7から入力された選択信号S5に基づいて、出力値D3,D5,D7,D9,D11,D13,D15,D17の中から一の出力値を選択し、その選択した出力値を出力値S3として出力する。

0047

以下、本実施の形態2に係る乱数生成装置1の動作について、図4,5を参照しつつ説明する。以下の動作は、例えば、製品出荷後実運用時に実行される。

0048

真性乱数S4の生成が要求されていない期間において、イネーブル信号S1はネゲートされており、それにより発振回路2の動作は停止されている。

0049

真性乱数S4の生成が要求されると、イネーブル信号S1がアサートされる。イネーブル信号S1がアサートされることにより、発振回路2は発振動作を開始する。これにより、発振回路2から出力値D3,D5,D7,D9,D11,D13,D15,D17が出力される。

0050

セレクタ6は、選択信号S5に基づいて、出力値D3,D5,D7,D9,D11,D13,D15,D17の中から一の出力値を選択し、その選択した出力値を出力値S3として出力する。出力値S3は、サンプリング回路3に入力される。

0051

サンプリング回路3は、サンプリングクロックSCに同期して出力値S3をサンプリングすることにより、乱数S4を生成して出力する。

0052

設定回路7は、乱数S4に基づいて選択信号S5を生成する。本実施の形態の例ではセレクタ6は8個の入力端子T1〜T8を有しており、選択信号S5の必要ビット幅は3ビットであるため、設定回路7は、Mビットの乱数S4の中から特定の3ビット(例えば上位3ビット又は下位3ビット)を抽出することにより、3ビットの選択信号S5を生成する。あるいは、排他的論理和等の演算によって、乱数S4から3ビットの選択信号S5を生成しても良い。

0053

セレクタ6は、設定回路7から入力された選択信号S5に基づいて、出力値D3,D5,D7,D9,D11,D13,D15,D17の中から一の出力値を選択し、その選択した出力値を出力値S3として出力する。以降は上記と同様の動作が繰り返され、サンプリング回路3によって乱数S4が生成される毎に、当該乱数S4に基づいてセレクタ6によって発振回路2の発振周波数が変更される。

0054

このように本実施の形態2に係る乱数生成装置1によれば、セレクタ6(設定部)は、サンプリング回路3によって生成された乱数S4に基づいて、発振回路2の発振周波数を設定する。従って、発振回路2の発振周波数が、サンプリング回路3によって生成された乱数S4に応じて不規則に変動するため、生成される乱数S4の真性度を高めることが可能となる。

0055

また、本実施の形態2に係る乱数生成装置1によれば、セレクタ6は、サンプリング回路3から乱数S4が出力される毎に、当該乱数S4に基づいて発振回路2の発振周波数を設定する。従って、サンプリング回路3から乱数S4が出力される毎に発振回路2の発振周波数が変動するため、生成される乱数S4の真性度をさらに高めることが可能となる。

0056

<実施の形態3>
図6は、本発明の実施の形態3に係る乱数生成装置1の構成を示す図である。図6に示すように乱数生成装置1は、発振回路2と、発振回路2の後段に接続されたサンプリング回路3とを備えて構成されている。

0057

図7は、発振回路2の構成を示す図である。発振回路2は、複数の奇数個の論理ゲートが直列に接続された構成を有している。図7に示した例では、発振回路2は17個の論理ゲートG1〜G17によって構成されており、初段の論理ゲートG1にはNAND回路が用いられ、二段目以降の論理ゲートG2〜G17にはインバータ回路が用いられる。

0058

セレクタ7は、複数の入力端子を有している。図7に示した例では、セレクタ7は8個の入力端子T1〜T8を有している。入力端子T1には、3段目の論理ゲートG3の出力値D3が入力される。入力端子T2には、出力値D3と5段目の論理ゲートG5の出力値D5とが入力される。入力端子T3には、出力値D3,D5と7段目の論理ゲートG7の出力値D7とが入力される。入力端子T4には、出力値D3,D5,D7と9段目の論理ゲートG9の出力値D9とが入力される。入力端子T5には、出力値D3,D5,D7,D9と11段目の論理ゲートG11の出力値D11とが入力される。入力端子T6には、出力値D3,D5,D7,D9,D11と13段目の論理ゲートG13の出力値D13とが入力される。入力端子T7には、出力値D3,D5,D7,D9,D11,D13と15段目の論理ゲートG15の出力値D15とが入力される。入力端子T8には、出力値D3,D5,D7,D9,D11,D13,D15と最終段の論理ゲートG17の出力値D17とが入力される。

0059

セレクタ7は、乱数生成装置1の外部装置から入力された選択信号S6に基づいて、入力端子T1〜T8の中から一の入力端子を選択し、その選択した入力端子に入力されている出力値を出力値S3として出力する。つまり、セレクタ7は、出力値S3の有効バス幅を可変に設定する設定部として機能する。例えば、入力端子T1が選択された場合には、出力値S3の有効バス幅は1ビットに設定され、入力端子T2が選択された場合には、出力値S3の有効バス幅は2ビットに設定される。

0060

初段の論理ゲートG1の一方入力端子には、発振回路2の動作開始を指示するためのイネーブル信号S1が入力される。論理ゲートG1の他方入力端子には、最終段の論理ゲートG17からの出力値D17が入力される。二段目以降の論理ゲートG2〜G17には、前段の論理ゲートG1〜G16の出力が入力される。

0061

以下、本実施の形態3に係る乱数生成装置1の動作について、図6,7を参照しつつ説明する。以下の動作は、例えば、製品出荷前、又は製品出荷後の実運用時に実行される。

0062

まず、選択信号S6によって、出力値S3の有効バス幅を設定する。例えば、乱数S4を取得する後段の外部装置の必要バス幅に対して過不足のないバス幅を、出力値S3の有効バス幅として設定する。

0063

真性乱数S4の生成が要求されると、イネーブル信号S1がアサートされる。イネーブル信号S1がアサートされることにより、発振回路2は発振動作を開始する。これにより、発振回路2から出力値D3,D5,D7,D9,D11,D13,D15,D17が出力される。

0064

セレクタ7は、選択信号S6に基づいて入力端子T1〜T8の中から一の入力端子を選択し、その選択した入力端子に入力されている出力値を出力値S3として出力する。

0065

サンプリング回路3は、サンプリングクロックSCに同期して出力値S3をサンプリングすることにより、乱数S4を生成して出力する。

0066

このように本実施の形態3に係る乱数生成装置1によれば、セレクタ7(設定部)は、外部入力された選択信号S6に基づいて、セレクタ7の出力値S3の有効バス幅を可変に設定する。従って、乱数S4を取得する後段の外部装置の必要バス幅に対して過不足のない有効バス幅の出力値S3をセレクタ7が出力し、サンプリング回路3が当該出力値S3をサンプリングすることにより、サンプリング回路3において必要バス幅の乱数S4を効率的に生成できる。その結果、サンプリング回路3におけるサンプリング効率を向上することが可能となる。また、必要最小限の有効バス幅の出力値S3をセレクタ7が出力することにより、消費電力を低減できるとともに、クロックのスイッチングノイズ等に起因する誤動作の発生を抑制することが可能となる。

0067

また、本実施の形態3に係る乱数生成装置1によれば、発振回路2は、直列に接続された複数奇数個の論理ゲートG1〜G17を含み、セレクタ7は、複数の入力端子T1〜T8を有し、セレクタ7の各入力端子T1〜T8には、全ての論理ゲートG1〜G17のうち異なる数の論理ゲートの出力値が入力される。これにより、出力値S3の有効バス幅を可変に設定可能な発振回路2を、簡易な構成によって低コストで実現することが可能となる。

0068

<実施の形態4>
図8は、本発明の実施の形態4に係る乱数生成装置1の構成を示す図である。図8に示すように乱数生成装置1は、発振回路2と、発振回路2の後段に接続されたサンプリング回路3とを備えて構成されている。

0069

図9は、発振回路2の構成を示す図である。発振回路2は、複数の奇数個の論理ゲートが直列に接続された構成を有している。図9に示した例では、発振回路2は17個の論理ゲートG1〜G17によって構成されており、初段の論理ゲートG1にはNAND回路が用いられ、二段目以降の論理ゲートG2〜G17にはインバータ回路が用いられる。

0070

また、出力値S3のバス幅Nの各ビットに対応して、セレクタ8が設けられている。本実施の形態の例では出力値S3のバス幅は8ビットであり、8個のセレクタ81〜88が実装される。

0071

各セレクタ8は、複数の入力端子を有している。図9に示した例では、セレクタ8は8個の入力端子T1〜T8を有している。入力端子T1には、3段目の論理ゲートG3の出力値D3が入力される。同様に、入力端子T2には5段目の論理ゲートG5の出力値D5が、入力端子T3には7段目の論理ゲートG7の出力値D7が、入力端子T4には9段目の論理ゲートG9の出力値D9が、入力端子T5には11段目の論理ゲートG11の出力値D11が、入力端子T6には13段目の論理ゲートG13の出力値D13が、入力端子T7には15段目の論理ゲートG15の出力値D15が、入力端子T8には最終段の論理ゲートG17の出力値D17が、それぞれ入力される。

0072

セレクタ8は、乱数生成装置1の外部装置から入力された選択信号S7(S71〜S78)に基づいて、入力端子T1〜T8の中から一の入力端子を選択し、その選択した入力端子に入力されている出力値を出力値S3(S31〜S38)として出力する。つまり、セレクタ8は、Nビットの出力値S3の各ビットにおいて発振回路2からの出力ビット位置を可変に設定する設定部として機能する。例えば、セレクタ81において入力端子T1が選択された場合には、出力ビット位置は論理ゲートG3に設定され、出力値S31の位相は論理ゲート3段分の遅延量に対応する位相となる。また、セレクタ81において入力端子T2が選択された場合には、出力ビット位置は論理ゲートG5に設定され、出力値S31の位相は論理ゲート5段分の遅延量に対応する位相となる。

0073

初段の論理ゲートG1の一方入力端子には、発振回路2の動作開始を指示するためのイネーブル信号S1が入力される。論理ゲートG1の他方入力端子には、最終段の論理ゲートG17からの出力値D17が入力される。二段目以降の論理ゲートG2〜G17には、前段の論理ゲートG1〜G16の出力が入力される。

0074

以下、本実施の形態4に係る乱数生成装置1の動作について、図8,9を参照しつつ説明する。以下の動作は、例えば、製品出荷前、又は製品出荷後の実運用時に実行される。

0075

まず、選択信号S71〜S78によって、Nビットの出力値S3の各ビットの周波数をそれぞれ設定する。例えば、出力値S3の全てのビット(S31〜S38)において周波数を異ならせたい場合には、セレクタ81〜88が互いに異なる入力端子T1〜T8を選択するように、選択信号S71〜S78を設定する。

0076

真性乱数S4の生成が要求されると、イネーブル信号S1がアサートされる。イネーブル信号S1がアサートされることにより、発振回路2は発振動作を開始する。これにより、発振回路2から出力値D3,D5,D7,D9,D11,D13,D15,D17が出力される。

0077

セレクタ81〜88は、選択信号S71〜S78に基づいて入力端子T1〜T8の中から一の入力端子をそれぞれ選択し、その選択した入力端子に入力されている出力値を出力値S31〜S38としてそれぞれ出力する。

0078

サンプリング回路3は、サンプリングクロックSCに同期して出力値S31〜S38をサンプリングすることにより、乱数S4を生成して出力する。

0079

このように本実施の形態4に係る乱数生成装置1によれば、セレクタ8(設定部)は、発振回路2の出力値D3,D5,D7,D9,D11,D13,D15,D17に基づいて複数Nビットのバス幅を有する出力値S3を生成し、サンプリング回路3は、セレクタ8の出力値S3をサンプリングすることにより乱数S4を生成する。従って、一つの発振回路2を用いて複数ビットのバス幅を有する乱数S4を生成できるため、複数の発振回路を用いる場合と比較して回路規模を削減できる。また、セレクタ8は、外部入力された選択信号S7に基づいて、Nビットの出力値S3の各ビットにおいて発振回路2からの出力ビット位置を可変に設定する。従って、Nビットの出力値S3の各ビット間で位相を異ならせることができるため、生成される乱数S4の真性度を高めることが可能となる。

0080

また、本実施の形態4に係る乱数生成装置1によれば、発振回路2は、直列に接続された複数奇数個の論理ゲートG1〜G17を含み、Nビットの出力値S3の各ビットに対応する各セレクタ81〜88は、複数の入力端子T1〜T8を有し、セレクタ8の各々の入力端子T1〜T8には、全ての論理ゲートG1〜G17のうち異なるN個の論理ゲートの出力値が入力される。これにより、出力ビット位置を可変に設定可能な発振回路2を、簡易な構成によって低コストで実現することが可能となる。

0081

<変形例>
図10は、第1の変形例に係る乱数生成装置1の構成を示す図である。本変形例に係る乱数生成装置1は、上記実施の形態1(図1)と上記実施の形態3(図6)とを組み合わせて適用したものである。選択信号S2によって発振回路2の発振周波数が可変に設定され、選択信号S6によって出力値S3の有効バス幅が可変に設定される。

0082

図11は、第2の変形例に係る乱数生成装置1の構成を示す図である。本変形例に係る乱数生成装置1は、上記実施の形態2(図4)と上記実施の形態3(図6)とを組み合わせて適用したものである。選択信号S5によって発振回路2の発振周波数が可変に設定され、選択信号S6によって出力値S3の有効バス幅が可変に設定される。

0083

図12は、第3の変形例に係る乱数生成装置1の構成を示す図である。本変形例に係る乱数生成装置1は、上記実施の形態1(図1)と上記実施の形態4(図8)とを組み合わせて適用したものである。選択信号S2によって発振回路2の発振周波数が可変に設定され、選択信号S7(S71〜S78)によって発振回路2からの出力ビット位置が可変に設定される。

0084

図13は、第4の変形例に係る乱数生成装置1の構成を示す図である。本変形例に係る乱数生成装置1は、上記実施の形態2(図4)と上記実施の形態4(図8)とを組み合わせて適用したものである。選択信号S5によって発振回路2の発振周波数が可変に設定され、選択信号S7(S71〜S78)によって発振回路2からの出力ビット位置が可変に設定される。

0085

1乱数生成装置
2発振回路
3サンプリング回路
6,7,81〜88 セレクタ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ