random_rdtsc und random_rdrand

Sep 29, 2026 Last reply: 3 days ago 116 Replies
Jump to replies (116)

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



formatting link
2F rdtsc
formatting link
21F rdrand



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.



Am 29.09.2026 um 13:06 schrieb Helmut Schellong:

Zufallszahlen mit rdtsc: Die Verwendung des CPU-Befehls RDTSC (Read Time-Stamp Counter) zur Erzeugung von Zufallszahlen ist ein klassischer Ansatz in der hardwarenahen Programmierung, allerdings kein echter oder kryptografisch sicherer Zufallszahlengenerator.

:)

Am 29.09.2026 um 13:06 schrieb Helmut Schellong:

Der RDTSC-Befehl (Read Time-Stamp Counter) misst lediglich die vergangen CPU-Taktzyklen seit dem Systemstart. Er ist aus zwei Hauptgründen weder ein echter noch ein kryptografisch sicherer Zufallszahlengenerator: Er besitzt keine physikalische Zufallsquelle (Entropie) und seine Werte sind für Angreifer vorhersehbar.

:)

Leo Baumann wrote on 29.09.2026 15:45:

Die vorstehende Auskunft ist nach wie vor falsch. Es ist eine Behauptung ohne Nachweis.

Ich habe _mit_ Nachweis klargemacht, daß ein Generator mit grundlegender Benutzung von TSC sogar bessere Zufallszahlen liefern kann, als mit rdrand und rdseed.

Es kommt immer darauf an, wie intelligent eine verarbeitende Software ist.

Leo Baumann wrote on 29.09.2026 15:52:

Vorstehende Aussage ist nur zutreffend, wenn die verarbeitende Software von jemandem entwickelt wurde, der es halt nicht kann. Der noch nicht einmal die einfachen Grundlagen für einen Erfolg versteht, obwohl diese erklärt wurden.

Am 29.09.2026 um 18:37 schrieb Helmut Schellong:

Voraussetzung für den Nist-Test ist die unvorhersagbarkeit der Zahlen - Dein "Nachweis" ist kein Nachweis.

Leo Baumann wrote on 29.09.2026 21:33:

Eine Unvorhersagbarkeit ist _keine_ Voraussetzung für den NIST-Test! Sogar ausdrücklich nicht! Der NIST-Test beurteilt einfach nur einen beliebigen Bitstrom.

Niemand und nichts auf der Welt kann vorhersagen, welche Zahlenwerte der TSC beim Lesen liefern wird. Das ist absolut unvorhersagbar!

Am 29.09.2026 um 22:41 schrieb Helmut Schellong:

Du widersprichst der Wissenschaft und der KI-Information!

Leo Baumann wrote on 29.09.2026 22:51:

Du bist ein totaler Realitätsverweigerer! So sehr, daß einem sogar die imaginäre Mütze vom Kopf fliegt.

Ist es denn so, daß die Wissenschaft sagt, daß der Zählerstand des TSC bekannt ist, bevor man ihn liest? Und die KI-Information sagt das Gleiche?

Was sagen denn die Wissenschaft und die KI-Information, welchem Wissen genau ich widerspreche?

Ausgehend von: - TSC Zählfrequenz (lässt sich mit rdtsc und gettimeofday() zur Laufzeit ermitteln) - letztem TSC Stand - vergangener Zeit zwischen letztem bekannten TSC Zählerstand und aktuellem Auslesen

sollte man eine recht gute Abschätzung über den wahrscheinlichen aktuellen Wertebereich bekommen. Keine Hexerei, nur trivialste Mathematik. Der TSC ist schliesslich ein Zähler, kein RNG.

Man liest sich, Alex.

Am 30.09.2026 um 00:26 schrieb Helmut Schellong:

rdtsc besitzt keine physikalische Zufallsquelle (Entropie) und seine Werte sind für Angreifer vorhersehbar.

Am 29.09.2026 um 18:37 schrieb Helmut Schellong:

