Der Data Encrypiton Standard - kurz: DES history menue Letztmalig dran rumgefummelt: 12.05.20 11:18:26

DES, der Data Encryption Standard, ist ohne Frage das am besten untersuchte kryptografische Verfahren. Er stellt ein symmetrisches Verfahren dar. Modernen Entwurfsprinzipien und moderner Kryptanalyse haben wir wesentlich diesem Algorithmus zu verdanken. Sein Grundprinipien: nicht-händig, sondern "maschinell" - sowie möglichst maximal sicher gegen "berechenbare" Angriffe
Obwohl der Verdacht, die NSA könnte in DES eine Hintertür eingebaut haben, nie ganz ausgeräumt werden konnte, ist nach aktuellem Wissen bis heute kein praktisch verwertbarer Angriffspunkt gefunden worden. Die Unsicherheit von DES rührt daher, dass der Brute-Force-Angriff heutzutage technisch möglich geworden ist. DES spielte in der Geschichte und auch heute noch eine überragende Rolle. Wird die Anzahl der Blöcke sowie die Keybis vergrößert auf derzeit beispielsweise 256 Bit, dann ist auch dieses vereinfachte Verfahren aufgrund des Rechenaufwandes via Brute Force aus heutiger Sicht nicht mehr angreifbar!!! Nachdem ich viel über diese Sache studiert habe, ist es natürlich erschreckend, dass ich mir mit vergleichsweise wenig Aufwand ein solches Werkzeug basteln kann und dann mit meinen gewünschten gegenüber fern aller Geheimdienste wirklich sicher konferieren kann. Die können zwar den Text meiner Mails oder sonstigen Nachrichten lesen, aber ran kommt man da nicht mehr!!!).
Bei der Ausarbeitung im Winter 2020 kam mir selbst als Lehrer das Ganze so vor, als wäre ich der Einzige, der über die Details gar nichts weiß. Papiergedrucktes aus Unis ist ansonsten meine erste Quelle - aber genau diese erheben diesen Anspruch - erfüllen ihn jedoch bis in letzte Detail öffentlich nicht!. Man muss also wirklich erst einmal durchblicken!!!
Alle tun so, als sei alles jede Bemerkung das Selbstverständlichste der Welt - nur mal so ein paar Beispiele: Eingangspermutation - Frage: welches Bit wohin?; weiter:  56 Bit Schlüssel: wo kommen auf einmal die 64 Bit her (es ist die Parität, welche hier hinzugefügt werden muss, aber wo und wie?); nächstes Problem: Verschlüsseln, aber welches Plain-Bit mit welchem Key-Bit (bisher nicht geklärt - nur Vermutung, das jeweils das erste mit dem ersten, das zweite mit dem zweiten usw.); und: Rotation: nach welchem Zyklus um wie viele Bit und welche Richtung?. Mit den nachfolgenden Notizen versuche ich mal zusammenzufassen sowie ordnend zu klären - ich hab' mir dazu mal ein Beispiel zurechtgelegt (... was sonst schon mal gar keiner macht!!!) - und klär mal auf, so gut, wie ich's heute (27.3.2020) eben kann - ich weiß aber schon, dass davon 'ne ganze Menge richtig ist! Beeindruckendstes Beispiel, weil höchste Verweildauer für mich im Finden eines Ansatzes: die Kompressionsphase des Keys! Gut - der Schlüssel wird von 56 auf 48 Bit "komprimiert", aber wie, und wenn, dann wo beginnend. ... wie gesagt: "... solange Du keine Details wissen willst, liegt alles offen!". Und selbst nachdem gefunden: wie und von wo beginnend erfolgt die Zählung??? Bis zu diesem Punkt war immer alles nach langwieriger Recherche in mehreren Quellen dann doch irgendwie "nachvollzihbar". Aber ab hier bleibt's dunkel - ich weiß, was man will, ich weiß auch, wie man will, aber es ist nicht klar zu ermitteln: "... womit???"
Wenn etwas im Detqail "gefunden", ist die Freude groß, aber wie, wo und womit geht es weiter ist fast immer für mindestens eine Woche "offen"!
Fazit: ... die allgemeine Beschreibung stimmt überall - dies ist offensichtlich auch das, was Universitäten zumindest deutschlandweit als Prüfungswissen so hinterfragen - und nun kommt da einer, und will dasDetail im Detail wissen - dann allerdings wird's eng - wenn auch: alle Quellen - die - wirklich genau studiert - richtig und interpretiert, ergeben schon ein Bild - und das sieht momentan (20.4.2020) so aus ...
... im Nachfolgenden hab' ich versucht, aus allen verfügbaren Quellen etwas "Sinngemäßes" zusammenzustoppeln - die Originale sind dem Allgemeinnutzer (also mir!!!) eh' verschlossen - wenn Du Fehler findest, darfst Du sie behalten!!! Ich brauch' das jetzt mal alles auf eins - bitgenau  - und nicht nur die allgemeine Zusammenfassung - schon nicht mehr ganz easy!!!

