Forum: PC Hard- und Software Haben Computer einen echten Zufallsgenerator, und mit welcher Software kann man sie nutzen?


von Tobias C. (tobias_claren)


Lesenswert?

Hallo.

Ich las dass heutige Computer oder die CPU einen Zufallsgenerator haben.
Ist das ein echter Zufallsgenerator (TRNG)? Wie z.B. ein 
Quanten-Eleketronen-Tunnelungs-Zufallsgenerator den man als USB-Stick 
(virtueller com-Port) kaufen kann.

Und mit welcher darstellenden und loggenden Software kann man den 
TRNG-Zufallsgenerator nutzen? Windows, Android und notfalls Linux.
Keine Kryptographie, sondern die Darstellung der Werte auf verschiedene 
Arten.
Wobei die sich eher optisch bzw. durch die Anzahl  der Möglichkeiten 
unterscheiden würden.
Also z.B. 50/50, 1-5, 1-10, "1-37" etc.. Und optisch gibt es 
Links/Rechts, Kopf oder Zahl, Rot oder Grün, "Denk dir eine Zahl 
zwischen...", Roulette, Glücksrad etc..
Das würden im Grunde auch "Spielereien", Demos etc erfüllen., falls 
diese existieren, allerdings sollte man es eine bestimmte Zeit laufen 
lassen können, und danach dann die Verteilung und/oder häufigster Wert 
und/oder Prozentsatz angezeigt werden.
Im Falle Kopf/Zahl also z.B. 3 Minuten Laufzeit, Takt von 2/s, Anzeige 
der Anzahl wie oft welche Seite kam, Prozentwert und danach bleibt alles 
als Anzeige stehen und kann evtl. noch gespeichert werden.


Es gibt theoretisch auch analoge Darstellungen wie ein Roboter der sich 
auf einem Feld zufällig bewegt. Dazu braucht es natürlich noch einen 
Roboter.
Auch wenn man so eine Fahrzeugbewegung auf einem Areal auch auf dem 
Bildschirm simulieren kann, böte der reale Roboter ein paar 
Möglichkeiten die die Simulation nicht erfüllen kann.

Aber mir geht es hier primär um die TRNG-Hardware für den PC, oder evtl. 
schon im PC vorhandenen (aktuell ein i5-6500-CPU) TRNG, und Software.
Nur zur Sicherheit, ein Pseudozufallsgenerator (RNG, PRNG...) reicht 
nicht.
Es geht nicht um die Stärke des Zufalls, sondern dass es eben nicht auf 
einem Algorithmus auf Basis irgendwelcher Werte wie Zeit, 
Netzwerkverkehr beruht, sondern auf sehr feinen atomaren oder 
subatomaren Prozessen.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

"Intel® Digital Random Number Generator (DRNG)"
http://software.intel.com/sites/default/files/m/d/4/1/d/8/441_Intel_R__DRNG_Software_Implementation_Guide_final_Aug7.pdf

Bei solchen Themen sollte man sich allerdings auch die Frage stellen, 
wieviel Vertrauen man in eine verborgene Implementierung hat.

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Und wenn du dem Zufallszahlengenerator nicht traust, kombinier zwei 
unabhängige Oszillatoren. Warte z.B. bis die Sekunde der RTC toggelt und 
nimm dann das unterste Bit von RDTSC. Misch das Bit aber noch einmal 
kräftig mit den vorherigen, z.B. mit einem kryptographischen Hash.

von Tobias C. (tobias_claren)


Lesenswert?

@ A.K.

Vertrauen? Wie erwähnt, mir geht es nicht um Kryptographie.
Es ist allerdings unverzichtbar dass es ein True-RNG ist.
Egal wie gut oder komplex "seeds" aus diversen Quellen kombiniert 
werden, das ist absolut unbrauchbar. Alles was "seeds" hat kommt nicht 
in Frage.

