• bennypr0fane@discuss.tchncs.de
    link
    fedilink
    Deutsch
    arrow-up
    2
    ·
    edit-2
    15 days ago

    Heute habe ich gelernt, dass es Informationsentropie (ohne h) gibt. https://de.wikipedia.org/wiki/Entropie_(Informationstheorie) Aber wie man die in einem Computer verringern kann , indem man sie zum verschlüsseln verwendet o.ä., erschließt sich mir trotzdem nicht.

    Entropie kann nicht vernichtet werden. Ein Prozess, bei dem Entropie entstanden ist, kann nicht rückgängig gemacht (und somit die Entropie wieder auf den gleichen Wert erniedrigt) werden, ohne dass dabei eine größere Entropie an die Umgebung des betreffenden Systems abgegeben wird. Mit anderen Worten, selbst wenn der ursprüngliche Zustand des Systems wiederhergestellt werden kann, wäre nun die Umgebung in einem Zustand größerer Entropie als vorher. Eine spurlose Rückkehr zum alten Zustand von System und Umgebung ist daher unmöglich. Weil alle spontanen thermodynamischen Prozesse Entropie erzeugen, werden sie auch als irreversibel (= unumkehrbar) bezeichnet.

    Soweit der physikalische Begriff - mit dem passt das jdfalls nicht zusammen

    • bleistift2@sopuli.xyzOP
      link
      fedilink
      Deutsch
      arrow-up
      2
      ·
      15 days ago

      Ich kann dir auch nur grob die Idee erläutern.

      Manche Prozesse sind darauf angewiesen, zufällige Zahlen zu erhalten (z.B. Verschlüsselung, Mensch ärgere dich nicht). Für die Sicherheit der Prozesse ist es enorm wichtig, dass die Zufallszahlen tatsächlich vollkommen zufällig sind. Anderenfalls könnte ein Angreifer beim Mensch ärgere dich nicht schummeln.

      Der Linux-Kernel produziert anhand eines Algorithmus eine unendlich lange Reihe zufälliger Zahlen, wenn man ihn darum bittet. (Das ist das cat /dev/random von oben). Der Algorithmus ist allerdings bekannt und deterministisch. Daraus lassen sich also keine echt zufälligen Zahlen generieren.

      Um echt zufällige Zahlen zu erhalten, muss der Algorithmus geseedet, also mit echten Zufallszahlen gefüttert werden. Diese initialen Zufallszahlen generiert der Kernel aus verschiedenen Quellen, die hoffentlich nicht vorhersagbar sind. Ich habe keine gute Quelle gefunden, welche das sind, aber oft werden die Tastaturanschläge, Mausbewegungen und die über das Netzwerk eingehenden Nachrichten genannt.

      (Bis hier bin ich mir ziemlich sicher, Recht zu haben. Der Rest ist Hypothese.)

      Je mehr solcher Ereignisse vom System verwurstet wurden, desto unsicherer ist sein interner Zustand für einen potentiellen Angreifer – das System hat also eine hohe Informationsentropie. Da der Algorithmus zur Zufallszahlengewinnung weiterhin deterministisch ist, kann aus einem Seed nur eine gewisse Anzahl an zufälligen Zahlen gewonnen werden, bevor ein Angreifer wieder die nächsten Zahlen vorhersagen kann.

      Deshalb müssen immer wieder neue Seeds benutzt werden, die aus dem Entropiespeicher gewonnen werden. Je mehr Seeds erzeugt werden, desto mehr weiß ein Angreifer wieder über den Zustand des Entropiespeichers. Die Entropie nimmt also ab. Schließlich, wenn die Maus nicht bewegt wurde, keine Tasten gedrückt wurden und keine Aktivität auf dem Netzwerk war, gibt es nicht mehr genug Entropie im Speicher, um noch sichere Zufallszahlen zu generieren. Der Speicher ist leer. Will man dann weitere Zahlen abfragen, bleibt die Abfrage buchstäblich hängen, bis man den Entropiespeicher wieder ausreichend gefüllt hat.

      Google filmt übrigens ein Regal voller Lavalampen und gewinnt aus den chaotischen Bewegungen der Lava die Informationsentropie, die es für seine Zufallszahlen braucht.

      • bennypr0fane@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        14 days ago

        Wow. Vielen Dank, Zuhausi, das war eine wirklich hilfreiche Erklärung! “Entropie ist alle” bedeutet also, die Zahl der gesammelten Zufallsereignisse ist zu niedrig, um damit sichere Verschlüsselung erzeugen zu können, ja? Hieße aber auch, wenn die Zahlenfolge, die ich verwenden will, nicht sicherheitsrelevant ist, kann man auch die pseudozufälligen nehmen, die einem nicht ausgehen, oder? Ich bin mal auf eine random-Bibliothek gestoßen (glaube f JavaScript oder Python), die die Zufälligkeit aus dem Einschlag von Elementarteilchen in die Atmosphäre gewinnt - oder so ähnlich.

        • bleistift2@sopuli.xyzOP
          link
          fedilink
          Deutsch
          arrow-up
          2
          ·
          14 days ago

          “Entropie ist alle” bedeutet also, die Zahl der gesammelten Zufallsereignisse ist zu niedrig, um damit sichere Verschlüsselung erzeugen zu können, ja?

          Korrekt.

          Hieße aber auch, wenn die Zahlenfolge, die ich verwenden will, nicht sicherheitsrelevant ist, kann man auch die pseudozufälligen nehmen, die einem nicht ausgehen, oder?

          Absolut.

          Ich bin mal auf eine random-Bibliothek gestoßen (glaube f JavaScript oder Python), die die Zufälligkeit aus dem Einschlag von Elementarteilchen in die Atmosphäre gewinnt - oder so ähnlich.

          Ich bin mal auf eine JavaScript-Crypto-Bibliothek gestoßen, die in irgendeiner Version geraten hat, upzudaten, weil die alte Version nur pseudozufällige Zahlen benutzt hat. Es scheint also einen Unterschied zu machen.

      • bennypr0fane@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        14 days ago

        …und die Entropie “verbrauchen” heißt im unserem Fall, die generierten Zahlenfolgen zu verwenden, und die dürfen dann nicht wiederverwendet werden, sondern werden verworfen?

        • bleistift2@sopuli.xyzOP
          link
          fedilink
          Deutsch
          arrow-up
          2
          ·
          14 days ago

          Zufallszahlen kannst du nie wiederverwenden. Stell dir vor, du hörst nach 10-mal Würfeln beim Mensch ärgere dich nicht, zu würfeln, sondern nimmst einfach immer die zehnt-letzte, ermittelte Zahl.