Wie kann ich meine Chiffre den Lawineneffekt anzeigen lassen?

  • Ich bin ein Anfänger in der Kryptographie. Ich habe einen kennwortbasierten Verschlüsselungs- und Entschlüsselungsalgorithmus entwickelt, der eine zufällige Verbindung und ein Kennwort zum Verschlüsseln einer Nachricht verwendet. Ich verwende SHA-512 für Hashing, Matrixoperationen zum Mischen, bitweise XOR zum Mischen von Daten und Abrufen. Die Länge des Salzes und des Geheimtextes beträgt 256 Buchstaben.

    Meines Wissens nach der Lawineneffekt bedeutet, dass eine der folgenden Änderungen geringfügig geändert wurde:

    • Verschlüsselung
    • Kennwort
    • salt

    muss die Ausgabe drastisch ändern.

    Wenn ich bei meiner Implementierung das Salt oder die Chiffre ändere, sehe ich keine großen Änderungen in meiner Ausgabe. Bei einer geringfügigen Änderung des Passworts ändert sich die Ausgabe jedoch drastisch.

    Meine Fragen:

    • Ist mein Verständnis des Lawineneffekts im Allgemeinen richtig? Wenn nicht, was sollte es sein?
    • Was kann ich tun, um den Lawineneffekt in meiner (oder einer beliebigen) Chiffre am besten zu erzeugen? sollte ich die Salzlänge weniger reduzieren und einen kleineren Geheimtext erzeugen, um einen Lawineneffekt zu erzeugen? Wenn nicht, wie kann ich das erreichen?
    30 November 2011
    steveRusty
1 answer
  • Versuchen Sie nicht, den eigentlichen Chiffrieralgorithmus zu ändern. Lesen Sie über das Kerckhoffs Prinzip : Sie sollten nur die Schlüssel und die IV ändern, nicht den eigentlichen Algorithmus.

    Um Ihre Lawine zu testen, drehen Sie ein wenig in Ihrem Schlüssel. Dies sollte sich um etwa die Hälfte der Bits in Ihrer Ausgabe ändern.

    Für das Chiffre-Design wurde Applied Cryptography bereits vorgeschlagen. Darüber hinaus müssen Sie die Einführung von Diffusion und Verwirrung in Ihren Algorithmus betrachten. Es lohnt sich auch, bestehende Algorithmen zu studieren, um zu sehen, wie sie vorgehen. Ich begann mit dem Entwurf meiner eigenen einfachen Feistel-Chiffre . Auf diese Weise wird bereits viel von der umgebenden Struktur für Sie erledigt. Es vereinfacht auch das Design, da die F-Funktion nicht invertierbar sein muss. Das gibt Ihnen viel mehr Flexibilität in diesem Bereich.

    Die Warnung, dass Sie Ihr eigenes Design nicht für andere Zwecke als eine Lernübung verwenden, ist eine gute.

    30 November 2011
    cmcculloh