random_rdtsc und random_rdrand

Sep 29, 2026 Last reply: 2 days ago 190 Replies

Am 03.10.2026 um 17:26 schrieb Helmut Schellong:

Der NIST-Test bestätigt *nicht* die Unvorhersehbarkeit und kryptografische Sicherheit und genau diese beiden sind bei random_rdtsc

*nicht* gegeben.

Am 03.10.2026 um 17:12 schrieb Helmut Schellong:

random_rdtsc (bzw. das Auslesen des Time-Stamp Counters via RDTSC) liefert keine kryptografisch sicheren Zufallszahlen, weil es sich dabei um eine deterministische Zeitmessung und nicht um eine echte Entropiequelle handelt. Während RDRAND und RDSEED auf physikalischen Zufallsgeneratoren im Prozessor basieren, misst RDTSC lediglich die Anzahl der CPU-Taktzyklen seit dem letzten Reset.

Leo Baumann wrote on 03.10.2026 17:35:

Der NIST-Test bestätigt sehr wohl die kryptographische Sicherheit. Dafür ist er gemacht! Er bestätigt _nicht_ die Unvorhersehbarkeit.

Der Algorithmus des 'randtsc' bestätigt allerdings die Unvorhersehbarkeit, weil nur ein kleiner Teil der Bits des TSC zur Nutzung verwendet werden. Es kann auch nur das eine Bit ganz rechts verwendet werden, wenn man will (LSB). Eines von 64. Dieses Programm ist eine wahre Bit-Frickel-Stube.

Am 04.10.2026 um 00:48 schrieb Helmut Schellong:

Wie bereits mehrfach geschrieben kann der NIST-Test weder Unvorhersagbarkeit noch Entropie bestätigen!

• 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.

Leo Baumann wrote on 03.10.2026 17:47:

Der NIST-Test bestätigt jedoch die kryptographische Sicherheit. Genau dafür ist er gemacht!

Nein, das ist wiederholt komplett falsch. Es betrachtet den TSC erneut isoliert, als ob es den Algorithmus des 'randtsc' nicht gäbe. Du verhältst Dich mittlerweile ausgeprägt borniert.

Leo Baumann wrote on 04.10.2026 00:52:

Richtig, ich selbst habe diese Fähigkeit dem NIST-Test abgesprochen. Sogar vorstehend in diesem Posting. Der NIST-Test bestätigt jedoch die informationstheoretische Entropie nach Shannon.

Ja, das hatten wir bereits.

Die vorstehende Formulierung paßt nicht. Echter Zufall liegt z.B. unzweifelhaft auch bei allen Lotto-Maschinen vor, die in der ARD und im ZDF gezeigt wurden.

Auch ein Taster muß nicht prellen, um sicher zu sein, denn die menschliche körperliche Langsamkeit allein erzeugt bereits den echten Zufall. Es gibt hier verschrobene Vorstellungen.

Ist mir bekannt. Ich bin mit dem NIST stark verbunden seit längerer Zeit.

Am 04.10.2026 um 01:33 schrieb Helmut Schellong:

Warum die Shannon-Entropie unzureichend ist

  1. Sie ist ein statistischer Mittelwert: Die Shannon-Entropie erlaubt es, dass einzelne Sequenzen extrem vorhersagbar sind, solange die Quelle im Durchschnitt unvorhersagbar bleibt. Für eine echte Zufallszahl darf jedoch kein einziges Bit vorhersagbar sein.
  2. Kein Schutz vor gezielten Raten (Brute-Force): Wenn ein Angreifer versucht, einen kryptografischen Schlüssel zu erraten, nutzt er die wahrscheinlichste Kombination zuerst. Die Shannon-Entropie gewichtet seltene Ereignisse sehr stark, was den Durchschnittswert künstlich hochtreibt. Ein Angreifer interessiert sich aber nur für die wahrscheinlichsten Werte.

Helmut Schellong, 2026-09-30 10:45:

[...]> Allerdings, bei _jedem_ Lesen des TSC ist der dann erhaltene Wert nicht vorhersehbar.

Ja, aber eben nicht zufällig.

Ohne Offenlegung der Programmierung ist diese Aussage nichts wert.

Ob dem so ist, müsste erst belegt werden.

Wenn du einfach willkürlich Bits wegwirfst, geht auch der letzte Rest an Zufall abhanden.

Weshalb sollte das LSB zufälliger sein als das vorletzte?

Hast du dir mal angeschaut, wieviel Mühe im Linux-Kernel darauf verwendet wird, den kleinsten Rest an Entropie in den Pool hineinzumixen? (ChaCha20)

Ich bezweifle, dass deine naive Implementation besser ist.

Wenn auch nicht mehr brandaktuell:

formatting link