Ich kann aber auch keine Software dafür programmieren, daher die Frage 
nach solchen Anwendungen im Bereich "PC Hard- und Software" für fertige 
Zufallsgeneratoren.

: Bearbeitet durch User
Beitrag #6073034 wurde vom Autor gelöscht.
von (prx) A. K. (prx)


Lesenswert?

Das PDF hast du aber schon gelesen? Grundlage sei "thermal noise", aber 
nicht ausschliesslich.

: Bearbeitet durch User
von Tobias C. (tobias_claren)


Lesenswert?

Das ist nur eine PDF von Intel. Wenn eine Intel-CPU bzw. bzw. CPU keinen 
echten TRNG enthält (obwohl der zumindest in der PDF erwähnt wird), kann 
Ich den nicht gebrauchen. Dann muss Ich einen externen Quanten-TRNG 
kaufen.
Am wichtigsten ist hier die Frage nach der Software um so etwas dann wie 
beschrieben zu nutzen.

Wenn es eine "Grundlage" ist, ist das ein "Seed"?
Ist "thermal noise" also ein "seed"?
Wie erwähnt, es darf keinerlei "seed", nichts auf dem der Wert basiert 
geben.
Daher hat man früher und evtl. in Laboren etc. noch heute den 
radioaktiven Zerfall von z.B. Strontium 90 genommen, und GEräte mit USB, 
PCIe etc. nutzen.

Roger Nelson (googlebar) empfahl mir ein Gerät mit Zitat "a true 
physical RNG. It is based on quantum electron tunneling, not 
radioactivity."
Eben weil es keinerlei "seeds", keine "Basis" geben darf.

: Bearbeitet durch User
Beitrag #6073042 wurde von einem Moderator gelöscht.
von Tobias C. (tobias_claren)


Lesenswert?

https://www.phyx.at/was-ist-zufall/

Zitat:
"Ein gutes Beispiel für echten Zufall in der Physik ist der radioaktive 
Zerfall. Stellen wir uns etwa ein einziges radioaktives Atom vor. Von 
diesem Atom wissen wir, dass es irgendwann zerfallen wird, und wir 
können die Wahrscheinlichkeit angeben, mit der es beispielsweise 
innerhalb der nächsten zehn Minuten zerfällt. Der konkrete Zerfall wird 
jedoch zu einem bestimmten Zeitpunkt auftreten, und wir haben keinerlei 
Möglichkeit, diesen Zerfall vorauszusagen. Die Quantenphysik sagt, dass 
es für den Zeitpunkt des einzelnen Zerfalls keinerlei Grund gibt, nicht 
einmal einen verborgenen. Man spricht hier von einem objektivem Zufall."

Es gibt keine Basis, keinen "Seed", der Zerfall wird direkt in die 
Zahlen umgesetzt. Nichts wird berechnet.

Genau so echter Zufall ist wohl der Quanten-Elektronen-Tunnel.
Sonst würde den z.B. Princeton etc. nicht für das GCP einsetzen.

von Blubbb (Gast)


Lesenswert?


von Tobias C. (tobias_claren)


Lesenswert?

Was ist "RealWorldTM"?
Die Firma wird da nicht erwähnt.

Diese Doku die die Lavalampen erwähnt habe Ich auch gesehen.
Ob das nötig ist, ist eine andere Sache.
Es gibt ja auch solche Technik:
https://www.idquantique.com/random-number-generation/products/quantis-random-number-generator/

Oder langsamer aber für das GCP der Princeton etc. ausreichend:
https://ubld.it/truerng_v3

