Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische...

78
1 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 1 IT Sicherheit Teil 2 Kryptologie WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 2 Literatur Basiswissen IT-Sicherheit Werner Boguntke W3L Angewandte Kryptographie Dr. W. Ertel Hanser Verlag

Transcript of Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische...

Page 1: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

1

WS 201011 Vorlesung IT-Sicherheit

M Harms

1

IT Sicherheit

Teil 2

Kryptologie

WS 201011 Vorlesung IT-Sicherheit

M Harms

2

Literatur

bull Basiswissen IT-Sicherheit Werner Boguntke W3L

bull Angewandte Kryptographie Dr W Ertel Hanser Verlag

2

WS 201011 Vorlesung IT-Sicherheit

M Harms

3

Inhalt

bull Kryptologie= Kryptographie + Kryptoanalyse

bull Motivation Caesars Chiffre

bull Modulare Arithmetik

bull Historische kryptographische Algorithmen

bull Kryptoanalyse

bull Kerckhoffsrsquo Prinzip

bull Moderne kryptographische Algorithmen

WS 201011 Vorlesung IT-Sicherheit

M Harms

4

Nomenklatur

Bezeichnungen

ndash Klartext M (message)

ndash Chiffrierung E (encryption)

ndash Schluumlssel K (key)

ndash Geheimtext C (chiphertext)

ndash Entschluumlsselung D (decryption)

Beispiel C = EK( M )

3

Nomenklatur

Personen der Handlung

bull Alice Bob +Carol Carlos Charlie

bull Eve (= eavesdropper passive Attacke)

bull Mallory Marvin Mallet (= malicious attacker)

bull Trudy (= intruder)

bull Peggy (prover) und Victor (verifier)

bull Trent (trusted entity)

WS 201011 Vorlesung IT-Sicherheit

M Harms

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

6

Nomenklatur

Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen

muumlssen geheim gehalten werden

ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)

muumlssen invertierbar sein D( E(M) ) = M

4

WS 201011 Vorlesung IT-Sicherheit

M Harms

7

Motivation

Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung

Zyklische Verschiebung (Rotation) eines Alphabet Rings

= Addition in (endlicher) Menge von Buchstaben

Modulare Arithmetik

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

8

Verschiebechiffre Caesars Code

verschluumlsseln

KLARTEXT

+ DDDDDDDD (D=3)

NODUWHAW

bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet

bull zyklischen Rotation des Alphabets um k Zeichen

bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo

entschluumlsseln

NODUWHAW

- DDDDDDDD

KLARTEXT

Gra

fik F

H T

rier

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

9

Verschiebechiffre Caesars Code

bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

10

Modulare Arithmetik

Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1

bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3

Satz

Seien a b und b gt 0

Dann gibt es eindeutige q r mit

a = qmiddotb + r und r lt b

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 2: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

2

WS 201011 Vorlesung IT-Sicherheit

M Harms

3

Inhalt

bull Kryptologie= Kryptographie + Kryptoanalyse

bull Motivation Caesars Chiffre

bull Modulare Arithmetik

bull Historische kryptographische Algorithmen

bull Kryptoanalyse

bull Kerckhoffsrsquo Prinzip

bull Moderne kryptographische Algorithmen

WS 201011 Vorlesung IT-Sicherheit

M Harms

4

Nomenklatur

Bezeichnungen

ndash Klartext M (message)

ndash Chiffrierung E (encryption)

ndash Schluumlssel K (key)

ndash Geheimtext C (chiphertext)

ndash Entschluumlsselung D (decryption)

Beispiel C = EK( M )

3

Nomenklatur

Personen der Handlung

bull Alice Bob +Carol Carlos Charlie

bull Eve (= eavesdropper passive Attacke)

bull Mallory Marvin Mallet (= malicious attacker)

bull Trudy (= intruder)

bull Peggy (prover) und Victor (verifier)

bull Trent (trusted entity)

WS 201011 Vorlesung IT-Sicherheit

M Harms

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

6

Nomenklatur

Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen

muumlssen geheim gehalten werden

ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)

muumlssen invertierbar sein D( E(M) ) = M

4

WS 201011 Vorlesung IT-Sicherheit

M Harms

7

Motivation

Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung

Zyklische Verschiebung (Rotation) eines Alphabet Rings

= Addition in (endlicher) Menge von Buchstaben

Modulare Arithmetik

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

8

Verschiebechiffre Caesars Code

verschluumlsseln

KLARTEXT

+ DDDDDDDD (D=3)

NODUWHAW

bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet

bull zyklischen Rotation des Alphabets um k Zeichen

bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo

entschluumlsseln

NODUWHAW

- DDDDDDDD

KLARTEXT

Gra

fik F

H T

rier

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

9

Verschiebechiffre Caesars Code

bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

10

Modulare Arithmetik

Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1

bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3

Satz

Seien a b und b gt 0

Dann gibt es eindeutige q r mit

a = qmiddotb + r und r lt b

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 3: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

3

Nomenklatur

Personen der Handlung

bull Alice Bob +Carol Carlos Charlie

bull Eve (= eavesdropper passive Attacke)

bull Mallory Marvin Mallet (= malicious attacker)

bull Trudy (= intruder)

bull Peggy (prover) und Victor (verifier)

bull Trent (trusted entity)

WS 201011 Vorlesung IT-Sicherheit

M Harms

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

6

Nomenklatur

Kryptographische Algorithmen = Berechnungsvorschriften ndash eingeschraumlnkte Algorithmen

muumlssen geheim gehalten werden

ndash starke Algorithmen starke Kryptographie gem Kerkhoffs Prinzip (swu)

muumlssen invertierbar sein D( E(M) ) = M

4

WS 201011 Vorlesung IT-Sicherheit

M Harms

7

Motivation

Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung

Zyklische Verschiebung (Rotation) eines Alphabet Rings

= Addition in (endlicher) Menge von Buchstaben

Modulare Arithmetik

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

8

Verschiebechiffre Caesars Code

verschluumlsseln

KLARTEXT

+ DDDDDDDD (D=3)

NODUWHAW

bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet

bull zyklischen Rotation des Alphabets um k Zeichen

bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo

entschluumlsseln

NODUWHAW

- DDDDDDDD

KLARTEXT

Gra

fik F

H T

rier

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

9

Verschiebechiffre Caesars Code

bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

10

Modulare Arithmetik

Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1

bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3

Satz

Seien a b und b gt 0

Dann gibt es eindeutige q r mit

a = qmiddotb + r und r lt b

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 4: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

4

WS 201011 Vorlesung IT-Sicherheit

M Harms

7

Motivation

Chiffre durch Verschiebung im Alphabet Caesars Verschluumlsselung

Zyklische Verschiebung (Rotation) eines Alphabet Rings

= Addition in (endlicher) Menge von Buchstaben

Modulare Arithmetik

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

8

Verschiebechiffre Caesars Code

verschluumlsseln

KLARTEXT

+ DDDDDDDD (D=3)

NODUWHAW

bull Julius Caesar (100-44 v Chr) hat dieses Verfahren bereits verwendet

bull zyklischen Rotation des Alphabets um k Zeichen

bull Schluumlssel zB bdquoDldquo bdquoABCDEFGldquo -gt bdquoDEFGHIJldquo

entschluumlsseln

NODUWHAW

- DDDDDDDD

KLARTEXT

Gra

fik F

H T

rier

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

9

Verschiebechiffre Caesars Code

bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

10

Modulare Arithmetik

Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1

bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3

Satz

Seien a b und b gt 0

Dann gibt es eindeutige q r mit

a = qmiddotb + r und r lt b

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 5: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

5

WS 201011 Vorlesung IT-Sicherheit

M Harms

9

Verschiebechiffre Caesars Code

bdquomonoalphabetische Substitutionldquo jedem Buchstaben eines Textes wird ein anderer eindeutiger Buchstabe zugeordnet z ( z + k ) mod n

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

10

Modulare Arithmetik

Dividiert man eine natuumlrliche Zahl n durch eine andere bleibt ein Rest r 0 1 2 hellip n-1

bull Beispiele 15 4 = 3 Rest 3 oder 15 = 4 middot 3 + 3 15 5 = 3 Rest 0 oder 15 = 5 middot 3

Satz

Seien a b und b gt 0

Dann gibt es eindeutige q r mit

a = qmiddotb + r und r lt b

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 6: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

6

WS 201011 Vorlesung IT-Sicherheit

M Harms

11

Arithmetik auf endlichen Mengen

Kongruenz in der Zahlentheorie

Man nennt zwei Zahlen kongruent bezuumlglich eines Moduls (eine weitere Zahl) wenn sie bei Division durch den Modul den selben Rest haben

Beispiel

5 ist kongruent zu 8 modulo 3 denn

5 mod 3 = 2

8 mod 3 = 2

Schreibweise

a b mod m

Formale Definition bull Zwei Zahlen a und b sind kongruent modulo m wenn m die Differenz a minus b teilt

bull Zwei Zahlen a und b sind inkongruent modulo m wenn m die Differenz a minus b nicht teilt

WS 201011 Vorlesung IT-Sicherheit

M Harms

12

Verschiebechiffre Caesars Code

Warum ist die

monoalphabetische Substitution

einfach zu knacken

Gra

fik F

H T

rier

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 7: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

7

WS 201011 Vorlesung IT-Sicherheit

M Harms

13

Kryptoanalyse Verschiebechiffre (Caumlsars Code)

Chiffretest Faust

A 0 497

B 0 187

C 130 398

D 649 487

E 0 1569

F 779 190

G 260 278

H 1169 675

I 519 844

J 130 019

K 909 107

L 779 397

M 0 322

N 0 967

O 390 232

P 130 092

Q 909 004

R 260 673

S 0 667

T 0 630

U 909 405

V 909 064

W 390 186

X 260 004

Y 390 003

Z 130 103

0

2

4

6

8

10

12

14

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Faust

000

500

1000

1500

2000

1 3 5 7 9 11 13 15 17 19 21 23 25

Reihe1

