[Java] DES Verschlüsselung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von MoM, 1. Oktober 2010 .

  1. 1. Oktober 2010
    DES Verschlüsselung

    Hallo, mein Chef hat mir auf der Arbeit ein Auszug aus einem Java Code gegeben das einen Text mithilfe eines keys per des verschlüsselt. Jedes Byte wird in hex umgewandelt unter zuhilfenahme des keys solange bis alles verschlüsselt ist. Er meinte ich soll mich damit beschäftigen und das ganze auf dem Papier machen. Allerdings gibt es in dem Script auch noch vorgefertigte Klassen deren Sinn mir nicht klar ist. Eigentlich suche ich ein Tutorial, dass beschreibt wie das ganze auf dem Papier abläuft. Habe schon auf Google gesucht aber da sind nur tuts die DES an sich beschreiben. Bin schon am verzweifeln :/ text=denisweiss key=abc123. Und da sollte dann hed rauskommen.
     
  2. 2. Oktober 2010
    AW: DES Verschlüsselung

    Wozu gibt es den Debugger? Du kannst auch in Java vorgefertigte Klassen "springen".

    Die Aufgabe ist damit kinderleicht...
     
  3. 2. Oktober 2010
    AW: DES Verschlüsselung

    Ich habs ja nicht digital sondern auf Papier so schlau war ich auch deswegen suche ich ja nach einer Anleitung wie man DES von hand verschlüsselt.
     
  4. 2. Oktober 2010
    AW: DES Verschlüsselung

    Du willst DES auf dem Papier rechnen? Das ist aber, hmm, ziemlich assi. Hätte ich kein Bock drauf. Auf vollen 64bit? Alle 16 Runden? Da kriegt man ja ein Schreibkrampf, und die Chance, dass sich ein Fehler einschleicht, ist enorm. Wenn Du die ganzen Kernfunktionen (IP/Feistel/..) im Kopf rechnen könntest, müsstest Du immernoch 1024 einsen und nullen schreiben..aaah.
    Wenn Du es trotzdem probieren willst, finde ich Wikipedia ziemlich gut. Musst Dich halt ersteinmal wahrscheinlich durch die anderen Artikel lesen, und die Fachbegriffe zu verstehen; Evtl. sogar noch ein paar mehr Grundlagen in Krypto.

    Kurzgefasst, so musst Du versuchen den Artikel zu verstehen (Englische Wiki):
    Data Encryption Standard - Wikipedia, the free encyclopedia

    hier ist eine Abbildung, die den Grundablauf beschreibt:
    File ES-main-network.png - Wikipedia, the free encyclopedia
    Das heisst, oben gehen erstmal deine 64 Bit rein (DES arbeitet auf 64-Bit Blöcken)
    Zuerst gibt es eine Initial-Permutation (IP). Da werden einfach Bits vertauscht, also z.B. kommst das erste Bit and Stelle 58, das zweite an Stelle 50 usw.
    Der Eingang wird dann in zwei 32bit Blöcke geteilt: L und R
    R geht durch die Feistel Funktion F,
    L bleibt so wie es ist
    Dann werden beide teile mit XOR (der kreist mit + drin) verknüpft.
    Dann werden L und R getauscht, und das ganze geht von vorne los. 16 Mal.
    Zum Schluss gibt es dann die End-Permutation (FP), welche die IP wieder rückgängig macht.

    So, die Feistelfunktion ist auch noch mal Assi, die macht aber den eigentlichen Kern aus und bringt etwas Nicht-Lineares ins Spiel, was das ganze erstmal überhaupt Sicher macht. Hierfür braucht sie 48bit Subkeys, die Du in jeder der 12 Runden erstellen musst. Naja, in den S-Boxen werden Gruppen von Bits substituiert. Das ist quasi ne riesen Lookup-Tabelle.

    Die ganzen Details stehen dann im Wiki Artikel, die Tabellen für IP, S-Boxen etc. haben ne eigene Unterseite, weils so viel ist.

    ...viel Spass...
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.