Diese Lavalampen-Nummer halte Ich für einen Werbegag (dass sicher kein 
fremder Code beteiligt ist...), nicht technische Notwendigkeit. Außerdem 
ist es theoretisch scheinbar kein echter Zufall da es noch eine Basis 
gibt, auf der ein Algorithmus dann den Wert berechnet. Für 
Verschlüsselung im Internet mag diese Lavalampen-Methode sogar 
ausreichend sein, weil wohl kein Zugriff auf die analogen "Daten" der 
Lampe möglich ist. Aber es ist kein echter Zufallswert aufgrund 
quantenphysikalischer Prozesse.
Die denken sich evtl. "besser solcher Pseudozufall wo keiner auf die 
Seeds zugreifen kann, als Qauntenphysik wo theoretisch Hintertüren in 
der Hardware sind. Das hat für mich keinerlei Bedeutung.

Das sind ja interessante "FYI", ist aber nicht Topic :-) .

Ich weiß wo Ich einen Quanten-Zufallsgenerator kaufen kann.
Wenn es einen Solchen nicht in meiner vorhandenen CPU (oder einer auf 
die Ich aufrüsten könnte) gibt, ist der Hardware-Teil damit 
abgeschlossen.
Dann dreht es sich nur noch um die Software die solche beschriebenen 
Anwendungen bietet.


Wenn jemand eine Roboter-Anwendung erfahren will, nenne Ich die gerne.
Das war eine Doktorarbeit.
Aber das führt dann bitte nicht zu mobbning, Obskurantistischem 
bösartigen Verhalten, oder der Verweigerung von Wissen dass evtl. doch 
vorhanden ist.

: Bearbeitet durch User
von mh (Gast)


Lesenswert?

Tobias C. schrieb:
> Außerdem
> ist es theoretisch scheinbar kein echter Zufall da es noch eine Basis
> gibt, auf der ein Algorithmus dann den Wert berechnet.

Wie genau soll man ohne einen Algorithmus von einem echten 
Zufallsprozess (Quantenmechanik, Chaos, ...) auf einen digitalen 
Zufallswert kommen?

von Tobias C. (tobias_claren)


Lesenswert?

mh schrieb:
> Tobias C. schrieb:
>> Außerdem
>> ist es theoretisch scheinbar kein echter Zufall da es noch eine Basis
>> gibt, auf der ein Algorithmus dann den Wert berechnet.
>
> Wie genau soll man ohne einen Algorithmus von einem echten
> Zufallsprozess (Quantenmechanik, Chaos, ...) auf einen digitalen
> Zufallswert kommen?

Mit "Algorithmus" ist gemeint dass vorhandene Zahlen (Seeds, im 
einfachsten Fall wie beim C64 etc. die Systemzeit) durch einen 
Algorithmus geschickt werden, und so einen "Zufallswert" erzeugen.

Ein echter Zufallsgenerator hat keine solchen "Seeds" wie Systemzeit, 
Netzwerkverkehr, Mausbewegung, Tastenanschläge (beim Smartphone evtl. 
noch Luftdruck, Helligkeit, Lage, Magnetfeld...) etc., sondern den 
radioaktiven Zerfall oder Quanten-Elektronen-Tunnel-Technik.

Da werden diese natürlichen Werte dann nur noch in Zahlen umgesetzt, 
aber ohne diese wirklich aktiv auszurechnen. Dieses Umsetzen ist kein 
aktives errechnen, sondern nur die Übertragung vorgegebener (analoger) 
Werte.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Tobias C. schrieb:

> Diese Lavalampen-Nummer halte Ich für einen Werbegag (dass sicher kein
> fremder Code beteiligt ist...), nicht technische Notwendigkeit. Außerdem
> ist es theoretisch scheinbar kein echter Zufall da es noch eine Basis
> gibt, auf der ein Algorithmus dann den Wert berechnet.

Natürlich ist das Geschehen in einer Lavalampe objektiver Zufall. Woran 
kann man das erkennen? Es wird dir auch in Milliarden Jahren nicht 
gelingen, eine Periode zu bestimmen, mit der sich die Ereignisse 
wiederholen. Lavalampen sind eine typische Anwendung für den 
stochastischen Lawineneffekt, also Ereignisse in der Makrowelt, die 
letztlich durch Quanteneffekte "gesteuert" werden.

