Ich habe Informationen gefunden, die /proc/sys/kernel//random/entropy_availdie Anzahl der verfügbaren Bits in angeben /dev/random. Ich wollte überprüfen, ob der nächste Messwert von /dev/randomblockiert wird, und mein naiver Ansatz bestand darin, nur die entropy_availAnzahl der erforderlichen Zufallsbits zu vergleichen, aber es funktioniert nicht gut. Als ich ein einfaches dummes Experiment machte, stellte ich fest, dass die Entropie gepuffert ist. Der 64-Bit-Entropiepuffer liefert 6 Bytes zufälliger Daten.
Ich habe die entropy_avail über diesen einfachen Befehl überwacht:
while true
do
cat /proc/sys/kernel//random/entropy_avail
sleep 1
done
Und ich habe versucht, ein zufälliges Byte per Befehl zu erhalten
dd if=/dev/random bs=1 count=1 > /dev/null
Der ddBefehl wird blockiert, wenn die Entropie 63 oder weniger beträgt. Wenn die Entropie 64 erreicht und ich ein Byte lese, sinkt die Entropie auf 0, aber ich kann weitere 5 Bytes lesen, ohne zu blockieren. Dann ddBlöcke wieder bis Entropie erreicht 64.
Was ist die genaue Bedeutung von entropy_avail und wie kann ich die tatsächliche Anzahl verfügbarer Zufallsbits ermitteln?