Gra

fik F

H T

rier

WS 201011 Vorlesung IT-Sicherheit

M Harms

14

Wiederholung Mathematik

Kommutativgesetz bull a + b = b + a

bull a middot b = b middot a

Assoziativgesetz bull a + ( b + c) = (a + b) + c

bull a middot ( b middot c ) = (a middot b) middot c

Distributivgesetz bull a middot ( b + c ) = a middot b + a middot c

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 8: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

8

Arithmetik auf endlichen Mengen

Ring

Addition OK

Multiplikation funktioniert

0 und 1 bei Multiplikation und Addition wie gewohnt

Kommutativer Ring

Multiplikation funktioniert noch besser

Koumlrper

kommutativer Ring plus

Division klappt

WS 201011 Vorlesung IT-Sicherheit

M Harms

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

16

Arithmetik auf endlichen Mengen

Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist

Das heiszligt

ndash bez + gibt es ein neutrales Element 0

ndash sowie zu jedem a ein inverses Element a- und

ndash es gelten das Assoziativ- und Kommutativgesetz

bull (Mmiddot) besitzt ein neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 9: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

9

WS 201011 Vorlesung IT-Sicherheit

M Harms

17

Arithmetik auf endlichen Mengen

Def

Ein Ring heiszligt kommutativ wenn er bezuumlglich der Multiplikation kommutativ ist

Def n

der Restklassenring modulo n ist

n (sprich bdquoZ modulo nldquo)

= n

= 01hellipn-1

Satz ( n + middot ) ist ein kommutativer Ring

Def p heiszligt Primzahl

wenn sie genau durch zwei verschieden natuumlrliche Zahlen teilbar ist

WS 201011 Vorlesung IT-Sicherheit

M Harms

18

Arithmetik auf endlichen Mengen

Def

Ein Ring (M+middot) heiszligt Koumlrper

ndash wenn (M middot) kommutativ ist und

ndash wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

ndash Null und Eins verschieden sind

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 10: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

10

WS 201011 Vorlesung IT-Sicherheit

M Harms

19

Arithmetik auf endlichen Mengen

Satz Fuumlr den Ring ( n + middot ) gilt

n prim ( n + middot ) ist ein Koumlrper

Satz (Fermat 1608-1665) Sei n eine Primzahl

dann gilt in n fuumlr alle a 0

an-1 = 1 oder a an mod n

bzw a - an ist durch n teilbar

WS 201011 Vorlesung IT-Sicherheit

M Harms

20

Arithmetik auf endlichen Mengen

Funktion f(x) = gx mod p

bull Bsp p=7 Restklassenring

6 =01hellip6

bull 3 und 5 sind bdquoErzeugerldquo von 6 0

x=

1 2 3 4 5 6

g= 1 1 1 1 1 1 1

2 2 4 1 2 4 1

3 3 2 6 4 5 1

4 4 2 1 4 2 1

5 5 4 6 2 3 1

6 6 1 6 1 6 1

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 11: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

11

WS 201011 Vorlesung IT-Sicherheit

M Harms

21

Arithmetik auf endlichen Mengen

Def Zwei Zahlen a und b heiszligen relativ prim (oder teilerfremd) wenn ggT(ab) = 1

Satz (Euklidischer Algorithmus) Fuumlr ab 0 gilt

Satz Ist ggT(an) = 1 dann gibt es ein a-1 bez n mit

amiddota-1 1 mod n

a-1 kann mit dem bdquoerweiterten Euklidischen Algorithmusldquo errechnet werden

ggT(ab) = ggT(b a mod b) falls a mod b 0

b falls a mod b = 0

WS 201011 Vorlesung IT-Sicherheit

M Harms

22

Uumlbung Ring vs Koumlrper

Erinnerung Def Eine Struktur (M+middot) heiszligt Ring wenn

bull (M+) eine kommutative Gruppe ist (bez + gibt es neutrales Element 0 zu jedem a ein inverses Element a- und es gelten das Assoziativ- und Kommutativgesetz)

bull (Mmiddot) besitzt neutrales Element 1 und es gilt das Assoziativgesetz

bull Es gilt das Distributivgesetz amiddot(b+c) = amiddotb + amiddotc a b c M

Def Ein Ring (M+middot) heiszligt Koumlrper

bull wenn (M middot) kommutativ ist und

bull wenn es zu jedem a 0 ein inverses a-1 gibt fuumlr das amiddota-1 = 1 ist und

bull Null und Eins verschieden sind

Seien A=0 B=1 hellip und so weiter

Zeige dass ABC ein Koumlrper aber ABCD nur ein Ring ist

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 12: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

12

WS 201011 Vorlesung IT-Sicherheit

M Harms

23

Beispiele fuumlr Ringe und Koumlrper

Ring

bull Ganze Zahlen = hellip -3 -2 -1 0 1 2 hellip

bull Restklassenring

bull Polynome (kommutativer Ring)

bull Matrix (nicht kommutativ Ring)

bull Ziffernblatt der Uhr

Koumlrper

bull rationale Zahlen

bull primer Restklassenring

bull Felder F wie F23

bull ein Bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

24

Modulare Division

Wie wird eine Division berechnet

x = a b mod m

Antwort

x = amiddotb-1 mod m

Zentrale Frage daher

Wie berechnet man das modular Inverse b-1

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 13: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

13

WS 201011 Vorlesung IT-Sicherheit

M Harms

25

Modulare Division Wie bestimmt man das modular Inverse b-1

Ausgangsbasis

bmiddotb-1 1 mod m

Es gibt also ein q mit

bmiddotb-1 = qmiddotm + 1

bmiddotb-1 - qmiddotm = 1

Beacutezout-Identitaumlt

ggT(ab) = smiddota + tmiddotb

also

ggT(b m) = bmiddotb-1 - qmiddotm

erw Euklidischen Algorithmus

ggT( m b ) = ggT( b m mod b ) = hellip = ggT( 1 0 ) = 1 weil m Primzahl

Alle Multiplikatoren qi merken a = qmiddotb + r

ggT(bm) =1 = smiddot1 + tmiddot0 also s= 1 t =0

und dann alle Schritte ruumlckwaumlrts

si-1 = ti und ti-1 = si ndash qi ti

WS 201011 Vorlesung IT-Sicherheit

M Harms

26

Modulare Division

bull Beispiel

m 23

x 12

x -1 =

a = qmiddotb + r ggT(ab) = smiddota + tmiddotb

a b q s t

23 12 1 -1 2 1 = -1 23 + 2 12

12 11 1 1 -1

11 1 11 0 1 =s - qt

1 0 1 0

1 = smiddot1 + tmiddot0

x-1 = 2 Pruumlfung 2 12 = 24 1 mod 23

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 14: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

14

WS 201011 Vorlesung IT-Sicherheit

M Harms

27

Historische kryptographische

Algorithmen

bull Verschiebechiffre (Caumlsars Code)

bull Vigenegravere Chiffre

bull Enigma

bull One Time Pad

WS 201011 Vorlesung IT-Sicherheit

M Harms

28

Monoalphabetische Substitution

monoalphabetische Substitution jedem Buchstaben eines Textes ein anderer eindeutiger Buchstabe zugeordnet

Verschiebechiffre (Caesar) z ( z + k ) mod n

Multiplikative Chiffre z ( z middot t ) mod n mit ggT(tn) = 1

Tauschchiffre (affine Chiffre) z ( z middot t + k ) mod n mit ggT(tn) = 1

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 15: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

15

WS 201011 Vorlesung IT-Sicherheit

M Harms

29

Tauschchiffre (affine Chiffre)

z ( z middot t + k ) mod n

zB t=5 k=7 n=26 und es ist ggT(tn) = 1

0 1 2 3 4 5 6 7 8 9 10 hellip

7 12 17 22 1 6 11 16 21 0 7 hellip (5z + 7) mod 26

7 12 17 22 1 6 11 16 21 0 7 hellip

0 1 2 3 4 5 6 7 8 9 10 hellip (Az + B) mod 26 A= B=

WS 201011 Vorlesung IT-Sicherheit

M Harms

30

Vigenegravere Chiffre

bull Polyalphabetischer Chiffre

bull Verschleiert Haumlufigkeiten

bull Sender u Empfaumlnger vereinbaren Schluumlsselwort

bull M=VERTRAULICH

bull K=GEHEIMGEHEI

bull C=CJZYANBQQHQ

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 16: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

16

WS 201011 Vorlesung IT-Sicherheit

M Harms

31

Vigenegravere Chiffre -Kryptoanalyse

1 Verfahren bull Schluumlssellaumlnge L bdquofindenldquo oder raten

bull Weiter wie bei Caesar alle L Zeichen zusammen analysieren

2 Verfahren (BabbageKasiski) bull Wiederholungen von 3 (oder mehr) Buchstaben

suchen

bull Abstand (je weiter desto sicherer) ist wahrscheinlich Vielfaches der Schluumlssellaumlnge

bull Danach Analyse der Haumlufigkeiten von Buchstaben bez auf potentielle Schluumlssellaumlngen

WS 201011 Vorlesung IT-Sicherheit

M Harms

32

Vigenegravere Chiffre -Kryptoanalyse

bull XNXMCXMYCSOYLXNWBJBHYXMYMYXMXJKXUIXHWTWCYWXHTJBAYSDIYSGNY

bull XMY Abstand 16 = 2222

bull Wahrscheinliche Keylaumlngen 2 4 8 16

bull zB Schluumlssellaumlnge 4 jedes 4 Zeichen auf Haumlufigkeiten untersuchen

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 17: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

17

WS 201011 Vorlesung IT-Sicherheit

M Harms

33

Enigma

bull Die ENIGMA ist eine elektromechanische Rotor-Schluumlsselmaschine

bull polyalphabetische Substitution

bull 1918 erstes Patent Arthur Scherbius (Elektroingenieur)

bull 1934 Firma bdquoHeimsoeth amp Rinkeldquo

WS 201011 Vorlesung IT-Sicherheit

M Harms

34