PS: ... alle Abbildungen, bis auf die Beispiel-Erklärungen kann man als "Schnullifax" betrachten, das findet man überall - das nützt gar nix, wenn man über die Details Bescheid wissen will!

1. Zur Geschichte
2. Zum Verfahren
3. Einzelbereiche sowie deren Details
4. Triple DES
5. Softwarebereich
6. Verwandte Bezüge

RSA-Verfahren & Einwegfunktionen

Feistelnetzwerk

Data Encryption Standard

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Informatik-Profi-Wissen

Schlüsselbuch

 

was bietet der DES auch heute noch?
  • symmetrischer Blockalgorithmus (heute mögliche Blocklänge theoretisch frei definierbar (in sinnvollen Grenzen die liegen heute hardwaremäßig definierbar bei über 216 Bit)
  • derzeitige Schlüssellänge: definiert auf 56 Bit - einfach erweiterbar auf 128, 192 und 256 Bits - dann eben auch mit Plaintext-Zeichengruppen von 24 bzw. 32 mal 8 Bit)
  • als Triple DES auch mit 56 Bit resistent gegen alle bisher bekannten Attacken
  • Performance und Kosten  extrem gering - auf Micrcontrollern sowie Hardware leicht implementierbar
  • in Hardware gegossen extrem schnell
  • in einfachster Hardware realisierbar (Fangregister, Schieberegister sowie Logik - vor allem XOR)
  • patentfrei und weltweit kostenlos nutzbar
  • äußerst flexibel - verschiedene Plattformen möglich (z.B. 8-Bit-Prozessoren auf Smart Cards), anpassbar, einfach)
... warum ist der DES auch heute noch bedeutsam?
  • ... der erste vollständig offen gelegte technisch wirklich bedeutsame sowie bis heute angewandte Codier-Algorithmus
  • eine bewusst offene "Angriffsplattform
  • ... bis heute praktisch angewandt als System zur Generierung von PIN's und TAN's
  • Einsatz bei Kryptowährungen sowie Geldtransfer auf derzeit lange Sicht
  • ... teilweise ersetzt durch den AES (... der ist besser, funktioniert "anders", ist sicherer, aber man müsste alles parallel und zeitgleich umstellen)
 
Quellen:


1. Zur Geschichte history menue scroll up

Lucifer - das Vorgeplänkel zum DES! Dabei ging es, wie bei allen noch folgenden binären Chiffres zum ersten mal um eine völlig neues Konzept auf Basis des Vernam-Chiffres, welcher wiederum den Baudot-Code als Basis hatte.  Ursprung war die Erkenntnis, dass alle bisher im Einsatz befindlichen "Konfusionsverfahren" im großen technischen Stil nicht verwendbar waren, da bereits nachweislich durch Computereinsatz kompromittiert.
Das DES-Verfahren - ein Quasi- sowie Basis-Standard der modernen Blockchiffre - was bedeutet dies?

... Basis des DES-Algorithmus ist das Projekt Lucifer sowie der VERNAM-Chiffre.
... machen wir uns trotzdem klar, was 256 eigentlich für einen Brute Force-Angriff streng genommen bedeutet immer noch: 720.575.940.379.279.36 mögliche Schlüsseleinstellungen
... ursprünglich im Vorschlag von IBM waren 128 Bit (3,4028236692093846346337460743177e+38) - derzeit gelten immer noch 256 Bit als nicht angreifbar via Brute Force (1,1579208923731619542357098500869e+77) - die Anzahl der Mglichkeiten
  • Gedankenspiele zum Knacken des DES wurden Ende der 70er Jahre noch für möglich gehalten
  • mit Beginn der 90er ging man jedoch davon aus, dass der DES mit "gewaltigen" - aber möglicherweise verfügbaren Hardware-Mitteln "knackbar" war
  • Schätzungen besagen, dass sich für einige hundert Millionen Dollar damals ein Computer bauen ließe, der den DES sogar in Sekundenschnelle knacken könnte - derartige Maschinen sollen sogar in Serie produziert und an Geheimdienste verkauft worden sein
  • in dieser Zeit sorgte der Fortschritt in der Computertechnik dafür, dass auch ein Brute-Force-Angriff mit handelsüblichen Rechnern möglich erschien
  • die Firma RSA Data Security setzte schließlich eine Prämie von 10.000 US-Dollar für denjenigen aus, der den DES in einer Known-Plaintext-Attacke knacken konnte (der Wettbewerb trug den Namen DES-Challenge)
  • Rocke Verser, ein Softwareexperte aus Colorado, entwickelte daraufhin ein Programm, das DES-Verschlüsselungen durchführte und das er über das Internet verteilte - über 14.000 Internetanwender stellten Rechenzeit zur Verfügung, um jeweils definierte Teile des DES-Schlüsselraums zu durchsuchen (... ein Idealbeispiel für einen Brute-Force-Angriff)
  • am 18. Juni 1997 war es soweit: Ein Teilnehmer aus Salt Lake City stieß auf den richtigen Schlüssel und durfte sich mit Verser die Prämie teilen - dessen verteilte Aktion lief bis zu diesem Zeitpunkt seit vier Monaten und hatte erst ein Viertel aller DES-Schlüssel auf deren Richtigkeit getestet. Mit etwas weniger Glück hätte dieser Kryptoanalyseversuch also bis zu 16 Monaten dauern können
  • in der zweiten Runde der DES-Challenge konnte die für eine DES-Known-Plaintext-Attacke Anfang 1998 zunächst auf 39 Tage - danach auf 56 Stunden reduziert werden
  • im Januar 1999 wurde in der dritten Runde der DES-Challenge erstmals knapp die 24-Stunden-Grenze unterschritten - dieser Rekord steht bis heute
  • Wissenschaftler der Ruhruniversität Bochum haben in den letzten Jahre zwei Geräte gebaut (Copacobana und dessen Nachfolger Rivyera), mit denen sie in ähnlich kurzer Zeit eine DES-Nachricht per vollständiger Schlüsselsuche knacken können - allerdings mit deutlich geringerem Aufwand
