Forum: Mikrocontroller und Digitale Elektronik Echte Zufallszahlen gigabyteweise herstellen (keine Pseudozufallszahlen)


von Horst W. (horstuc)


Lesenswert?

Ich habe mir die Schaltung Xr232 USB gebaut, jedoch ist diese für meine 
Anwendungen viel zu langsam. Ich bräuchte innerhalb von 24h min 1 GB. 
Meine Idee wäre das Rauschen mehrere Z-Dioden parallel zu sampeln. 
Könnte mir jemand ein grobes Konzept vorschlagen?

von Antimedial (Gast)


Lesenswert?

Wie wärs das LSB eines Audioeingangs an einer Soundkarte zu nutzen? Das 
wären immerhin im einfachsten Fall 48kBit/Sekunde.

von Horst W. (horstuc)


Lesenswert?

Wie würde das konkret Aussehen?

von Fred (Gast)


Lesenswert?

Deine Schaltung produziert sicherlich wesentlich schlechteren Zufall als 
ein ordentlicher Software-CSPRNG.

Wie planst du deine "Rohzufallsdaten" nachzubearbeiten? Debiasing, 
Whitening und so...

Wie erkennst du, wenn deine Bauteile ausfallen und vorhersagbare Werte 
liefern?


Kurz: für alles, wo du wirklich kryptografisch verwendbaren Zufall 
brauchst, nimm /dev/urandom. Oder notfalls implementier dir Fortuna.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Horst Wessel?!


Einfach den Line In sampeln und das LSB nehmen.

von Falk B. (falk)


Lesenswert?

Man kann echte Zufallszahlen auf CD kaufen. Kein Witz!

http://www.robertnz.net/true_rng.html

http://www.stat.fsu.edu/pub/diehard/

von Horst W. (horstuc)


Lesenswert?

Danke für die Tipps. Diese haben mir sehr geholfen.

von Roland .. (rowland)


Lesenswert?

Antimedial schrieb:
> Das
> wären immerhin im einfachsten Fall 48kBit/Sekunde.

Und auch nur ~0,5GByte/Tag.

von M. P. (phpmysqlfreak)


Lesenswert?

Roland ... schrieb:
> Antimedial schrieb:
>> Das
>> wären immerhin im einfachsten Fall 48kBit/Sekunde.
>
> Und auch nur ~0,5GByte/Tag.

Dann nimmt man halt eine 2. Soundkarte dazu. - Hätte noch welche 
rumliegen...

von DirkB (Gast)


Lesenswert?

Und bei Stereo sind es dann 2 Kanäle und somit ~ 1 GByte/d :-)

von Falk B. (falk)


Lesenswert?

Nur weil irgendwo was wackelt, kommen dort noch lange keine gescheiten 
Zufallszahlen raus. Da kann man auch 10 Wachelkontakte parallel schalten 
. . .

von Horst W. (horstuc)


Lesenswert?

DirkB schrieb:
> Und bei Stereo sind es dann 2 Kanäle und somit ~ 1 GByte/d :-)

Danke. Das Könnte die Lösung sein!

von test (Gast)


Lesenswert?


von Mike (Gast)


Lesenswert?

>Neonazi? Falls Du den SA-Sturmführer meinst, der ist seit 1930 tot.

Vielleicht meint er ja diesen hier:
http://de.wikipedia.org/wiki/Horst_Wessel_%28Philosoph%29

btw: Statistisch "gute" Zufallszahlen zu erzeugen ist nicht einfach. Die 
Standardmethode ist es, weisses Rauschen, z.B. aus einem Widerstand oder 
einer Z-Diode zu digitalisieren. Man muss aber darauf achten, dass keine 
Autokorrelationen der Zufallsfolge auftreten, was z.B. durch Einstreuen 
von Radiofrequenzen schnell gescheen kann. Perfekte Abschirmung gegen 
äussere Felder ist Pflicht. Einfacher gehts, wenn man einen µC mit 
integriertem Zufallsgenerator verwendet, z.B. einen PIC32MZ.

von kläb (Gast)


Lesenswert?

Mike schrieb:
> ...Autokorrelationen der Zufallsfolge auftreten, was z.B. durch Einstreuen
> von Radiofrequenzen schnell gescheen kann.
Oder einfach nur das typischen 50Hz/60Hz Netz.


Perfekte Abschirmung gegen
> Einfacher gehts, wenn man einen µC mit
> integriertem Zufallsgenerator verwendet, z.B. einen PIC32MZ.

Und was macht der besser als eine beliebig andere Pkattform, außer dass 
es bestimmt auch wieder nur Pseudo ist?

von Mike (Gast)


Lesenswert?

> Und was macht der besser als eine beliebig andere Pkattform, außer dass
> es bestimmt auch wieder nur Pseudo ist?

Er dürfte bedeutend billiger sein als ein Hardware-Random-Generator. 
Ausserdem recht schnell mit 25Mbits pro Sekunde. Laut Datenblatt, Kap.27 
aind es echte Zufallszahlen.
http://ww1.microchip.com/downloads/en/DeviceDoc/60001191B.pdf

