Kriptografide entropi
Kısaca: Entropi, bir değerin ne kadar öngörülemez olduğunu ölçer. Güvenli anahtarlar entropiye, yani bir saldırganın tahmin edemeyeceği gerçek rastgeleliğe ihtiyaç duyar.
Biraz daha ayrıntılı: Bit cinsinden ölçülür: n bit entropili bir değer ancak yaklaşık 2ⁿ denemeyle tahmin edilebilir. Öngörülebilir bir rastgele sayı üretecinden gelen “128 bitlik anahtar” gerçekte çok daha azdır.
Ayrıntılı
- Kaynaklar: Tuş basışlarının ve fare hareketlerinin zamanlaması, disk ve ağ olayları, donanım gürültüsü,
RDRANDgibi CPU komutları. - İşletim sistemi: Çekirdek entropiyi bir havuzda toplar ve ondan
/dev/urandomvegetrandom()ile güvenli rastgele sayılar sunar. Modern Linux çekirdekleri bunu önyüklemeden hemen sonra da yapabilir. - Sorunlu durumlar: Sanal makineler ve küçük cihazlar önyüklemeden hemen sonra az entropiye sahiptir. Klonlanmış VM görüntüleri özdeş rastgele sayılar üretir.
- Parolalar: 7776 sözcükten 4 rastgele sözcükle (Diceware) parola yaklaşık 51 bittir; uydurulmuş bir desen çok daha azdır.
- Pratik kural: Anahtarlar için yalnızca platformun kriptografik olarak güvenli işlevlerini kullan (
secrets,crypto.getRandomValues), aslarand()veyaMath.random()değil.
Ayrıca bak: Rastgele sayılar: sözde rastgele ve gerçek rastgele