Entropia ("aleatoriedade") é acumulada no kernel. Se o kernel acumulou entropia suficiente antes do início do GPG, o GPG se beneficia dele imediatamente.
A manipulação de entropia do Linux está um pouco quebrada. O Linux possui dois dispositivos: /dev/random
e /dev/urandom
. /dev/random
bloqueia pelo tempo que for necessário para acumular entropia suficiente. /dev/urandom
sempre retorna dados sem bloqueio. Em princípio, isso seria bom. O problema é que o cálculo de entropia do Linux é extremamente conservador: ele pressupõe que a entropia se esgota, o que só é verdade em um sentido altamente teórico. Então /dev/random
tende a bloquear quando não deveria.
Em um sistema normal, você deve use apenas /dev/urandom
- embora alguns O software, incluindo o gpg, não lhe dá uma escolha . No entanto, em um CD ao vivo, imediatamente após a inicialização, pode haver muito pouca entropia, a menos que seu computador tenha um RNG de hardware (como o RdRand instrução em processadores Intel recentes) e o Linux a suporta. Portanto, nesse caso, você precisa usar /dev/random
e aguardar, se necessário. A interação do usuário (por exemplo, mover o mouse) contribuirá para essa entropia.
Veja também Adicionando "entropia numérica aleatória" para Chaves GPG? e Você pode explicar a estimativa de entropia usada no random.c
Novamente, você não precisa se preocupar: o GPG + Linux é muito conservador quando se trata de estimar a entropia. Se o GPG gerar uma chave rapidamente, você já interagiu o suficiente com o computador para fornecer entropia suficiente ou o seu computador tem um RNG de hardware compatível.