DES-Verschlüsselung

Hallo,

Keine Ahnung ob das hier an der richtigen Stelle ist vermutlich aber nicht...
Ich Interessiere mich für die DES Ver- bzw Entschlüsselung!
Kann mir jemand erklären wie genau das funktioniert also nicht nur die vorgehensweise mit den einzelnen Runden, Blöcken und Boxen, sondern auch mit einem ausführlichen Beispiel!
Irgendwas lese ich von einem 64 Bit Block was ist das? Bzw. wie wird aus meiner zu verschlüsselnden Zahl ein 64 Bit Block?
Gibt es irgendwelche einfach verständlichen Tool´s dafür?
mfg
 
DES ist ein feistel netz mit 16 runden ... das kann man nicht komplett übersichtlich darstellen ... höchstens rundenweise

auch ein follständiges beispiel macht wegen der 16 runden kaum sinn ... ist halt immer wieder das selbe, nur mit anderen s-boxen und anderem rundenschlüssel

was es mit dem 64 bit block auf sich hat ist dagegen einfach:

DES ist eine blockschiffre die, wer hätte es gedacht, auf blöcke von 64 bit angewand wird ... sprich für 64 bit die rein gehen bekommst du 64 bit raus ...

wie aus dem was du verschlüsseln willst die 64 bit blöcke werden ist erstmal deine sache ... darum kümmert sich DES nicht

aber für eine zahl wäre beispielsweise denkbar ihre binärrepresentation auf der höherwertigen seite entsprechend mit nullen aufzufüllen sofern es sich um einen integer handelt ...
 
Okay Dankeschön mal soweit...
Angenommen ich hätte jetzt dies Zahl: 1234567891234567 was für ein 64 Bit Block würde daraus enstehen?
 
Das hat GrafZahl doch bereits gesagt....du musst dich darum kümmern....
64 Bit = 8 Byte

1-9 entspricht 49-57 in der ASCII Tabelle.....

Du könntest also jetzt die Binärdarstellung jeder Zahl nehmen und füllst entsprechend auf:

1=48=00110000
2=49=00110001
.
.
.
9=57=00111001

Ein Block wäre jetzt die Zahlen 1 bis 8. Der 2. Block besteht dann aus der Binärrepräsentation der Zahlen 91234567. Man muss eventuell entsprechend mit 00000000 auffüllen um 64 Bit Blöcke zu erhalten (Wäre deine Zahl 12345678912345675555 gewesen, besteht der 3. Block auf 5555 und 4 Byte mit 00000000)

Beim entschlüsseln passiert folgendes:

Du bekommst ein Bitmuster. Du nimmst immer 8 Bit, wandelst sie in Dezimalzahl um und schaust dir den entsprechenden ASCII Code an. Ein Byte bestehend nur aus 0 ist dann halt für das Padding gewesen.

Eine andere wäre folgende:

1234567891234567 in Dezimal entspricht binär:

00000100 01100010 11010101 00111100 10011011 10101111 00000111

Jetzt füllst du noch mit Nullen auf um 8 Byte zu erhalten:

00000000 00000100 01100010 11010101 00111100 10011011 10101111 00000111

Und das ist dein 64 Bit Block, den du DES übergibst.

Wie eine symmetrische Chiffre dann die Blöcke verschlüsselt (jeden Block für sich, die Blocks voneinander abhängig machen etc.) geben die Modes of Operation an (ECB, CBC, CFB, OFB, ...)

Block cipher modes of operation - Wikipedia, the free encyclopedia

//edit: Allgemein nimmt man einfach immer 8 Byte des Klartextes (8 Buchstaben/Zahlen/Sonderzeichen), wandelt die in eine Binärdarstellung um und übergibt sie DES. Beim letzten Block muss eventuell gepaddet werden.

"Das_ist_der_Text_der_verschluesselt_werden_soll"

1. Block: Das_ist_ ->Binär
2. Block: der_Text ->Binär
3. Block: _der_ver ->Binär
4. Block: schluess ->Binär
5. Block: elt_werd ->Binär
6. Block: en_soll ->Binär + 00000000 Binär

Liegt der Klartext in Hexadezimaler Form vor, so bilden 16 Hexzeichen in Binärdarstellung einen Block.
 
Zuletzt bearbeitet:
Zurück
Oben