Enigma ndash Grundprinzip

Quelle Wikimedia Commons

Reflektor

Mittel- Rotor

Re Rotor

li Rotor

x

A

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 18: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

18

WS 201011 Vorlesung IT-Sicherheit

M Harms

35

Enigma - Schluumlsselraum

bull Walzenlage

ndash 3 von 5 Walzen und eine von zwei Umkehrwalzen werden ausgewaumlhlt 2middot(5middot4middot3) = 120 moumlgliche Walzenlagen

bull Ringstellung

ndash 2 Walzen je 26 Stellungen 26sup2 = 676 Ringstellungen

bull Walzenstellung

ndash drei (rotierenden) Walzen mit 26 Moumlglichkeiten (A bis Z) ohne Redundanzen 26middot25middot26 = 16900 Walzenstellungen

bull Steckerverbindungen

ndash 13 Steckerverbindungen zwischen den 26 Buchstaben = 150 Billionen Steckmoumlglichkeiten

Schluumlsselmoumlglichkeiten

120 middot 676 middot 16900 middot 150738274937250 =

206651321783174268000000

entspricht ca 77 bit

WS 201011 Vorlesung IT-Sicherheit

M Harms

36

One-Time-Pad

bull One-Time-Pad (OTP) Einmalverschluumlsselung

bull M VERTRAULICH

bull K PIYXQLTAXRA

z ( m + k ) mod 26

bull C LNQRIMOMGUI

Nicht praktikabel da Schluumlsselaustauschproblem besteht

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 19: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

19

WS 201011 Vorlesung IT-Sicherheit

M Harms

37

Kryptoanalyse

Ziel Alle verfuumlgbaren Informationen uumlber Verfahren in die Analyse mit einzubeziehen

oumlffentlich bekannte Informationen ndash AlgorithmenVerfahren

ndash Parameter

ndash plausible Vermutungen

ndash hellip

geheime Informationen ndash Schluumlssel

WS 201011 Vorlesung IT-Sicherheit

M Harms

38

Kryptoanalyse

Kategorien

bull Vollstaumlndiges Aufbrechen ndash Schluumlssel gefunden

bull Globale Deduktion ndash Aumlquivalenter Algorithmus

bull Lokale Deduktion ndash Nachricht entziffert

bull Informationsdetektion ndash Eingeschraumlnkt entziffert

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 20: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

20

WS 201011 Vorlesung IT-Sicherheit

M Harms

39

Kryptoanalyse

Wichtige Methode

bull Haumlufigkeits-Wiederholungsanalyse

bull Brute-Force

bull Woumlrterbuch

bull Seitenkanalanalyse

bull Lineare differentielle Kryptoanalyse

bull Algebraische Analyse

WS 201011 Vorlesung IT-Sicherheit

M Harms

40

Kryptoanalyse Haumlufigkeits- u Wiederholungsanalyse

bull Haumlufigkeit von Buchstaben auswerten ndash E ca 15 - 20

ndash N ca 10

ndash A D I RS T ca 5 ndash 10

ndash hellip

bull Paarhaumlufigkeit ndash EN ER ca 4

ndash CH TE ca 3

ndash TE DE ND EI IN ES um 2

bull Abstaumlnde von Zeichenfolgen aus mind 3 Zeichen Ermittlung der Schluumlssellaumlnge (Kasiski Test)

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 21: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

21

WS 201011 Vorlesung IT-Sicherheit

M Harms

41

Seitenkanalanalyse

Angreifer versucht zunaumlchst andere Daten zu erfassen und daraus Informationen uumlber den verwendeten Algorithmus und Schluumlssel zu gewinnen

bull Dauer der Verschluumlsselung

bull zeitliche Verlauf des Stromverbrauchs eines Chips

bull Berechnungsfehler aufgrund extremer Umgebungsbedingungen

bull Branch Prediction Analysis

bull Abstrahlung elektromagnetischer Wellen

WS 201011 Vorlesung IT-Sicherheit

M Harms

42

Einschub Wie rechnet man moumlglichst schnell xy

1 wenn n=0

x n = x (x (n-1)2 ) 2 wenn n ungrade

(x n2 ) 2 wenn n grade

binaumlre Exponentiation

zB n = 38 = 100110

xn = x 100110 = ( x 10011 )2 = ( ( x (x 1001 ) 2 ) )2 = ( ( x ( x ( x 100 ) 2 ) 2 ) )2 = ( ( x ( x ( ( x 10 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( ( x 1 ) 2 ) 2 ) 2 ) 2 ) )2

= ( ( x ( x ( ( x ) 2 ) 2 ) 2 ) 2 ) )2

Programmablauf Q QM QM Q Q 100110

Also statt 38 Multiplikationen nur 7 Multiplikationen

Quadiere

Quadriere und Multiplizieren

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 22: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

22

WS 201011 Vorlesung IT-Sicherheit

M Harms

43

BPA bei RSA mit Standard Algorithmus

C = Md (mod N)

Binary Square-and-Multiply Exponentiation Algorithm

Code S = M

for ( int i = 1 i ltn-1 i++)

S = SS mod N

if ( di = 1 )

S = SM mod N

return S

Ref On the Power of Simple Branch Prediction Analysis Onur Aciiccedilmez Ccediletin Kaya Koccedil and Jean-Pierre Seifert

Sprungbefehle der CPU analysieren

di d

geheimer Schluumlssel d

WS 201011 Vorlesung IT-Sicherheit

M Harms

44

Kryptoanalyse

Angriffsszenarien

bull Ciphertext-Only-Angriff

bull PropableKnown-Plaintext-Angriff

bull Choosen-PlaintextChiphertext-Angriff

bull Man in the middle

bull Kriminalitaumlt (Gewalt Erpressung Bestechung)

Meist ist der Mensch (Besitzer des Schluumlssels) die groumlszligte Sicherheitsluumlcke

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 23: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

23

WS 201011 Vorlesung IT-Sicherheit

M Harms

45

Ciphertext-Only-Angriff

C = Verschluumlsselter Text

P = plaintext (Klartext)

Ek = Verschluumlsselungsalgorithmus E mit dem Schluumlssel k

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

Gesucht

Px k E oder D

WS 201011 Vorlesung IT-Sicherheit

M Harms

46

PropableKnown-Plaintext-Angriff

Gegeben C1 = Ek(P1) C2 = Ek(P2) Ci = Ek(Pi)

und

P1 exakt bekannt oder wahrscheinlich

Gesucht

k Ek oder Dk

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 24: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

24

WS 201011 Vorlesung IT-Sicherheit

M Harms

47

Chosen-PlaintextChiphertext-Angriff (CPA)

1 Angreifer kann Nachricht frei bestimmen

2 Angreifer hat Zugriff auf verschluumlsselte Nachricht

zB Opfer Nachricht unterschieben

Informationen zum System ermitteln

Vergleich von verschluumlsselten Nachrichten

Woumlrterbuch Chiffretext Nachricht

WS 201011 Vorlesung IT-Sicherheit

M Harms

48

Man in the middle

bull Alice bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Mallory bdquoHallo Bob ich binlsquos Alice gib mir bitte Deinen Schluumlsselldquo

bull Bob bdquoMein Schluumlssel ist XYZldquo

bull Mallory bdquoHallo Alice mein Schluumlssel ist ABCldquo

bull Alice verschluumlsselt mit ABC bdquoBob kommst Du zu mirldquo

bull Mallory verschluumlsselt mit XYZ ldquoHi Bob ich habe heute leider keine Zeitldquo

Alice Bob Mallory

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 25: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

25

WS 201011 Vorlesung IT-Sicherheit

M Harms

49

Man in the middle

bull Physikalischer Zugriff auf LAN Kabel

bull Betriebssystem Eingriff ndash Treiber

ndash bdquohostsldquo Datei

bull ARP

bull DHCP

bull Router Hacking

bull WLAN Snarfing

bull DNS Cache Poisoning

bull manipulierte Eingabegeraumlte (Kartenleser Tastaturen hellip)

WS 201011 Vorlesung IT-Sicherheit

M Harms

50

Kriminalitaumlt in der Kryptoanalyse

bull bdquoSocial Engineeringldquo (zB Phishing)

ndash zwischenmenschliche Beeinflussung

ndash falsche Identitaumlt vortaumluschen

ndash Ausnutzen von Autoritaumltshoumlrigkeit

ndash (privat) Ausspaumlhen

bull Gewalt

bull Erpressung

bull Bestechung

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 26: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

26

WS 201011 Vorlesung IT-Sicherheit

M Harms

51

Kerckhoffsrsquo Prinzip (1883)

bull Eine verschluumlsselte Nachricht darf ohne Schluumlssel nicht effizient zu entschluumlsseln sein

bull die Kommunikationspartner duumlrfen keinen Schaden erleiden wenn das Verschluumlsselungssystem bekannt wird

bull der Schluumlssel muss leicht zu merken und auswechselbar sein

bull die Kryptogramme muumlssen uumlbertragbar das heiszligt damals telegraphierbar sein

bull der Chiffrierapparat und die Dokumente muumlssen transportierbar sein

bull das System muss einfach (ohne Expertenhilfe) zu benutzen sein

bull das Chiffriersystem sollte von Experten gut untersucht sein

Zu Kerckhoffs Zeiten existierte ein solches Chiffriersystem nicht

-gt Security by obscurity

WS 201011 Vorlesung IT-Sicherheit

M Harms

52

Grundlagen der Kryptographie

bull Einwegfunktionen

bull Trapdoor-Einwegfunktionen

bull Algorithmen

bull Protokolle

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 27: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

27

WS 201011 Vorlesung IT-Sicherheit

M Harms

53

Einschub Binaumlre Arithmetik

ODER (OR)

X Y X v Y

0 0 0

0 1 1

1 0 1

1 1 1

UND (AND)

X Y X Y

0 0 0

0 1 0

1 0 0

1 1 1

ExclODER (XOR)

X Y X Y

0 0 0

0 1 1

1 0 1

1 1 0