... nachgewiesene Angriffe auf DES:
  •  


2. Zum Verfahren history menue scroll up

… bereits Claude Shannon forderte, dass der Geheimtext durch Konfusion und Diffusion aus dem Klartext gebildet wird. Konfusion bedeutet in etwa Mischen, das heißt, die statistischen Eigenschaften des Chiffretextes sollten möglichst gut einer Folge aus Zufallszahlen gleichen, auch wenn der Klartext stark strukturiert ist. Diffusion bedeutet, dass jedes Klartextbit auf möglichst viele Chiffretextbits verteilt wird. Damit werden Angriffe erschwert, die auf der Zuordnung eines Klartextteiles zu einem bestimmten Chiffretextteil und dem Schlüssel basieren. Als ein vernünftiger Kompromiss aus Diffusion und Effizienz der Implementierung werden heute meist Blocklängen von 64 oder 128 Bit gewählt. Bevor wir nun auf die Details bestimmter Blockchiffren eingehen, wollen wir einige allgemeine Überlegungen anstellen.
Um eine möglichst hohe Sicherheit zu erreichen, wäre es wünschenswert, den Schlüsselraum so groß wie möglich zu machen. Dies ist leider nicht möglich, denn die Gesamtzahl aller Chiffren mit einer Blocklänge von 64 Bit beträgt 264! (Fakultät!). Um eine spezielle Chiffre zu codieren wird also ein Schlüssel der Länge 1092264) das sind ~ 270 sind rund 2 *1021 Bit benötigt. Das sind etwa 1011 GByte. Um einen einzigen derartigen Schlüssel zu speichern, würde man mehr als 109 Festplatten mit einer Kapazität von je 100 GByte benötigen, die zusammen etwa 500 000 Tonnen schwer wären. Man wird sich also in der Praxis auf eine kleine Teilmenge von Blockchiffren mit kurzem Schlüsselbeschränken, die Diffusion und Konfusion möglichst gut realisieren.
 

CCITT

 

 

ASCII-Codes

 

8-Bit Lochstreifen

 

8-Bit-Lochstreifen von Emely Arlt mit Arbeitsstand 29.11.2019 (ACHTUNG: nur Standardzeichen sind implementiert!!!)

... als startbare Datei

... als ZIP-Archiv

  • wir reden von einem symmetrischen monoalphabetischen Blockchiffre (Entschlüsseln funktioniert genau so wie verschlüsseln - und: es gibt nur einen Schlüssel!)
  • Konfusion sowie Diffusion sind die Hauptprinzipien
  • nach der Zeichenkonvertierung läuft alles auf Gruppen von jeweils 8 Bit - ist der Datenstrom größer, wird auf immer 8 Zeichengruppen aufgefüllt
  • verschlüsselt werden jeweils Gruppen (Blockchiffre) zu immer 8 × 8 Bit
  • bedingt durch die Verarbeitung von Bits lässt sich das gesamte Verfahren in Hardware gießen - streng genommen nichts weiter als Fangregister kombiniert mit Decodern sowie Schieberegistern
  • ... denn: nichts ist schneller als Hardware
  • interessant ist, dass an den Schlüssel streng genommen nur eine einzige Bedingung gestellt werden muss: er muss geheim bleiben!!!
  • es gibt schwache Scllüssel - alles 0 sowie alles 1
... raffiniert auf direkter IC-Ebene: ein Feistel-Netzwerk ... DES auf Silizium - das gibt es heute nur noch als Einzelbauelemente - die sind jedoch immer noch verfügbar ;-) DES-Logik

