• Keine Ergebnisse gefunden

Geschichte der Kryptographie

N/A
N/A
Protected

Academic year: 2022

Aktie "Geschichte der Kryptographie"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Terminologie

Kryptographie:

•Entwurf und Design von Kryptosystemen, also zum Beispiel Verfahren f ¨ur die Verschl ¨usselung und digitale Signaturen.

Kryptoanalyse:

•Versucht, Kryptosysteme zu “knacken”.

Kryptologie:

•Zusammenfassender Begriff f ¨ur Kryptographie und Kryptoanalyse.

•Wir verwenden “Kryptographie” synonym f ¨ur “Kryptologie”.

3 17. Oktober 2006

Geschichte der Kryptographie

Alte Disziplin:

•C ¨asar, Alexander der Große, ...

•Unsystematische Verwendung bis 20. Jahrhundert.

20. Jahrhundert:

•Systematisierung und Formalisierung.

•Wichtige Rolle im zweiten Weltkrieg (Enigma, A. Turing).

•Bis in die 60er Jahr haupts ¨achlich Verwendung durch Regierungen und Milit ¨ar.

•Mit zunehmender Computerisierung verst ¨arkte Verwendung und Anforderungen im wirtschaftlichen (privaten) Bereich.

Kryptographie

Vorlesung im WS 2006/7

http://www.math.tu-berlin.de/hess/krypto-ws2006

Florian Heß / Marcus Wagner Technische Universit ¨at Berlin

1 17. Oktober 2006

Zielsetzungen in der Kryptographie

Sichere digitale Kommunikation in Anwesenheit von vertrauensunw ¨urdigen Personen.

Hauptaufgaben:

•Verschl ¨usselung

•Digitale Signaturen Spezieller:

•Authentizit ¨at, Authentifizierung, Datenintegrit ¨at

•Anonymit ¨at, Autorisierung, elektronisches Geld

•elektronische Wahlen

•...

(2)

Algorithmen

Unter einem Algorithmus verstehen wir einen Text von elementaren Anweisungen, die beispielsweise auf einem Computer oder einer Turing Maschine ausgef ¨uhrt werden k ¨onnen.

Ein Algorithmus erwartet eine Eingabe, t ¨atigt eine Ausgabe und endet dann.

Ein Algorithmus heißt deterministisch, wenn die auszuf ¨uhrenden Anweisungen eindeutig durch die Eingabe bestimmt sind. Ein solcher Algorithmus verh ¨alt sich wie eine Funktion.

Ein Algorithmus heißt probabilistisch, wenn die auszuf ¨uhrenden Anweisungen neben der Eingabe auch von zuf ¨alligen

Entscheidungen w ¨ahrend des Laufs abh ¨angen.

7 17. Oktober 2006

Algorithmen

Zu vorgegebener Eingabe ist die Laufzeit eines Algorithmus die Anzahl der bis zum Ende des Algorithmus ausgef ¨uhrten

Anweisungen, inklusive der Zufallsabfragen. Im Zusammenhang mit Computern werden h ¨aufig Bitoperationen gez ¨ahlt.

Die Laufzeit und die Ausgabe eines probabilistischen Algorithmus h ¨angen damit ebenfalls vom Zufall ab und stellen Zufallvariablen dar.

IstAein probabilistischer Algorithmus, so k ¨onnen wir daraus einen deterministischen AlgorithmusADmachen, indem wir die vonA benutzte Zufallsquelle als Eingabe vonADauffassen.

Ein Algorithmus ist polynomiell, wenn es ein Polynom f ∈Z[t]gibt, so daß seine Laufzeit f ¨ur die Eingabexdurch f (|x|)beschr ¨ankt ist.

Geschichte der Kryptographie

20. Jahrhundert (ctd):

•1976: “New directions in cryptography” von Diffie und Hellman, Geburtsstunde der Kryptographie mit ¨offentlichem Schl ¨ussel.

•80er Jahre: Zero-knowledge Protokolle.

•90er Jahre: Massenhafte Verbreitung kryptographischer Verfahren durch Computer, Internet, Geldautomaten, Mobilfunk, etc.

5 17. Oktober 2006

Kryptographie und andere Wissenschaften

Die Kryptographie ist ausgesprocheninterdisziplin ¨ar:

•Theoretische und angewandte Informatik

(Komplexit ¨atstheorie, Informationstheorie, Protokolle, formale Methoden, Software Engineering, ...)

•Mathematik(Algebra, Zahlentheorie, ...)

•Elektrotechnik(Chipdesign, ...)

•Physik(Quantenphysik und -computer, ...)

•Gesellschaftspolitische und rechtliche Aspekte(DMCA, ...) Informationssicherheit (

”Softwaresicherheit“) f ¨allt nicht unter Kryptographie.

(3)

Konzepte der Verschl ¨ usselung

Klartexte sind aus Klartextraum:mMA1. Chiffretexte sind aus Chiffretextraum:cCA2.

Schl ¨ussel sind aus Schl ¨usselr ¨aumen:eK1A3,dK2A4. Verschl ¨usselungsverfahrenE : K1×M C.