A XOR B = (A+B) mod 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

54

Einwegfunktion

= Leicht berechenbar schwer umkehrbar

bull Primfaktorzerlegung

ndash Fundamentalsatz der Arithmetik

ndash Bsp Primfaktorzerlegung von 112

bull Gruppentheorie Diskreter Logarithmus

f(x) = bx mod m

bull Hashfunktionen

ndash MD5 SSH

bull elliptische Kurven

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 28: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

28

WS 201011 Vorlesung IT-Sicherheit

M Harms

55

Primfaktorzerlegung

Fundamentalsatz der Arithmetik

Jede natuumlrliche Zahl laumlsst sich als Produkt von endlich vielen Primzahlen darstellen Ordnet man diese

Primzahlen der Groumlszlige nach so ist diese Darstellung sogar eindeutig

Primfaktorzerlegung = Faktorisierung

Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden

Fuumlr die Faktorisierung ist keine effiziente Rechenmethode bekannt

WS 201011 Vorlesung IT-Sicherheit

M Harms

56

Primfaktorzerlegung fuumlr n

bull Probedivision bis radic

bull Berechnung uumlber ggT(nm) Intervall [ab] ab lt n m Produkt aller Primzahlen aus [ab] Probedivision nggT(mn)

bull hellip

Beispiel 21 [0-10] m=235= 30 ggT(30 21) = 7 21 7 = 3 ggT(213) = 1 21 = 37

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 29: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

29

WS 201011 Vorlesung IT-Sicherheit

M Harms

57

Primzahlentests

bull Sieb des Eratosthenes

bull Miller Rabin Test = probabilistisch mit nach oben beschraumlnkter Wahrscheinlichkeit (Fehlerwahrscheinlichkeit 25) Monte Carlo Algorithmus

bull AKS Algorithmus polynome Rechenzeit besondere Bedeutung Polynomialzeit Man betrachtet Sie als eine Grenze zwischen praktisch loumlsbaren und praktisch nicht loumlsbaren Problemen

bull hellip

WS 201011 Vorlesung IT-Sicherheit

M Harms

58

Zufallszahlen

bull Fast alle Schluumlssel werden mit Zufallszahlen generiert

bull Zufallszahlengeneratoren Z ndash Computer kennen keinen Zufall

ndash Zufallszahlen werden berechnet

ndash Pseudozufallszahlen

bull Berechnungsformel Z muss sicher sein

bull Parameter p fuumlr Z(p) sind meist Uhrzeit Rechneradresse oder Tastatureingaben

bull Zufallsgeneratoren duumlrfen nicht knackbar sein ndash Z(p) darf nicht bdquovorhersagbarldquo sein

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 30: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

30

WS 201011 Vorlesung IT-Sicherheit

M Harms

59

Pseudozufallszahlen

bull arithmetische Zufallszahlengeneratoren

z = i middot y0 mod 1

irrationale Zahl y0 ]01[

bull rekursiver arithmetischer Zufallszahlengenerator

z wird rekursiv aus einermehrerer Vorgaumlnger berechnet

WS 201011 Vorlesung IT-Sicherheit

M Harms

60

Pseudozufallszahlen rekursiver arithmetischer Generator

bull Kongruenzgenerator ndash linearer Kongruenzgenerator

zn = (a middot zn-1 + b) mod m

ndash Fibonacci-Generator zn = (zn-1 + zn-2) mod m

ndash Blum-Blum-Shub-Generator (BBS)

zn = z2n-1 mod pmiddotq

pq Primzahlen ggT(z0 pmiddotq) =1 p q 3 (mod 4)

bull Inverser Kongruenzgenerator

bull Mersenne-Twister

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 31: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

31

WS 201011 Vorlesung IT-Sicherheit

M Harms

61

Satz von Marsaglia

linearen Kongruenzgenerator zn = (a middot zn-1 + b) mod m

bull k-Tupel (z0hellipzk) (z1hellipzk+1) hellip

Satz

k-Tupel liegen auf maximal

(m middot k)12

Hyperebenen

Inverse Konguenzgeneratoren haben dieses Verhalten nicht

Quelle Wikipedia

zn+1 = 24298zn + 99991mod 199017

WS 201011 Vorlesung IT-Sicherheit

M Harms

62

Einwegfunktion Diskreter Logarithmus

A = logg a wobei A = g a mod p

bull Spezialfall bdquoprime Restklassengruppeldquo

bull Bsp Primzahl p=7 Primitivwurzel = 3 bull 3sup1 mod 7 = 3 mod 7 = 3

bull 3sup2 mod 7 = 9 mod 7 = 2

bull 3sup3 mod 7 = 27 mod 7 = 6

bull 35 mod 7 = 81 mod 7 = 4

bull 36 mod 7 = 729 mod 7 = 1

Alle Elemente der Restklassengruppe werden gebildet

3 ist ein Erzeuger des Koumlrpers

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 32: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

32

WS 201011 Vorlesung IT-Sicherheit

M Harms

63

Hashfunktion MD5

bull Message Digest Algorithm 5

bull 1991 Ron Rivest (MIT)

bull 128 Bit Pruumlfsumme ndash fuumlr Nachricht variabler Laumlnge

bull gilt nicht mehr als sicher ndash Nachweis 2008 Cluster von 200 PS3

WS 201011 Vorlesung IT-Sicherheit

M Harms

64

Hashfunktion MD5 4 x Runde

A B C D

+ mod 232

Fk

+ mod 232

Mi

32bit Block

ltltltki

+ mod 232

A B C D

Ki

F1 = (B C)v(B D) F2 = (B C)v(B D) F3 = B C D F4 = C (BvD)

Initialisierung 128 bit

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 33: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

33

WS 201011 Vorlesung IT-Sicherheit

M Harms

65

Uumlbung MD5 bdquoLightldquo in Java

Entwickle einen MD5 Hash Algorithmus Light in Java

bull Light = ndash A B C D = 8 Bit = byte ndash Initialisierung mit 218 77 255 31 ndash M = String Zeichen fuumlr Zeichen verarbeiten ndash F = F1

ndash ki = k1 = const 17

bull Hilfestellung Java Templates bull Experimetieren

ndash Initialsisierung (Werte von ABCD) ndash Statt 4 Schleifen 3 2 oder nur 1 Schleife

WS 201011 Vorlesung IT-Sicherheit

M Harms

66

Uumlbung MD5 bdquoLightldquo in Java

Algorithmus Experimente

Message MD5L = 4Loop 2Loop 1Loop

Text 01110010 11101100 01010110 00010000 11000000 11011110 11011100 11011110 11100110 00100001 01000011 01100111

Test 11010000 00110001 01001010 11011010 10010111 01010100 00100110 11110110 11100110 10111000 00011011 01100111

Tes 10011011 11110000 01001000 00001101 01100111 11110110 10010111 10110010 01001101 00011011 01100111 11100110

Te 00111010 01101100 10100010 00101110 11100110 10110010 01100111 11011110 11111111 01100111 11100110 01001101

T = 01010100 11100110 11100110 11011111 11011110 11111111 11011110 11100110 01001101 00011111 11100110 01001101 11111111

U = 01010101 11101110 01001001 11110000 00101111 11111111 00101111 11101110 01001101 00011111 11101110 01001101 11111111

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 34: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

34

WS 201011 Vorlesung IT-Sicherheit

M Harms

67

Uumlbung MD5 bdquoLightldquo in Java

Sicherheit von MD5-Light Brute Force Attacke

Md5lHash( ) = Md5lHash(bdquoTestldquo)

Zeit fuumlr Attacke

bull Schluumlssellaumlnge 284 = 232 = 4294967296

bull Optimierter Algorithmus auf Core2 25 GHz

ndash ca 10000000 7-Zeichen-Strings pro 25 Sekunden

ndash also ca 400000 sec

ca 10000 sec oder knapp 3 h

Aber Einige Bits scheinen extrem von Stringlaumlnge abzuhaumlngen daher muumlssen mehrere Stringlaumlngen getestet werden

Angriffsdauer x 16 (geschaumltzt)

) Siehe Shirazi Java Performance Tuning

WS 201011 Vorlesung IT-Sicherheit

M Harms

68

MD5 in Java

MD5 ist in J2SE integriert

import javamathBigInteger

import javasecurity

MessageDigest md = MessageDigestgetInstance(MD5)

byte[] messageDigest = mddigest(inputgetBytes())

BigInteger number = new BigInteger(1 messageDigest)

String hashtext = numbertoString(16)

Zur Ausgabe Hexadezimal konvertieren und auf feste Laumlnge justieren

MessageDigest unterstuumltzt

MD2 MD5 SHA-1 SHA-256 SHA-384

SHA-512

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 35: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

35

WS 201011 Vorlesung IT-Sicherheit

M Harms

69

Hashfunktion SHA

bull Secure Hash Algorithm bull NIST + NSA bull sehr aumlhnlich zu MD5 bull Bestandteil

ndash von Digital Signature Algorithm (DAS) ndash fuumlr den Digital Signature Standard (DSS)

bull bdquokollisionssicherldquo bull 160 Bit Pruumlfsumme bull SHA-1 bull SHA-2 (SHA-224 SHA-256 SHA-384 SHA-512) bull Salted Hash

WS 201011 Vorlesung IT-Sicherheit

M Harms

70

Kryptographie

symmetrisch asymmetrisch

bull Symmetrisch bull C = Ekey ( M ) bull M = Dkey ( M )

ndash Verschluumlsselung und Entschluumlsselung mit dem selben Schluumlssel

ndash Problem Austausch des Schluumlssels auf sicherem Weg

bull Asymmetrisch bull C = EpupKey ( M )

bull M = DprivKey ( M ) ndash Verschluumlsselung mit oumlffentliche Schluumlssel

Entschluumlsselung mit privatem Schluumlssel

ndash Problem oumlffentliche Schluumlssel sicher zuordnen

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 36: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

36

WS 201011 Vorlesung IT-Sicherheit

M Harms

71

Kryptographie

