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