Wirklich echte Zufallszahlen erzeugbar?



  • Winn schrieb:

    Gibt auch noch die Möglichkeit mit "verschränkten Quantenzuständen".
    -> http://www.weltderphysik.de/themen/quanten/uebersicht/technologie/

    hatte das gerade irgendwas mit dem thema zu tun?



  • Angel2003 schrieb:

    Gibt es überhaupt allgemein auf dem PC in z.b. Java oder was weiß ich die Möglichkeit, eine Zufallszahl zu erzeugen, ohne das diese nach math. Berechnung läuft? 😕

    ganz wie bashar sagte, geht es allgemein auf dem pc mit ein klitzeklein wenig zusatzhardware. afair sollte es schon reichen, nen transistor recht genau zwischen an und aus zu halten und seinen ausgang evtl leicht verstärkt an nen a/d-wandler zu halten.
    wenn du keinen lötkolben hast, mußte andere hardware benutzen. gut geeignet sind maus und tastatur. miss einfach, wie lange der user immer für seien tastendrücke und mausbewegungen braucht, dann haste ein paar recht zufällige bits (zufällig? nein, aber nicht für den angreifer vorhersehbar.).
    meist reichen ein paar zufällige bits als grundlage, um daraus noch viel mehr zu erzeugen. also mit 32 "zufälligen" bits aus der uhr und srand(time(0)) (C++) am anfang ist der ganze nachfolgende spielablauf mit rand() für den menschen "zufällig". nicht für nen ambitionierten angreifer. aber nicht jeder bitverwürfler ist so offen wie rand().
    ohne irgend eine "zufällige" einabe kriegste nie ne "zufällige" ausgabe. nichtmal in java.
    aber muß sie den echt "zufällig" sein oder nur "unduchsichtig" oder "schwer vorhersagbar"?
    beliebt isses, sich nen ganen haufen möglichst zufälliger bits auf die platte zu machen (user danach befragen) und ab dann mit diesen bits umherzuwürfeln. das ist dann die randseed.bin auf deiner platte.



  • Knuts Art of Computer Programming hat darüber einige nette Gedanken.

    Es kommt für die meisten Zwecke nur darauf an, daß die Ergebnisse gleichverteilt sind und die Wahrscheinlichkeit des Auftretens einer Zahl f(i) unabhängig ist von den Werten f(j), j!=i.
    Dann sind die Dinger eigentlich schon gut genug für Monte-Carlo Algorithmen etc.

    Thermisches Rauschen ist eher eine Sache für Cryptographie, wo es vor allem darauf ankommt, daß die Ergebnisse einzigartig sind und nicht nachvollzogen werden können. Bei den meisten Algorithmen will man das gar nicht, da es z. B. das Testen um einiges komplizierter macht.



  • volkard schrieb:

    Winn schrieb:

    Gibt auch noch die Möglichkeit mit "verschränkten Quantenzuständen".
    -> http://www.weltderphysik.de/themen/quanten/uebersicht/technologie/

    hatte das gerade irgendwas mit dem thema zu tun?

    Der Link diente der Einführung... direkt zum Thema gibt es einige Veröffentlichungen über Google zu finden, wenn das Stichwort "Quantenzustände" benutzt wird...



  • Winn schrieb:

    volkard schrieb:

    Winn schrieb:

    Gibt auch noch die Möglichkeit mit "verschränkten Quantenzuständen".
    -> http://www.weltderphysik.de/themen/quanten/uebersicht/technologie/

    hatte das gerade irgendwas mit dem thema zu tun?

    Der Link diente der Einführung... direkt zum Thema gibt es einige Veröffentlichungen über Google zu finden, wenn das Stichwort "Quantenzustände" benutzt wird...

    ich werde jetzt nicht so lange recherchieren, bis ich herausgefunden haben, ob man bei "verschränkten Quantenzuständen" irgend eiunen zufallszahlengenerator finden kann. der link auf jeden fall zeigte abhörsichere übertragung von (zum beispiel) zufälligen daten. er kümmerte sich nicht um die erzeugung der daten.



  • Wenn Dich das "wie" erstmal nicht interessiert, kannst Du hier Zufallszahlen downloaden -> http://www.randomnumbers.info/content/Download.htm
    In der Link-Sektion der Seite gibts noch mehr...



  • Was ist thermisches Rauschen eigentlich???

    Ich vermute mal dass irgendwas seine Temperatur permanent in einem gewissen Bereich verändert --> daher rauscht.

    Stimmt dass? Und wenn es stimmt über welches thermische Rauschen soll ich eine Zufallszahl ermitteln???



  • Auf dem Forum-Treffen hatten wir (Bashar war's glaub ich) noch die Idee, daß man auch Schneeflocken verwenden könnte um Zufallszahlen zu erzeugen... da hat jede ein einzigartiges Muster. Man müßte nur im Winter einen ausreichend großen Vorrat für den Rest des Jahres anlegen.



  • elrick33 schrieb:

    Thermisches Rauschen ist eher eine Sache für Cryptographie, wo es vor allem darauf ankommt, daß die Ergebnisse einzigartig sind und nicht nachvollzogen werden können.

    das triffts auf den Punkt, da ich mich grade mit Datenverschlüsselung/-entschlüsselung umfassend beschäftige 😋



  • Jester schrieb:

    die Idee, daß man auch Schneeflocken verwenden könnte um Zufallszahlen zu erzeugen... da hat jede ein einzigartiges Muster. Man müßte nur im Winter einen ausreichend großen Vorrat für den Rest des Jahres anlegen.

    Und wie sieht so eine Abbildung Schneeflocke -> Zahl aus? Und warum ausgerechnet Schneeflocken? Tun es nicht andere selbstorganisierte Sachen, wie Bäume oder dendritische Strukturen von der morgentlichen Butter auch? (Ich meine ja nur, weil ich kenne mehr Leute mit Butter als mit eingesammelten Schneeflockem im Kühlschrank...)



  • Daniel E. schrieb:

    Jester schrieb:

    die Idee, daß man auch Schneeflocken verwenden könnte um Zufallszahlen zu erzeugen... da hat jede ein einzigartiges Muster. Man müßte nur im Winter einen ausreichend großen Vorrat für den Rest des Jahres anlegen.

    Und wie sieht so eine Abbildung Schneeflocke -> Zahl aus? Und warum ausgerechnet Schneeflocken?

    Schneeflocken sind günstig und man kann leicht sehr viele davon bekommen. Wir haben bereits begonnen eine Solche Abbildung zu finden. 🙄

    MfG Jester

    P.S.: Der Beitrag war vielleicht nicht ganz Ernst gemeint.



  • Jester schrieb:

    Daniel E. schrieb:

    Und wie sieht so eine Abbildung Schneeflocke -> Zahl aus?

    Wir haben bereits begonnen eine Solche Abbildung zu finden.

    Wenn ich mir die Bilder, die Google bei "Schneeflocke" ausspuckt, ansehe, dann scheinen die Dinger wirklich recht symmetrisch und selbstähnlich zu sein, so daß man evtl sowas wie eine fraktale Dimension bestimmen kann, hmm?

    Sowas geht aber auch in Butter.



  • Man sollte die Kundenakzeptanz mit ins Kalkül ziehen: Ein Butteranalysator müsste ständig aufwändig gereinigt werden, während die Schneeflocke von selbst schmilzt und umweltfreundlich mit dem Abwasser entsorgt werden kann.



  • Bashar schrieb:

    Man sollte die Kundenakzeptanz mit ins Kalkül ziehen: Ein Butteranalysator müsste ständig aufwändig gereinigt werden, während die Schneeflocke von selbst schmilzt und umweltfreundlich mit dem Abwasser entsorgt werden kann.

    Die Kunden wollen wirklich Zufallszahlen im Abwasser? Widerlich...



  • Irgenwann in der "elektor" oder im "Funkamateur" bzw. auf deren Home pages ist eine kleine Zusatzhardware an der seriellen Schnittstelle beschrieben worden, die echte Zufallszahlen erzeugt.
    Das sollte für die google-Suchwörter reichen, oder?

    Blackbird



  • hmm, sind ja interessante abschweifungen zum thema *ggg*



  • Es gibt eine leider auf normalen Systemen nicht mögliche Art absolut sichere Zufallszahlen zu erzeugen:
    Man lenkt ein einzelnes, polarisiertes Photon durch einen um 45° gedrehten Polarisationsfilter. Die Chance dass es durch kommt beträgt 50%. Leider ist das ohne großen Aufwand nicht möglich, aber gerüchteweise gibt es Geräte zum an den PC anschließen die genau das machen. Zumindest Theoretisch bekommt eine eine entsprechende Aparatur auf winzigsten Raum, leider ist dass als Einzelstück viel zu teuer. Und für Serien besteht (noch) zu wenig bedarf.

    Nun zu den praktikablen Arten:
    *fachliteratur aus dem Regal holen*
    1.) Ich lese hier etwas vom verwenden der Systemuhr. Klappt aber nicht unter Windows, da Windows die Zeit nur in hundertstel-Sekunden genau angibt. Auserdem sind mittlerweile die PC's dafür zu schnell.
    2.) Eventuell klappt es, wenn man die Zeit zwischen Tastaturanschlägen mißt, und die Niederwertigsten Bits verwendet. Allerdings sollte man das vorher Testen. Eventuell treten da die oben beschriebenen Probleme auf. Außerdem verfallen Menschen nach einigerzeit in einen gewissen Takt.
    3.) Hier ist noch eine Methode die angeblich sehr gut ist:
    "Unser wirklich zufälliger Zahlengenerator ... zieht einen Alarm auf und erhöht dann so lange einen Zähler in einem CPU-Register, bis ein Interrupt kommt. Der Inhalt des Registers wird dann mit dem Inhalt eines Ausgabepuffers XOR-verknüpft(wodurch der Inhalt des Registers auf 8 Bit abgeschnitten wird). Nachdem jedes Byte des Ausgabepuffers gefüllt ist, wird jedes Zeichen im Puffer ringförmig um 2 Bit nach rechts verschoben. Dadurch verschieben sich die aktivsten(und zufälligen) niederwertigsten Bit in die höchstwertigen Stellen. Der gesammte Vorgang wird drei mal wiederholt. Schließlich wurde jedes Zeichen des Puffers von den beiden zufälligsten Bit des Zählregister nach Interrupts beeinflusst. Es traten also 4n Interrupts auf, wobei n die Anzahl der gewünschten Zufallsbytes ist."
    (Ich versteh's nicht ganz, aber ich bin ja auch ein Neuling in der Programmierung.)
    4.) Am besten destilliert man Zufall. Dazu wendet man eine Einweg-Hashfunktion auf halbzufällige Ereignisse an:
    -Eine Kopie jedes Tastendrucks
    -Mausbewegungen
    -Sektornummer, Tageszeit(?) und Zugriffszeit jeder Festplattenoperation
    -Aktuelle Mausposition
    -Nummer der Aktuellen Rasterzeile des Monitors (wohl kaum unter Windows)
    -Inhalt des angezeigten Bildes
    -Inhalt von Fat, Kernel-Tabellen usw.
    -Zugriffs und Modifikationszeiten von /dev/tty (ebenfalls nicht unter Windows)
    -CPU-Auslastung
    -Ankunftszeit von Netzpaketen
    -Eingabe eines Mikrophons(meiner Meinung nach die beste Methode)
    -Werte von /dev/audio ohne angeschlossenes Mikrophon (ich sag nix mehr dazu)
    ABER: IMMER nur die niederwertigsten Bits, da nur diese wirklich zufällig sind.

    Am besten ist die Idee eines Mikrophons. Das ist billig, und man kann damit vor allem beliebig viel Zufallszahlen erzeugen. Am besten legst du es vor ein Radio oder ans Fenster, wenn bei euch immer krach ist(Hauptstraße, Baustelle, Kinder usw.) Dass nimmst du UNKOMPRIMIERT auf, und wendest eine Einweg-Hashfunktion auf die niederwertigsten Bit an. Am besten verwirrst du bei 16 Bit Qualität 14 Bit. Und bei der Hashfunktion am besten auf nochmal die hälfte Hashen. Dadurch erhälst du bei 16 Bit, 22050 Hz pro Minute~ 2,5 KB. JEDE MENGE!!! Und absolut sicher.

    So, nun muss ich weiter meine Fragen stellen.



  • Zusatz:
    Nun hab ich doch voller entsetzen Festgestellt, dass es DREI Setien zu diesem Thema gibt und nicht eine, Oops.
    Hier noch eine kleine Definition:
    "Nach unseren Maßstäben ist ein Generator pseudozufällig, wenn er folgende Eigenschaften besitzt:
    1.) Er scheint zufällig zu sein. Das bedeutet, dass er sämtliche uns zugänglichen statistischen Zufallstests besteht.
    [...]Eine kryptographisch sichere Pseudozufallsfolge muss außerdem folgende Eigenschaft besitzen:
    2.) Sie ist nicht voraussagbar. Es muss unmöglich sein zu berechnen, welches Zufallsbit als nächstes kommt, selbst wenn der Algorithmus oder die Hardware, die die Folge erzeugen, sowie alle vorangehenden Bits bekannt sind.
    [...] Von philosophischen Fragen einmal abgesehen, erzeugt ein Generator aus unserer Sicht echte Zufallszahlen, wenn er über folgende dritte Eigenschaft verfügt:
    3.) Er ist nicht zuverlässig reproduzierbar. Wenn man den Generator zweimal mit exakt derselben Eingabe(zumindest soweit die Menschenmöglich ist) laufen lässt, erhält man zwei Zufallsfolgen, die keinerlei Ähnlichkeit aufweisen."

    Zusatz zu der Idee mit dem Mikrophon:
    Man muss natürlich testen, ob die niederwertigsten Bits tatäschlich zufällig sind(vielleicht kappt das Mikro die, oder das Programm). Auserdem darf keinerlei Kompression im Spiel sein. Und wenn jetzt jemand sagt, dass ein Mikrophon kein Algorithmus ist, hat er zwar recht, aber: Man kann mit einem Mikrophon ja überall aufzeichnen, man muss sich nur ein kleines Diktiergerät(analog! da sonst der Speicherplatz zu knapp ist.) in die Tasche stecken, und dann kann man damit überall Zufall "einsammeln" gehen. Und wenn man es auf den PC/Laptop überspielt hat, kann man es auswerten und die Zufallszahlen Speichern.

    Wenn mir noch etwas einfällt, Post ich einfach nochmal.



  • danke für den interessanten beitrag 😉



  • Nimda12345679 schrieb:

    Zusatz zu der Idee mit dem Mikrophon:

    Und wenn sich auf einmal die peruanischen Panflötenbläser vor deinem Fenster postieren weißt du, dass ein kryptographischer Angriff bevorsteht 🤡


Anmelden zum Antworten