Uumlbersicht uumlber aktuelle Verfahren bull Verschluumlsselungsverfahren

ndash symmetrisch (zB DES 3DES) + Schluumlsselaustausch

ndash asymmetrisch (zB RSA) bull PKI

ndash Hybrid

ndash Block-Stromverschluumlsselung

bull Authentifizierung (zB Kerberos) ndash Challenge-Response-Authentifizierung und

Zero Knowledge

bull Autorisierung

bull Zertifizierung und Signatur

WS 201011 Vorlesung IT-Sicherheit

M Harms

72

Moderne Block Chiffrierverfahren

bull DES = Data Encryption Standard

bull 1973 von H Feistel im Auftrag von IBM entwickelt

ndash weite Verbreitung

Nachfolger

bull AES

= Advanced Encryption Standard

Einwegfunktionen

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 37: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

37

WS 201011 Vorlesung IT-Sicherheit

M Harms

73

Feistel Blockchiffre Feistel Netzwerk

F = Transformationsfunktion

= invertierbare Verknuumlpfung (Umkehrung ①)

bijektiv (umkehrbar)

Projekt bdquoLuciferldquo IBM 1970er Jahre

Verschluumlsselung

M aufteilen in L und R

Li+1 = Ri Ri+1 = Li F(RiKi)

n Runden C = (LnRn)

Entschluumlsselung

M aufteilen in L und R

Ri = Li+1 Li = Ri+1 ① F(Ri+1Ki)

n Runden C = (LnRn)

SYMMETRISCH

F

M

K1

L1 R1

F

K2

L2 R2

F

Ki

Li Ri

C

WS 201011 Vorlesung IT-Sicherheit

M Harms

74

Feistel Chiffre

bull Blowfish

bull Camelia

bull CAST

bull DESTriple-DES

bull FEAL

bull MARS

bull TEAXTEA

bull Twofish

bull MISTY1

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 38: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

38

WS 201011 Vorlesung IT-Sicherheit

M Harms

75

DES

Algorithmus Eckdaten

bull 64 Bit Schluumlssel ndash symmetrisch ke = kd

ndash sicherer Kanal fuumlr Austausch von k benoumltigt

bull 64 Bit (8 Byte) Bloumlcke m bilden

bull blockweise Verschluumlsselung

DES(mk)

bull Verfahren ist offen gelegt ndash Abwechselnd Substitution und Permutation mit

unterschiedlichen Teilen des Schluumlssels

ndash bdquoFeistel-Chiffreldquo -gt Lawineneffekt

WS 201011 Vorlesung IT-Sicherheit

M Harms

76

Klartext Eingangspermutation

L0 R0

DES Runde 1 K1

L1 R1

DES Runde 2 K2

DES Runde 16 K16

hellip

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 39: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

39

WS 201011 Vorlesung IT-Sicherheit

M Harms

77

Klartext Eingangspermutation

L0 R0

F K1

K2

K16

Schlusspermutation

L16 R16

Chiffretext

Schluumlssel

DES Algorithmus

L2 R2

F

F

WS 201011 Vorlesung IT-Sicherheit

M Harms

78

Expansionsmutation

P-Box Permutation

Li Ri

48 bit

48 bit

32 bit

32 bit

Ki

Schluumlssel

Kompressions- permutation

Shift Shift F

S-Box Substitutionen

DES ndash Runde i

28 bit 28 bit

Li-1 Ri-1 Schluumlssel

32 bit 32 bit

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 40: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

40

WS 201011 Vorlesung IT-Sicherheit

M Harms

79

DES - Expansionsmutation

E F232 F2

48

Aus 4 Byte

werden 6 Byte

E(b1b2b3hellip)

=b32 b1 b2 b3 hellip

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 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 21 32 1

WS 201011 Vorlesung IT-Sicherheit

M Harms

80

DES S-Box nichtlineare Substitutionsoperation

Anforderungen

bull Vollstaumlndigkeit

Jedes Ausgangsbit ist von jedem Eingangsbit abhaumlngig

bull Avalanche

Die Aumlnderung eines Eingangsbits zieht im Mittel die Aumlnderung der

Haumllfte aller Ausgangsbits nach sich

bull Nichtlinearitaumlt

Kein Ausgangsbit ist linear oder affin von einem Eingangsbit

abhaumlngig Dies sollte auch nicht naumlherungsweise der Fall sein

bull Korrelationsimmunitaumlt

Solange nur ein Teil der Eingangsbits bekannt ist koumlnnen keine

Ruumlckschluumlsse auf die Ausgangsbits gezogen werden Und

umgekehrt

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 41: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

41

WS 201011 Vorlesung IT-Sicherheit

M Harms

81

DES S-Box Beispiel

bull statische 6times4-Bit S-Box (S5) von DES

Operation S5 ( 011011 ) 1001

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

82

DES Dechiffrierfunktion

bull S-Boxen nicht invertierbar daher darf F nicht ruumlckwaumlrts durchlaufen werden

bull Umkehrfunktion ndash gleicher Algorithmus

ndash jedoch umgekehrte Anwendung der Schluumlssel

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 42: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

42

WS 201011 Vorlesung IT-Sicherheit

M Harms

83

DES Sicherheit

bull Lawineneffekt bdquoHammingabstandldquo H zweier Bitvektoren steigt rasant an

bull Beispiel ndash Ausgang H = 1

ndash DES 1 Runde H = 3 ndash DES 2 Runde H = 17

ndash ab DES 3 Runde H ca 30

bull gilt nur fuumlr bdquogutldquo gewaumlhlte S-Boxen

WS 201011 Vorlesung IT-Sicherheit

M Harms

84

Uumlbung - DES

Kryptoanalyse

Passwortverschluumlsselung (Web Server) mit DES

bull Beurteile die Gefaumlhrlichkeit von

ndash Ciphertext-Only Angriff

ndash Known-Plaintext Angriff

ndash Choosen-Plaintext Angriff

ndash Man in the middle

bull Welche Seitenkanalangriffe sind zu befuumlrchten

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 43: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

43

WS 201011 Vorlesung IT-Sicherheit

M Harms

85

DES Historie

bull 1973 Ausschreibung fuumlr einen standardisierten kryptographischen Algorithmus

bull 1977 DES wird veroumlffentlicht

bull 1981 ANSI Standard

bull 1994 DES wird erstmals geknackt 12 HP Workstations 50 Tage

bull 1998 DES wird von der EFF mit einem Spezialchip in 3 Tagen geknackt

bull 1999 DES wird in 22h geknackt 100000 PCs + Spezialrechner

WS 201011 Vorlesung IT-Sicherheit

M Harms

86

3DES

bull 64 bit Schluumlssel ndash aus heutiger Sicht recht einfach

bull Laumlngere Schluumlssel -gt houmlhere Sicherheit

bull 3x DES Kaskade = 3DES = Tripple DES ndash mit 3x 64 bit Schluumlssel

E D E

Nachricht Chiffretext

k1 k2 k1 k3

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 44: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

44

WS 201011 Vorlesung IT-Sicherheit

M Harms

87

DES

bull DES Hardware ndash ca 10 GBit sec

bull 3DES Hardware ndash einige 100 MBit sec

WS 201011 Vorlesung IT-Sicherheit

M Harms

88

Blockchiffre ECB

bull Probleme ndash Austausch eines Blocks wird nicht erkannt

ndash Abschneiden wird nicht erkannt

ndash Mustererkennung

Quelle Wikipedia

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 45: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

45

WS 201011 Vorlesung IT-Sicherheit

M Harms

89

ECB Problem mit Bitmustern

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

90

Cipher-block chaining (CBC)

bull Problem Austausch eines Blocks

Quelle Wikipedia

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 46: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

46

WS 201011 Vorlesung IT-Sicherheit

M Harms

91

Blockchiffre CFB

bull CFB = Chiffre Feedback Mode

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

92

Blockchiffre OFB

bull OFB = Output Feedback

Quelle Wikipedia bdquoPseudo-One-Time-Padldquo

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 47: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

47

WS 201011 Vorlesung IT-Sicherheit

M Harms

93

Zufallszahlen mit DES - CFB

Puffer

DES

Bit Maske

XOR Pseudozufallszahl Zeichenstrom

8

64

64

8

8 8

WS 201011 Vorlesung IT-Sicherheit

M Harms

94

AES

bull NIST (2000) Nachfolger von DES

ndash Ausschreibung

bull Rijndael-Algorithmus ndash offen gelegt

ndash bietet ein sehr hohes Maszlig an Sicherheit

ndash Referenz-Implementierung weniger als 500 Zeilen C-Code

bull USA Zulassung zur Verschluumlsselung von Dokumenten houmlchster Geheimhaltungsstufe

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 48: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

48

WS 201011 Vorlesung IT-Sicherheit

M Harms

95

AES

Verwendung bull IEEE 80211i fuumlr Wireless LAN WPA2 bull SSH bull IPsec bull IP-Telefonie bull offenen Protokollen wie SRTP bull proprietaumlren Systemen wie Skype bull Mac OS X Disk-Images bull Dienst FileVault bull transparente Verschluumlsselung EFS in Windows XP bull diverser komprimierter Dateiarchive z B

ndash 7-Zip RAR

bull PGP und GnuPG

WS 201011 Vorlesung IT-Sicherheit

M Harms

96

AES Runde 1

K0

S0

Klartext 128 bit

Chiffretext 128 bit

Schluumlssel 192 bit

AES Algorithmus

Schluumlsselexpansion

S1

S11

AES Runde 2

AES Runde 12

K2

K11

K12

Si

Si+1

ByteSub

ShiftRow

MixColumn

Ki+1

Si+1

Substitution

Shift Row

Mix Column

Ki+1

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 49: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

49

WS 201011 Vorlesung IT-Sicherheit

M Harms

97

AES

bull Substitution ndash aumlhnlich DES S-Box aber monoalphabetisch

bull Shift Row ndash Block als Feld ndash Je nach Blocklaumlnge Zeilen um 1-4 Spalten

