(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】エントロピーソース回路及びエントロピー値生成方法
(51)【国際特許分類】
G06F 7/58 20060101AFI20240528BHJP
【FI】
G06F7/58 680
【外国語出願】
(21)【出願番号】P 2023036081
(22)【出願日】2023-03-09
【審査請求日】2023-03-16
(32)【優先日】2022-08-26
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】520196623
【氏名又は名称】▲しゃーん▼碼科技股▲ふん▼有限公司
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】邵 啓意
(72)【発明者】
【氏名】莊 ▲かい▼▲しぇん▼
(72)【発明者】
【氏名】▲呉▼ 孟益
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特表2018-507468(JP,A)
【文献】特表2019-531541(JP,A)
【文献】特開2015-102981(JP,A)
【文献】特開2020-119562(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/58- 7/72
(57)【特許請求の範囲】
【請求項1】
エントロピーソース回路であって、
第1の制御信号に従って第1の設定又は第2の設定の下で動作するように構成された第1の調整可能なリング発振器であって、前記第1の調整可能なリング発振器は、前記第1の設定の下で第1の発振クロック信号を生成し、前記第2の設定の下で第2の発振クロック信号を生成し、前記第1の発振クロック信号及び前記第2の発振クロック信号は、異なる周波数を有する、第1の調整可能なリング発振器と、
前記第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成するように構成され、前記第2の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するように構成された第1のサンプリング回路と、
前記第1のサンプリング値の第1の分布を検出するように構成された第1の検出回路と、
前記第1の分布に従って、前記第1の調整可能なリング発振器の設定が変更されるべきかどうかを決定するように構成された制御回路であって、前記第1の分布が所定の分布を満たさないとき、前記第1の設定を前記第2の設定に切り替えるための前記第1の制御信号を生成する、制御回路と
を備え、
前記エントロピーソース回路は、前記第1のサンプリング値又は前記第2のサンプリング値に従ってエントロピー値を出力する、
エントロピーソース回路。
【請求項2】
前記第1の分布は、
前記第1のサンプリング値の特定の論理値の数、前記第1のサンプリング値の変化率、又は前記第1のサンプリング値における異なる論理値の数の比
を含む、請求項1に記載のエントロピーソース回路。
【請求項3】
前記第1の検出回路は、SP800-90B規格に準拠するRepetition Test又はAdaptive Proportion Testを適用して、前記第1の分布を検出する、請求項1に記載のエントロピーソース回路。
【請求項4】
第2の制御信号に従って第3の設定又は第4の設定の下で動作するように構成された第2の調整可能なリング発振器であって、前記第2の調整可能なリング発振器は、前記第3の設定の下で第3の発振クロック信号を生成し、前記第4の設定の下で第4の発振クロック信号を生成し、前記第3の発振クロック信号及び前記第4の発振クロック信号は、異なる周波数を有する、第2の調整可能なリング発振器と、
前記第3の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第3のサンプリング値を生成するように構成され、前記第4の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第4のサンプリング値を生成するように構成された第2のサンプリング回路と、
前記第3のサンプリング値の第2の分布を検出するように構成された第2の検出回路であって、前記制御回路は、前記第3のサンプリング値の前記第2の分布に従って前記第2の調整可能なリング発振器の設定が変更されるべきかどうかを決定し、前記制御回路は、前記第2の分布が前記所定の分布を満たさないとき、前記第3の設定を前記第4の設定に切り替えるための前記第2の制御信号を生成する、第2の検出回路と、
前記第3のサンプリング値又は前記第4のサンプリング値に更に従って前記エントロピー値を生成するように構成されたXOR回路と
を更に備える、請求項1に記載のエントロピーソース回路。
【請求項5】
前記第1の調整可能なリング発振器は、複数のRC遅延段を備え、前記第1の制御信号は、前記RC遅延段の抵抗値を変更するために使用される、請求項1に記載のエントロピーソース回路。
【請求項6】
エントロピーソース回路であって、
第1の制御信号に従って第1の設定又は第2の設定の下で動作するように構成された第1の調整可能なリング発振器であって、前記第1の調整可能なリング発振器は、前記第1の設定の下で第1の発振クロック信号を生成し、前記第2の設定の下で第2の発振クロック信号を生成し、前記第1の発振クロック信号及び前記第2の発振クロック信号は、異なる周波数を有する、第1の調整可能なリング発振器と、
前記第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成するように構成され、前記第2の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するように構成された第1のサンプリング回路と、
前記エントロピーソース回路の第1の動作電圧又は第1の温度を検出するように構成された第3の検出回路と、
前記第1の動作電圧又は前記第1の温度に従って、前記第1の調整可能なリング発振器の設定が前記第1の設定から前記第2の設定に変更されるべきかどうかを決定するように構成された制御回路と
を備え、
前記エントロピーソース回路は、前記第1のサンプリング値又は前記第2のサンプリング値に従ってエントロピー値を出力する、
エントロピーソース回路。
【請求項7】
設定マッピングテーブルを記憶するように構成された記憶デバイスを更に備え、前記設定マッピングテーブルは、動作電圧、温度、及び設定の複数の対応関係を含み、前記制御回路は、前記第1の動作電圧又は前記第1の温度に従って、及び前記対応関係に従って、前記第1の調整可能なリング発振器の設定を選択する、請求項6に記載のエントロピーソース回路。
【請求項8】
前記第1の調整可能なリング発振器は、複数のRC遅延段を備え、前記第1の制御信号は、前記RC遅延段の抵抗値を変更するために使用される、請求項6に記載のエントロピーソース回路。
【請求項9】
前記サンプリング周波数を有するサンプリングクロック信号を生成するように構成されたサンプリングクロック生成回路であって、前記制御回路は、前記サンプリングクロック生成回路をイネーブルにするためのサンプリングイネーブル信号を生成する、サンプリングクロック生成回路
を更に備え、
前記第1の調整可能なリング発振器は、
前記第1の制御信号、前記サンプリングイネーブル信号、及び前記サンプリングクロック信号に従って、前記抵抗値を変更するための抵抗設定信号を生成するように構成された抵抗設定信号生成回路
を更に備える、請求項8に記載のエントロピーソース回路。
【請求項10】
前記抵抗設定信号生成回路は、
前記第1の制御信号を受信するように構成されたインバータと、
前記インバータの出力及び前記サンプリングイネーブル信号を受信するように構成されたANDゲートと、
前記ANDゲートの出力及び前記サンプリングイネーブル信号を受信して、前記抵抗設定信号を生成するように構成されたカウンタと
を備える、請求項9に記載のエントロピーソース回路。
【請求項11】
第2の制御信号に従って第3の設定又は第4の設定の下で動作するように構成された第2の調整可能なリング発振器であって、前記第2の調整可能なリング発振器は、前記第3の設定の下で第3の発振クロック信号を生成し、前記第4の設定の下で第4の発振クロック信号を生成し、前記第3の発振クロック信号及び前記第4の発振クロック信号は、異なる周波数を有する、第2の調整可能なリング発振器と、
前記第3の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第3のサンプリング値を生成するように構成され、前記第4の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第4のサンプリング値を生成するように構成された第2のサンプリング回路と、
前記エントロピーソース回路の第2の動作電圧又は第2の温度を検出するように構成された第4の検出回路であって、前記制御回路は、前記第2の動作電圧又は前記第2の温度に従って、前記第2の調整可能なリング発振器の設定が前記第3の設定から前記第4の設定に変更されるべきかどうかを決定する、第4の検出回路と、
前記第3のサンプリング値又は前記第4のサンプリング値に更に従って、前記エントロピー値を出力するように構成されたXOR回路と
を更に備える、請求項6に記載のエントロピーソース回路。
【請求項12】
エントロピーソース回路に適用されるエントロピー値生成方法であって、
第1の制御信号に従って第1の設定又は第2の設定の下で動作するように第1の調整可能なリング発振器を制御するステップであって、前記第1の調整可能なリング発振器は、前記第1の設定の下で第1の発振クロック信号を生成し、前記第2の設定の下で第2の発振クロック信号を生成し、前記第1の発振クロック信号及び前記第2の発振クロック信号は、異なる周波数を有する、ステップと、
前記第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成し、前記第2の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するステップと、
前記第1のサンプリング値の第1の分布を検出するステップと、
前記第1の分布に従って、前記第1の調整可能なリング発振器の設定が変更されるべきかどうかを決定するステップであって、前記第1の分布が所定の分布を満たさないとき、前記第1の設定が前記第2の設定に切り替えられる、ステップと、
前記エントロピーソース回路によって、前記第1のサンプリング値又は前記第2のサンプリング値に従ってエントロピー値を出力するステップと
を含むエントロピー値生成方法。
【請求項13】
前記第1の分布は、
前記第1のサンプリング値の特定の論理値の数、前記第1のサンプリング値の変化率、又は前記第1のサンプリング値における異なる論理値の数の比
を含む、請求項12に記載のエントロピー値生成方法。
【請求項14】
前記第1の分布を検出するステップは、SP800-90B規格に準拠するRepetition Test又はAdaptive Proportion Testを適用して、前記第1の分布を検出する、請求項12に記載のエントロピー値生成方法。
【請求項15】
第2の制御信号に従って第3の設定又は第4の設定の下で動作するように第2の調整可能なリング発振器を制御するステップであって、前記第2の調整可能なリング発振器は、前記第3の設定の下で第3の発振クロック信号を生成し、前記第4の設定の下で第4の発振クロック信号を生成し、前記第3の発振クロック信号及び前記第4の発振クロック信号は、異なる周波数を有する、ステップと、
前記第3の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第3のサンプリング値を生成し、前記第4の発振クロック信号を前記サンプリング周波数でサンプリングして複数の第4のサンプリング値を生成するステップと、
前記第3のサンプリング値の第2の分布を検出し、前記第3のサンプリング値の前記第2の分布に従って、前記第2の調整可能なリング発振器の設定が変更されるべきかどうかを決定するステップであって、前記第2の分布が前記所定の分布を満たさないとき、前記第3の設定が前記第4の設定に切り替えられる、ステップと、
前記第3のサンプリング値又は前記第4のサンプリング値に更に従って前記エントロピー値を生成するためにXOR回路を適用するステップと
を更に含む、請求項12に記載のエントロピー値生成方法。
【請求項16】
サンプリングクロック生成回路によって、前記サンプリング周波数を有するサンプリングクロック信号を生成し、前記サンプリングクロック生成回路をイネーブルにするためのサンプリングイネーブル信号を生成するステップと、
前記第1の制御信号、前記サンプリングイネーブル信号、及び前記サンプリングクロック信号に従って、前記第1の調整可能なリング発振器のRC遅延段の抵抗値を変更するための抵抗設定信号を生成するステップと
を更に含む、請求項12に記載のエントロピー値生成方法。
【請求項17】
前記抵抗値を変更するステップは、
前記第1の制御信号を反転させるステップと、
前記第1の制御信号の反転信号と前記サンプリングイネーブル信号に対してAND演算を実行するステップと、
前記AND演算の結果生成された信号に対してバイナリカウンティング演算を実行して、前記抵抗設定信号を生成するステップと
を含む、請求項16に記載のエントロピー値生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エントロピーソース回路及びエントロピー値生成方法に関し、特に、より良好な品質を有するエントロピー値を生成するために信号パラメータを動的に調整することができるエントロピーソース回路及びエントロピー値生成方法に関する。
【背景技術】
【0002】
エントロピーソース回路は、暗号化のために又はパスワードとして使用可能なランダムエントロピー値を生成するように構成される。しかしながら、エントロピーソース回路の信号パラメータが適切に設定されない場合、質の悪いエントロピー値が生成されることがある。しかしながら、従来のエントロピーソース回路は、このような問題を動的に補償する機構を常に有していない。
【発明の概要】
【0003】
本発明の1つの目的は、より良好な品質を有するエントロピー値を生成するために信号パラメータを動的に調整することができるエントロピーソース回路を提供することである。
【0004】
本発明の別の目的は、より良好な品質を有するエントロピー値を生成するために信号パラメータを動的に調整することができるエントロピー値生成方法を提供することである。
【0005】
本発明の一実施形態は、エントロピーソース回路を開示し、このエントロピーソース回路は、第1の制御信号に従って第1の設定又は第2の設定の下で動作するように構成された第1の調整可能なリング発振器であって、第1の調整可能なリング発振器は、第1の設定の下で第1の発振クロック信号を生成し、第2の設定の下で第2の発振クロック信号を生成し、第1の発振クロック信号及び第2の発振クロック信号は、異なる周波数を有する、第1の調整可能なリング発振器と、第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成するように構成され、第2の発振クロック信号をサンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するように構成された第1のサンプリング回路と、第1のサンプリング値の第1の分布を検出するように構成された第1の検出回路と、第1の分布に従って、第1の調整可能なリング発振器の設定が変更されるべきかどうかを決定するように構成された制御回路であって、第1の分布が所定の分布条件を満たさないとき、第1の設定を第2の設定に切り替えるための第1の制御信号を生成する、制御回路とを備え、エントロピーソース回路は、第1のサンプリング値又は第2のサンプリング値に従ってエントロピー値を出力する。
【0006】
本発明の別の実施形態は、エントロピーソース回路を開示し、このエントロピーソース回路は、第1の制御信号に従って第1の設定又は第2の設定の下で動作するように構成された第1の調整可能なリング発振器であって、第1の調整可能なリング発振器は、第1の設定の下で第1の発振クロック信号を生成し、第2の設定の下で第2の発振クロック信号を生成し、第1の発振クロック信号及び第2の発振クロック信号は、異なる周波数を有する、第1の調整可能なリング発振器と、第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成するように構成され、第2の発振クロック信号をサンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するように構成された第1のサンプリング回路と、エントロピーソース回路の第1の動作電圧又は第1の温度を検出するように構成された第3の検出回路と、第1の動作電圧又は第1の温度に従って、第1の調整可能なリング発振器の設定が第1の設定から第2の設定に変更されるべきかどうかを決定するように構成された制御回路とを備え、エントロピーソース回路は、第1のサンプリング値又は第2のサンプリング値に従ってエントロピー値を出力する。
【0007】
本発明の更に別の実施形態は、エントロピーソース回路に適用されるエントロピー値生成方法を開示し、このエントロピー値生成方法は、第1の制御信号に従って第1の設定又は第2の設定の下で動作するように第1の調整可能なリング発振器を制御するステップであって、第1の調整可能なリング発振器は、第1の設定の下で第1の発振クロック信号を生成し、第2の設定の下で第2の発振クロック信号を生成し、第1の発振クロック信号及び第2の発振クロック信号は、異なる周波数を有する、ステップと、第1の発振クロック信号をサンプリング周波数でサンプリングして複数の第1のサンプリング値を生成し、第2の発振クロック信号をサンプリング周波数でサンプリングして複数の第2のサンプリング値を生成するステップと、第1のサンプリング値の分布を検出するステップと、分布に従って、第1の調整可能なリング発振器の設定が変更されるべきかどうかを決定するステップであって、分布が所定の分布を満たさないとき、第1の設定が第2の設定に切り替えられる、ステップと、エントロピーソース回路によって、第1のサンプリング値又は第2のサンプリング値に従ってエントロピー値を出力するステップとを含む。
【0008】
上述の実施形態に鑑みて、本発明によって提供されるエントロピーソース回路及びエントロピー値生成方法は、より良好な品質を有するエントロピー値がいつでも生成され得ることを確実にするために、発振クロック信号の周波数を動的に変更することができる。
【0009】
本発明のこれら及び他の目的は、様々な図及び図面に示される好ましい実施形態の以下の詳細な説明を読めば、当業者には疑いもなく明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】本発明の異なる実施形態によるエントロピーソース回路を示すブロック図である。
【
図2】本発明の異なる実施形態によるエントロピーソース回路を示すブロック図である。
【
図3】
図2におけるエントロピーソース回路の動作のための信号波形図である。
【
図4】本発明の一実施形態による、より良好な品質を有するエントロピー値をどのように生成するかを示す概略図である。
【
図5】本発明の他の実施形態によるエントロピーソース回路を示すブロック図である。
【
図6】本発明の他の実施形態によるエントロピーソース回路を示すブロック図である。
【
図7】本発明の一実施形態による、調整可能なリング発振器の詳細な回路図である。
【
図8】本発明の一実施形態による、
図7の抵抗設定信号生成回路の回路図である。
【
図9】本発明の一実施形態による、エントロピー生成方法を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下の説明では、本出願の概念を説明するためにいくつかの実施形態が提供される。以下の実施形態に示されるシステム、デバイス、装置又はモジュールは、ハードウェア(例えば、回路)又はハードウェアとソフトウェアの組合せ(例えば、少なくとも1つのプログラムを実行する処理ユニット)によって実装され得ることが理解されよう。以下の説明における「第1」、「第2」、「第3」という用語は、異なる1つの要素を区別することのみを目的としており、要素の順序を意味するものではない。
【0012】
図1は、本発明の一実施形態によるエントロピーソース回路を示すブロック図である。
図1に示すように、エントロピーソース回路100は、制御回路101と、サンプリングクロック生成回路103と、第1の調整可能なリング発振器RO_1と、第1のサンプリング回路SC_1と、第1の検出回路DC_1とを備える。制御回路101は、第1の検出回路DC_1、第1の調整可能なリング発振器RO_1、及びサンプリングクロック生成回路103に結合される。第1のサンプリング回路SC_1は、第1の検出回路DC_1、第1の調整可能なリング発振器RO_1、及びサンプリングクロック生成回路103に結合される。
【0013】
第1の調整可能なリング発振器RO_1は、第1の制御信号CS_1に従って第1の設定又は第2の設定の下で動作する。第1の調整可能なリング発振器RO_1は、第1の設定の下で第1の発振クロック信号OS_1を生成し、第2の設定の下で第2の発振クロック信号OS_2を生成する。第1の発振クロック信号OS_1及び第2の発振クロック信号OS_2は、異なる周波数を有する。第1のサンプリング回路SC_1は、あるサンプリング周波数で第1の発振クロック信号OS_1をサンプリングして複数の第1のサンプリング値SV_1を生成し、同じサンプリング周波数で第2の発振クロック信号OS_2をサンプリングして複数の第2のサンプリング値SV_2を生成する。エントロピーソース回路100は、第1のサンプル値SV_1に従って第1のエントロピー値を生成/出力するか、又は第2のサンプル値SV_2に従って第2のエントロピー値を生成/出力する。
【0014】
言い換えると、制御回路101は、第1の調整可能なリング発振器RO_1が、異なる周波数を有する発振クロック信号OS_1、OS_2を生成するように、第1の制御信号CS_1を介して第1の調整可能なリング発振器RO_1の設定を動的に調整することができる。第1のサンプリング回路SC_1は、異なる周波数を有する発振クロック信号OS_1及びOS_2を同じサンプリング周波数でサンプリングするので、発振クロック信号OS_1及びOS_2の異なる部分がサンプリングされ、異なるサンプリング値が生成され得る。エントロピーソース回路100は、これらの異なるサンプリング値に従ってエントロピー値を生成するので、異なる変化率を有するエントロピー値を得ることができる。サンプリング値の変更、第1の調整可能なリング発振器RO_1の設定、及びエントロピー値を生成する方法についての詳細は、以下の説明で説明する。しかしながら、
図1の実施形態では2つの設定が説明されているが、第1の調整可能なリング発振器RO_1は2つよりも多い設定を有してもよいことに留意されたい。
【0015】
制御回路101は、第1の調整可能なリング発振器RO_1のためにどの設定が使用されるべきかを様々な方法で決定することができる。再び
図1を参照する。
図1の第1の検出回路DC_1は、第1のサンプル値SV_1の第1の分布を検出し、次いで、制御回路101は、第1の分布に従って、第1の調整可能なリング発振器RO_1の設定が変更されるべきかどうかを決定することができる。例えば、調整可能なリング発振器RO_1が元々第1の設定の下で動作する場合、第1の分布が所定の分布条件を満たさないとき、制御回路101は、調整可能なリング発振器RO_1の動作が第1の設定から第2の設定に切り替えられるように第1の制御信号を生成する。ここで、第1の分布は、所定の時間内の第1のサンプリング値SV_1の特定の論理値の数であり得る。例えば、この数は、所定の時間内に第1のサンプル値SV_1に論理値1がいくつあるかを意味する。また、第1の分布は、第1のサンプル値SV_1における論理値0が所定の時間内に論理値1に遷移する回数、又は第1のサンプル値SV_1における論理値1が所定の時間内に論理値0に遷移する回数など、第1のサンプル値SV_1の変化率であり得る。また、第1の分布は、第1のサンプル値SV_1における異なる論理値の数の比、例えば、所定の時間内の第1のサンプル値SV_1における論理値1の数と論理値0の数との比でもある。
【0016】
一実施形態では、エントロピーソース回路100は、NIST SP800-90B規格に準拠し、NIST SP800-90BにおけるRepetition Count Test又はAdaptive Proportion Testを使用して、第1の分布を計算する。しかしながら、本発明において提供されるエントロピーソース回路100は他の計算方法を使用してサンプリング値の第1の分布を計算することができることに留意されたい。加えて、上記実施形態では、第1のサンプル値SV_1を用いて説明したが、本発明はこれに限定されるものではない。本発明が複数の調整可能なリング発振器を備えるとき、複数の調整可能なリング発振器の中の特定の調整可能なリング発振器の設定は、特定の調整可能なリング発振器に対応するサンプリング値に従って調整可能である。
【0017】
調整可能なリング発振器に対応するサンプル値に従ってエントロピー値をどのように生成するかの例について以下で説明する。
図2は、本発明の別の実施形態によるエントロピーソース回路200を示すブロック図である。
図2の実施形態では、
図1に示す構成要素及びその接続関係に加えて、エントロピーソース回路200は、第2の検出回路DC_2、第2の調整可能なリング発振器RO_2、第2のサンプリング回路SC_2、及びXOR回路201を更に備える。制御回路101は、第2の検出回路DC_2及び第2の調整可能なリング発振器RO_2に結合される。第2のサンプリング回路SC_2は、第2の検出回路DC_2、第2の調整可能なリング発振器RO_2、及びサンプリングクロック生成回路103に結合される。XOR回路201は、第1のサンプリング回路SC_1及び第2のサンプリング回路SC_2に結合される。
【0018】
第2の調整可能なリング発振器RO_2は、第2の制御信号CS_2に従って第3の設定又は第4の設定の下で動作する。第2の調整可能なリング発振器RO_2は、第3の設定の下で第3の発振クロック信号OS_3を生成し、第4の設定の下で第4の発振クロック信号OS_4を生成する。第3の発振クロック信号OS_3及び第4の発振クロック信号OS_4は、異なる周波数を有する。第2のサンプリング回路SC_2は、サンプリングクロック信号CLK_Sのサンプリング周波数で第3の発振クロック信号OS_3をサンプリングして第3のサンプリング値SV_3を生成し、サンプリングクロック信号CLK_Sのサンプリング周波数で第4の発振クロック信号をサンプリングして第4のサンプリング値SV_4を生成する。XOR回路201は、第1のサンプリング回路SC_1及び第2のサンプリング回路SC_2の出力を受信して、エントロピー値を生成するように構成される。エントロピーソース回路200は、第2のサンプリング回路SC_2の出力の第2の分布を検出するための第2の検出回路DC_2を更に備え得る。第2の検出回路DC_2、第2の調整可能なリング発振器RO_2、及び第2のサンプリング回路SC_2の動作の詳細は、第1の検出回路DC_1、第1の調整可能なリング発振器RO_1、及び第1のサンプリング回路SC_1の動作の詳細と同じであり、従って、ここでは簡潔にするために省略される。
【0019】
言い換えると、制御回路101は、第1の調整可能なリング発振器RO_1が異なる周波数を有する発振クロック信号を生成することができるように、第1の制御信号CS_1を介して第1の調整可能なリング発振器RO_1の設定を動的に調整することができる。第1のサンプリング回路SC_1は、異なる周波数を有する発振クロック信号を同じサンプリング周波数でサンプリングするので、発振クロック信号の異なる部分がサンプリングされ、異なるサンプリング値が生成され得る。同様に、制御回路101は、第2の調整可能なリング発振器RO_2が、異なる周波数を有する発振クロック信号を生成することができるように、第2の制御信号CS_2を介して第2の調整可能なリング発振器RO_2の設定を動的に調整することができる。第2のサンプリング回路SC_2は、異なる周波数を有する発振クロック信号を同じサンプリング周波数でサンプリングするので、発振クロック信号の異なる部分がサンプリングされ、異なるサンプリング値が生成され得る。XOR回路201は、これらのサンプリング値からエントロピー値を生成する。しかしながら、本発明によって提供されるエントロピーソース回路は、エントロピー値を生成するために、調整可能なリング発振器及びサンプリング回路の2つより多いグループを利用することができ、
図2の実施形態に示される2つのグループに限定されないことに留意されたい。
【0020】
図3は、
図2におけるエントロピーソース回路の動作のための信号波形図である。
図3において、サンプリングクロック信号CLK_Sは、サンプリングクロック生成回路103によって生成される信号であり、サンプリングイネーブル信号EN_Sは、サンプリングクロック生成回路103をイネーブルにすることができる信号であり、第1の制御信号CS_1は、制御回路101が第1の調整可能なリング発振器RO_1の設定を制御するために使用する信号である。第1の検出信号Det_1は、第1の検出回路DC_1によって生成された検出結果であり、第2の制御信号CS_2は、制御回路101が第2の調整可能なリング発振器RO_2の設定を制御するために使用する信号である。第2の検出信号Det_2は、第2の検出回路DC_2によって生成された検出結果であり、設定1は、第1の調整可能なリング発振器RO_1の設定であり、設定2は、第2の調整可能なリング発振器RO_2の設定である。
【0021】
図3に示すように、サンプリングイネーブル信号EN_Sがサンプリングクロック生成回路103をイネーブルにするために高論理レベル(例えば、1)を有した後、イネーブリングサンプリングクロック生成回路103は、サンプリングクロック信号CLK_Sの生成を開始する。第1の制御信号CS_1の立ち上がりエッジを使用して、第1の調整可能なリング発振器RO_1の設定を切り替える。従って、
図3の実施形態では、第1の制御信号CS_1の第1の立ち上がりエッジRE_1が発生した後、第1の調整可能なリング発振器RO_1は、以前の設定がないので、最初に設定1で動作する。第1の検出信号Det_1は、第1の検出回路DC_1の検出結果である。第1の検出信号Det_1が低論理レベル(例えば、0)を有する場合、設定が変更される必要がないことを意味し、第1の検出信号Det_1が高論理レベルに変換された場合、第1の調整可能なリング発振器RO_1の設定が変更される必要があることを意味する。従って、第1の制御信号CS_1は、低論理レベルに遷移し、その後、設定1の変更をトリガするために立ち上がりエッジRE_2を生成する。
【0022】
第2の調整可能なリング発振器RO_2も同じ動作を有する。従って、
図3の実施形態では、第2の制御信号CS_2の第1の立ち上がりエッジRE_3が発生した後、第2の調整可能なリング発振器RO_2は、最初に設定2で動作する。第2の検出信号Det_2は、第1の検出回路DC_1の検出結果である。第2の検出信号Det_2が低論理レベルにある場合、設定が変更される必要がないことを意味し、それが高論理レベルに切り替えられた場合、第2の調整可能なリング発振器RO_2の設定が変更される必要があることを意味する。従って、第2の制御信号CS_2は、低論理レベルに遷移し、次いで、設定2の変更をトリガするために立ち上がりエッジRE_4を生成する。
図3に示す実施形態は、例としてのみ使用され、本発明を限定することを意味するものではなく、同じ機能を達成することができる信号の任意の組合せが本発明の範囲内に入るべきであることにも留意されたい。
【0023】
図4は、本発明の一実施形態による、より良好な品質を有するエントロピー値をどのように生成するかを示す概略図である。
図4に示す動作をより良く理解するために、
図2も参照されたい。
図4の実施形態では、第1の発振クロック信号OS_1が例示のために使用されるが、開示される概念は、他の発振クロック信号にも適用可能である。
図4に示すように、第1の発振クロック信号OS_1の高論理レベル部分は、非ジッタ領域NJR及びジッタ領域JRを含む。一実施形態では、非ジッタ領域NJRは、第1の発振クロック信号OS_1の高論理レベル領域であり、ジッタ領域JRは、第1の発振クロック信号OS_1の立ち上がりエッジ又は立ち下がりエッジである。ジッタ領域JRにおけるジッタの程度は、エントロピーソース回路の回路プロセス、動作電圧又は温度によって影響され得る。サンプリングクロック生成回路103のサンプルのほとんど又は全てが非ジッタ領域NJR内で発生するとき、サンプリングクロック生成回路103によって生成されるサンプリング値は、変動がより少ないか、又は同一でさえある。別の調整可能なリング発振器(例えば、第2の調整可能なリング発振器RO_2)が同じサンプリング状態を有する場合、XOR回路201によって最終的に生成されるエントロピー値は、ほとんど又は全く変化しない、すなわち、質の悪いエントロピー値が生成される。
【0024】
上述したように、制御回路101は、第1の分布に従って第1の調整可能なリング発振器RO_1の設定が変更されるべきかどうかを決定することができる。また、第1の分布は、所定の時間内の第1のサンプリング値SV_1の特定の論理値の数、第1のサンプリング値SV_1の変化率、及び第1のサンプリング値SV_1における異なる論理値の数の比であり得る。第1の分布が非理想的である(例えば、変化率が低い)ことを第1の検出回路DC_1が検出したとき、第1の検出信号Det_1は、第1の調整可能なリング発振器RO_1の設定を変更するように制御回路101をトリガするための高論理レベルに変更される。
【0025】
上述したように、第1の調整可能なリング発振器RO_1のどの設定が使用されるべきかについては、様々な方法で決定することができる。
図5は、本発明の別の実施形態によるエントロピーソース回路を示すブロック図であり、このエントロピーソース回路は、前の実施形態とは異なるメカニズムを使用して、どの設定を使用すべきかを決定する。
図5に示すように、エントロピーソース回路500は、
図1のエントロピーソース回路100の構成要素を含む。すなわち、エントロピーソース回路500は、制御回路101と、サンプリングクロック生成回路103と、第1の調整可能なリング発振器RO_1と、第1のサンプリング回路SC_1と、第3の検出回路DC_aとを備える。制御回路101は、第3の検出回路DC_a、第1の調整可能なリング発振器RO_1、及びサンプリングクロック生成回路103に結合される。第1のサンプリング回路SC_1は、第1の調整可能なリング発振器RO_1及びサンプリングクロック生成回路103に結合される。第1の調整可能なリング発振器RO_1は、第3の検出回路DC_aに結合される。
図5のエントロピーソース回路500と
図1のエントロピーソース回路100との間の1つの相違点は、
図5の第3の検出回路DC_aが、第1のサンプリング回路SC_1の出力を検出する代わりに、エントロピーソース回路の第1の動作電圧V_1又は第1の温度T_1を検出し、第1の調整可能なリング発振器RO_1の設定情報CI_1を受信することである。制御回路101は、第1の動作電圧V_1又は第1の温度T_1に従って第1の調整可能なリング発振器RO_1のどの設定が使用されるべきかを決定する。
【0026】
一実施形態では、エントロピーソース回路500は、第3の検出回路DC_aに結合された記憶デバイス501を更に備える。記憶デバイス501は、設定と動作電圧及び温度のうちの少なくとも1つとの複数の対応関係を含む設定比較表を記憶するために使用される。例えば、動作電圧がVxであるとき、対応する設定はaである(この例では温度は考慮されない)。代替的に、温度がTxであるとき、対応する設定はbである(この例では動作電圧は考慮されない)。或いは、動作電圧がVyであり、温度がTyであるとき、対応する設定はcである。制御回路101は、動作電圧又は温度及び前述の対応関係に従って、第1の調整可能なリング発振器RO_1の設定を選択する。例えば、制御回路101が、動作電圧がVyであり、温度がTyであることを検出し、記憶デバイス501の比較表に従って設定cが使用されるべきであることを得たが、設定情報CI_1に従って第1の調整可能なリング発振器RO_1が設定dを使用していることを得たとする。このような場合、制御回路101は、第1の制御信号CS_1を介して、設定cの下で動作するように第1の調整可能なリング発振器RO_1を制御する。一実施形態では、第3の検出回路DC_aは、第1の動作電圧V_1、第1の温度T_1、設定比較表、及び設定情報CI_1を制御回路101に送信することができる。
【0027】
図5の実施形態は、
図2で説明した方法でエントロピー値を生成し得る。
図6は、本発明の別の実施形態によるエントロピーソース回路600を示すブロック図である。
図6に示すように、エントロピーソース回路600は、
図5に示される構成要素及び接続関係に加えて、第4の検出回路DC_bと、第2の調整可能なリング発振器RO_2と、第2のサンプリング回路SC_2と、XOR回路201とを備える。制御回路101は、第4の検出回路DC_b、第2の調整可能なリング発振器RO_2、及びサンプリングクロック生成回路103に結合される。第2のサンプリング回路SC_2は、第2の調整可能なリング発振器RO_2及びサンプリングクロック生成回路103に結合される。第2の調整可能なリング発振器RO_2は、第4の検出回路DC_bに結合される。XOR回路201は、第1のサンプリング回路SC_1及び第2のサンプリング回路SC_2に結合される。
【0028】
第2の調整可能なリング発振器RO_2は、第2の制御信号CS_2に従って第3の設定又は第4の設定の下で動作する。第2の調整可能なリング発振器RO_2は、第3の設定の下で第3の発振クロック信号OS_3を生成し、第4の設定の下で第4の発振クロック信号OS_4を生成する。第3の発振クロック信号OS_3及び第4の発振クロック信号OS_4は、異なる周波数を有する。第2のサンプリング回路SC_2は、サンプリングクロック信号CLK_Sのサンプリング周波数で第3の発振クロック信号OS_3をサンプリングして第3のサンプリング値SV_3を生成し、サンプリングクロック信号CLK_Sのサンプリング周波数で第4の発振クロック信号をサンプリングして第4のサンプル値SV_4を生成する。XOR回路201は、第1のサンプリング回路SC_1及び第2のサンプリング回路SC_2の出力を受信してエントロピー値を生成するように、すなわち、第1のサンプリング回路SC_1及び第2のサンプリング回路SC_2の出力に対してXOR演算を実行することによってエントロピー値を生成するように構成される。エントロピーソース回路600は、エントロピーソース回路600の第2の動作電圧V_2又は第2の温度T_2を検出するための第4の検出回路DC_bを更に備え得る。検出回路DC_a及びDC_bの異なる位置に対応して、第2の動作電圧V_2及び第2の温度T_2は、
図5の第1の動作電圧V_1及び第1の温度T_1と同じであっても異なっていてもよい。第4の検出回路DC_b、第2の調整可能なリング発振器RO_2、及び第2のサンプリング回路SC_2の詳細な動作は、第3の検出回路DC_a、第1の調整可能なリング発振器RO_1、及び第1のサンプリング回路SC_1の動作と同じであり、従って、ここでは簡潔にするために省略される。
【0029】
言い換えると、
図6の実施形態では、制御回路101は、第1の調整可能なリング発振器RO_1が、異なる周波数を有する発振クロック信号を生成するように、エントロピーソース回路600の動作電圧又は温度に従って第1の制御信号CS_1を介して第1の調整可能なリング発振器RO_1の設定を動的に調整することができる。第1のサンプリング回路SC_1は、異なる周波数を有する発振クロック信号を同じサンプリング周波数でサンプリングするので、発振クロック信号の異なる部分がサンプリングされ、異なるサンプリング値が生成され得る。同様に、制御回路101は、第2の調整可能なリング発振器RO_2が、異なる周波数を有する発振クロック信号を生成することができるように、第2の制御信号CS_2を介してエントロピーソース回路600の動作電圧又は温度に従って第2の調整可能なリング発振器RO_2の設定を動的に調整することができる。第2のサンプリング回路SC_2は、異なる周波数の発振クロック信号を同じサンプリング周波数でサンプリングするので、発振クロック信号の異なる部分がサンプリングされ、異なるサンプリング値が生成され得る。XOR回路201は、これらのサンプリング値からエントロピー値を生成する。しかしながら、本発明によって提供されるエントロピーソース回路は、エントロピー値を生成するために、調整可能なリング発振器及びサンプリング回路の2つより多いグループを利用することができ、
図2の実施形態に示される2つのグループに限定されないことに留意されたい。
【0030】
前述の調整可能なリング発振器は、様々なアーキテクチャを通して実装することができる。
図7は、本発明の一実施形態による調整可能なリング発振器の詳細な回路図である。
図7に示すように、調整可能なリング発振器700は、NANDゲート701と、直列に接続された複数の遅延段DS_1、DS_2、DS_3、及びDS_4と、フリップフロップ703とを備える。NANDゲート701の出力は、第1の遅延段DS_1の入力に結合され、NANDゲート701の入力は、最後の遅延段DS_4の出力に結合される。一実施形態では、遅延段はRC遅延段であり、その抵抗値は、前述の第1の制御信号CS_1に従って変更することができる。再び
図7を参照すると、一実施形態では、遅延段DS_1、DS_2、DS_3、及びDS_4はそれぞれ、PMOS T_P1、T_P2、T_P3、P_CAPと、NMOS T_N1、T_N2、T_N3、及びN_CAPとを備える。PMOS T_P1、T_P2とNMOS T_N1、T_N2とは直列に接続されている。PMOS T_P3は、PMOS T_P1、T_P2に接続され、NMOS T_N3は、NMOS T_N1、T_N2に接続される。PMOS T_P3及びNMOS T_N3は、抵抗設定信号OP_1、OP_2を受信して遅延段の抵抗値を変更する。PMOS P_CAP及びNMOS N_CAPは、キャパシタとして使用される。より詳細には、抵抗設定信号OP_1の異なる論理値は、PMOS T_P3を導通(ターンオン)又は非導通(ターンオフ)に制御することができ、抵抗設定信号OP_2の異なる論理値は、NMOS T_N3を導通(ターンオン)又は非導通(ターンオフ)に制御することができる。このようにして、各遅延段DS_1、DS_2、DS_3、DS_4の等価抵抗値を変化させて、キャパシタPMOS P_CAP及びNMOS N_CAPの充電速度及び放電速度を変えることができる。従って、フリップフロップ703は、それに応じて異なる周波数を有する発振クロック信号OS_1、OS_2、OS_3、及びOS_4を出力することができ、その結果、第1の調整可能なリング発振器RO_1及びRO_2の設定を変更することができる。
【0031】
一実施形態では、調整可能なリング発振器RO_1及びRO_2は、第1の制御信号CS、サンプリングイネーブル信号EN_S、及びサンプリングクロック信号CLK_Sに従って抵抗設定信号OP_1、OP_2を生成するように構成された抵抗設定信号生成回路を更に備える。
図8は、本発明の一実施形態による
図7の抵抗設定信号生成回路の回路図である。
図8に示すように、抵抗設定信号生成回路800は、インバータ801と、ANDゲート803と、バイナリカウンタ805とを備える。インバータ801は、第1の制御信号CS_1を受信するように構成される。ANDゲート803は、インバータ801の出力及びサンプリングイネーブル信号EN_Sを受信するように構成される。バイナリカウンタ805は、ANDゲート803の出力イネーブル及びサンプリングクロック信号CLK_Sを受信して、抵抗設定信号OP_1及びOP_2を生成するように構成される。一実施形態では、ANDゲート803の出力イネーブルは、
図7の調整可能なリング発振器700のイネーブル信号としても使用される。すなわち、抵抗設定信号生成回路800は、第1の制御信号CS_1を反転させ、反転された第1の制御信号CS_1及びサンプリングイネーブル信号EN_Sに対してAND演算を実行し、サンプリングクロック信号CLK_Sを使用して、AND演算の結果生成された信号に対してバイナリカウンティング演算を実行して、抵抗設定信号OP_1、OP_2を生成する。いくつかの実施形態では、エントロピーソース回路の異なる設計要件に従って、遅延段DS_1、DS_2、DS_3、及びDS_4は、異なる調整可能な抵抗値を有し得る。従って、抵抗設定信号は、異なる設計要件を満たすために、1ビット、3ビット、又は4ビット以上などの他のビット数を含み得る。バイナリカウンタ805は、対応して他のビットを有するカウンタに置き換えることもできる。
【0032】
上述した実施形態によれば、エントロピー値を生成するための方法を取得することができる。
図9は、本発明の一実施形態によるエントロピー生成方法を示すフローチャートであり、以下のステップを含む:
【0033】
ステップ901
【0034】
第1の制御信号(例えば、
図1の第1の制御信号CS_1)に従って第1の設定又は第2の設定の下で動作するように第1の調整可能なリング発振器を制御する。第1の調整可能なリング発振器は、第1の設定の下で第1の発振クロック信号を生成し、第2の設定の下で第2の発振クロック信号を生成する。第1の発振クロック信号及び第2の発振クロック信号は、異なる周波数を有する。
【0035】
ステップ903
【0036】
第1の発振クロック信号を(
図1のサンプリングクロック信号CLK_Sの周波数などの)サンプリング周波数でサンプリングして、複数の第1のサンプリング値を生成し、第2の発振クロック信号をサンプリング周波数でサンプリングして、複数の第2のサンプリング値を生成する。
【0037】
ステップ905
【0038】
第1のサンプリング値の第1の分布を検出する。
【0039】
ステップ907
【0040】
第1の分布に従って、第1の調整可能なリング発振器の設定が変更されるべきかどうかを決定する。第1の分布が所定の分布条件を満たさないとき、第1の設定は第2の設定に切り替えられる。
【0041】
ステップ909
【0042】
エントロピーソース回路によって、第1のサンプリング値又は第2のサンプリング値に従ってエントロピー値を出力する。
【0043】
他の詳細なステップ又は関連するステップは、前述の実施形態において説明されており、従って、ここでは簡潔にするために省略される。
【0044】
上述の実施形態に鑑みて、本発明によって提供されるエントロピーソース回路及びエントロピー値生成方法は、より良好な品質を有するエントロピー値がいつでも生成され得ることを確実にするために、発振クロック信号の周波数を動的に変更することができる。
【0045】
当業者は、本発明の教示を保持しながら、デバイス及び方法の多数の修正及び変更がなされ得ることを容易に認識するであろう。従って、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。