Feistelnetzwerk

DES-Chip

 

Logische Struktur des DES-Chips

 

  • DES, der Data Encryption Standard, ist ohne Frage das am besten untersuchte kryptografische Verfahren mit dem Chararkter eines monoalphabetischen sowie symmetrischen Verfahrens – geht ja eigentlich gar nicht – ist ja bewiesenermaßen TOP-unsicher und leicht angreifbar
  • Moderne Entwurfsprinzipien und moderne Kryptanalyse haben wir aber trotzdem wesentlich diesem Algorithmus zu verdanken. Obwohl der Verdacht, die NSA könnte in DES eine Hintertür eingebaut haben, nie ganz ausgeräumt werden konnte, aktuell bis heute kein praktisch wirklich verwertbarer Angriffspunkt gefunden worden. Die Unsicherheit von DES rührt daher, dass der Brute-Force-Angriff heutzutage technisch möglich geworden ist!!!
  • DES spielte in der Geschichte und auch heute noch eine überragende Rolle – mit Triple-DES gibt es ja auch bereits eine zukunftweisende Alternative
  • das National Bureau of Standards (NBS, heute NIST) startete Anfang 1973 eine öffentliche Ausschreibung zum Entwurf eines einheitlichen, sicheren Verschlüsselungsalgorithmus
  • erst auf eine zweite Ausschreibung 1974 hin reichte ein IBM-Team, in dem u. a. Horst FEISTEL sowie der bekannte Kryptanalytiker Don Coppersmith mitarbeiteten, einen brauchbaren Vorschlag ein. Er basierte auf dem bei IBM betriebenen Projekt Lucifer, nach dem auch mindestens ein Algorithmus benannt ist
  • es wird immer wieder behauptet, die NSA hätte die von IBM vorgesehene Schlüssellänge von 128 Bit auf 56 Bit reduziert - dem steht die Behauptung der IBM-Entwickler Tuchman und Meyer entgegen, die NSA hätte kein einziges Bit an DES verändert
  • im Jahr 1978 untersuchte ein Komitee mit Zugriff auf öffentlich nicht zugängliche Unterlagen die allgemeinen Befürchtungen und erklärte, DES sei unbedenklich und frei von Schwächen - ie konkrete Begründung dieses Urteils blieb jedoch geheim
  • DES wurde Ende 1976 zum offiziellen Verschlüsselungsstandard erklär - das Verfahren ist für »normale« Geheimhaltung gedacht, nicht zum Schutz von Informationen höchster Sicherheitskategorie
  • dies nährt natürlich wiederum Zweifel, kann aber auch eine ganz formale Angelegenheit sein - vielleicht ist DES nicht selbst an dieser Einschränkung schuld, sondern nur seine Offenlegung
  • es ist auch denkbar, dass DES wirklich sehr sicher ist und nur durch ein Missverständnis zwischen NBS und NSA veröffentlicht wurde, weil die NSA annahm, DES würde nur in Hardware implementiert - zwei Gründe sprechen dafür:
    • DES war der erste öffentlich bekannt gewordene Algorithmus, den die NSA untersucht hatte
    • er nächste Standardalgorithmus aus der NSA - Skipjack - blieb typischerweise jahrelang geheim
Encoding Standard-DES Decoding Standard-DES

Encoding des DES-Block-Chiffre

Download im CorelDraw 11.0-Format

Decoding des DES-Block-Chiffre

Download im CorelDraw 11.0-Format

Encoding des DES-Block-Chiffre - die Details

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 9

Download im CorelDraw 11.0-Format

Decoding des DES-Block-Chiffre - die Details

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 9

Download im CorelDraw 11.0-Format


3. Technische Details history menue scroll up
Also grundsätzlich ist der DES ganz einfach: 64 Eingangsbits sowie 56 Keybits kommen in einen Mixer und herauskommen 64 Cipherbits. Beim Entschlüsseln lässt man den Mixer nur einfach umgekehrt laufen und kann alles wieder lesen!!! Um dies zu realisieren, wird der Eingabetext Blöcke zu je acht Zeichen zerlegt (notfalls werden ergo in der letzten Gruppe Dummy-Zeichen angefügt) Das funktioniert für alles, was im ASCII- Code zwischen 32D und 255D liegt. Alles nachfolgend aufgezeichnete bezieht sich also immer auf jeweils Gruppen zu 8 mal 8 Bit.
Strategie des DES-Algorithmus
(...und alles, was wir im Augenblick nicht genau wissen, erklären wir zu einer "Black-Box"!)
... die Grundprinzipien des DES ... das Rundenverfahren des DES ... Plaintext-Input-Permutation ... die Substitutions-Boxen
(kurz: S-Boxen)

Basisfunktion des DES

Download im CorelDraw 11.0-Format

Arbeitsprinzip des DES

Download im CorelDraw 11.0-Format

Rundenprinzip des DES