verschoben

bull Mix Column ndash Block als Feld

ndash Multiplikation mit konstanter Matrix auf Galois-Koumlrper (Addition ist bitweises XOR)

WS 201011 Vorlesung IT-Sicherheit

M Harms

98

AES

bull Rundenzahl variiert mit Schluumlssellaumlnge

bull alle Transformationen sind invertierbar

bull Entschluumlsselung durch ndash Umgekehrten Ablauf

ndash Einsatz der invertierten Operationen

bull AES ist ndash um vielfaches schneller als DES

ndash leicht parallelisierbar

ndash einfach in Hardware zu implementieren

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 50: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

50

WS 201011 Vorlesung IT-Sicherheit

M Harms

99

IDEA

bull IDEA =International Data Encryption Algorithm

bull LaiMassey 1990

bull verschluumlsselt 64-Bit-Bloumlcke

bull Schluumlssellaumlnge 128 Bits

bull arbeitet mit 8 (statt 16) Runden

bull verwendet ndash Xor

ndash Addition

ndash Multiplikation

ndash dh keine Permutation oder Substitution

bull Patentiert

WS 201011 Vorlesung IT-Sicherheit

M Harms

100

IDEA - Arbeitsweise

Quelle Wikipedia

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 51: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

51

WS 201011 Vorlesung IT-Sicherheit

M Harms

101

Stromchiffre lineare Schieberegister

bull Initialisierung

bull Ruumlckkopplungsfunktion zB bdquoXORldquo sj = ( c1sj-1 + c2 sj-2 +hellip+ cn sj-n) mod 2

bull ist periodisch

sn sn-1 sn-2 s3 s2 s1 hellip

Ruumlckkopplungsfunktion

Ausgabgsbit

LFSR

WS 201011 Vorlesung IT-Sicherheit

M Harms

102

Stromchiffre nichtlineare Schieberegister

bull nichtlineare Kombinationsgeneratoren ndash mehere LFSR parallel geschaltet

ndash Ausgabebits wird nichtlineare Funktion angewendet

bull Nichtlineare Filtergeneratoren ndash nichtlineare Funktion wird auf alle n

Speicherstellen angewendet

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 52: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

52

WS 201011 Vorlesung IT-Sicherheit

M Harms

103

GSM A51 Algorithmus

pro GSM Frame

bull Initialisierung

ndash Nullen

ndash Sitzungsschluumlssel laden

ndash 64 Taktungen (Mischen)

ndash Framenumber laden

bull 100 Bits verfallen

bull je 114 Bits fuumlr 114 Bit GSM Frame pro Richtung

ndash Sende-Bits und Empfangs-Bits mit XOR verschluumlsseln

Nichtlinearitaumlt Es werden nur diejenigen Schieberegister getaktet deren T-Bit zur Mehrheit der T-Bits gehoumlrt

Takt Bit

Offiziell nicht veroumlffentlicht bdquosecurity by obscurityldquo

Quelle Wikipedia

WS 201011 Vorlesung IT-Sicherheit

M Harms

104

Asymmetrische Kryptographie

bull Schluumlsselaustauschproblem

bull Diffie Hellmann

bull RSA

bull ElGamal

bull Elliptische Kurven

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 53: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

53

WS 201011 Vorlesung IT-Sicherheit

M Harms

105

Merkles Raumltsel (1974)

Schluumlsselaustausch fuumlr symmetrische Verschluumlsselung

Wie kann Alice eine verschluumlsselte Nachricht an Bob sendet ohne vorher einen Schluumlssel mit ihm

auszutauschen

1 Bob generiert eine Millionen Nachrichten der Form

bdquoDies ist Raumltsel mit der Zahl x Der Schluumlssel ist yldquo

Bob verschluumlsselt die Nachrichten mit einem jeweils unterschiedlichen 20Bit Schluumlssel und sendet

sie an Alice

2 Alice waumlhlt eine Nachricht zufaumlllig aus und fuumlhrt einen Brute-Force-Angriff durch

um den Klartext zu ermitteln

Der dafuumlr erforderliche Arbeitsaufwand ist zwar groszlig ndash aber nicht unmoumlglich

3 Alice chiffiert ihre geheime Nachricht mit einem symmetrischen Algorithmus mit dem Schluumlssel y

und sendet sie mit der Zahl x an Bob

4 Bob weiszlig welcher geheime Schluumlssel y zur Zahl x gehoumlrt so dass er die Nachricht dechiffrieren

kann

Der Sinn dieser Methode ist dass A nur eine Nachricht aufbrechen muss

Jemand der diese Nachrichten mithoumlrt muss alle Nachrichten aufbrechen bis er einmal den richtigen

erwischt

WS 201011 Vorlesung IT-Sicherheit

M Harms

106

Diffie Hellmann Schluumlsselaustausch

bull DiffieHellmannMerkle

(1976 Stanford-Universitaumlt Kalifornien)

Schluumlsselverabredung uumlber unsicheren Kanal

ndash loumlst langen Tradition von Streichlisten und Codebuumlchern ab

bull Aufgabenstellung Wenn ein Element g einer Gruppe

und die Werte ga und gb gegeben sind

welchen Wert hat dann gab

bull in bestimmten Gruppen nur mit enormen Rechenaufwand loumlsbar

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 54: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

54

WS 201011 Vorlesung IT-Sicherheit

M Harms

107

Diffie Hellmann

Alice sucht

ndash Primzahl p Primitivwurzel g mod p mit 2 lt g lt p-2 und geheime Zufallszahl a 1 2 hellip p-2

ndash berechnet A = ga mod p

ndash Sendet A g p an Bob

Bob

ndash sucht geheime Zufallszahl b 1 2 hellip p-2

ndash berechnet B = gb mod p

ndash Sendet B an Alice

Bob

ndash berechnet K = Ab mod p

Alice

ndash berechnet K = Ba mod p

KAlice = Ab mod p = (ga mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p = KBob

WS 201011 Vorlesung IT-Sicherheit

M Harms

108

Diffie Hellmann Schluumlsselaustausch

bull Problem Man-in-the-middle Attacke

bull zusaumltzlich ndash digitale Signaturen

und

ndash Message Authentication Codes

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 55: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

55

WS 201011 Vorlesung IT-Sicherheit

M Harms

109

RSA Schluumlsselsystem

bull Public Key Kpub Private Key Kpriv

C = EKpub (M)

M = DKpriv (C)

bull Ronald L Rivest Adi Shamir und Leonard Adleman (1977 MIT)

bull RSA um Faktor 1000 langsamer als DESAES

bull RSA praktisch ndash zum Austausch eines Schluumlssels

ndash fuumlr symmetrische (schnelle) Verschluumlsselung

WS 201011 Vorlesung IT-Sicherheit

M Harms

110

RSA

bull Signieren von Nachrichten

bull Sender ndash Hash Wert H(M)

ndash Signieren SigM = EKpriv ( H(M) )

ndash Versenden M SigM

bull Empfaumlnger ndash Hash Wert H(M)

ndash Vergleich mit HSig = DKpub ( SigM )

bull Integritaumlt und Authentizitaumlt garantiert

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 56: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

56

WS 201011 Vorlesung IT-Sicherheit

M Harms

111

RSA

vereinfachtes Grundprinzip bull Wie arbeiten privater und oumlffentlicher Schluumlssel

bull Vorgehensweise 3 Zahlen

ndash Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird

ndash Dritte Zahl z

Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

y z 1 mod m oder ggT( z m ) = 1

ndash Nachricht M in Bloumlcke n mit je zwei Zeichen zerlegen

ndash Verschluumlsselung mit dem oumlffentlichem Schluumlssel y m aller Bloumlcke m jeweils mit

c = ny mod m

ndash Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m

n = cz mod m

bull RSA rechnet in mit sehr groszligen Zahlen

die zu einer bestimmten Wahrscheinlichkeit (mehr als 99)

als Primzahlen angesehen werden koumlnnen

WS 201011 Vorlesung IT-Sicherheit

M Harms

112

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y eine zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Nachricht M = bdquogeheimldquo in Bloumlcke b mit je zwei Zeichen zerlegen (ASCII)

ndash ge = 103 + 256 101 = 25959 gtgtgt viel zu groszlig fuumlr verstaumlndliches Beispiel

ndash he = 104 + 256 101 = 25960

ndash im = 105 + 256 109 = 28009

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x y also 15 und 7 aller Bloumlcke m jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 57: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

57

WS 201011 Vorlesung IT-Sicherheit

M Harms

113

RSA

bdquoeinfachesrdquo Beispiel bull Erste Zahl x Multiplikation von 2 Primzahlen x = p q

ndash p = 3 q = 5 x = p q = 3 5 x = 15

bull Zweite Zahl y zufaumlllige Primzahl die Teil des oumlffentlichen Schluumlssels wird y =7

bull Dritte Zahl z Wird aus y und dem Modul m von p und q gebildet m= (p-1)(q-1)

ndash m = (p-1)(q-1) =(3-1) (5-1) = 2 4 = 8 m=8

ndash Das Produkt mit ymiddotz muss ein Vielfaches von m um eins uumlbertreffen y z 1 mod m

ndash Also 7 z 1 mod 8 erweiterter Euklidischer Algorithmus 7middot7= 49 =6middot8 +1 z = 7

bull Verschluumlsselung mit dem oumlffentlichem Schluumlssel x=15 und y=7 aller Bloumlcke b jeweils mit c = by mod x

ndash einfaches Beispiel b=2

ndash 27 mod 15 = 128 mod 15 = 8 15 + 8 c = 8

bull Entschluumlsselung aller Bloumlcke c jeweils mit dem privatem Schluumlssel z m n = cz mod x

ndash 87 mod 15 = 2097152 mod 15 = 139810 15 + 2 2 mod 15 b = 2

WS 201011 Vorlesung IT-Sicherheit

M Harms

114

Rechentrick fuumlr zB 25959 19 mod 2080

x a+b =x a x b

19 = 1 + 2 +16 = 20 + 21 + 24 (Zerlegung in 2er Potenzen)

x19 = x1 x2 x16 = X0 X1 X4

Da modulo 2080 werden vom Ergebnis Vielfache von 2080 so lange abgezogen bis das Ergebnis kleiner als n 2080 ist

X0 = 25959 = 12 2080 + 999 999 mod 2080

X1 = X02 = 999 2 = 998001 = 4792080 + 1681 1681 mod 2080

X2 = X12 = 1681 2 = 2825761 = 1358 2080 + 1121 1121 mod 2080

X3 = X22 = 11212 = 1256641 = 6042080 + 321 321 mod 2080

X4 = X32 = 3212 = 103041 = 492080 + 1121 1121 mod 2080

x19 = x1 x2 x16 = X0 X1 X4 = 999 1681 1121 = 905056 2080 + 119

x19 119 mod 2080

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 58: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

58

WS 201011 Vorlesung IT-Sicherheit

M Harms

115

Uumlbung RSA mit JAVA

Programmiere ein Java Programm zur

1 Erstellung von Public und Private Key

2 Verschluumlsseln eines Textes mit dem Public Key

3 Entschluumlsseln des Chiffretextes mit dem Private Key

Zusatzaufgabe

a) Erstellung einer Signierung