Entschl ¨usselungsverfahrenD : K2×CM.

Verschl ¨usselung von Klartextmmit Schl ¨ussele: cE(e,m).

Entschl ¨usselung von Chiffretextcmit Schl ¨usseld: mD(d,c).

E undD sind effiziente Verfahren (z.B. Programme).

E undD d ¨urfen probabilistisch sein (d ¨urfen den Zufall verwenden).

E kann mehrdeutig sein ( ).

11 17. Oktober 2006

Beispiele: Affine-lineare Blockchiffren

R =Z/mZundM = C = Rn,K1= K2=GL(n,R)×Rn. F ¨urA∈GL(n,R)undbRnseien

C =E((A,b),M) = AM + b,

M =D((A,b),M) = A−1(Cb).

Chiffre von C ¨asar:

m = 26,n = 1,A = (1),b = 3.

Chiffre von Vign `ere:

m = 26,A = In,bRn.

•Nicht jeder Buchstabe wird gleich verschl ¨usselt.

Chiffre von Hill:

m = 26,APermutationsmatrix,b = 0

Algorithmen

Beispiel:

Aufgabe ist, eine 6 zu w ¨urfeln. L ¨osung ist, einfach wiederholt zu w ¨urfeln, bis eine 6 erscheint.

In vielen F ¨allen sind probabilistische Algorithmen deterministischen Algorithmen zur L ¨osung der gleichen Probleme ¨uberlegen (einfacher und schneller).

9 17. Oktober 2006

Alphabete und Worte

Ein AlphabetAist eine nicht-leere Menge.

Die WortmengeA ¨uberAistA=∪i=0Ai. Beispiel:

A ={A, . . . ,Z}, HALLO∈A

A ={0,1},101101∈A.

•1k= 11· · ·1,kEinsen.

Leeres Wort:ε.

Aneinanderh ¨angen von Worten:m1,m2Am1m2A. L ¨ange|m|eines WortsmA:mA|m|.

Schreibweise in einigen Programmiersprachen: ’A’, “HALLO“, “ “

(4)

Symmetrisch, asymmetrisch

Symmetrisches Verschl ¨usselungssystem (secret key):

d = e(oderdleicht auseberechenbar).

•Sender und Empf ¨anger habeneals gemeinsames Geheimnis.

Asymmetrisches Verschl ¨usselungssystem (public key):

dgeheim,e ¨offentlich.

dschwer oder gar nicht auseberechenbar.

•Empf ¨anger besitzteundd.

•Sender verwendetezum Verschl ¨usseln.

•Empf ¨anger verwendetdzum Entschl ¨usseln.

15 17. Oktober 2006

Prinzip von Kerkhoff

Grundlegende Anforderung:

Sicherheit eines Systems sollte sich nicht aus der Geheimhaltung der Algorithmen, sondern nur aus den geheimen Schl ¨usseln ableiten.

Gr ¨unde daf ¨ur:

•Geheime Schl ¨ussel lassen sich schneller und h ¨aufiger austauschen, gr ¨oßere Flexibilit ¨at.

•Geheimhaltung funktionert nicht lange (siehe COMP128 im GSM Mobilfunk, RC4 von RSA), Umstellung auf neue Algorithmen teuer.

•Offentliche Algorithmen k ¨onnen von unabh ¨angiger Seite¨ untersucht werden. Dies eliminiert Designfehler und baut Vertrauen bei Benutzern bzw. Kunden auf (siehe GSMK Cryptophone).

Beispiele: Affine-lineare Blockchiffren

Kryptoanalyse:

•Angriff durch Untersuchung der H ¨aufigkeit des Auftretens von Buchstaben in nat ¨urlicher Sprache.

•Angriff fallsn + 1Klartext- und Chiffretextpaare(Mi,Ci)vorliegen.

DannCiC0= A(MiM0). IstU Matrix mit den SpaltenCiC0undV Matrix mit den SpaltenMiM0, so giltU = AV. IstV invertierbar, folgt A = UV−1undb = C0AM0.

13 17. Oktober 2006

Beispiele: Affine-lineare Blockchiffren

Vernam’s One Time Pad:

•Im Chiffre von Vign `ere den Vektorbgleichverteilt zuf ¨allig ausRn w ¨ahlen und nur einmal verwenden.

•DannCebenfalls v ¨ollig zuf ¨allig, keine Verbindung zu Klartext.

Daher unm ¨oglich, ausCInformationen ¨uberMzu bekommen.

•Chiffre aber inpraktikabel (wiebzu Kommunikationspartner bringen?)

(5)

Angriffe und Sicherheitsmodelle

Ziele eines Angreifers:

•Chiffretext entschl ¨usseln.

•Chiffretexte bekannten Nachrichten zuordnen.

•Gegebenen Chiffretext in neuen Chiffretext umwandeln, so daß neuer Klartext mit alten Klartext sinnvoll verbunden ist.

•Irgendeinen Chiffretext erzeugen (ohne Klartext zu kennen).

Die korrespondierenden (negierten) Eigenschaften des Verschl ¨usselungssystems:

