 |
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
|
 |
|
 |

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:
|
 |
|
 |
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:
|
 |
… 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.
|
 |
|
 |
- 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
|
 |
|
 |
- 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
|
 |
|
 |
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. |
 |
|
 |
|
 |
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
|
 |
|
 |
|
 |
|
 |
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 |
|
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 |
|
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. |
|
 |
|
 |
|
 |
|
 |
... 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 |