Echter Zufall mit iTSC-counter

Sep 18, 2026 Last reply: 54 minutes ago 5 Replies

Mittels einer Assembler-Funktion rdtsc(), die ich schon lange besitze, habe ich nun einen Generator für echte Zufallszahlen entwickelt.



formatting link
Ausgabe: =========================================================================== 00000276457408345376 00000276457428358754 00000276457431266902 00000276457435366459 00000276457448473547 00000276457451206089 00000276457454226781 00000276457457223742 00000276457460060553 00000276457474314196 00000276457477764702 00000276457485946076 00000276457489986581 00000276457500216563 00000276457560363833 00000276457566068760 00000276457571709045 00000276457594841516 00000276457618375542 00000276457628372033 00000276457634496509 00000276457641473652 00000276457662760413 00000276457667772505 ===========================================================================



In Prozessoren amd64 befindet sich ein 64-bit-Counter, der von einer Taktfrequenz im Giga-Hertz-Bereich angetrieben wird. Der verändert sich durch die Zeitdauer von nur einem Funktionsaufruf bereits um Millionen in seinem Zählerstand.



Mindestens die 4/5 Ziffern von rechts können als random verwendet werden. Oft sind bereits 1- bis 2-stellige Zahlen in geringerer Anzahl nützlich.



Das Kommando nimmt ein Argument entgegen: Die Anzahl von ausgegebenen Zahlen. Voreingestellt ist die Anzahl 8.



Am 19.09.2026 um 01:59 schrieb Helmut Schellong:

Kompliziert! Warum benutzt Du keinen Maschinenbefehl?

retry_loop: RDRAND rax JNC retry_loop

RDRAND grift auf den internen, hardwarebasierten Zufallszahlengenerator zurück, der echtes thermisches Rauschen als Quelle benutzt.

:)

Etwas mehr Mühe sollte man sich schon machen:

formatting link

Was Du für einen diebischen Spaß daran hast, Probleme zu lösen die vor Dir schon zehntausendmal gelöst wurden und auf denen ganze akademische Karrieren fußen. Was musst Du von Dir überzeugt sein, dass Du Dir einbildest, sowas besser zu machen als jemand der sich schon sein ganzes fachliches Leben mit dem Thema beschäftigt, auf Konferenzen fährt und dort mit anderen Experten in dem Thema spricht etc bla.

Hast Du nichts zu tun an dem Du mehr Freude hättest als nochmal ein Rad zu erfinden?

Hey, pass auf, als nächstes erfindet unser Freund Feuer neu ... mit weniger Flammen und Hitze oder so.

SCNR, Alex.

Wie kann man eine Assembler-Funktion "besitzen"?

/ralph

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required