Aber natürlich ist es auch ein Werbegag. Man hätte auch weniger 
aufregende Quellen benutzen können, etwa den Einschlag von Regentropfen 
oder die Turbulenzen in einem Medium über einer Wärmequelle. Das ist 
alles die gleiche Klasse: verstärkte Quanteneffekte.

von foobar (Gast)


Lesenswert?

> Es geht nicht um die Stärke des Zufalls, sondern dass es eben nicht
> auf einem Algorithmus auf Basis irgendwelcher Werte wie Zeit,
> Netzwerkverkehr beruht, sondern auf sehr feinen atomaren oder
> subatomaren Prozessen.

Das ist doch das gleiche.  Es ist nicht der Prozess, der zufällig ist, 
sondern z.B. der Zeitpunkt, wann er ein Ereignis auslöst.  Und wenn er 
zu dem Zeitpunkt in einem Detektor ein Signal auslöst, ein Netzwerkpaket 
losschickt oder eine Taste drückt, hat das die gleichen 
Zufallseigenschaften wie der "subatomare Prozess".

Btw, zählt der Zeitpunkt, an dem ein Neuron "feuert" und mich 
veranlasst, eine Taste zu betätigen, als "subatomarer Prozess"? ;-)

> Es ist allerdings unverzichtbar dass es ein True-RNG ist.
> Egal wie gut oder komplex "seeds" aus diversen Quellen kombiniert
> werden, das ist absolut unbrauchbar. Alles was "seeds" hat kommt
> nicht in Frage.

Das geht ja schon in die Richtung Esoterik.  Wenn der PRNG gut ist und 
echter Zufall reingemischt wird, ist auch die Ausgabe echter Zufall.


Das Problem bei TRNGs ist, dass sie meist nicht besonders gut sind (kein 
weißes Rauschen) und/oder sehr langsam sind (nur wenige Bits pro 
Sekunde).  PRNGs hingegen kann man designen, dass sie diese 
Anforderungen beliebig erfüllen.  Deshalb werden TRNGs üblicherweise 
benutzt, um PRNGs zu füttern - dann bekommt man schnelle Zufallszahlen, 
die alle Zufallstests bestehen.

von Matthias 🟠. (homa)


Lesenswert?

Vor einiger Zeit habe ich folgende Projekte gefunden.

http://www.jtxp.org/tech/xr232web.htm

http://www.jtxp.org/tech/xr232usb.htm

Habe mir die Links gespeichert und bisher nicht weiter verfolgt.
Aber das sollte genau die Art von Zufall sein die Du suchst. Die Werte 
kannst Du dann für Deine Projekte

Tobias C. schrieb:
> Also z.B. 50/50, 1-5, 1-10, "1-37" etc.. Und optisch gibt es
> Links/Rechts, Kopf oder Zahl, Rot oder Grün, "Denk dir eine Zahl
> zwischen...", Roulette, Glücksrad etc..

nutzen.
Viel Erfolg und lass mal hören wie Du Dich entschieden hast.

von c-hater (Gast)


Lesenswert?

foobar schrieb:

> Das Problem bei TRNGs ist, dass sie meist nicht besonders gut sind (kein
> weißes Rauschen) und/oder sehr langsam sind (nur wenige Bits pro
> Sekunde).  PRNGs hingegen kann man designen, dass sie diese
> Anforderungen beliebig erfüllen.  Deshalb werden TRNGs üblicherweise
> benutzt, um PRNGs zu füttern - dann bekommt man schnelle Zufallszahlen,
> die alle Zufallstests bestehen.

So sieht's aus. Das Blöde selbst bei optimalen PRNGs ist ja nur die 
durch den begrenzten Zahlenraum unvermeidliche Periode und die Tatsache, 
dass jemand, der den Algorithus kennt, ab jedem ihm bekannt gewordenen 
Wert alle zukünftigen vorhersagen kann, weil er einfach nur den gleichen 
Algorithmus mit diesem Wert seeden muss.