Download im CorelDraw 11.0-Format

   
Schlüsselaufbau ... das Key-Konzept ... die F-Funktion ... die Substitutions-Boxen
(kurz: S-Boxen)
... die FEISTEL-Struktur des DES

Schlüsselaufbau für den DES

Download im CorelDraw 11.0-Format

Schlüsselverwaltung des DES

Download im CorelDraw 11.0-Format

... die F-Funktion des DES

Download im CorelDraw 11.0-Format

Adressierung der Substitutionsboxen des DES

Download im CorelDraw 11.0-Format

... was eigentlich wichtig ist, Dir aber sonst keiner erklärt, wie's wirklich funktioniert ;-)
Bitweise Linksrotation Bitweise Rechtsrotation Linksverschiebung der C- und D-Blöcke Rechtsverschiebung der C- und D-Blöcke ... vom Zeichen über ASCII- zum Binärcode ... vom Zeichen über ASCII- zum Binärcode

1 Bit left-Rotation

Download im CorelDraw 11.0-Format

  • alle Bits rücken auf Kommando um eine Position nach links

  • das letzte Bit wird neues Erstes

  • das erste Bit wird neues Zweites (logisch)

1 Bit left-Rotation

Download im CorelDraw 11.0-Format

  • alle Bits rücken auf Kommando um eine Position nach rechts

  • das letzte Bit wird neues Erstes

  • das erste Bit wird neues Zweites (logisch)

1 Bit left-Rotation - Ausgangssituation

1 Bit left-Rotation - Bitmarkierungen

1 Bit left-Rotation

Download im CorelDraw 11.0-Format

1 Bit left-Rotation - Ausgangssituation

1 Bit Right-Rotation - Bitmarkierungen

1 Bit Right-Rotation

Download im CorelDraw 11.0-Format

... Left-/Right-Rotationsprinzip

  • Zeichenpgruppe eingeben

  • Taste LOAD übernimmt das letzte Zeichen

  • Taste CLEAR löscht die Eingabe und den letzten Zustand des Bitmusters

  • ASCII-Code ist die Basis zur Erzeugung eines Bitmusters

  • RL - steht für Rotation Left - RR - steht für Rotation Right

    ... als ProfiLab 4.0-Datei

... ein Projekt von Emily Arlt - Gymnasium Flöha Kurs Informatik 12/II im Schuljahr 2019/2020

... als ZIP-Archiv

... als startbare Datei

  • ASCII-Code ist die Basis

  • die Zahlenwerte Dezimal lassen sich leicht in 7-Bit-Muster wandeln

  • der ANSI-Code hat sich mit 8 Bit nach 1990 durchgesetzt

C- sowie D-Keyblock rotieren nach jeder Nutzung getrennt um jeweils 1 oder 2 Bit
Unser Beispiel zum Verschlüsseln:
  • Plaintext mit 8 Zeichen Länge: PASSWORD
  • Plaintext im ASCII-Code - jeweils dreistellig: 080 065 083 083 087 079 082 068
  • Plaintext im Binär-Code - jeweils 8 Bit pro Zeichen: 01010000 01000001 01010011 01010011 01010111 01001111 01010010 01000100
  • 56-Bit Key: 1100111 0100001 1011111 0011001 1000011 1001011 0011110 0101011 - 56-Bit Key mit Leerezeichen getrennt: 11001110100001101111100110011000011100101100111100101011
... mein 8-Zeichen-Beispiel ... mein 8-Zeichen-Beispiel - aufbereitet in Bits ... die Bits - nur anders angeordnet ... die Eingangspermutation

... mein Plaintext-Beispiel

... das zugehörige 8-Bit-Muster

... das Bit-Muster ohne Schnick-Schnack

... das Bit-Muster nach der Eingangs-Permutation

... aufgesplittet in zwei je 32-Bit-Gruppen      

... mein Plaintext-Beispiel

     
... mein 8-Zeichen-Beispiel die Schlüssel     ... das Ganze als CorelDraw 11.0-Projekt

... mein Plaintext-Beispiel

   

Download im CorelDraw 11.0-Format

 

Encryption zerfällt grundsätzlich in zwei Teile: Plaintext-Konvertierung sowie Key-Permutationen
Plaintext-Aufbereitung Key-Aufbereitung
Bitanordnung des ersten 8 * 8 Zeichen-Musters
01 02 03 04 05 06 07 08
09 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
Bitanordnung nach der Eingangspermutation
58 50 42 34 26 18 10 02
60 52 44 36 28 20 12 04
62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08
57 49 41 33 25 17 09 01
59 51 43 35 27 19 11 03
61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 6

8 × 7 Key-Bits - also der Schlüsselstrom

01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
43 44 45 46 47 48 49
50 51 52 53 54 55 56
  • ... das ist die Schlüsselmenge in 7-Bit-Gruppen, welche wirklich nach Protokoll verwendet wird
  • ... ursprünglich nach IBM-Empfehlung 128 Bit - das wäre eine wesentlich höhere Sicherheit

