Hat der Raspberry PI einen Zufallsgenerator? Wenn ja, was für ein Typ ist es, und welche Software gibt es um diesen zu nutzen?

  • Hallo.


    Ich las in englischen Texten etwas in der Richtung eines Zufallsgenerator im Raspberry PI.

    Ist da wirklich ein Hardware-Zufallsgenerator verbaut? Nicht nur ein Pseudo-Zufallsgenerator?
    Mir sind da nur zwei Methoden bekannt. Einmal der Zefall eines radioaktiven Elementes wie Strontium 90.

    Und dann noch die Quanten-Tunnelung.

    Wie in diesem USB-Stick: https://ubld.it/truerng_v3
    Den nannte mir Roger Nelson, als Ich eine Email an die Uni Princeton schickte.
    Den setzen die auch nach dem Ende des "PEAR" im "The Global Consciousness Project" ein.

    Wenn aber ein Raspberry PI das gleiche kann, muss man keinen solchen USB-Stick bestellen.
    So ein PI ist ja auch universeller einsetzbar.
    Außerdem benötige ich auch noch Software, und der Hersteller sagte mir sie haben keinerlei Software dazu.

    Nichts, keinerlei Demo-Software, kein Wissen über die Existenz von Software von anderer Stelle etc..

    Und da Ich keinerlei Programmierkenntnisse habe, brauche Ich etwas für dass es fertige Software gibt.
    Oder jemand schreibt die paar Zeilen Code für die Allgemeinheit.
    Evtl. untertreibe ich da beim Aufwand, aber der Stick spuckt angeschlossen über einen virtuellen COM-Port die Zufallszahlen aus.
    Für den Anfang wäre etwas gut, dass 50/50 anzeigt (z.B. als Münzen, Kopf oder Zahl, oder Schwarz/Weiss etc.), und darunter auch loggt wie oft welches Ergebnis eintrat.
    Z.B. kombiniert mit einem Timer für eine Messung über 1, 2, 3... Minuten.

    :danke_ATDE:

  • Ich habe hier vorher "Zufallsgenerator" gesucht, und kein einziges Ergebnis gehabt.
    Ich versuche mal etwas davon in der Fremsprache zu verstehen.

    Ich werde evtl. mal versuchen dort eine Frage mit Google Translate als Kommentar einzustellen.
    Es ist auch wichtig WIE das funktioniert.
    Auch wenn ein Pseudo-RNG extrem komplex wäre, es MUSS ein echter True-RNG sein.



    Das Thema dreht sich ja auch um Software. Ich kann nicht eine Zeile Code dafür schreiben.

  • Das der blogpost von einem TRNG spricht kann man auch ohne Englischkenntnisse erkennen.


    Und wenn du etwas machen willst, das du nur mit programmieren hinbekommst, dann könntest du das ja lernen. Statt auf die grenzenlose Güte anderer zu verlassen, die sich irgendwie nicht manifestiert.

  • Mir sind da nur zwei Methoden bekannt. Einmal der Zefall eines radioaktiven Elementes wie Strontium 90.

    Und dann noch die Quanten-Tunnelung.

    Dritte Methode: Ein Laser zielt auf einen halbdurchlässigen Spiegel, der um 45° gedreht ist und an dessen "Enden" jeweils Detektoren sitzen. Es ist nicht vorhersehbar, ob ein Photon gespiegelt und damit um 45° gelenkt wird oder ob es durch den Spiegel hindurch geht.


    (Quelle: https://marketing.idquantique.…%20QRNG_White%20Paper.pdf , Seite 11)

    Kelvin

  • Im Artikel steht, dass der Raspberry Pi 2 einen TRNG (Echten Zufallsgenerator) besitzt, auf den mit root Privilegien via /dev/hwrng zugegriffen werden kann.


    Um den TRNG als Entropiequelle zu verwenden, kann man das Paket rng-tools installieren.


    Code
    sudo apt-get update
    sudo apt-get install rng-tools


    Dann die Datei /etc/default/rng-tools bearbeiten.

    Wahrscheinlich steht das schon drin:

    Code
    HRNGDEVICE=/dev/hwrng


    Falls nicht, dann bearbeiten und den Dienst neustarten.

    Müsste rngd sein.


    Code
    systemctl restart rngd


    Wenn du die Entropiequellen anzeigen möchtest:

    Code
    rngd -l
  • Ohne die Angabe der exakten Technik hinter einen "TRNG" vertraue Ich nicht zu 100% darauf.

    Ich las schon oft "TRNG", und dann war es keine dieser Techniken.

    Auch wenn Ich kostenlos Zugriff auf die Zahlen aus dieser Lavalampenwand bekäme, hilft mir dieser "TRNG" nicht.


    Ich bin ja auch dafür dass Kinder ab dem Kindergarten Programmieren lernen, leider gab es das damals und heute noch nicht.

    Ja, jedes Kind kann sogar ab der Geburt neben dem Sprechen auch lesen lernen. Normale Kinder lesen mit 3 Sartre, wenn die Eltern das nur wollen...

    Das würde auch für gesunde Konkurrenz auf dem Markt sorgen.

    Es gäbe nicht nur die paar Druiden mit Zauberwissen die es teuer verkaufen können, es gäbe auch eine Masse an Normalpersonen die nach der normalen Schule schon 10+ Jahre gelernt haben. Man steckt ja Menschen die in die Tourismus-Branche oder anderen Bereich mit Auslandskontakten gehen woillen nicht in eine Schule für Englisch. Da setzt man voraus, dass die Bewerber schon Englisch verstehen und sprechen können, und dass sie das nicht in der Ausbildung lehren müssen. So sollte es auch mit Programmieren sein. Dass jeder nach der Schule ein gutes Programmierwissen hat.

    Firmen würden es sich überlegen je nach Umfang und Komplexität externe Programmierer pro Auftrag zu bezahlen, wenn das auch der eh schon für eine andere Arbeit im Betrieb bezahlte Mitarbeiter kann.


    "Grenzenlose Güte" gibt es immer wieder mal für etwas dass keinem kommerziellen Zweck dient, und dem Nutzenden nur Geld und Zeit kostet.

    Wenn man bedenkt was für eine Arbeit in Enigma2-Images, Mediaportal, Firefox etc. gesteckt wird...

    Ich bin auch bereit für die evtl. 5min Arbeit zu zahlen.

    Müsste dann natürlich auf den internationalen Börsen jemand suchen der das programmiert.

    Hier geht es darum was für Technik darin enthalten ist.

    Ich brauche keine Zufallszahlen für Verschlüsselung, Onlinespiele etc., Ich brauche wirklich zufällige Zahlen auf unterster physikalischer Ebene. Also Elektronen.

    So wie Helmut Schmidt und sein Strontium-90-Zufallsgenerator oder Roger Nelson (Princeton) und z.B. der USB-Stick TrueNRG v.3 (Quanten-Tunnelung).


    Wichtig ist ja gerade, dass es nicht zu viele Basisdaten sind.

    Um so größer oder mehr Daten, um so schlechter.

    Z.B. die Lavalampen. Oder das Rauschen des Universum O_o .

    Da steckt nicht nur die winzige Energie von einzelnen Elektronen dahinter, da steckt richtige Makro-kinetische Energie dahinter.

    Wenn man sich ansieht was das PEAR in Princeton machte, sind sogar deren Versuche mit Würfeln schon viel Energie, verglichen mit den Elektronen.


    Ich weiß dass bei vielen Lesern das rationale Denken aussetzt, und aggressives Hetzen, Beleidigung und Mobbing einsetzt (obwohl es kein politisches, religiösen etc. Thema), wenn man den Hintergrund erwähnt, aber Ich wage es dennoch.

    Am einfachsten mit einem Video (nur 7,5min) von arte:

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Nein, Ich will es nicht mit Küken wiederholen.

    Dafür bräuchte Ich auch noch einen Roboter der vom Zufallsgenerator gesteuert wird.

    Allerdings hätte Ich grundsätzlich auch gerne solch ein Gerät für ähnliche Versuche. Die gab es ja auch mit schlafenden Menschen.

    Das ist nur ein Beispiel, dass es sich nicht um Unsinn oder wie gerne von "pseudoskeptics" (https://swprs.org/das-skeptiker-syndrom/ : man suche auch mal nach "Schafe" in dem Text) verwendet "Bullshit" handelt.

    Jeder der diese Versuche replizieren würde, erhielte das gleiche Ergebnis. Daher wird es auch nicht wiederholt, weil Denialisten (selbsternannte "Skeptiker") trotz ihrer Leugnung dieser Effekte doch irgendwo wissen dass sie sie damit belegen würden (Dr. Dr. Dr. Renè Peoc'h hat es zweimal gemacht, beim zweiten Mal mit 2500 Küken, inkl. Kontrollgruppe). Das ist das irrationale, wo sich Leugner von Masern, Runder Erde, Corona etc., und Leugner von so etwas nicht unterscheiden.

  • Größer geht es nicht: Da atmosphärisches Rauschen von kosmischer Strahlung erzeugt wird, benutzen die Iren vom Trinity College das ganze Universum als Zufallsgenerator.

    So in der Art arbeitet auch random.org, was (seeehr) streng genommen kein echter Zufall ist. Hätte man das Wissen über jedes einzelne Teilchen im Universum und sein Verhalten, könnte (!) man theoretisch (!) so ein Rauschen vorhersagen. Weil das im Jahre 2020 und womöglich auch niemals der Fall sein wird, kann man es quasi als echten Zufall bezeichnen, auch wenn es keiner ist.


    Ich brauche wirklich zufällige Zahlen auf unterster physikalischer Ebene. Also Elektronen.

    So wie Helmut Schmidt und sein Strontium-90-Zufallsgenerator oder Roger Nelson (Princeton) und z.B. der USB-Stick TrueNRG v.3 (Quanten-Tunnelung).

    Den Rest deines Textes habe ich nur überflogen, weil da viel Gefasel bei war. Ich frage mich jetzt, warum du dir nicht einfach diesen Stick kaufst und damit glücklich wirst? Wenn es genau das ist, was du brauchst, dann go for it. $50 für einen TRNG halte ich auch für günstig - da gibt es wesentlich kostspieligere Geräte.

    Kelvin

    Edited once, last by Kelvin: typo ().

  • Tobias Claren Natürlich hast du (metaphysisch betrachtet) völlig recht. Nur müsste der (Quanten-)computer, der die Entropie des Universums vorhersagen soll, größer sein als das Universum selbst. Ein praxisrelevanter Aspekt ist da für mich nicht erkennbar.


    Vorschlag: Du hast genügend Hinweise bekommen und machst den Thread zu. Du kannst ja wieder fragen, wenn du nicht weiter kommst.

    • Official Post

    Interessantes Thema! Ich meine damit der Versuch der Manipulation Deinerseits Dich mit Ankündigung von vornherein (schon im anderen Thread) als Opfer darzustellen.


    Zu Thema: Zufall ist ein großes Wort, wie Kelvin schon anmerkte. Im Gesamten betrachtet, inkl. Video könnte das Ergebnis dessen ebenso ein "Zufall" sein. Hätte man wirklich Interesse an einem verwertbaren Ergebnis, dann hätte man z.B. auf die andere Ecke gegenüber ein zweites Küken gesetzt und mit verschieden geprägten Tieren in beide Richtungen gearbeitet . Dann hätte das Experiment auch auf verschiedenen Tischen in verschiedensten Umgebungen stattfinden müssen, usw.Will damit sagen: Wenn, dann bitte richtig. Kein Wunder das die Skepsis gegenüber derartigen vermeintlichen Beweisen so groß ist.


    Aus wissenschaftlicher Sicht ist es egal wie das Ergebnis am Ende aussieht, denn ein Beweis der Nichtexistenz ist gleichwertig mit dem Gegenteil.

  • Hallo Tobias,

    das einfachste, um echte Zufallszahlen auf dem RPi zu erzeugen, besteht darin, ca. 100 cm lange Drähte an N GPIOs anzuschließen, jeden Pin als Eingang zu schalten, jedem Pin einem Bit einer Zahl mit N Bits zuzuordnen.


    Die Drähte fungieren als Antennen und fangen jede Menge Schwingung ein. Wenn eine Schwingung zu einen Pegel über 1.3 V führt, dann ist das Bit gesetzt sonst 0.


    Lässt sich recht einfach programmieren.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • So in der Art arbeitet auch random.org, was (seeehr) streng genommen kein echter Zufall ist. Hätte man das Wissen über jedes einzelne Teilchen im Universum und sein Verhalten, könnte (!)


    Das geht schon aufgrund der Heisenbergsche Unschärferelation nicht.

    Entweder man kann den Ort genau bestimmen oder den Impuls.

    Beides geht nicht. Je genauer der Impuls, desto unschärfer die Position und umgekehrt.



    Radioaktive Zerfallsprozesse lassen sich nicht vorhersagen.

    Der Zeitpunkt von Quantensprüngen lassen sich nicht vorhersagen.

    Rein aus der Logik, kann man auch nichts vorhersagen, dass im größeren Maßstab passiert.

    Eine Supanova kann man nicht vorhersagen.


    Wenn man z.B. die Frequenz von etwas bestimmen will, muss man schon länger hinsehen.
    Die Position lässt sich dann aber nicht mehr genau bestimmen.

    Das ist wie bei einem Foto, dass zu lange belichtet wird. Man sieht die Bewegungen, aber alles ist unscharf.


    Aufgrund der Naturgesetze, sind wir nicht in der Lage eine Computersimulation ablaufen zu lassen, die echten Zufall vorhersagen kann.

    Den TRNG nicht zu verwenden, weil man nicht weiß, ob es ohne Bugs implementiert worden ist und ob Seitenkanalangriffe möglich sind, ist ein gutes Argument.


    Ihn aufgrund falsch verstandener Physik nicht zu verwenden, ist ein schlechtes Argument.



    Bei embedded Systemen ist das immer so eine Sache. Die haben meist zu wenig Entropiequellen.

  • Die Drähte fungieren als Antennen und fangen jede Menge Schwingung ein. Wenn eine Schwingung zu einen Pegel über 1.3 V führt, dann ist das Bit gesetzt sonst 0.

    Cool, dann kann man einen Sender bauen und den "Zufall" selbst bestimmen.
    Da sind sie wieder, die Seitenkanalangriffe :D

  • @ Tobias Claren: Das Filmchen scheint ja dem Anschein nach schon einige Jährchen auf dem Buckel zu haben. Sind die behaupteten Ergebnisse (2,5-fache !!! Abweichung vom zufällig zu erwartenden Ergebnis) auch mal seriös von unabhängiger Seite repliziert worden? Aus gutem Grund wäre das solider wissenschaftlicher Standard. Ich denke, eine erfolgreiche Replikation wäre in der wissenschaftlichen Welt eingeschlagen wie eine Bombe, oder? Aber ich habe nichts davon mitgekriegt.

  • Cool, dann kann man einen Sender bauen und den "Zufall" selbst bestimmen.
    Da sind sie wieder, die Seitenkanalangriffe

    Hallo Dead_Eye,


    das Prinzip besteht ja darin, dass DU keinen Sender manipulieren sollst, um DEINEN Zufallsgenerator zu füttern.


    Diese Drähte empfangen genug Schwingungen aus der Umwelt, auf die Du keinen Einfluss hast. Der Pegel auf dem einen Pin ist komplett unabhängig vom Zustand vorher und nachher.


    Im Gegensatz dazu sind die algorithmisch berechneten Werte eher "Pseudo-Zufallszahlen". Hier geht es mehr darum:

    1. einen Seed zu finden, der möglichst viele Zahlen liefert, bevor sich ein (möglichst großer) Teil davon zyklisch wiederholt.

    2. den Wertebereich möglichst gleichmäßig abdeckt


    Eine gute Veranschaulichung besteht z.B. darin, Pseudozufallszahlenpaare (x, y) im Bereich [-1, +1] zu ermitteln und zu prüfen, ob das Wertepaar innerhalb oder außerhalb des Einheitskreises liegt.


    Bei guten Generatoren liegt das Vierfache des Verhältnisses innerhalb zu insgesamt dann bei - man staune nicht schlecht - exakt bei pi.


    Eine andere Veranschauling zur Verteilung der Zufallszahlen besteht darin, Zufallszahlenpaare im Bereich eines Screen(ausschnitts) zu ermitteln. Das ermittelte Pixel wird dann farblch gesetzt. Nach möglichst wenig Durchläufen ist der Bereich dann komplett geändert - ohne Lücken.


    Bei einem bestimmten Seed kam ich mal auf lediglich 19 Werte, bevor diese zyklisch wiederholt wurden.


    Letztlich bestimmt die Anwendung, ob Pseudo-Zufallszahlen (ggf. mit speziellen Seeds) geeignet sind.



    Beste Grüße


    Andreas Schulz

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited 2 times, last by Andreas ().

  • das einfachste, um echte Zufallszahlen auf dem RPi zu erzeugen, besteht darin, ca. 100 cm lange Drähte an N GPIOs anzuschließen, jeden Pin als Eingang zu schalten, jedem Pin einem Bit einer Zahl mit N Bits zuzuordnen.

    Da das mit Sicherheit nicht einfacher ist, als den eingebauten Hardwarezufallsgenerator zu verwenden, interpretiere ich das so, daß Du diesem keine "echten Zufallszahlen" zutraust. Falls diese Interpretation richtig ist, hast Du dazu auch eine Begründung? Die Analyse hier sieht doch eigentlich ganz vielversprechend aus.

    Im Gegensatz dazu sind die algorithmisch berechneten Werte eher "Pseudo-Zufallszahlen".

    Anekdote hierzu: Als ich als Teenie meinen C64 neu hatte, habe ich die mitgelieferte Anleitung durchgearbeitet. Das war u.a. eine Einführung in Basic und eines der Beispiele bestand daraus, eine Anzahl (10?) Zufallszahlen zu erzeugen. Im Handbuch war auch ein Bildschirmphoto der Ausgabe abgedruckt, zusammen mit der Anmerkung, daß man bei eigenen Versuchen natürlich andere Zahlen sehen werde. Ich staunte nicht schlecht, als bei meinem ersten Versuch exakt dieselben Zahlen wie im Handbuch auf dem Bildschirm erschienen. Seitdem weiß ich, daß Deine Aussage richtig ist und Zufallszahlen aus dem Computer so zufällig auch wieder nicht sind.

  • Hallo Manul,


    Da das mit Sicherheit nicht einfacher ist, als den eingebauten Hardwarezufallsgenerator zu verwenden, interpretiere ich das so, daß Du diesem keine "echten Zufallszahlen" zutraust. Falls diese Interpretation richtig ist, hast Du dazu auch eine Begründung? Die Analyse hier sieht doch eigentlich ganz vielversprechend aus.

    Anekdote hierzu: Als ich als Teenie meinen C64 neu hatte, habe ich die mitgelieferte Anleitung durchgearbeitet. Das war u.a. eine Einführung in Basic und eines der Beispiele bestand daraus, eine Anzahl (10?) Zufallszahlen zu erzeugen. Im Handbuch war auch ein Bildschirmphoto der Ausgabe abgedruckt, zusammen mit der Anmerkung, daß man bei eigenen Versuchen natürlich andere Zahlen sehen werde. Ich staunte nicht schlecht, als bei meinem ersten Versuch exakt dieselben Zahlen wie im Handbuch auf dem Bildschirm erschienen. Seitdem weiß ich, daß Deine Aussage richtig ist und Zufallszahlen aus dem Computer so zufällig auch wieder nicht sind.



    mein Vorschlag ist lediglich eine mögliche funktionierende Antwort auf die Frage des TO.


    Natürlich traue ich jeder Programmiersprache zu, ausreichend "zufällige" Zufallszahlen zu erzeugen. Als Programmierer sollte man sich der Problematik bewusst sein, dass für jeden Seed immer die gleiche Folge berechnet wird. Nur dadurch können überhaupt Kryptoprogramme funktionieren.


    Unvorhersehbarer werden diese Zahlen auch dann, wenn man Anwendereingaben berücksichtigt und den Datumszeitstempel der Eingabe als neuen Seed verwendet und die Zufallszahlen zwischen den Eingaben verwirft (sofern es die Anwendung zulässt).


    Dann und nur dann ist die nutzbare Folge an Zufallszahlen unvorhersehbar, weil die verworfenen Zahlen und deren Anzahl unbekannt bleiben.


    Der Begriff Hardware-Zufallszahlengenerator gefällt mir überhaupt nicht, weil auch dem ein Algorithmus - also eine programmierte Abfolge an Rechenoperationen - zugrunde liegt.


    Anekdote hierzu: Als ich als Teenie meinen C64 neu hatte, habe ich die mitgelieferte Anleitung durchgearbeitet. Das war u.a. eine Einführung in Basic und eines der Beispiele bestand daraus, eine Anzahl (10?) Zufallszahlen zu erzeugen. Im Handbuch war auch ein Bildschirmphoto der Ausgabe abgedruckt, zusammen mit der Anmerkung, daß man bei eigenen Versuchen natürlich andere Zahlen sehen werde. Ich staunte nicht schlecht, als bei meinem ersten Versuch exakt dieselben Zahlen wie im Handbuch auf dem Bildschirm erschienen. Seitdem weiß ich, daß Deine Aussage richtig ist und Zufallszahlen aus dem Computer so zufällig auch wieder nicht sind.


    Beim VC-20 beispielsweise konnte man die Zufallszahlen-Routine über Assembler-Code aufrufen und das Ergebnis nutzen.


    Echte Zufallszahlen sind unabhängig von der vorher ermittelten. Das ist bei einem noch so ausgeklügelten Algorithmus niemals der Fall.


    ABER: Echte Zufallszahlen im Sinne der Fragestellung des TO sind für die meisten ernsthaften Anwendungen untauglich.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().