Forum: PC-Programmierung [Linux/UNIX] /dev/random mit eigenen Daten speisen


von T. M. (xgcfx)


Lesenswert?

Hallo miteinander,

ich habe einen Zufallsgenerator, dessen Ausgangswerte ich gerne dem 
systemweiten Zufallspool /dev/random beifügen möchte. Bin in 
Systemprogrammierung völlig unbewandert, auch meine Suche bei Google hat 
bis jetzt nichts verwertbares ergeben.

Kennt sich jemand damit zufällig aus und hat einen Tip?

von Jasch (Gast)


Lesenswert?

T. M. schrieb:
> Hallo miteinander,
>
> ich habe einen Zufallsgenerator, dessen Ausgangswerte ich gerne dem
> systemweiten Zufallspool /dev/random beifügen möchte. Bin in
> Systemprogrammierung völlig unbewandert, auch meine Suche bei Google hat
> bis jetzt nichts verwertbares ergeben.
>
> Kennt sich jemand damit zufällig aus und hat einen Tip?

Der Linux-Kernel hat schon etliche Treiber für HW-RNGs, siehe deren 
Sourcen.

Die allgemeine Doku ist in den Kernel-Sourcen unter 
.../Documentation/hw_random.txt, da kannst Du lesen dass Du die 
rng-tools brauchst und evtl. anpassen oder basierend darauf etwas 
basteln musst.

von T. M. (xgcfx)


Lesenswert?

Danke, bin gestern spätabends auch schon auf rngtools gestoßen. Werde 
mich da mal reinlesen :)

von Norbert (Gast)


Lesenswert?

T. M. schrieb:
> Hallo miteinander,
>
> ich habe einen Zufallsgenerator, dessen Ausgangswerte ich gerne dem
> systemweiten Zufallspool /dev/random beifügen möchte. Bin in
> Systemprogrammierung völlig unbewandert, auch meine Suche bei Google hat
> bis jetzt nichts verwertbares ergeben.
>
> Kennt sich jemand damit zufällig aus und hat einen Tip?

Das sollte man allerdings nur dann machen, wenn sichergestellt ist das 
der Zufallsgenerator in einer Qualität liefert die kryptografischen 
Anforderungen genügt.

Ansonsten besser nichts mit dem Rechner machen was Verschlüsselung 
nutzt.

von T. M. (xgcfx)


Lesenswert?

Norbert schrieb:
> Das sollte man allerdings nur dann machen, wenn sichergestellt ist das
> der Zufallsgenerator in einer Qualität liefert die kryptografischen
> Anforderungen genügt.

Das habe ich schon mit der NIST RNG-Testsuite 
(http://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html) 
verifiziert, mein Generator besteht alle diese Tests :)

von Norbert (Gast)


Lesenswert?

Thumbs up!

von Informatikstudent (Gast)


Lesenswert?

Wenn es nur um ein einzelnes Programm geht, könntest du die 
open()-Funktion überladen, z.B. indem du bei einem dynamisch gelinkten 
Programm deine Funktion über eine Bibliothek mit der Umgebungsvariable 
LD_PRELOAD einbindest. Die elegante aber wahrscheinlich auch langsame 
Variante wäre, das Programm mit ptrace zu überwachen und den Syscall für 
open zu überwachen.

http://stackoverflow.com/questions/69859/how-could-i-intercept-linux-sys-calls
Ptrace: http://www.linuxjournal.com/article/6100

von T. M. (xgcfx)


Lesenswert?

Scheinbar liefert der RNGD (http://linux.die.net/man/8/rngd) aus den 
RNG-Tools genau die von mir benötigte Funktionalität. Werde ich heute 
Abend mal testen :)

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.