8 × 7 Key-Bits + Parity-Bit

01 02 03 04 05 06 07 08
09 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
  • ... das 8. Bit dient nur der Absicherung der Nachrichtenverbindung - und wird nach erfolgreichem Eintreffen sofort wieder gelöscht
  • die weitere Nummerierung erfolgt trotzdem auf deren Anwesenheit als Basis, denn sie sind ja erst einmal da ;-)
Eingangspermutationen - links Plaintext-Bits - rechts Key-Bits
... Generierung der 2 × 32 Bit Plaintext-Bitgruppen mit ihrem ursprünglichen Platz ... Generierung der 2 × 28 Bit Key-Bitgruppen mit ihrem ursprünglichen Platz
Linke 32-Bit Gruppe Rechte 32-Bit Gruppe
58 50 42 34 26 18 10 02
60 52 44 36 28 20 12 04
62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08
57 49 41 33 25 17 09 01
59 51 43 35 27 19 11 03
61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 6

28 Bit C-Block 28 Bit D-Block
57 49 41 33 25 17 09 01
58 50 42 34 26 18 10 02
59 51 43 35 27 19 11 03
60 52 44 36        
63 55 47 39 31 23 15 07
62 54 46 38 30 22 14 06
61 53 45 37 29 21 13 05
        28 20 12 04
Kompressionsalgorithmus - links Plaintext-Bits - rechts Key-Bits (Kompression von 56 Bit auf 48)
... Generierung der 2 × 32 Bit Plaintext-Bitgruppen mit ihrem ursprünglichen Platz ... Generierung der 2 × 28 Bit Key-Bitgruppen mit neu fortlaufend nummerierten Platz
Linke 32-Bit Gruppe Rechte 32-Bit Gruppe
58 50 42 34 26 18 10 02
60 52 44 36 28 20 12 04
62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08
57 49 41 33 25 17 09 01
59 51 43 35 27 19 11 03
61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 6

umnummerierter 28 Bit C-Block umnummerierter 28 Bit D-Block
01 02 03 04 05 06 07 08
09 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28        
29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52
        53 54 55 56

... Kompression und Permutation des 56-Bit Keys zu 48-Bit Key-Bitgruppen (... dies ist der wirklich auf die jeweilige aktuell angewandte "Rundenschlüssel") - wir erhalten ein Muster aus 4  × 12 Bit - ist gleich 48 Bit - ergo genau so lang, wie die "permutierten Plaintext-Bits"!!!

56 auf 48-Bit Kompressions-Zuordnungstafel - Schlüssel nach der jeweiligen Rotation (... siehe dazu Rotationstafel)
14 17 11 24 01 05 03 28 15 06 21 10
23 19 12 04 26 08 16 07 27 20 13 02
41 52 31 37 47 55 30 40 51 45 33 48
44 49 39 56 34 53 48 42 50 36 29 32

... ab hier gilt für den 17.4.2020: ... gefunden - aber keine Ahnung. wie genau ab wo gezählt wird - also eine "scheinbare Lösung" per 17.4.2020!!!

... dies ist per 17.4.2020 die möglicherweise richtige "Interpretation", aber "genau" weiß ich dies mit heutigem Datum nicht (... also tue ich das, was die "Großen" vor mir auch taten: "... ich nehme es als richtig an!!!")!!!

... gefunden in: Angewandte Kryptographie  Seite 62
   

Expansion eines der beiden 32-Bit-Plaintext-Eingabeblocks auf auf 48 Bit - einfach durch Mehrfachverwendung einzelner Bits
    Plaintext - Bit-Expansion von 32 Bit auf 48 Bit  
   

... und hier die Zuordnungsatabelle

32 01 02 03 04 05
04 05 06 07 08 09
08 09 10 11 12 13
13 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 01

