FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

Wegen /dev/random...

Wegen /dev/random... 2004-06-14 13:25
Anonymer User
Wenn ich
cat /dev/random > /dev/dsp
eingebe (was die Zufallsgenerator-Ausgabe an die Soundkarte weiterleitet) eingebe, verändert sich der daraus folgende Sound bei Bewegungen der Mouse, bei Keyboardeingaben und Festplattenoperationen deutlich…
Welche Komponenten sind noch "verantwortlich" für die Zufallszahlenerzeugung? Ich konnte in meinem System keine Dokumentation darüber finden und hab keinen Plan, wo der verantwortliche Source klebt. Das interessiert mich aber. Weiss das einer hier?

Re: Wegen /dev/random... 2004-06-14 13:28
TriPhoenix
Schau dir mal /usr/src/linux/drivers/char/random.c an. Hat am Anfang sogar nen schönen großen Kommentar zur Funktion [img]http://www.fb18.de/gfx/28.gif[/img]

Im Prinzip, Keyboard, Maus, andere Interrupts (Netzwerk, Platte z.B.) dann eine Art CRC drüber und am Ende nochmal SHA-Hash

Re: Wegen /dev/random... 2004-06-14 13:47
Anonymer User
Nee, die hab ich nicht.. Trotzdem Danke. Ich hab /usr/include/linux/random.h grad entdeckt, ist aufschlussreich genug :)

Re: Wegen /dev/random... 2004-06-14 13:48
Anonymer User
Im Prinzip, Keyboard, Maus, andere Interrupts (Netzwerk, Platte z.B.) dann eine Art CRC drüber und am Ende nochmal SHA-Hash

Das fasst es gut zusammen, thx!

Re: Wegen /dev/random... 2004-06-15 02:13
MoKrates
Und Du solltest /dev/urandom nehmen. /dev/random sollte Dir eigentlich viel Stille produzieren.

MoKrates

Re: Wegen /dev/random... 2004-06-15 03:02
Anonymer User
Wieso *sollte* es das? Has DU es etwa programmiert und genau diesen Satz als Comment in den Source geschrieben oder.. SCNR.
Aber wie auch immer, es produziert nicht ausschliesslich Stille. Es produziert erst Rauschen und dann Stille. Wenn ich dann die Maus bewege, knistert's (oder knirscht's, Interpretationssache). Wenn ich Keystrokes mache, knackts einmal (für einen Menschen akustisch nicht unterscheidbar von echo a > /dev/dsp
Und wenn ich find / -name "*" parallel auf die Reise schicke, knirscht's und fiepst's.
Ich hab aber auch genau das erwartet; warum erwartest Du das nicht? Irgendwelche ominösen RFC's oder sowas? Weibliche Intuition? Schluss vom Spezialfall auf die Allgemeinheit? Oder eine Konvention, die in meiner Distri ignoriert wurde? Führ mich ein in die tiefen Geheimnisse von /dev/urandom… How intense. Und doch so banal.

Re: Wegen /dev/random... 2004-06-15 03:15
Anonymer User
auch wenn ich "anonym" bin, mit dem vorherigen beitrag hab ich nix zu tun :)

Ne "kleine" Aufklärung:

What is the /dev/random device?
Most modern Unix operating systems contain a /dev/random device which passes out more or less random numbers. These devices are referred to as Pseudo-Random Number Generators, or PRNG's. (Generating "truly" random numbers usually requires special hardware.) These random numbers are used for all sorts of things, like ssh keys, SSL keys, TCP/IP sequence numbers, etc.

What is the difference between /dev/random and /dev/urandom?
The /dev/random device hands out high-quality random bits, up to the limit of the "random" information it's been seeded with. The /dev/urandom device does not have this limitation. It continues to hand out bits of decreasing quality as long as it's polled.

Ich denke Mo ist wohl davon ausgegangen, dass dieses Vorwissen hier vorhanden ist. Das Gegenteil ist gerade bewiesen worden…

"Echte" Zufallszahlen kriegt man mit beiden devices nicht. Aber für die meisten/üblichen Anwendungen reicht das Gebotene. OpenSSH z.B. verwendet übrigens /dev/urandom.

Re: Wegen /dev/random... 2004-06-15 03:23
Anonymer User
glatt vergessen:
man 4 random
ist auch recht hilfreich.

Re: Wegen /dev/random... 2004-06-15 03:36
Anonymer User
Das ist ja schön und gut, aber /dev/urandom hätte den Nachteil, dass der Einfluss von Peripherie nicht so offenkundig wäre für rtfm-Ratschlag-Verschmäher. Ist also gar nicht so schlecht gewesen von Anonymous User No. 1, dass er DOCH /dev/random genommen hat. Obwohl /dev/urandom … blah

Re: Wegen /dev/random... 2004-06-15 04:03
MoKrates
Wobei mir jemand erklaeren mag, inwiefern die Werte aus /dev/random nicht zufaellig sind. Dahinter steht doch ein Entropy-Collector, aber das nur am Rande.

Danke fuer die Verteidigung uebrigens, ich wusste nicht, wie ich das haette so freundlich formulieren koennen. [img]http://www.fb18.de/gfx/22.gif[/img]

MoKrates

Re: Wegen /dev/random... 2004-06-15 04:24
Wolf
Mir fällt dazu nur ein, dass ich mit echo {foo,foo}{foo,foo}{foo,foo}{foo,foo}{foo,foo}{foo,foo}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{öö,äß} > /dev/dsp mal die deutsch Nationalhymne nachgebastelt hab (Asche auf mein Haupt (das Original ist besser (wenn auch nicht SO toll))).

Ich hab die Anzahl der mmmmmmm's variiert. Nicht so doll, aber für 10 Minuten wars witzig.

…Eigentlich war's nicht witzig. Egal.

Re: Wegen /dev/random... 2004-06-15 12:35
Faleiro
Und warum soll /dev/random nun Stille produzieren?

Was bedeutet denn das "up to the limit"; ist das quantitativ gemeint (wenn ich weiterhin gute Zufallszahlen will, muss ich staendig nachseeden) oder qualitativ (nur eine gute Initialisierung sorgt fuer gute Zufallswerte)?

Mindestens zu Anfang sollte /dev/random aber doch irgendwas sinnvolles ausgeben (d.h. Zufall :-), oder nicht?

Re: Wegen /dev/random... 2004-06-15 15:54
low_level
Und warum soll /dev/random nun Stille produzieren?

Was bedeutet denn das "up to the limit"; ist das quantitativ gemeint (wenn ich weiterhin gute Zufallszahlen will, muss ich staendig nachseeden) oder qualitativ (nur eine gute Initialisierung sorgt fuer gute Zufallswerte)?

Mindestens zu Anfang sollte /dev/random aber doch irgendwas sinnvolles ausgeben (d.h. Zufall :-), oder nicht?

/dev/random speichert ein paar Zufallsbits (ich glaube 8 x 4096). Danach blockiert es jeden weiteren Leseversuch, bis es wieder Zufallsbits bekommen hat. Also ist "quantitativ" richtig.

Re: Wegen /dev/random... 2004-06-15 21:52
Wolf
Mindestens zu Anfang sollte /dev/random aber doch irgendwas sinnvolles ausgeben (d.h. Zufall :-), oder nicht?
Tut's auch, wie der AU schon erwähnte.