MD5 Padding..

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MD5 Padding..

    Ich habe eine Frage zu MD5:

    http://www.faqs.org/rfcs/rfc1321.html

    Kann mir bitte jemand sagen, was es mit dem Array auf sich hat?

    static unsigned char PADDING[64] = {
    0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    };
    Wenn ich zum Beispiel den String "teste-mich" md5-encrypten möchte.. steht dann "teste-mich" hexadezimal im Padding? Oder wozu dient das Padding? Leider werde ich aus der RFC nicht wirklich schlau.

  • #2
    3.1. in dem von dir verlinkten RFC

    Kommentar


    • #3
      Das eine 1 und soviele Nullen angehängt werden bis [Formel]... bla.. das checke ich noch. Aber das bedeutet ja: Wenn die Nachricht unendlich lang ist, dann wird dass Padding ja auch unendlich lang.

      Nochmal eine ganz, ganz grundlegende Frage.. wenn ich den String "test-mich" md5 verschlüsseln will.., wie wird denn da der Hexwert erzeugt? Wird der String als ASCII intepretiert oder wie?

      Edit: Danke schonmal für deine Hilfe. Ich steige nicht so recht dahinter!
      Zuletzt geändert von lasvegas3000; 14.04.2007, 11:04.

      Kommentar


      • #4
        http://nsfsecurity.pr.erau.edu/crypto/md5.html

        Kommentar


        • #5
          Danke erstmal. Auf der Seite steht:

          "Below is a bit level representation of your message."

          Wie wird der Binärkram erzäugt? ASCII wird ja offensichtlich nicht verwendet.

          Kommentar


          • #6
            Wie das nun speziell auf der Seite gemacht wird, weiß ich nicht, werde ich auch nicht nachschauen, kannst du aber gern selbst herausfinden (Quelltext der Seite).

            Bei einer realen Implementierung des MD5-Algorithmus muß man gar nichts umwandeln. Jeder String besteht im Prinzip nur aus Nullen und Einsen; Computer kennen gar nichts anderes.
            Umgewandelt werden Strings immer nur dann, wenn sie dem menschlichen Auge als Buchstabenfolge gezeigt werden sollen.

            Kommentar


            • #7
              Jeder String besteht im Prinzip nur aus Nullen und Einsen; Computer kennen gar nichts anderes.
              Ja, aber nur die ersten Zeichen "a..z0..9,./$" etc. sind standardisiert und in jedem Zeichensatz gleich. Aber: Das Pfundsymbol £ zum Beispiel kann in unterschiedlichen Zeichensätzen auch unterschiedliche Binärwerte haben. Hat zur Folge, dass wenn man von unterschiedlichen Zeichensätzen ausgeht auch unterschiedliche MD5-Hashes erhält. Deshalb denke ich, dass es da irgendwie vorgeschrieben sein muss, welcher Zeichensatz für MD5 verwendet werden soll, damit auch jedem Computer der Welt bei gleicher Eingabe auch immer der gleiche Code erzeugt wird.

              Oder lieg' ich da voll daneben? Ich habe keine Ahnung. Das ist eben nur meine Vermutung.

              Kommentar


              • #8
                Original geschrieben von lasvegas3000
                Hat zur Folge, dass wenn man von unterschiedlichen Zeichensätzen ausgeht auch unterschiedliche MD5-Hashes erhält.
                Nein, weil MD5 sich nicht dafür interessiert, ob ein Bytewert in irgendeiner Kodierung ein Euro-Zeichen, ein Emu oder ein Fruchtbarkeitssymbol ist.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X