b) Pruumlfung einer Signatur

Anleitung

httpwwwjavamexcomtutorialscryptographyrsa_encryptionshtml

WS 201011 Vorlesung IT-Sicherheit

M Harms

116

RSA mit Java Generate Keys

KeyPairGenerator kpg = KeyPairGeneratorgetInstance(RSA)

kpginitialize(2048)

KeyPair kp = kpggenKeyPair()

Key publicKey = kpgetPublic()

Key privateKey = kpgetPrivate()

KeyFactory fact = KeyFactorygetInstance(RSA)

RSAPublicKeySpec pub = factgetKeySpec( publicKey RSAPublicKeySpecclass )

RSAPrivateKeySpec priv = factgetKeySpec( privateKey RSAPrivateKeySpecclass )

PrivateKey privKey = factgeneratePrivate( priv )

PublicKey pubKey = factgeneratePublic( pub )

Encrypt Cipher cipher = CiphergetInstance(RSA)

cipherinit(CipherENCRYPT_MODE pubKey)

byte[] cipherData = cipherdoFinal( strggetBytes() )

Decrypt

Cipher cipher = CiphergetInstance( RSA )

cipherinit( CipherDECRYPT_MODE privKey )

byte[] msg = cipherdoFinal( data )

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 59: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

59

WS 201011 Vorlesung IT-Sicherheit

M Harms

117

Angriffe aus RSA

Boblsquos Public Key x bull Faktorisierung

ndash Gelingt es Eve x = pq zu faktorisieren hat sie die selben Informationen wie Bob

bull Ungeeignete Benutzung ndash Wenn Bob einen zu kleinen Private Key waumlhlt kann

RSA geknackt werden

bull RSA Falle ndash bdquoSignatur verschluumlsselnldquo

bull Seitenkanal Attacken ndash Trojaner beobachtet Boblsquos Programm beim

verschluumlsseln

WS 201011 Vorlesung IT-Sicherheit

M Harms

118

Angriffe auf RSA

bull Seitenkanal bei Binary Square-and-

Multiply Exponentiation Algorithm uumlber

BPA

bull Primfaktorzerlegung fuumlr groszlige Zahlen

ndash mit heute bekannten Verfahren praktisch nicht

durchfuumlhrbar

ndash Es ist nicht bewiesen dass es sich um ein

prinzipiell schwieriges Problem handelt

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 60: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

60

WS 201011 Vorlesung IT-Sicherheit

M Harms

119

RSA Faktorisierung

090110 2227 Uhr 232-stellige Zahl faktorisiert

Zahl Dezimal-stellen

Aufwand Status

rsa120 (399 Bit) 120 100 MIPS-Jahre auf schnellem PC in 12 Woche machbar

512-Bit-Modul 154 8000 MIPS-Jahre 1999

RSA-768 232

20000 MIPS-Jahre Aktueller Rekord

1024-Bit-Modul 308 1011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)

2048-Bit-Modul 616 1015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

Schaumltzung der Sicherheit in Dezimalstellen bis 2020 bull optimistisch ca 150 bull pessimistisch ca 600

WS 201011 Vorlesung IT-Sicherheit

M Harms

120

Angriffe auf RSA

Spezialfaumllle RSA-Verfahren knacken ohne das Faktorisierungsproblem zu loumlsen

Annahme bull private Schluumlssel hat nur eine geringe Bitlaumlnge

ndash Angriff von Wiener bull Kettenbruchverfahren + Gitterbasenreduktion

ndash Angriff von Haringstad bull ermittelt Klartext bull Klartext wurde fuumlr mehrere Empfaumlnger vor dem

Verschluumlsseln speziell aufbereitet (etwa wenn die Nummer des Empfaumlngers in den Klartext codiert wurde)

bull verwendet die bdquoCoppersmith-Methodeldquo um kleine Nullstellen eines Polynoms in einer Unbestimmten zu berechnen welche wiederum auf Gitterbasenreduktion basiert

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 61: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

61

WS 201011 Vorlesung IT-Sicherheit

M Harms

121

RSA + Padding

bull Problem RSA Formel ist multiplikativ

c = by mod x aymiddotby mod x = (amiddotb)y mod x

Hat man mehrere Nachrichten M1 M2 hellipmit mehreren Signaturen S1 S2 hellip lassen sich Signaturen aus Produkten von bekannten Signaturen faumllschen

bull Loumlsung bdquoPaddingldquo Verfahren

ndash Konkatenation Klartext oder Hashwert + String R

ndash R hat vorgegebener Struktur (d h mit Redundanz)

ndash dann Verschluumlsselung oder Signatur

ndash R enthaumllt

bull eine Angabe uumlber Laumlnge der Nachricht Hash-Wertes oder

bull eine eindeutige Zeichenfolge die den Beginn von R kennzeichnet

bull Standards PKCS1 oder ISO 9796