Der Linux-Kernel berücksichtigt z. T. auch höhere Ableitungen der Werte, und eine Quelle, die zu vorhersagbar ist, wird evtl. nicht weiter verwendet. Und das zur Laufzeit. Ähnlich läuft es ja auch bei rdrand, aber intransparent.

Leo Baumann wrote on 04.10.2026 02:04:

Die Shannon-Entropie sagt nichts über physikalische Erzeugung aus. Deshalb auch 'informationstheoretisch'. Shannon verlangt eine Gleichverteilung aller Zeichen in einem OTP. Dadurch ist der Informationsgehalt Null.

Am 04.10.2026 um 11:48 schrieb Helmut Schellong:

Dank KI ist alles gesagt - für mich ist random_rdtsc gestorben!

Arno Welzel wrote on 04.10.2026 02:45:

Das stimmt, wenn man den TSC isoliert betrachtet - wieder mal. Der Algorithmus in 'randtsc' jedoch erzeugt gemeinsam mit dem TSC eine echte Zufälligkeit.

Ich habe den Code/Algorithmus mehrfach symbolisch beschrieben. Der reale Komplett-Code wurde ja nicht begriffen - also lasse ich das.

Es wurde mehrfach belegt durch mehrere NIST-Tests. Es kommt auf den Output von 'randtsc' an (>=1 MB), der dann den NIST-Test durchläuft.

Blödsinn, ich werfe nur Bits weg, die quasi Konstanten sind. Du siehst das einfach diametral falsch herum. Was soll ich mit Bits, die sich nur alle paar Stunden ändern?

Weil sich das LSB am schnellsten ändert. Noch nie einen mechanischen Zähler mit Radwalzen angeschaut? Von rechts nach links kommen da die Überträge. Das rechte Rad dreht sich am schnellsten.

Der NIST-Test bescheidet das aber so (besser als rdrand), mehrfach bisher.

Gleichverteilung bedeutet nicht Unvorhersagbarkeit. Da muss man z. B. auch auf Seitenkanalattacken achten.

Pi ist vielleicht gar nicht so zufällig: Es gibr gar nicht so weit hinten eine Folge

99999. Und man kann jede Nachkommastelle berechnen ohne Kenntnis der Vorgänger:
formatting link

Richtig. Gleichverteilung ist der _erste_ der grundlegend verschiedenen

15 mathematischen Tests der NIST-Test-Suite. Insgesamt sind es 188 Tests pro Bitstrom. Das ist an der Abschlußtabelle zu sehen. Ich konfiguriere meist 5 Bitströme.

Der NIST-Test: .

formatting link
dafür entwickelt worden, um Bitströme für eine Eignung für kryptographische Anwendungen bewerten zu können.

In der Abschlußtabelle des Tests sollte kein Stern * vor einen Test gesetzt worden sein. Dann ist der Test bestanden.

. randtsc . BITSREAD = 1000000 0s = 499928 1s = 500072 . BITSREAD = 1000000 0s = 500154 1s = 499846 . BITSREAD = 1000000 0s = 500107 1s = 499893 . BITSREAD = 1000000 0s = 500010 1s = 499990 . BITSREAD = 1000000 0s = 500165 1s = 499835

. rdseed . BITSREAD = 1000000 0s = 501060 1s = 498940 . BITSREAD = 1000000 0s = 500800 1s = 499200 . BITSREAD = 1000000 0s = 498688 1s = 501312 . BITSREAD = 1000000 0s = 500219 1s = 499781 . BITSREAD = 1000000 0s = 499747 1s = 500253

Die hohe Güte der Zahlen des 'randtsc' ist allein vorstehend erkennbar.

Das geht wohl wegen des Zusammenhangs von Durchmesser und Umfang. PI repräsentiert ja diesen Zusammenhang.

Ich wäre wegen 99999 nicht beunruhigt. Bei echten Zufallszahlen ist 99999 genau so wahrscheinlich wie auch 12345, 54321, 55334, 88888, 00000, ...

Das ist legitim, weil kein Algorithmus die Entropie des Ergebnisses von RDTSC vermehren kann. Das ist ähnlich fundamental wie in der Physik die Tatsache, dass keine Vorrichtung den Impuls oder die Energie eines geschlossenen Systems verändern kann.

Ja, alles Geisterfahrer hier...

---<)kaimartin(>---

Helmut Schellong, 2026-10-04 11:58:

Ohne Offenlegung des Codes ist "symbolische Beschreibung" nichts wert.

Es ist egal, ob es begriffen wird. Closed Source ist irrelevant.

Nein, damit wurde nur belegt, dass ein NIST-Test funktioniert, mehr nicht.

Helmut Schellong, 2026-10-04 12:20:

[...]

Und ebenso vorhersehbar, wie alle anderen.

Helmut Schellong, 2026-10-04 00:59:

Den gibt es ja auch nicht. Den Quelltext zeigst Du nicht, weil den hier angeblich niemand versteht. Das ist einfach nur lächerlich.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required