Ein gelegentliches Bit aus einem TRNG bricht das auf. Je häufiger echte 
Entropie zugeliefert werden kann, umso besser, denn umso kürzer werden 
die vorhersagbaren Abschnitte.

von (prx) A. K. (prx)


Lesenswert?

c-hater schrieb:
> Ein gelegentliches Bit aus einem TRNG bricht das auf. Je häufiger echte
> Entropie zugeliefert werden kann, umso besser, denn umso kürzer werden
> die vorhersagbaren Abschnitte.

Intel zu RDRAND: "1022 sequential DRNG random numbers will be generated 
from the same seed value". Der als seed verwendete TRNG steht per RDSEED 
direkt zur Verfügung.
https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide

AMD ähnlich, hier ist der TRNG als 16 Ringoszillatoren beschrieben.
https://www.amd.com/system/files/TechDocs/amd-random-number-generator.pdf

von foobar (Gast)


Lesenswert?

> Das Blöde selbst bei optimalen PRNGs ist ja nur die
> durch den begrenzten Zahlenraum unvermeidliche Periode

Geh mal von den einfachen linear-zurückgekoppelten Schieberegistern 
(LFSR) weg.  Die findet man in einfacher Hardware.  Software PRNGs haben 
mehrere hundert bis tausende Bit - eine komplette Periode von z.B. 2^512 
wird wohl kein Mensch erleben ;-)

> und die Tatsache, dass jemand, der den Algorithus kennt, ab jedem
> ihm bekannt gewordenen Wert alle zukünftigen vorhersagen kann,

Du gibst ja nicht alle Bits des PRNGs raus, nur z.B. 32 Bit.  Selbst 
wenn du ne Menge davon bekommen hast, wird es eine Herausforderung, 
diese Sequenz in der 2^512-Periode zu finden ;-)

Beitrag #6073542 wurde von einem Moderator gelöscht.
von oszi40 (Gast)


Lesenswert?

Tobias C. schrieb:
> primär um die TRNG-Hardware

Wie bist Du sicher, daß kein 2. Zufall die gleiche Zahl liefert? Bevor 
Du diesem Zufall 100% vertraust, sollte man mal einige "Zufälle" genauer 
unter die Lupe nehmen. Interessant wäre auch, wieviele Zufälle Du in 
welcher Zeit abrufen möchtest. Das sollte möglichst nicht regelmäßig 
erfolgen.

von (prx) A. K. (prx)


Lesenswert?

oszi40 schrieb:
> Wie bist Du sicher, daß kein 2. Zufall die gleiche Zahl liefert?

Wo ist da das Problem? So lange das im Rahmen des Zufalls erfolgt, und 
nicht einen Defekt darstellt, darf das geschehen.

Ein PRNG, der erst nach Ablauf einer Periode erneut die gleiche Zahl 
liefern kann, taugt nichts. Er sollte folglich intern mehr Zustände 
haben, als nach aussen sichtbar wird.

Wobei RNGs, wie sie bei Intel und AMD beschrieben sind, interne 
Kontrollmechanismen enthalten, um das Risiko durch einen unerkannt 
defekten RNG zu verringern.

: Bearbeitet durch User
von Manuel X. (vophatec)


Lesenswert?

Tobias C. schrieb:
> Wie z.B. ein
> Quanten-Eleketronen-Tunnelungs-Zufallsgenerator den man als USB-Stick
> (virtueller com-Port) kaufen kann.

Wo kann man den kaufen? Was kostet der?

Ich hab hier einfach eine alte Sat Schüssel an einem RTLSDR Dongle 
hängen und lausche auf 1420 ... bisher hats für alles gereicht für das 
ich Zufall gebraucht habe ;)

von Georg (Gast)


Lesenswert?

