GPGキージェネレータはエントロピーを使用しません。

GPGキージェネレータはエントロピーを使用しません。

Ubuntu 16.10でGPGキーを生成しようとしていますが、GPGに時間がかかります。

私は少しグーグルをして、StackExchangeに関するいくつかの質問を含む、システムがrngd乱数をより速く生成するのに役立つエントロピージェネレータの実行を提案するいくつかのサイトを見つけました。

/proc/sys/kernel/random/entropy_availこれらのサイトのいくつかは、GPGを実行する前にシステムが4桁の数字を報告し、実行中に2桁の1桁の数字を報告したことを指摘しながら確認することをお勧めします。

現在私のコンピュータでGPGを実行していますが、少なくとも30分間実行していますが、次のメッセージが表示されます。

$ cat /proc/sys/kernel/random/entropy_avail 
3644

この数字は時間の経過とともに増加し、少しずつ減少することはほとんどありません(この文を書いた後は3801です)。乱数ジェネレータを実行しません。実際に1つを実行しようとすると(たとえばsudo rngd -fr /dev/random、約50に低下し、使用すると/dev/urandom約3000に保たれます)。

誰もが私のシステムにどのような問題があるかを見つけるのに役立ちますか?

私はLinux 4.8.0-37-generic、gpg(GnuPG)2.1.15、libgcrypt 1.7.2-betaを使用しています。

ベストアンサー1

最近Debian 9にアップグレードした後、同様の問題が発生しました。乱数に依存する一部のプログラムは、最近のLinuxバージョンでソースコード/乱数ジェネレータルーチンが変更され、システムエントロピーにさらに依存するようになりました。

インストールデーモンはhaveged一貫した乱数プールを提供するようです。これを行う:

sudo apt-get install haveged

このデーモンは現在、エントロピーを必要とするさまざまなプログラムhaveged、特にエントロピーが通常低い仮想マシンやIoT(Raspberry Piなど)で必要です。

からman haveged

NAME
haveged- 乱数を生成してLinuxの任意のデバイスに提供します。


haveged Hardware Volatile Entropy Gathering and Expansion (HAVEGE) アルゴリズムを使用して、非表示のプロセッサ状態 (キャッシュ、分岐予測子、メモリ変換テーブルなど) に対するハードウェア イベントの間接的な影響から派生した予測不能な乱数ストリームを生成する方法を説明します.します。アルゴリズムはユーザー空間で実行され、出力ストリームへのファイルシステムアクセスに特別な権限は必要ありません。

/dev/randomLinuxは、デバイスインタフェースを介した /dev/urandom 展開のためにランダム性を集約します。フルフィルのための標準的なメカニズムは、 /dev/random需要が高かったり、ユーザーの対話が制限されているシステムには不十分な場合があります。この場合、haveged 任意のビット供給がデバイスの最低透かしを下回るたびに特権デーモンを実行してプールを埋めることができます。/dev/random/dev/random

おすすめ記事