bull moderne Paddingverfahren (Optimal Asymmetric Encryption Padding (OAEP) oder Probabilistic Signature Scheme (PSS)

ndash verwenden kryptographische Hashfunktionen und sind (unter idealisierten Annahmen) beweisbar ebenso schwierig zu brechen wie RSA selbst

Kryptographische Herausforderungen

bull RSA Factoring Challenge

ndash Decimal Digits 193 wurde faktorisiert bull 30 bdquo22GHz-Opteron-CPUldquo years

ndash Offen zB Decimal Digits 212 bull 740375634795617128280467960974295731425931888892

31289084936232638972765034028266276891996419625117843995894330502127585370118968098286733173273108930900552505116877063299072396380786710086096962537934650563796359

bull RSA Secret Key Challenge $10000 pro Key

bull httpwwwmysterytwisterc3org

WS 201011 Vorlesung IT-Sicherheit

M Harms

122

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 62: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

62

WS 201011 Vorlesung IT-Sicherheit

M Harms

123

Elliptische Kurven

bull Eine elliptische Kurve ist die Loumlsungsmenge einer (geeigneten) kubischen Gleichung

bull Eine Grade schneidet die Kurve in drei Punkten zwei Punkten laumlsst sich ein dritter zuordnen

bull elliptische Kurven uumlber ndash Reellen Zahlen (x-y-Zahlenebene)

ndash primen Restklassenring

ndash Bit-Vektoren

WS 201011 Vorlesung IT-Sicherheit

M Harms

124

Elliptische Kurven

bull Allgemein y2 + a1 xy + a3 y = a2 x3 + a4 x + a6

bull Vereinfacht y2 = x3 + ax + b

bull Punkte auf der Kurve sind abelsche Gruppe

dh Sind P und Q zwei Punkte

dann ist R=P+Q auch ein Punkt auf der Kurve

bull Einwegfunktion k und P gegeben dann ist

D = kP = P+P+P+hellip+P (also k-mal addiert) einfach zu rechnen

aber bei gegebenen P und D kann man keine Ruumlckschluumlsse auf k

ziehen

ECDL k = logP D

bull Wird in diversen Verfahren (zB ElGamal EC) eingesetzt

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 63: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

63

WS 201011 Vorlesung IT-Sicherheit

M Harms

125

Elliptische Kurven

Beispiele in R2

Quelle Certicom

WS 201011 Vorlesung IT-Sicherheit

M Harms

126

Elliptische Kurven in Fp

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

P + Q = R s = (yP - yQ) (xP - xQ) mod p xR = s2 - xP - xQ mod p yR = -yP + s(xP - xR) mod p

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 64: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

64

WS 201011 Vorlesung IT-Sicherheit

M Harms

127

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

WS 201011 Vorlesung IT-Sicherheit

M Harms

128

Uumlbung Elliptische Kurven

Beispiele a=1 b=0

y2 mod p = x3 + x mod p

Quelle Certicom

2P = R s = (3xP

2 + a) (2yP ) mod p xR = s2 - 2xP mod p yR = -yP + s(xP - xR) mod p Berechne fuumlr P = (95) den Wert R=2P

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 65: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

65

WS 201011 Vorlesung IT-Sicherheit

M Harms

129

Elliptische Kurven in F2m

Bsp

bull m=4 also F24

bull g = (0010) als Feld-Erzeuger g0=(0001) g1= (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) und g15 = (0001)

bull Kurve y2+xy = x3+g4x2+g0 (a=g4 b=g0)

bull Punkte der Kurve (1 g13) (g3 g13) (g5 g11) (g6 g14) (g9 g13) (g10 g8) (g12 g12) (1 g6) (g3 g8) (g5 g3) (g6 g8) (g9 g10) (g10 g) (g12 0) und (0 1)

WS 201011 Vorlesung IT-Sicherheit

M Harms

130

Elliptische Kurven in F2m

2P = R s = xP + yP xP

xR = s2 + s + a

yR = xP + (s+1) xR

bull Praktische Applikationen m= 160

bull Erzeuger g geheim halten

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 66: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

66

WS 201011 Vorlesung IT-Sicherheit

M Harms

131

Elliptische Kurven in F24

g = (0010)

WS 201011 Vorlesung IT-Sicherheit

M Harms

132

Schluumlsselaustausch

bull Alice und Bob einigen sich zB auf ndash F27 als Feld

ndash P = (1011)

bull Alice Geheimschluumlssel ist a=2 -gt A = 2middotP bdquoHi Bob mein Wert ist Aldquo

bull Bob Geheimschluumlssel ist b=3 -gt B = 3middotP bdquoHi Alice mein Wert ist Bldquo

bull gemeinsames Geheimnis = Schluumlssel K = amiddotB = bmiddotA = amiddotbmiddotP

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 67: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

67

WS 201011 Vorlesung IT-Sicherheit

M Harms

133

Vergleich DL EKDL

Diskreter Logarithmus Elliptische Kurven DL

Parameter Primzahl p p und Kurvenparameter ab

KoumlrperRing Rest g Punkte auf Kurve

Oumlffentlich ge mod p Punkt R = nP

Geheim Exponent e Faktor n

Groumlszlige von p 1024 bit 160 bit

Operation 1x mod Multiplikation 2x mod Multiplikation 1x mod Division

WS 201011 Vorlesung IT-Sicherheit

M Harms

134

Zero Knowledge Protokolle

Alice bdquoBob ich kann Dich uumlberzeugen dass ich das Geheimnis kenne ohne direkt daruumlber zu sprechenldquo

Tuumlr mit Schloszlig

bdquoChallenge ndash Responseldquo

Alice komm

bitte links raus

Bob

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 68: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

68

WS 201011 Vorlesung IT-Sicherheit

M Harms

135

ElGamal Kryptosystem

Taher Elgamal (1985)

bull Beruht auf dem diskreten Logarithmus

Problem (DL)

bull Asymmetrisch (Diffie-Hellmann Idee)

bull Effektiv und effizient

WS 201011 Vorlesung IT-Sicherheit

M Harms

136

ElGamal Kryptosystem

Schluumlsselgenerierung bull Primzahl p so dass p-q groszligen Primfaktor q hat

bull oder q waumlhlen p=2q+1 berechnen und auf

Primzahl pruumlfen

bull Primitivwurzel g (Generator)

bull a 2 hellip p-2 waumlhlen

bull A = ga mod p

bull oumlffentlicher Schluumlssel (pgA)

bull geheimer Schluumlssel a

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 69: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

69

WS 201011 Vorlesung IT-Sicherheit

M Harms

137

ElGamal Kryptosystem

Vorgehensweise A = ga mod p oumlffentlicher Schluumlssel (pgA)

Verschluumlsselung von m

bull b 2 hellip p-2 waumlhlen

bull B = gb mod p und c = Abm mod p

Geheimtext (Bc)

Entschluumlsselung durch Bx c mod p mit x=p-1-a

denn

Bp-1-a c gb(p-1-a) Abm

(gp-1)b ( ga)-b Abm A-b Abm

m mod p

WS 201011 Vorlesung IT-Sicherheit

M Harms

138

Digitale Zertifikate

Zertifizierungsinstanz vertrauenswuumlrdige Organisation

Inhalt des Zertifikats

bull Name des Ausstellers

bull Verfahren Regeln

bull Guumlltigkeitsdatum

bull oumlffentlicher Schluumlssel ndash Eigentuumlmer

ndash Informationen

ndash Geltungsbereich

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 70: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

70

WS 201011 Vorlesung IT-Sicherheit

M Harms

139

Digitale Zertifikate

Standards

bull X509v3 ndash SSLTLS SMIME VPN IPSec SSH

bull PGP (RFC 2440)

bull hellip

Deutsches Signaturgesetz

bull Akkreditierte Anbieter von Zertifikaten

WS 201011 Vorlesung IT-Sicherheit

M Harms

140

Digitale elektronische Signatur

10010101

Daten Hash

Hash EPrivK 10100011

Signatur

Zertifikat

Digital signierte

Daten

Erstellung

10100011

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 71: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

71

WS 201011 Vorlesung IT-Sicherheit

M Harms

141

Digitale elektronische Signatur

10010101

Daten

Hash

Hash

DPubK

Verifikation

Digital signierte Daten

10100011

10100011

10010101

Hash

Identisch

WS 201011 Vorlesung IT-Sicherheit

M Harms

142

Digitale Wasserzeichen

bull Transparent

bull Robust

bull Kapazitaumlt

bull Sicherheit

bull Performance

zB SegMark

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 72: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

72

WS 201011 Vorlesung IT-Sicherheit

M Harms

143

Staganographie

bull ein Auszligenstehender erkennt die Existenz

der uumlbertragenen Information nicht

bull Dritte erkennen nicht dass im Medium

Information enthalten ist

bull Dritte koumlnnen selbst bei Wissen um die

versteckte Information diese nicht

ermitteln

WS 201011 Vorlesung IT-Sicherheit

M Harms

144

Staganographie

Klassisch

bull Geheimtinte doppelter Briefumschlag

Micropunkte Mikrofilm etc Linguistische

Steganographie

Wahrnehmungsschwelle

Computer

bull Audiodatei Bilddatei Video Blog (oumlffentlich

beschreibbare Information im Internet)

Semagramme

RGB 25500

RGB 25411

3 Bits versteckt (pro Pixel moumlglich)

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 73: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

73

WS 201011 Vorlesung IT-Sicherheit

M Harms

145

Politische Randbedingungen

bull Zulassung fuumlr Geheimhaltungsstufen

(zB AES)

bull Exportverbot (HW SW)

WS 201011 Vorlesung IT-Sicherheit

M Harms

146

Wiederholung Grundlagen

Was sind ldquopersonenbezogene Datenrdquo

1 Eine Regelung des BDSG

2 Informationen einer natuumlrlichen Person

3 Informationen einer juristischen Person

4 Unterliegen der informationellen

Selbstbestimmung

5 Muumlssen weltweit vertraulich behandelt werden

wenn sie in IT Systemen gespeichert werden

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 74: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

74

WS 201011 Vorlesung IT-Sicherheit

M Harms

147

Wiederholung Symm Chiffre

Welcher der genannten Technolgoien

verwenden ausschlieszliglich symmetrische

Verschluumlsselung

1 SSL

2 MD5

3 Caesar Chiffre

4 RSA

5 3DES

WS 201011 Vorlesung IT-Sicherheit

M Harms

148

Wiederholung Krypt Funktionen

Welche der Funktionen wird in der

Kryptographie eingesetzt

1 Natuumlrlicher Logarithmus

2 Diskreter Logarithmus

3 Sinus

4 Kubische Gleichung

5 Affine Enigma Transformation

6 Linearer Kongruenzgenerator

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 75: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

75

WS 201011 Vorlesung IT-Sicherheit

M Harms

149

Wiederholung Passwort-Ciffre

Welche der Chiffre sind Stand heute fuumlr

Passwortdateien sinnvoll

1 DES

2 SETI

3 AES

4 RSA

5 SHA

6 MD5

WS 201011 Vorlesung IT-Sicherheit

M Harms

150

Wiederholung diskrete Mathematik

Welche g sind Erzeuger fuumlr die Funktion

f = gx mod m

auf dem primen Restklassenring 3

1 g=1 und g=2

2 g=2

3 g=2 und g=3

4 g=3

5 Erzeuger gibt es fuumlr diese Randbedingungen

nicht

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 76: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

76

WS 201011 Vorlesung IT-Sicherheit

M Harms

151

Wiederholung Kryptoanalyse

Welche sind Kryptoanalytische Verfahren

1 Seitenkanalanalyse

2 Seitenfluszliganalyse

3 Haumlufigkeitsanyse

4 Wiederholungsanalyse

5 Paarbildungsanalyse

6 Social Engineering

WS 201011 Vorlesung IT-Sicherheit

M Harms

152

Wiederholung Feistel Chiffre

Was sind Anforderungen an einen Feistel

Chiffre

1 Mindesten 16 Runden im Algorithmus

2 Lawineneffekt

3 1024 Bit Schluumlssellaumlnge

4 Zertifiziert

5 Rijndael Algorithmus

6 Salted Hash kompatibel

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 77: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

77

WS 201011 Vorlesung IT-Sicherheit

M Harms

153

Wiederholung RSA

Was Aussagen zu RSA sind korrekt

1 RSA ist mathematisch nachgewiesen nicht

knackbar

2 RSA laumlsst sich bei kleiner Schluumlssellaumlnge mit

einem PC knacken

3 Ein 1024 Bit Key gilt heute noch als sicher

4 Theoretisch ist RSA mathematisch knackbar

der Beweis wurde nie gefuumlhrt da es viele

Jahre Rechenzeit benoumltigen wuumlrde

WS 201011 Vorlesung IT-Sicherheit

M Harms

154

Wiederholung

Algorithmenvergleich

Was Aussagen sind korrekt

1 RSA ist wesentlich schneller als DES

2 One Time Pad ist sicherer als Vigenere

3 Enigma hatte einen laumlngeren Schluumlssel

als DES

4 ECDL ist bei halber Bit-Zahl von P

immer noch sicherer als RSA

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft

Page 78: Teil 2 Kryptologie - Micro · PDF fileCaesars Code Warum ist die monoalphabetische Substitution einfach zu knacken? r. 7 WS 2010/11 Vorlesung: IT-Sicherheit M. Harms 13 Kryptoanalyse

78

WS 201011 Vorlesung IT-Sicherheit

M Harms

155

Wiederholung Elektr Signatur

Was Aussagen sind korrekt

1 Eine qualifizierte Signatur ist fuumlr elektronische

Rechnungen in Deutschland verpflichtend

2 Digitale Signaturen werden mit dem Private

Key erstellt

3 Digitale Signaturen werden mit dem

Public-Key erstellt

4 Digitale Signaturen werden mit einem Hash

Key gepruumlft