•Einweg-Eigenschaft (onewayness, OW).

•Semantische Sicherheit, Nichtunterscheidbarkeit (indistinguishability, IND).

•Nicht-Modifizierbarkeit (non-malleability, NM).

•Plaintext-awareness (PA).

19 17. Oktober 2006

Angriffe und Sicherheitsmodelle

Informationen (F ¨ahigkeiten) des Angreifers in aufsteigender Reihenfolge:

•Ciphertext-only Angriff: Der Angreifer erh ¨alt nur Chiffretexte.

•Known-plaintext Angriff: Der Angreifer erh ¨alt Klartexte und die zugeh ¨origen Chiffretexte.

•Chosen-plaintext Angriff (CPA): Der Angreifer kann sich die Klartexte aussuchen und erh ¨alt die zugeh ¨origen Chiffretexte.

Zus ¨atzlich bei Public-Key Verschl ¨usselungssystemen:

•Chosen-ciphertext Angriff (CCA1): Der Angreifer kann sich Chiffretexte aussuchen und erh ¨alt die zugeh ¨origen Klartexte.

Prinzip von Kerkhoff

Gr ¨unde dagegen:

•Firmen wollen Gesch ¨aftsgeheimnisse bewahren.

•Staatliche Beh ¨orden wollen einen verbreiteten Gebrauch (z.B.

durch Terroristen) des f ¨ur eigene Zwecke entwickelten und benutzten, vielleicht sehr sicheren Kryptosystems verhindern.

Im allgemeinen wird die Meinung vertreten, daß das Prinzip von Kerkhoff befolgt werden sollte.

17 17. Oktober 2006

Angriffe und Sicherheitsmodelle

Es werden Angreifer (Algorithmen, Programme, Menschen etc.) betrachtet.

Im wesentlichen drei Aspekte:

•Was ist das Ziel eines Angriffs (wann erfolgreich)?

•Welche Informationen stehen dem Angreifer zur Verf ¨ugung?

•Welche Rechenleistung besitzt der Angreifer?

Trifft man f ¨ur diese Aspekte eine Wahl, so legt man sich auf ein Sicherheitsmodell fest.

Gibt es unter den Aspekten keinen Angreifer, so ist das Kryptosystem sicher (im gew ¨ahlten Modell).

Maximale Sicherheit, wenn Ziele minimal und Informationen maximal.

(6)

Angriffe und Sicherheitsmodelle

Beispiel:

Das f ¨ur Public-Key Systeme st ¨arkste Sicherheitsmodell ist

Nichtunterscheidbarkeit unter einem adaptiven Chosen-ciphertext Angriff (IND-CCA2).

Hier versucht ein Angreifer die Chiffretexte zweier von ihm vorgegebener Nachrichten den Nachrichten zuzuordnen.

Gelingt dies mit Wahrscheinlichkeit signifikant besser als 1/2, so gilt der Angriff als erfolgreich.

NM ist sicherer als IND ist sicherer als OW.

CCA2 ist sicherer als CCA1 ist sicherer als CPA.

NM-CCA2 = IND-CCA2

(In spezieller Situation: PA ist sicherer als IND-CCA2, NM-CCA2)

23 17. Oktober 2006

Angriffe und Sicherheitsmodelle

Chosen-plaintext und Chosen-ciphertext Angriffe gibt es auch in adaptiver und kombinierter Form:

Der Angreifer darf Klar- und Chiffretexte in Abh ¨angigkeit zuvor erhaltener Chiffre- bzw. Klartexte und den Ergebnissen von Zwischenrechnungen w ¨ahlen.

CCA1 wird dann zu CCA2.

21 17. Oktober 2006

Angriffe und Sicherheitsmodelle

Rechenleistung eines Angreifers:

•Vergleichbar der vonE undD (polynomiell).

•Unbeschr ¨ankt.

Die korrespondierenden (negierten) Eigenschaften des Verschl ¨usselungssystems:

•Komplexit ¨atstheoretische Sicherheit (computational security).

•Perfekte Sicherheit (unconditional security, perfect secrecy).

Im allgemeinen betrachtet man nur komplexit ¨atstheoretische Sicherheit.

Referenzen

ÄHNLICHE DOKUMENTE

Die Funktion g habe in z 0 eine einfache Nullstelle (also 1/g einen

Christoph

Den Stoff finden Sie im unten angegebenen Skript (Kap. Kapitels – Zugangsinformation in der Vorlesung); entsprechende Beispiele (teilweise mit L¨ osungen) finden Sie in der

[r]

Schreiben Sie die Eigenwertgleichungen auf, und ermitteln Sie hieraus a, b, c, d. Aufgaben und L¨osungen : www.tu-chemnitz.de/

Wir beweisen, dass unter den gegebenen Annahmen kein Angreifer die Sicherheit brechen

CCA (=Chosen Ciphertext Attack) ist ein Angriff, bei dem der Angreifer sich Chiffretext seiner Wahl entschlüsseln lassen kann.. Beispiele in denen CPA-Sicherheit

Finden Sie außerdem erneut die L¨ osungen einer linearen