... gefunden in: Kryptographie verständlich  Seite 71

 
... Expansion der beiden jeweils 28 Bit breiten Key-Bit-Blöcke  (Block C sowie Block D)  auf 48 - der Keysatz von ursprünglich 56 Bit wurde bereits in zwei jeweils 28 Bit große Gruppen geteilt und diese habend bereits eine Eingangspermutation durchlaufen - hier nun wird jeweils der C- sowie der D-Block aufgespreizt in jeweils 48 Bit
    48-Bit Key Rotations-Tabelle die Rotationsyklen-Ausgangs-Permutation  
   
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 15

   
... die acht Substitutions-Boxen
  • die Eingangswerte ergeben sich aus der XOR-Kombination von je einen ausgangspermutierten Key-Bit mit je einem auf 48 Bit expandierten Textbit

  • für die Substitution werden die 48 Bit Incomming aufgesplittet in 8 Gruppen zu je 6 Bit

  • ... die Bits 1 sowie 6 werden zur Zeilen-Adressierung genutzt (sie können nur eines der vier möglichen Bitmuster ergeben: 00B, 01B, 10B, 11B)

  • ... die Bits 2 bis 5 werden zur Spaltenauswahl genutzt - hier ergibt sich in jedem Falle eines der folgenden 16 Bitmuster:  0000B, 0001B, 0010B, 0011B, 0100B, 0101B, 0110B, 0111B, 1000B, 1001B, 1010B, 1011B, 1100B, 1101B, 1110B, 1111B,

  • die hier eingetragenen Werte verstehen sich sowohl in ihrer Adressierung als auch in ihrer Weitergabe binär - sie sind hier der besseren Lesbarkeit geschuldet dezimal notiert

  • die einzelnen Boxen sind reversibel angelegt, sie werden bei der Dechiffrierung genau so benutzt, wie bei der Chiffrierung

  • sie stellen das eigentliche Kunstwerk des DES dar, denn ausschließlich hier wird eine sinnvolle Substitution vorgenommen

  • alles, was sonst wie

Substitutions-Box 1 - alle Adressen & Werte dezimal Substitutions-Box 2 - alle Adressen & Werte dezimal Substitutions-Box 3 - alle Adressen & Werte dezimal Substitutions-Box 4 - alle Adressen & Werte dezimal
  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 04 13 01 02 15 11 08 03 10 06 12 05 09 00 07
1 00 15 07 04 14 02 13 01 10 06 12 11 09 05 03 08
2 00 14 07 11 10 04 13 01 05 08 12 06 09 03 02 15
3 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 15 01 08 14 06 11 03 04 09 07 02 13 12 00 05 10
1 03 13 04 07 15 02 08 14 12 00 01 10 06 09 11 05
2 00 14 07 11 10 04 13 01 05 08 12 06 09 03 02 15
3 01 10 13 00 06 09 08 07 04 15 14 03 11 05 02 12

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 10 00 09 14 09 03 15 05 01 13 12 07 11 04 02 08
1 13 07 00 09 03 04 06 10 02 08 05 14 12 11 15 01
2 13 06 04 09 08 15 03 00 11 01 02 12 05 10 14 07
3 01 10 13 00 06 09 08 07 04 15 14 03 11 05 02 12

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 07 13 14 03 00 06 09 10 01 02 08 05 11 12 04 15
1 13 08 11 05 06 15 00 03 04 07 02 12 01 10 14 09
2 10 06 09 00 12 11 07 13 15 01 03 14 05 02 08 04
3 03 15 00 06 10 01 13 08 09 04 05 11 12 07 02 14

... gefunden in: Kryptographie verständlich  Seite 73 ff.

Substitutions-Box 5 - alle Adressen & Werte dezimal Substitutions-Box 6 - alle Adressen & Werte dezimal Substitutions-Box 7 - alle Adressen & Werte dezimal Substitutions-Box 8 - alle Adressen & Werte dezimal
  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 02 12 04 01 07 10 11 06 08 05 03 15 13 00 14 09
1 14 11 02 12 04 07 13 01 05 00 15 10 03 09 08 06
2 04 02 01 11 10 13 07 08 15 09 12 05 06 03 00 14
3 11 08 12 07 01 14 02 13 06 15 00 09 10 04 05 03

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 12 01 10 15 09 02 06 08 00 13 03 04 14 07 05 11
1 10 15 04 02 07 12 09 05 06 01 13 14 00 11 03 08
2 09 14 15 05 02 08 12 03 07 00 04 10 01 13 11 06
3 04 03 02 12 09 05 15 10 11 14 01 07 06 00 08 13

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 04 11 02 14 15 00 08 13 03 12 09 07 05 10 06 01
1 13 00 11 07 04 09 01 10 14 03 05 12 02 15 08 06
2 01 04 11 13 12 03 07 14 10 15 06 08 00 05 09 02
3 06 11 13 08 01 04 10 07 09 05 00 15 14 02 03 12

... gefunden in: Kryptographie verständlich  Seite 73 ff.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 13 02 08 04 06 15 11 01 10 09 03 14 05 00 12 07
1 01 15 13 08 10 03 07 04 12 05 06 11 00 14 09 02
2 07 11 04 01 09 12 14 02 00 06 10 13 15 03 05 08
3 02 01 14 07 04 10 08 13 15 12 09 00 03 05 06 11

... gefunden in: Kryptographie verständlich  Seite 73 ff.

Substitutionboxen binär aufgelöst
S-Box 1 - alle Adressen & Werte binär S-Box 2 - alle Adressen & Werte binär S-Box 3 - alle Adressen & Werte binär S-Box 4 - alle Adressen & Werte binär

S-Box 1

S-Box 2

S-Box 3

S-Box 4

S-Box 5 - alle Adressen & Werte binär S-Box 6 - alle Adressen & Werte binär S-Box 7 - alle Adressen & Werte binär S-Box 8 - alle Adressen & Werte binär

