Verschlüsselung testen



  • Bei WEP ist aber nicht grundsätzlich RC4 das Problem sondern unter anderem der zu kleine IV, übertragen des Inititalisierungsvektors in Plaintext und obendrein schwache Initialisierungsvektoren.

    Ich wollte damit bloß zeigen dass je nach Lage gewisse Verschlüsselungen sehr schnell brechen kann.

    verschlüsseler:

    Hab mir gerade mal AES angeschaut. Da wird auch ganz viel mit XOR verschlüsselt.

    Ja Fluch der Informatik. Sieht auf dem ersten Moment sehr einfach aus, aber wenn man sich mit der Materie mal beschäftigt...

    Das Gemeine wird wohl der Schlüssel sein. Nimm doch einfach mal eine Known-Plaintext Attake an und versuche man den Schlüssel zu bestimmen. Beim RC4 stehst du da schnell vor einem Problem. Beim einfachen XOR nicht...

    PS:
    CrypTool brachte keine Ergebnisse.



  • Sorry falls das meiste oder alles was jetzt folgt schon geschrieben wurde - hab nicht den ganzen Thread gelesen...

    @verschlüsseler
    Im Prinzip hast du da einfach einen (vermutlich nicht sehr guten) PRNG (Pseudorandom number generator) gebaut, und mit den Zahlen die der ausspuckt ver-XOR-st du dein File.
    Es gibt also keinerlei Feedback von den Daten zurück zum PRNG. Das ist schonmal nicht gut.

    Es gibt Spezielfälle wo es OK ist das zu machen, aber im Allgemeinen ist es ein schweres Sicherheitsproblem.
    OK wäre es z.B. wenn man über's Netzwerk kommuniziert, und bei jedem Verbindungsaufbau ein neues Schlüsselpaar aushandelt. Vorausgesetzt man hat vorher seine Gegenstelle authentifiziert und verwendet ein sicheres Key-Exchange Verfahren sowie einen cryptographisch sicheren PRNG.

    Zurück zur einfachen XOR Verschlüsselung...

    Angenommen ich kann es irgendwie schaffen dir eine Datei unterzujubeln die du dann verschlüsselst, und schaffe es dann noch an das verschlüsselte File dranzukommen. Da Ciphertext[i] = Plaintext[i] ^ Keystream[i] kann ich einfach auf den Keystream zurückrechnen: Keystream[i] = Ciphertext[i] ^ Plaintext[i] .
    Wenn ich dir ein 10MB grosses File geschickt habe, kann ich danach die ersten 10MB aller Files dekodieren die du mit dem selben Schlüssel verschlüsselt hast.

    Und das ganz ohne zu wissen wie dein PRNG funktioniert - das Wissen darum dass es eine einfache XOR Verschlüsselung ohne Feedback ist reicht aus.



  • hustbaer schrieb:

    Sorry falls das meiste oder alles was jetzt folgt schon geschrieben wurde - hab nicht den ganzen Thread gelesen...

    @verschlüsseler
    Im Prinzip hast du da einfach einen (vermutlich nicht sehr guten) PRNG (Pseudorandom number generator) gebaut, und mit den Zahlen die der ausspuckt ver-XOR-st du dein File.
    Es gibt also keinerlei Feedback von den Daten zurück zum PRNG. Das ist schonmal nicht gut.

    Es gibt Spezielfälle wo es OK ist das zu machen, aber im Allgemeinen ist es ein schweres Sicherheitsproblem.
    OK wäre es z.B. wenn man über's Netzwerk kommuniziert, und bei jedem Verbindungsaufbau ein neues Schlüsselpaar aushandelt. Vorausgesetzt man hat vorher seine Gegenstelle authentifiziert und verwendet ein sicheres Key-Exchange Verfahren sowie einen cryptographisch sicheren PRNG.

    Zurück zur einfachen XOR Verschlüsselung...

    Angenommen ich kann es irgendwie schaffen dir eine Datei unterzujubeln die du dann verschlüsselst, und schaffe es dann noch an das verschlüsselte File dranzukommen. Da Ciphertext[i] = Plaintext[i] ^ Keystream[i] kann ich einfach auf den Keystream zurückrechnen: Keystream[i] = Ciphertext[i] ^ Plaintext[i] .
    Wenn ich dir ein 10MB grosses File geschickt habe, kann ich danach die ersten 10MB aller Files dekodieren die du mit dem selben Schlüssel verschlüsselt hast.

    Und das ganz ohne zu wissen wie dein PRNG funktioniert - das Wissen darum dass es eine einfache XOR Verschlüsselung ohne Feedback ist reicht aus.

    Ja, das mit dem Abzeihen von zwei verschlüsselten Dateien wurde schon erwähnt. Das einzige was mit bis jetzt dagegen einfällt, ist die Quelldatei (teilchenweise) auch als Schlüssel zu verwenden.


  • Mod

    verschlüsseler schrieb:

    Ja, das mit dem Abzeihen von zwei verschlüsselten Dateien wurde schon erwähnt. Das einzige was mit bis jetzt dagegen einfällt, ist die Quelldatei (teilchenweise) auch als Schlüssel zu verwenden.

    Da ist das Problem. Jetzt doktorst du unbeholfen an einem Symptom herum, anstatt dir wenigstens mal die grundlegenden Theorien anzusehen, was eine Verschlüsselung sicher macht. Hast du dir in den vergangenen Tagen wenigstens einen einzigen Wikipediaartikel zum Thema durchgelesen? Oder hast dir eines der Stichworte angeguckt, die dir gegeben wurden? Die Leute zerreißen deinen Algorithmus nicht, weil sie dir böses wollen, sondern weil sie dir helfen wollen und dir die Fakten nennen. Als Reaktion benimmst du dich erst wie ein beleidigtes Kleinkind, später wie ein Troll.



  • SeppJ schrieb:

    Als Reaktion benimmst du dich erst wie ein beleidigtes Kleinkind, später wie ein Troll.

    Seit du das mit dem Zustand ablesen behauptet hast, bist du der, der sich wie ein Kleinkind benimmt.

    SeppJ schrieb:

    Meinst du wirklich, dass du nicht weißt, was der Zustand eines Zufallsgenerators ist? Oder meinst du wirklich, dass du nicht weißt, wieso der Seed scheißegal ist und der Zustand das einzig wichtige ist?

    SeppJ schrieb:

    Entsprechend ist der herausgekommene verschlüsselte Text einfach 1:1 der momentane Zustand.

    Zitier und verlinke doch mal Quellen, die den Zustand eines Zufallsgenerators so wie du, als die ausgegebenen Zahlen, definieren oder sei still.



  • PS: Und jetzt nicht nur ein Buch oder 1000 Seiten Skript verlinken, sondern auch die entsprechende Stelle zitieren.


  • Mod

    Also wieder Kleinkind 🙄



  • Ganz schön kindisch, dass ich nach Quellen für deine Behauptungen Frage. 🙄

    SeppJ schrieb:

    Meinst du wirklich, dass du nicht weißt, was der Zustand eines Zufallsgenerators ist? Oder meinst du wirklich, dass du nicht weißt, wieso der Seed scheißegal ist und der Zustand das einzig wichtige ist?

    https://en.wikipedia.org/wiki/Pseudorandom_number_generator schrieb:

    The sequence is not truly random in that it is completely determined by a relatively small set of initial values, called the PRNG's state, which includes a truly random seed



  • Ganz schön kindisch, dass ich nach Quellen für deine Behauptungen Frage. 🙄

    SeppJ schrieb:

    Meinst du wirklich, dass du nicht weißt, was der Zustand eines Zufallsgenerators ist? Oder meinst du wirklich, dass du nicht weißt, wieso der Seed scheißegal ist und der Zustand das einzig wichtige ist?

    https://en.wikipedia.org/wiki/Pseudorandom_number_generator schrieb:

    The sequence is not truly random in that it is completely determined by a relatively small set of initial values, called the PRNG's state, which includes a truly random seed
    

    Ich habe jetzt die Frage mit dem ganzen Zustandgedöns nicht mitbekommen.

    Aber nehmen wir mal an du nimmst einen Text und verschlüsselst ihn einfach in dem du ihn mit Hilfe eines einfachen Zufallsgenerator verschlüssest.

    1.) SB = Key = Seed 
    2.) Für jedes Zeichen Z
    3.)   SB = Zufall(SB);
    4.)   CZ = Z XOR AB
    

    Nehmen wir mal dummerweise an, jemand startet eine Known Plaintext Attacke. Er zieht den Klartext von dem verschlüsselten Text ab und erhält so das Bild der Zufallsfunktion, also: Zufall(SB(n)), Zufall(SB(n+1)), Zufall(SB(n+2)). Betrachtest du nun den Graphen, wirst du bei ganz einfachen Zufallsgeneratoren eine böse Überaschung erleben. Sie sind polynomial, weisen starke Korrelanzen auf und haben meistens eine niedrige Entropie. Nicht gut. Ein böser Mensch geht nun hin und rechnet die Inverse deiner Zufallsfunktion. Damit kann er jeden beliebigen Text entschüsseln denn 2^32 mögliche Seed's sind nur Peanuts...



  • Bei Spektrum der Wissenschaft Thema Kryptograhpie gab es hierzu eine schöne Darstellung, als sie die Bilder verschiedene Zufallsfunktioen zeigten. Erst etwas der Form f(x) = (a^x) mod n zeigte eine deutlich besseres Funktionsbild.



  • Bitte ein Bit schrieb:

    Ich habe jetzt die Frage mit dem ganzen Zustandgedöns nicht mitbekommen.

    Aber nehmen wir mal an du nimmst einen Text und verschlüsselst ihn einfach in dem du ihn mit Hilfe eines einfachen Zufallsgenerator verschlüssest.

    1.) SB = Key = Seed 
    2.) Für jedes Zeichen Z
    3.)   SB = Zufall(SB);
    4.)   CZ = Z XOR AB
    

    Nehmen wir mal dummerweise an, jemand startet eine Known Plaintext Attacke. Er zieht den Klartext von dem verschlüsselten Text ab und erhält so das Bild der Zufallsfunktion, also: Zufall(SB(n)), Zufall(SB(n+1)), Zufall(SB(n+2)). Betrachtest du nun den Graphen, wirst du bei ganz einfachen Zufallsgeneratoren eine böse Überaschung erleben. Sie sind polynomial, weisen starke Korrelanzen auf und haben meistens eine niedrige Entropie. Nicht gut. Ein böser Mensch geht nun hin und rechnet die Inverse deiner Zufallsfunktion. Damit kann er jeden beliebigen Text entschüsseln denn 2^32 mögliche Seed's sind nur Peanuts...

    Ja, aber SeppJ hat behauptet, dass er den Zustand des Zufallsgenerators ablesen kann, ohne was zu rechnen. Dann hat er behauptet "Entsprechend ist der herausgekommene verschlüsselte Text einfach 1:1 der momentane Zustand". Damit wäre der Zustand eines Zufallsgenerators die ausgegebenen Zahlen. Wikipedia beschreibt den Zustand anders und er kann keine Quelle liefern die den Zustand so wie er beschreibt.


Anmelden zum Antworten