Über die statistische Qualität steht leider nix..

von Yalu X. (yalu) (Moderator)


Lesenswert?

"Echte" Zufallszahlen sind so zufällig, dass es sogar vom Zufall
abhängt, ob sie zufällig sind oder nicht ;-)

Der Vorteil von digital generierten Zufallszahlen liegt eben darin, dass
sie bestimmnte Eigenschaften (bspw. Gleichverteilung und Grad der
"Weißheit") beweisbar erfüllen und mit einem gewöhnliche PC recht
schnell generiert werden können. Ihr Hauptnachteil besteht darin, dass
sie, wenn der Algorithmus und der Startwert bekannt sind, vorhersagbar
sind. Ob das ein Problem ist, hängt aber von der Anwendung ab. Selbst in
der Kryptographie kommt man bis jetzt ganz gut mit Pseudozufallszahlen
(mit "echt" zufälligem Startwert) zurecht.

Die Forderung nach "echten" Zufallszahlen, ergibt nur dann einen Sinn,
wenn man gleichzeitig die Eigenschaften nennt, die man von der
Zufallsfolge erwartet und die eine Pseudozufallszahlenfolge nicht hat.

Falk Brunner schrieb:
> Man kann echte Zufallszahlen auf CD kaufen. Kein Witz!

Aber trotzdem zum Schmunzeln :)

Das erinnert mich ein wenig an das da:

  http://xkcd.com/221/

von Gerhard W. (gerhard86)


Lesenswert?

Der STM32F4 hat auch einen True Random Generator, und wäre am 
STM32F4discovery preiswert mit PC Verbindungsmöglichkeit zu haben. Hier 
sind statistische Tests und offenbar gibt es dazu eine Firmware von ST 
die die Zufallszahlen über UART an den PC schickt(RS232 Treiber hat das 
stm32F4discovery aber leider nicht): 
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/DM00073853.pdf

von Norbert M. (Gast)


Lesenswert?

cyblord ---- schrieb im Beitrag #3456517:
> Horst Wessel schrieb im Beitrag #3456511:
>> Ich bin nichtmal Deutscher.
> Das allerdings ist keine Ausrede. Das war der Adolf auch nicht....

Doch, war er. Als er noch Österreicher war, war er nämlich 
Postkartenmaler.  Am 30. April 1925 wurde er aus der österreichischen 
Staatsbürgerschaft auf seinen eigenen Wunsch hin entlassen. Er wollte 
bereits viel früher Deutscher werden, aber seine Bemühungen 
diesbezüglich führten erst Anfang 1932 zum Erfolg. Siehe 
http://de.wikipedia.org/wiki/Einb%C3%BCrgerung_Adolf_Hitlers

Man kann daher mit Fug und Recht behaupten, Hitler wäre zur Zeit seiner 
schrecklichen Herrschaft als Diktator Deutscher gewesen. Leider vergesst 
"ihr Deutschen" das immer sehr gerne und bemüht den "verrückten Ösi".

Back to topic: Echten Zufall zu erzeugen dürfte schwierig sein, ich 
würde einfach http://www.random.org/bytes/ anzapfen. Oder, wenn's 
schnell gehen soll und nicht ganz so hart zufällig sein muß, eine dieser 
PCI-Kryptokarten für den PC besorgen. Immerhin sind die so gut, daß es 
für SSL taugt. Oder so ein Zig-Bee-teil nehmen: 
http://www.silabs.com/products/wireless/zigbee/Pages/zigbee-chips-em35x.aspx 
das kann zumindest sowas:
"Thermal noise in the analog circuitry is digitized to provide entropy 
for a true random number generator (TRNG). The TRNG produces 16-bit 
uniformly distributed numbers. The Ember software uses the TRNG to seed 
a pseudo random number generator (PRNG)."

Letzteres dürfte wohl am billigsten sein.

von oszi40 (Gast)


Lesenswert?

Norbert M. schrieb:
> Back to topic: Echten Zufall zu erzeugen dürfte schwierig sein,

stimmt zufällig: RSA bestreitet 
http://www.spiegel.de/netzwelt/web/it-firma-rsa-dementiert-10-millionen-deal-mit-nsa-a-940620.html

von Christian B. (casandro)


Lesenswert?

Also Du musst Dir über 2 Sachen gedanken machen.

1. Woher nimmst Du den Rohzufall.
2. Wie dekorellierst Du den.

Du kannst nicht einfach das LSB eines AD-Wandlers nehemen, da der nicht 
absolut zufällig ist, sprich im schlimmsten Falle ändert sich das nur 
alle 4 Taktzyklen (oder so was). Das ist also ein Rohzufall den Du 
weiter verarbeiten musst, zum Beispiel als Eingang für einen 
Pseudozufallszahlengenerator. In diesen Pseudozufallszahlengenerator 
muss natürlich mindestens so viel Rohzufall reingehen wie man raus 
nimmt.

Für Rohzufall nimmt man gerne Inverterketten. Die laufen mit 
Unterschiedlichen Geschwindigkeiten und können dann mit einem 
unabhängigen Takt abgetastet werden.

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.