S-Box 5

S-Box 6

S-Box 7

S-Box 8

Download im CorelDraw 11.0-Format

f-Funktion sowie Schlüsselfahrplan
  • um den 48-Bit Rundenschlüssel ki abzuleiten werden beide 28-BitGruppen bitweise durch PC - 2 permutiert

  • PC - 2 steht für Permuted Choice 2 (zweite Auswahl-Permutation)

48-Bit Key-Expansions-Tabelle PC - 2   16 Runden Key Rotations-Tabelle    
14 17 11 24 1 5 3 28
15 6 21 10 23 19 12 4
26 8 16 7 27 20 13 2
41 52 31 37 47 55 30 40
51 45 33 48 44 49 39 56
34 53 46 42 50 36 29 32

... gefunden in: Kryptographie verständlich  Seite 78

 
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 15

   
16-Runden-Rotations-Tabelle
    48-Bit Key Expansions -Tabelle    
   
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
                               

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 15

16 07 20 21 29 12 28 17
01 15 23 26 05 18 31 10
02 08 24 14 32 27 03 09
19 13 30 06 22 11 04 25

... gefunden in: https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES  Seite 14

 
... die Ausgangs-Permutation
    Bitanordnung Ciphertext nach der 64 Bit Ausgangspermutation    
   
40 08 48 16 56 24 64 32
39 07 47 15 55 23 63 31
38 06 46 14 54 22 62 30
37 05 45 13 53 21 61 29
36 04 44 12 52 20 60 28
34 02 42 10 50 18 58 26
33 01 41 09 49 17 57 25

... gefunden in: Kryptographie verständlich  Seite 71

   
Decryption zerfällt ebenfalls in grundsätzlich zwei Teile:

Key-Aufbereitung

Decryption


4. Triple DES history menue scroll up

Die Sicherheit ist heutzutage aus gutem Grunde vor allem für sensible sowie regelmäßig anfallende Datenübertragungen mit hohem  Risikopotential in Frage gestellt. Vor allem der heute in der Bitanzahl 56 geltende Schlüssel ist als "schwach" einzustufen. Man könnte den Schlüssel stärken 256 Bit sind auch heute noch absolut hart für einen Brute-Force-Angriff. Dies würde allerdings bedeuten, ein bestehendes sowie gut Bekanntes System wieder obsolet zu stellen - der einfachere Weg lautet folgerichtig: wir machen das Ganze drei Mal (... das gilt bis heute auch gegen Angriffe von Parallelrechnersystemen als resistent)!

Arbeitsstand per 21.3.2020



5. Software-Lösungen history menue scroll up

Drei Lösungsansätze kommen in Frage. Delphi-Programme mit dem Vorteil, dass schnell auch größere Texte ver- bzw. entschlüsselt werden können, ECEL hat den Vorteil, dass man für eine 8 × 8-Matrix die Arbeitsweise schnell und gut sehen kann. Eine Hardware-Simulation mit Profi-Lab 4.0 hier ist die Logik der Permutatonen gut erkennbar.
EXCEL-Lösung - hat die besten Aussichten auf eine vollständige Lösung in absehbarer Zeit!!!
Konvertierung des Eingabetextmusters in Bitgruppen Plaintext-Aufbereitung mit Eingangspermutation sowie Aufspaltung in zwei 32-Bit-Blöcke ... jeder Block wird durch Mehrfachnutzung einzelnerr Bits auf 48 Bit erweitert Key-Konvertierung DES-Funktion

Pflichteingabe von 8 definierten ASCII-Code relevanten Zeichen

Aufspaltung in 32-Bit Gruppen

32 zu 48 Bit-Expansion für die linke sowie rechte Seite

56-Bit Schlüssel-Konvertierung

Download Kalkulationstabelle

Delphi Lösungsansatz - weit gekommen aber im Detail für eine schnelle Lösung zu komplex!!!
Delphi-Projekt März 2020        

Eingabemaske Encoding

Download Anwendung

Download Anwendung

       
Profi-Lab 4.0
ProfiLab 4.0-Projekt März 2020        

 

Eingabemaske Encoding

Download Anwendung

       


6. Verwandte Themen history menue scroll up

... Grundprinzip der Gesamtausschreibung war ja, dass sich alles relativ einfach in Hardware gießen lässt. Also die Eingaben via ASCII in Bits zerlegen und mit diesen dann die gesamte Verschlüsselung durchführen. Das bedeutet, dass wir hier eben auch zwangsläufig die Hardware tangieren. Das Prinzip war ja: kein Eingriff menschlicher Hand, extrem sicher und vor allem wahnsinnig schnell.

Schieberegister

Schieberegister

Bifid-Chiffre

VIC-Chiffre

Doppelwürfel

Dr. Richard Sorge

   



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 9. August 2011 um 9.01 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehemn ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)