Ne yazık ki / dev / random, tek seferlik bir pedde kullanım için uygun değildir, en azından çoğu insanın bir defalık pedleri düşündüklerinde veya uygularken hayal ettikleri tek seferlik ped (kanıtlanabilir güvenlik garantileriyle) için uygun değildir. Aşağıdaki bilgilerin çoğu http://www.2uo.de/myths-about-urandom/ adresindeki (çok uzun) makalede özetlenmiştir.
Sorun şu ki / dev / random gerçekten rastgele değil; çıktısını oluşturmak için bir CSPRNG kullanır. Aslında, / dev / random, / dev / urandom ile tam olarak aynı CSPRNG'yi kullanır. Tek fark, / entropi / random / entropinin iç tahmini yetersizse bloke olmasıdır.
Önceki cümlede "tahmin" kelimesi anahtardır. Çoğu insan bu tahminin her zaman doğru ve mükemmel olduğunu düşünür, ancak gerçekte hiç de doğru değildir. Tahminin yanlış olduğu anda, bir kerelik pedin tüm kanıtlanabilir güvenlik garantilerini kaybedersiniz ve geriye kalan tek şey hesaplama güvenliğidir - / dev / urandom'u kullanmanızdan daha iyi değil!
Entropi tahmininin biraz yanlış yapılması, tek seferlik pedinizi biraz güvensiz yapmaz. Bir defalık pedin kanıtlanabilir güvenlik garantisi ya hep ya hiç.
Bu sorunun önermesi, / dev / random ile ilgili problemlerin daha fazla entropi eklenerek "düzeltilebildiğidir". Ne yazık ki, bu öneri yanlış. Kötü niyetli bir entropi kaynağı entropi olmamasından çok daha kötüdür, çünkü entropi kaynakları genellikle dahili verilere erişebilir ve bu verileri RNG çıktısını kullanarak gizli bir şekilde dışa aktarabilir - bkz. Http://blog.cr.yp.to/20140205-entropi Tam bir tartışma için .html (burada özetlemek için çok uzun). Özellikle, bir donanım entropi kaynağı (diğer birkaç cevap tarafından tavsiye edildiği gibi), güvenlik açısından çok kötü bir seçimdir, çünkü bu donanım kötü amaçlı şeyler yapmak için birinci konumdadır ve esasen dayanılmazdır.