• Was der NIST-Test nicht kann: Er kann nicht erkennen, ob eine Zahlenfolge vorhersagbar ist. Wenn Sie beispielsweise die Nachkommastellen der Zahl Pi in Binärcode umwandeln und testen, wird diese Sequenz die NIST-Tests problemlos bestehen, obwohl sie absolut deterministisch und unelastisch vorhersagbar ist. • Kryptografische Sicherheit: Ein Generator ist erst dann sicher, wenn er sowohl den statistischen NIST-Test (SP 800-22) besteht als auch eine nachweisbar unvorhersagbare Entropiequelle (SP 800-90B) nutzt.

NIST SP 800-90B: Diese Norm regelt die Anforderungen an die eigentliche Entropiequelle (z. B. Hardware-Rauschen), um echte physikalische Unvorhersagbarkeit mathematisch nachzuweisen.

:)

Ach Leo,

Du bist ein Spielverderber. Du kannst doch Chuck Helmut nicht mit Fakten kommen ;-)

Marte

Am 30.09.2026 um 08:01 schrieb Marte Schwarz:

Ich finde das unverschämt von Helmut seine falsche Einbilung als Wissenschaft hier zu verbreiten. Immerhin lesen auch andere Leute hier mit und wollen Fakten und keine Fake-Wissenschaft.

Außerdem geht mir Helmuts Selbstlob über seine falschen Erfindungen auf den Zeiger!

Wir wollen uns hier doch von einem ehemaligen Bundeswehrsoldaten und Studienabbrecher nicht verarschen lassen.

:)

Am 30.09.2026 um 08:01 schrieb Marte Schwarz:

[...]

Hey, das ist immerhin der Mann, der die Qualität einer einzelnen(!) Zufallszahl am Geschmack erkennen kann!

Am 30.09.2026 um 08:11 schrieb Leo Baumann:

Ich bewundere Deine Geduld...

Gruß Andreas

Am 30.09.2026 um 09:49 schrieb Andreas Fecht:

Ich bin fast soweit mir ein Buch über Kryptogrphie zu besorgen, scheint interessant zu sein.

Am 30.09.2026 um 09:49 schrieb Andreas Fecht:

Und wenn nicht so viele im Filtersatz herumrühren würden...

Gruß Bernd

Das Thema ist doch alt. Es geht jedoch um die Vorhersagbarkeit der PRNG, wie 'rabbit', 'dragon' und 'Spritz'. Diese geben bei gleichem Schlüssel immer wieder die gleiche Byte-Folge aus, z.B. 2^68 Byte lang! Das ist auch so bei einfachen rand()-Funktionen bei gleichem Seed.

Dieses Verhalten gibt es bei 'rdtsc', 'rdrand' und 'rdseed' eben nicht! Es gibt in gar keiner Weise eine Voraussagbarkeit der genauen Wert-Folge. Damit sind _genau_ _gleiche_ Folgen von z.B. 100.000.000.000 Werten gemeint, jedoch keine groben Berechnungen von Wertbereichen. Insbesondere sind auch einzelne gelesene Werte, beliebig wiederholt, vor dem jeweiligen Lesen unbekannt - unvorhersagbar. Niemand kann ihn so schnell lesen, wie der TSC inkrementiert!

Leo Baumann wrote on 30.09.2026 02:05:

Du betrachtest den TSC isoliert und theoretisch. Bei einer solchen Betrachtung ist er natürlich ein um 1 inkrementierender Zähler.

Allerdings, bei _jedem_ Lesen des TSC ist der dann erhaltene Wert nicht vorhersehbar. Der TSC zählt viel schneller, als man ihn lesen kann!

Im Übrigen widerspreche ich weder der Wissenschaft noch der KI-Information:

Ich habe halt durch intelligente Programmierung einen Weg gefunden, um aus dem TSC nur zufällige Werte zu lesen, die qualitativ sogar besser sind, als die von 'rdrand'. Das ist real! Ich habe folglich eine neue Art der Erzeugung von Zufallszahlen erfunden.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required