3.14 Nicht-periodische Schlüssel mittels Auto

Transcription

3.14 Nicht-periodische Schlüssel mittels Auto
3.14 Nicht-periodische Schlüssel mittels Auto-Key
• komplett nicht-periodische Schlüssel lassen sich erreichen, wenn der Text in die
Schlüsselerzeugung einbezogen wird
• grundsätzlich problematisch: Verschleppung von Chiffrierfehlern
• einfache Auto-Key-Verfahren oft leicht angreifbar
• Beispiel:
• VIGENÈRE-Verschlüsselung
• erste d Klartextzeichen x1 . . . xd werden mit geheimem Schlüsselkeim c1 . . . cd
chiffriert
• danach wird i-tes Zeichen mit ci = xi−d chiffriert
• es gilt jedoch
yi+2d
für 1 ≤ i ≤ d
yi = xi + ci
yi+d − yi = xi+d − ci
− yi+d + yi = xi+2d + ci
yi+3d − yi+2d + yi+d − yi = xi+3d − ci
..
.
• effektiv also lediglich Verdoppelung der Periode, mit abhängigen Schlüsseln der
beiden Hälften
• ähnliche Ansätze als Stromchiffren aber durchaus effektiv
Monographische, polyalphabetische Substitution – Nicht-periodische Schlüssel mittels Auto-Key
< 69 / 144 >
4 Polygraphische Substitution
• polygraphisch: mehrere Klartextzeichen werden auf einmal verschlüsselt
• Anzahl möglicher Substitutionen steigt rasant; bei Verschlüsselung von n Zeichen
aus einem Alphabet der Mächtigkeit N = 26:
n
1
2
(N n )! 4,03 · 1026 1,88 · 101621
3
1,19 · 1066 978
• allgemeine Substitution (keine Systematik) nur bis etwa n = 3 handhabbar
(Tabelle mit 263 = 17576 Einträgen)
Polygraphische Substitution
< 70 / 144 >
4.1 Bigramm-Substitution
• es werden Bigramme substituiert, also χ : V 2 −→ W (m)
• Spezielfall Bigramm-Permutation, also χ : V 2 −→ V 2
• Angabe durch Tabelle
a
b
.
.
.
a
CA
SK
.
.
.
b
FN
WM
.
.
.
c
BL
DG
.
.
.
d
OU
IA
.
.
.
e
IH
CW
.
.
.
f
OO
PF
.
.
.
g
IL
IF
.
.
.
h
BV
VD
.
.
.
i
BE
DA
.
.
.
j
ER
XZ
.
.
.
...
...
...
..
.
• falls nicht involutorisch: inverse Tabelle nötig
• ab 1. Mai 1937 von deutscher Marine verwendet, um Enigma-Spruchschlüssel
überzuchiffrieren; aber nur zehn (involutorische) Tabellen in Gebrauch, die von
den Briten aufgeklärt wurden
• Angriff gegen Bigramm-Substitutionen über Bigramm-Häufigkeiten, entsprechend
Zeichenhäufigkeiten bei monographischen Verfahren
Polygraphische Substitution – Bigramm-Substitution
< 71 / 144 >
• PLAYFAIR-Verfahren: Bigramm-Permutation über Alphabet mit N = 25 Zeichen
(natürliches Alphabet ohne j)
• wurde noch im zweiten Weltkrieg (teilweise leicht modifiziert) auf unterer
Kommandoebene benutzt
• basiert auf einem 5 × 5-Quadrat, beispielsweise
S
E
D
M
R
C
T
F
N
V
H
X
G
O
W
L
A
I
P
Y
U
B
K
Q
Z
• falls beide Bigramm-Zeichen in einer Zeile: beide auf rechten Nachbarn abbilden
(mit Ringschluss); hu 7→ LS
• falls beide Bigramm-Zeichen in einer Spalte: beide auf unteren Nachbarn abbilden
(mit Ringschluss); qu 7→ ZB
• sonst Überkreuzschritt: neuer Buchstabe in selber Zeile, aber Spalte des jeweils
anderen; da 7→ IE
• doppelte Buchstaben werden durch Einfügen von x aufgelöst;
tasse 7→ tasxse 7→ XBHEED
Polygraphische Substitution – Bigramm-Substitution
< 72 / 144 >
• kombinatorische Komplexität von PLAYFAIR relativ gering
• nur 25! = 1,55 · 1025 mögliche 5 × 5-Quadrate
• davon jeweils 25 durch zyklische Verschiebung gebildete äquivalent
S C H L
U
W
Y
Z R
V
E T X
A
B
H L U S
C
D F G
I
K
X
A
B E
T
⇔
M N O
P
Q
G
I
K D
F
R V W
Y
Z
O
P
Q M
N
• also nur 24! = 6,20 · 1023 Möglichkeiten – weniger als monographische Substitution
• Angriff über Bigramm-Häufigkeiten oder wahrscheinliches Wort, zusammen mit
der Einschränkung der möglichen Substitutionen ⇒ falsche Annahmen führen
schnell zu Widerspruch
Polygraphische Substitution – Bigramm-Substitution
< 73 / 144 >
4.2 Codes
• Codes besitzen einen Chiffrierschritt χ : C −→ W m , C ∈ V ∗ variabler Breite für
eine Untermenge von V ∗
• C so gewählt, dass sich jeder Klartext in Elemente von C zerlegen lässt (in der
Regel V ⊂ C )
• häufige Silben, Wörter Phrasen in C enthalten
• Wahl möglichst langer Segmente bei der Codierung
• einteilige Codes erhalten die lexikographische Ordnung, um decodierung zu
ermöglichen; Beispiel (Auszug aus Signalbuch der deutschen Kaiserlichen Marine,
1914):
63940
63941
63942
63943
63944
OAT
OAU
OAÜ
OAV
OAW
Ohnmacht, -ig
Ohr, OhrenOkkupation, Okkupations-, -ieren
Ökonomie, -isch
Oktant
• zweiteilige Codes enthalten für Codierung und Decodierung jeweils passend
sortierte Teile
Polygraphische Substitution – Codes
< 74 / 144 >
• Codes umfangreich und schwierig zu wechseln – es fehlt der Schlüssel
• zur Geheimhaltung nur in Kombination mit Verschlüsselung zu gebrauchen
• Codierung vor Verschlüsselung (überchiffrierter Code) sinnvoll, falls Code gut
gewählt (und diszipliniert eingesetzt)
• Zeichenhäufigkeiten werden nivelliert
• wahrscheinliches Wort wird verkürzt, weniger “Angriffsfläche”
• Nachricht wird verkürzt, weniger “Angriffsfläche” und geringerer
Übertragungsaufwand
Polygraphische Substitution – Codes
< 75 / 144 >
4.3 Lineare Substitution
• Buchstaben werden wieder isomorph zu Elementen aus Z26 behandelt
• Chiffrierschritt als lineare Abbildung
χ(x) = xT + t,
x ∈ Zn26 , t ∈ Zn26 , T ∈ Zn×n
26
• falls T = I Reduktion zu VIGENÉRE mit periodischem Schlüssel, d = n
• invertierbar, falls T regulär (über Z26 )
χ−1 (y ) = (y − t)T −1 = yT −1 − tT −1
• Konstruktion reguläre Matrix T als T = LDU mit L, U untere bzw. obere
Dreiecksmatrix mit Einsen in der Diagonale und D Diagonalmatrix mit
invertierbaren Elementen
• involutorisch, falls (xT + t)T + t = xT 2 + tT + t = x, also T 2 = I und tT = −t
Polygraphische Substitution – Lineare Substitution
< 76 / 144 >
Beispiel:

