Hallo, ich schrieb vor einer Reihe von Tagen, daß ich mich auch mit RDRAND befassen werde. Inzwischen habe ich ein Kommando damit:
. rdrand rdtsc . 00419111709294650540 00000023031823306424 . 13730835699957716901 00000023031853970210 . 14943587698214829160 00000023031857694550 . 13772069062344989762 00000023031871058458 . 10940243304984649324 00000023031873015584 . 02054532970100969052 00000023031906644037 . 18105952882384621093 00000023031911767494 . 00647674177007382775 00000023031917240409
Der NIST-Test von rdrand zeigt eine sehr gute Qualität. Der erste Test der NIST-Suite von der Ausgabe rdtsc zeigt eine merkbar bessere Qualität.
Beide Ausgabeströme zeigen verteilt leichte Schwächen. rdtsc zeigt nur zweimal das Wort FAILURE, während die rdrand-Testdaten dieses Wort 21-mal enthalten.
Zwischen diesen beiden Methoden, Zufallszahlen zu erzeugen, liegen Welten. Mit jeweils unterschiedlichen Vorteilen und Nachteilen.
Die Methode rdtsc bietet viele Konfigurations-Möglichkeiten, so daß die Ausgabe-Qualität einstellbar ist. Dafür muß dies - für allerhöchste Qualität - mit immenser Laufzeit bezahlt werden. Es liegt die Unsymmetrie vor, daß die Änderungshäufigkeit der Bits von rechts nach links abnimmt, so daß links für lange Zeiträume konstante Ziffernwerte vorliegen. Folglich kann nur eine geringe Anzahl Bits, vom LSB her, genutzt werden.
Die Methode rdrand gibt Zufallszahlen in voller Breite von bis zu 64 Bits _schnell_ aus. Es dauert nur etwa 0,8 s, bis 10 MB Daten ausgegeben sind. Die Qualität der echten Zufallszahlen und ihre sonstigen Eigenschaften sind sehr gut. Sie reicht allerdings nicht an die _mögliche_ Qualität der Methode rdtsc heran. Das ist allerdings eine Abwägung auf sehr hohem Level.