【手続補正書】
【提出日】令和2年3月2日(2020.3.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスにおいてエントロピを生成するための方法であって、
第１の繰り返しタイマを第１の周波数に設定するステップと、
第２の繰り返しタイマを第２の周波数に設定するステップと、
予め定められた数の第１のビットを第１のエントロピソースから前記第１の周波数で収集するステップとを備え、前記予め定められた数は、前記第１のエントロピソースに起因するビット当たりのエントロピの量に基づき、前記方法はさらに、
前記第１のビットを擬似乱数発生器に提供するステップと、
特定の数の第２のビットを第２のエントロピソースから前記第２の周波数で採集するステップとを備え、前記特定の数は、前記第２のエントロピソースに起因するビット当たりのエントロピの量に基づき、前記方法はさらに、
前記第２のビットを前記擬似乱数発生器に提供するステップを備え、
それによって、前記第１および第２のビットを使用して前記擬似乱数発生器をシード処理することができる、方法。
【請求項２】
前記第１の周波数を定期的に調節するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記第１の周波数を調節するステップは、前記擬似乱数発生器からの出力に基づく、請求項２に記載の方法。
【請求項４】
前記調節するステップは、前記第１の周波数の最大５％まで加算または減算するステップを含む、請求項２または３に記載の方法。
【請求項５】
第１の周波数の調節の周期性は、ランダム化される、請求項２〜４のいずれか１項に記載の方法。
【請求項６】
第１の周波数の調節の周期性は、５秒から６０秒の範囲内である、請求項２〜５のいずれか１項に記載の方法。
【請求項７】
前記擬似乱数発生器からの出力に基づいて前記第２の周波数を定期的に調節するステップをさらに備える、請求項２〜６のいずれか１項に記載の方法。
【請求項８】
前記収集するステップの際に前記第１のビットをアキュムレーションバッファに受け入れるステップと、
前記アキュムレーションバッファがフルになると前記第１のビットを前記アキュムレーションバッファから前記擬似乱数発生器に提供するステップと、
それによって、第１のビットの単一の収集におけるサドンエントロピよりも多くの量のサドンエントロピを提供するステップとをさらに備える、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
収集された連続する第１のビット間のハミング距離を計算するステップと、
前記計算されたハミング距離が最小値を超えたことに基づいて、前記収集された第１のビットを前記アキュムレーションバッファに受け入れるステップとをさらに備える、請求項８に記載の方法。
【請求項１０】
第１のビットの連続的な収集間のハミング距離と、前記アキュムレーションバッファのコンテンツに起因するエントロピの累積値とを合計するステップと、
前記エントロピの累積値を前記擬似乱数発生器に提供するステップとをさらに備える、請求項８または９に記載の方法。
【請求項１１】
後続の収集の前に前記アキュムレーションバッファを空にするステップをさらに備える、請求項８〜１０のいずれか１項に記載の方法。
【請求項１２】
前記アキュムレーションバッファは、第１のアキュムレーションバッファであり、前記方法はさらに、
前記採集するステップの際に前記第２のビットを第２のアキュムレーションバッファに受け入れるステップを備え、前記第２のアキュムレーションバッファは、前記第１のアキュムレーションバッファのサイズとは異なるサイズを有し、前記方法はさらに、
前記第２のアキュムレーションバッファがフルになると前記第２のビットを前記第２のアキュムレーションバッファから前記擬似乱数発生器に提供するステップを備える、請求項８〜１１のいずれか１項に記載の方法。
【請求項１３】
第１または第２の周波数は、０．１２８７秒に１回、０．１３秒に１回、０．１３７０秒に１回、０．１５秒に１回、０．２５秒に１回、０．７１５秒に１回、０．７５１秒に１回、０．７５３秒に１回、１．１３秒に１回、１．２７秒に１回、１．６６２６秒に１回、２秒に１回、２．２２２秒に１回、２．２４２７秒に１回、４．４秒に１回、４．９秒に１回、５．９秒に１回、９．８１秒に１回、１０．０００秒に１回、１１．９１３秒に１回、および１５秒に１回からなる群から選択される、請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
前記第１または第２のエントロピソースは、瞬間的または累積的な中央処理装置（ＣＰＵ）使用量；物理的または仮想メモリ使用量；ネットワークトラフィック量；高解像度クロックの最下位時間値；入力／出力（ＩＯ）統計；Intel x86 RDRAND命令；Intel x86 RDSEED命令；Intel Itanium ar.itcレジスタ；UNIXまたはLinux /dev/randomファイル；UNIXまたはLinux /dev/urandomファイル；OpenBSD, SolarisまたはLinux getentropyシステ
ムコール；SolarisまたはLinux getrandomシステムコール；Microsoft Windows CryptGenRandom関数；Linux /proc/diskstatsファイル；Linux /proc/interruptsファイル；Linux
/proc/meminfoファイル；Linux /proc/net/devファイル；Linux /proc/timer_listファ
イル；Linux/S390 /dev/prandomファイル；BSD Unix /dev/srandomファイル；Microsoft Windows win_processesモジュール；およびユーザインターフェイス情報ソースからなる
群から選択される、請求項１〜１３のいずれか１項に記載の方法。
【請求項１５】
前記第１のビットまたは第２のビットに基づいて前記擬似乱数発生器を介して乱数を生成するステップをさらに備える、請求項１〜１４のいずれか１項に記載の方法。
【請求項１６】
前記第１のタイマまたは前記第２のタイマを設定するステップは、システムコールを行うステップを含む、請求項１〜１５のいずれか１項に記載の方法。
【請求項１７】
前記予め定められた数の第１のビットを収集するステップおよび前記特定の数の第２のビットを採集するステップは、それぞれの前記タイマのイベントを作動させると行われる、請求項１〜１６のいずれか１項に記載の方法。
【請求項１８】
前記擬似乱数発生器は、数字、文字および他の記号を生成するように構成される、請求項１〜１７のいずれか１項に記載の方法。
【請求項１９】
擬似乱数発生器においてエントロピをシード処理するための方法であって、
異なる周波数の非同期タイマを設定するステップと、
前記非同期タイマのうちの第１のタイマに従って、予め定められた数の第１のビットを第１のエントロピソースから収集するステップと、
収集された連続する第１のビット間のハミング距離を計算するステップと、
前記ハミング距離が最小値を超えたことに基づいて前記第１のビットを第１のアキュムレーションバッファに受け入れるステップと、
第１のビットの連続的な収集間のハミング距離と、前記第１のアキュムレーションバッファのコンテンツに起因するエントロピの累積値とを合計するステップと、
前記第１のアキュムレーションバッファのコンテンツを擬似乱数発生器に提供するステップと、
前記非同期タイマのうちの第２のタイマに従って、特定の数の第２のビットを第２のエントロピソースから採集するステップと、
前記第２のビットを第２のアキュムレーションバッファに受け入れるステップとを備え、前記第２のアキュムレーションバッファは、前記第１のアキュムレーションバッファのサイズとは異なるサイズを有し、前記方法はさらに、
前記第２のアキュムレーションバッファのコンテンツを前記擬似乱数発生器に提供するステップを備える、方法。
【請求項２０】
前記非同期タイマの周波数にジッターを生じさせるステップをさらに備える、請求項１９に記載の方法。
【請求項２１】
命令を含むコンピュータプログラムであって、前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに請求項１〜２０のいずれか１項に記載の方法を実行させる、コンピュータプログラム。
【請求項２２】
請求項２１に記載のコンピュータプログラムを格納するメモリと、
前記コンピュータプログラムを実行するための１つ以上のプロセッサとを備える、システム。