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?
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.
Danke, bin gestern spätabends auch schon auf rngtools gestoßen. Werde mich da mal reinlesen :)
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.
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 :)
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.