1
T = 22
12
t= 8
0
1
9
0

0
3
0 0
1
0
12
24 15

3
10 17 24 14
10

3
15 19 14 14
10
krypto ≡ 10
17
0
19
0

0
1
0  0
17
0
3
1
0
 
7
3
15 ' 14
1
10
9
9
19

21
19
0
14

9 21
9 19 + 8 0 12 ' 22 23 25 ≡ WXZ
19 0

9 21
9 19 + 8 0 12 ' 17 0 12 ≡ RAM
19 0
19
also Verschlüsselung zu WXZRAM
Polygraphische Substitution – Lineare Substitution

1

22
T =
12
T −1
22
17

1

= 0
0

1
' 0
0
23
0
0
1
9
< 77 / 144 >

0
3
0 0
1
0

0
1
0  0
17
0
0
19
0
−1 
−1 
7
3 0
0
1




15
0 19 0
22
1
0 0 17
12


23 12
9 0
0
1 0
1 11 0 11 0  4 1
0
1
0 0 23
4 17
3
1
0
25 − 8
12 − 8
3
1
0

7
15
1
−1
0 0
1 0
9 1
 
0
19
0 ' 16
1
14
5
22
1

16
19
23
0
12

19
16
14
5
22
1

16
19 ' 10
23
17
24 ≡ kry
0

19
12 16
14
5
22
1

16
19 ' 15
23
19
14 ≡ pto
Polygraphische Substitution – Lineare Substitution
< 78 / 144 >
Angriff über wahrscheinliches Wort der Länge k · n:
• bei richtiger Lage x und y bekannt in y = xT + t für k verschiedene x und y
• zusammenfassen der Gleichungungen
   
 

y1
x1
1
x1
y2  x2 
1
x2
   
 

 .  =  .  T + . t =  .
.
.
.
. .
.
 ..
yk
xk
1

1
1
 T
..  t
.
1
xk
• nach T , t auflösbar, falls k ≥ n + 1, also Mindestlänge des wahrscheinlichen
Wortes = (n + 1) · n = n2 + n
• falls wahrscheinliches Wort länger als nötig: Gleichungssystem überbestimmt;
Ausschluss falscher Lage falls keine Lösung
Polygraphische Substitution – Lineare Substitution
< 79 / 144 >
5 Transposition
• die Zeichen des Klartextes werden beibehalten, aber in der Reihenfolge geändert
• einfachste Verfahren schreiben Nachricht z.B. waagerecht in Zeilen vorgegebener
Länge lesen Senkrecht heraus
m
n
t
a
g
r
e
⇒ MNTAG REATD UOANN EECNU
a n k o e
t e s t a
d e s s e
u c h d i
o n a l h
a u s l e
n
KSSHA SOTSD LLEAE
n
t
n
a
e
s
IHENT NAES
• letzte Zeile wird häufig mit Blendern aufgefüllt – unnötig, da Empfänger Länge
der Nachricht kennt
Transposition
< 80 / 144 >