oszi40 schrieb:
> Wie bist Du sicher, daß kein 2. Zufall die gleiche Zahl liefert?

Garnicht. Es kann nicht nur 2mal nacheinander die gleiche Zahl kommen, 
bei einer unendlichen Zufallsfolge von Buchstaben kommt irgendwann auch 
die Bibel heraus. Man muss bloss warten können.

Georg

von (prx) A. K. (prx)


Lesenswert?

Georg schrieb:
> Garnicht. Es kann nicht nur 2mal nacheinander die gleiche Zahl kommen,
> bei einer unendlichen Zufallsfolge von Buchstaben kommt irgendwann auch
> die Bibel heraus. Man muss bloss warten können.

Korrekt. Allerdings muss man irgendwie defekte und funktionierende RNGs 
unterscheiden können, und tut dies genau damit, seltene Fehlerkennung 
riskierend.

AMD: "The Repetition Count health check detects if the same 16-bit noise 
sample is repeated across multiple sequential cycles. The test fails if 
this condition occurs for more than a specific number of cycles.

The Adaptive Proportion health check detects if the same 16-bit noise 
sample occurs multiple times within a fixed window of 4096 samples. The 
test fails if this happens more than a specific number of times in one 
window."

: Bearbeitet durch User
von Weg mit dem Troll ! Aber subito (Gast)


Lesenswert?

Jetzt jagt mal diesen realitaetsfernen & unbelhrbaren Troll raus. in der 
XAPP 210 von Xilinx werden LFSR von bis zu 168 bit beschrieben. Auch das 
wird der Troll nicht erleben bis die repetiert.

von Johnny B. (johnnyb)


Lesenswert?

Tobias C. schrieb:
> Ich las dass heutige Computer oder die CPU einen Zufallsgenerator haben.
> Ist das ein echter Zufallsgenerator (TRNG)?

Die meisten heutigen Computer haben wohl einen TPM-Chip verbaut und der 
hat unter anderem einen zertifizierten Zufallszahlengenerator drin.
https://de.wikipedia.org/wiki/Trusted_Platform_Module

von oszi40 (Gast)


Lesenswert?

Johnny B. schrieb:
> haben wohl einen TPM-Chip

Es muß leider kein Vorteil sein, wenn er Dich irgendwann aussperrt. 
TPM:https://de.wikipedia.org/wiki/Trusted_Platform_Module#Kritik

von Johnny B. (johnnyb)


Lesenswert?

oszi40 schrieb:
> Johnny B. schrieb:
>> haben wohl einen TPM-Chip
>
> Es muß leider kein Vorteil sein, wenn er Dich irgendwann aussperrt.
> TPM:https://de.wikipedia.org/wiki/Trusted_Platform_Module#Kritik

Da bin ich ganz Deiner Meinung, dass dieser Chip bzw. dessen Nutzung 
seitens Softwarehäuser und Politik einem das Leben schwer machen könnte.

Hier ein Datenblatt von so einem Chip von Infineon (OPTIGA™ TPM SLB 9665 
TPM2.0):
https://www.infineon.com/dgdl/Infineon-data-sheet-SLB9665_2.0_Rev1.2-DS-v01_02-EN.pdf?fileId=5546d462689a790c016929d1d3054feb

Dieser hat einen Zufallszahlengenerator nach NIST SP800-90A 
implementiert (TRNG):
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf

Edit: Hier hab ich Code gefunden um sich Zufallszahlen vom TPM-Chip zu 
holen:
https://www.codeproject.com/Tips/1232223/How-Random-is-TPM-Random-Generator-in-Windows-Lapt

: Bearbeitet durch User
von Gustl B. (gustl_b)


Lesenswert?

Der Vollständigkeit halber:
https://dilbert.com/strip/2001-10-25

von Rolf M. (rmagnus)


Lesenswert?

Und natürlich der Klassiker:
https://xkcd.com/221/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.