05.11.2013 Aufrufe

Public-Key-Kryptosystem

Public-Key-Kryptosystem

Public-Key-Kryptosystem

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Public</strong>-<strong>Key</strong>-<strong>Kryptosystem</strong><br />

Zolbayasakh Tsoggerel<br />

29. Dezember 2008<br />

Inhaltsverzeichnis<br />

1 Wiederholung einiger Begriffe 2<br />

2 Einführung 2<br />

3 <strong>Public</strong>-<strong>Key</strong>-Verfahren 3<br />

4 Unterschiede zwischen symmetrischen und asymmetrischen <strong>Kryptosystem</strong> 3<br />

4.1 Andere Vor- und Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

5 Einwegfunktionen 4<br />

5.1 Einwegfunktionen mit Falltür . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

6 Diffie-Hellman-Schlüsselaustausch 5<br />

6.1 Diffie-Hellmann-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

7 Diskreter Logarithmus 6<br />

7.1 Mathematische Details zum diskreten Logarithmus . . . . . . . . . . . . . . . . . . 6<br />

7.2 Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

8 Massey-Omura- <strong>Kryptosystem</strong> 7<br />

8.1 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

8.2 Sicherheitsbetrachtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

1


1 Wiederholung einiger Begriffe<br />

• Symmetrisches <strong>Kryptosystem</strong> verwendet zum Verschlüsseln und Entschlüsseln den gleichen<br />

geheimen Schlüssel.<br />

Beispiele sind:<br />

Monoalphabetische Chiffren, darunter Skytale, Cäsar- Chiffren<br />

Polyalphabetische Chiffren: Vigenère-Chiffre<br />

• Bei asymmetrischem <strong>Kryptosystem</strong> besitzt jeder Teilnehmer einen privaten bzw. geheimen<br />

und einen öffentlichen bzw. nicht geheimen Schlüssel.<br />

2 Einführung<br />

In meinem Vortrag behandle ich die Themen<br />

• Unterschied zwischen symmetrischen und asymmetrischen Verschlüsselungsverfahren<br />

• Einwegfunktionen<br />

• Diffie-Hellman-Schlüsseltauschverfahren<br />

• Massey-Omura-<strong>Kryptosystem</strong><br />

Es geht bei mir darum, die Entwicklung der Systeme zu verstehen. Die <strong>Kryptosystem</strong>e wurden<br />

von Zeit zu Zeit verbessert und somit wurden die Fehler des vorhergehenden Verfahrens behoben.<br />

In einem symmetrischen Verfahren benötigen je zwei Teilnehmer einen geheimen Schlüssel, der<br />

nur diesen beiden Teilnehmern bekannt sind. Die geheime Information muss vor allen anderen<br />

Teilnehmer und insbesondre vor dem Angreifer, geheim gehalten werden. Die Nachteile dieses<br />

Systems sind:<br />

• zwei Personen können nicht spontan miteinander kommunizieren .Sie müssen zuerst miteinander<br />

den geheimen Schlüssel erzeugen<br />

• Jeder muss mit jedem Teilnehmer des Kommunikationsnetzwerkes einen gemeinsamen geheimen<br />

Schlüssel besitzen<br />

• Sender und Empfänger müssen sich gegenseitig darin vertrauen, dass keiner der beiden den<br />

geheimen Schlüssel preisgibt.<br />

1976 W. Diffie und M. Hellmann veröffentlichten das Konzept der asymmetrischen Kryptografie<br />

oder auch “<strong>Public</strong>-<strong>Key</strong>-<strong>Kryptosystem</strong>“, System mit öffentlichem Schlüssel, sodass es nicht mehr des<br />

gemeinsamen geheimen Schlüssels nötig war. Man braucht um die geheime Nachricht zu erzeugen<br />

den öffentlichen Schlüssel des Empfängers, wie zum Beispiel eine öffentliche Telefonnummer, die<br />

jeder im Telefonbuchverzeichnis nachschauen kann, und zum Verschlüsseln der Nachricht braucht<br />

der Empfänger seinen privaten Schlüssel, den nur er kennt. Das Schlüsselaustauschproblem wurde<br />

durch Diffie-Hellmann-Schlüsselaustausch, ein asymmetrisches System, behoben.<br />

Ein Vorteil hat Massey-Omura-System im Gegensatz zu Diffie-Hellmann-Schlüsselaustausch, dass<br />

man keinen öffentlichen Schlüssel mehr benötigt.<br />

2


3 <strong>Public</strong>-<strong>Key</strong>-Verfahren<br />

In der Datensicherheit sind meist die Ver- und Entschlüsselungsfunktion nicht geheim, nur der<br />

Schlüssel. Schlüssel ist leichter zum geheim halten, weil bei Konstruktion eines Algorithmus zu<br />

viele Personen beteiligt sind, sodass die Wahrscheinlichkeit, dass das Geheimnis an die Öffentlichkeit<br />

kommt, sehr hoch ist. Nichtsdestotrotz Wegfallen vom geheimen Schlüsselaustausch ist vorteilhafter.<br />

Für 100 Personen, die miteinander kommunizieren wollen, bräuchte man 4950 Schlüssel,<br />

da jede Person mit jedem der 99 Partner einen speziellen geheimen Schlüssel vereinbaren muss.<br />

Bei genauerer Betrachtung braucht der Empfänger eine geheime Information um die Nachricht<br />

entschlüsseln zu können, aber dem Sender die gleiche geheime Information bekannt sein muss, ist<br />

nicht notwendig. Bei einem <strong>Public</strong>-<strong>Key</strong>-<strong>Kryptosystem</strong> hat jeder Teilnehmer zwei Schlüssels:<br />

einen öffentlichen (nicht geheimen) Schlüssel E (enciphering) um die Nachricht zum verschlüsseln<br />

und einen privaten (geheimen) Schlüssel D (deciphering) zum entschlüsseln.<br />

m= Klartext, c= Geheimtext<br />

Damit ergeben sich zwei Anforderungen:<br />

c = E(m)<br />

D(c) = D(E(m)) = m<br />

1. Eindeutige Entschlüsselung: D(E(m)) = m<br />

Die Schlüssel müssen in dem Sinne so ausgewählt werden, dass der privater Schlüssel die<br />

Wirkung von dem öffentlichen Schlüssel aufhebt.<br />

2. Es soll unmöglich sein aus der Kenntnis des öffentlichen Schlüssels auf den privaten Schlüssel<br />

zu schließen.<br />

Wenn diese beiden Eigenschaften erfüllt sind, spricht man von einer <strong>Public</strong>-<strong>Key</strong>-Verschlüsselungsverfahren.<br />

Ein bedeutender Teil der asymmetrischen Kryptografie sind die Einwegfunktionen. Die<br />

wichtigsten Vertreter sind:<br />

• RSA-Algorithmus<br />

• Diffie-Hellmann-Schlüsselvereinbarung<br />

• ElGamal-Verschlüsselung<br />

• Massey-Omura-<strong>Kryptosystem</strong>.<br />

4 Unterschiede zwischen symmetrischen und asymmetrischen<br />

<strong>Kryptosystem</strong><br />

Symmetrische Algorithmen vs. Asymmetrische Algorithmen<br />

sehr viele Anzahl sehr wenige<br />

schnell, kurz Performance langsam, lang<br />

ja vorheriger Schlüsselaustausch notwendig nein<br />

nein Möglichkeit der digitalen Signatur ja<br />

Verschlüsselung typisches Einsatzgebiet Schlüsselaustausch, Signaturen<br />

1. Es gibt sehr wenige <strong>Public</strong>-<strong>Key</strong>-Verschlüsselungsverfahren, die die erforderlichen Eigenschaften<br />

erfüllen Wenn sich herausstellen sollte, dass ein <strong>Public</strong>-<strong>Key</strong>-Verfahren nicht korrekt ist,<br />

kann man im Unterschied zu den symmetrischen Verschlüsselungsverfahren nicht leicht auf<br />

eine Alternative zurückgreifen.<br />

3


2. Bis heute bekannten Verfahren zur asymmetrischen Verschlüsselung sind wegen der Arithmetik<br />

großer Zahlen sehr langsam, wohingegen sich die symmetrischen Verfahren sehr effizient<br />

implementieren lassen. Daher verwendet man in der Praxis so genannte Hybridverfahren(Mischverfahren),<br />

die die jeweiligen Vorteile der symmetrischen und asymmetrischen<br />

Kryptografie kombinieren. Zum Beispiel verschlüsselt man nur den relativ kurzen symmetrischen<br />

Schlüssel zu übertragen.<br />

3. In asymmetrischen Verfahren braucht man zum Verschlüsseln keine geheime Information,<br />

sondern nur einen öffentlichen Schlüssel des beabsichtigten Empfängers. Aber in symmetrischen<br />

Verfahren:<br />

(a) Wenn es N Teilnehmer gibt, so muss jeder Teilnehmer N-1 Schlüssel geheim halten<br />

(b) Wenn ein neuer Teilnehmer hinzukommt, müssen alle Teilnehmer ihre Schlüsseldatei<br />

aktualisieren<br />

(c) Sender und Empfänger müssen sich gegenseitig darin vertrauen, dass keiner den gemeinsamen<br />

Schlüssel preisgibt<br />

4. Es gilt D(E(m) = m. Wenn E(D(m)) = m zusätzlich gilt, kann man das asymmetrische<br />

Verfahren auch als digitales Signaturverfahren verwenden.<br />

4.1 Andere Vor- und Nachteile<br />

Grundsätzlich hat jedes <strong>Public</strong>-<strong>Key</strong>-Verfahren noch ein Problem. Der Sender muss einwandfrei<br />

feststellen können, dass der öffentliche Schlüssel, den er zum Verschlüsseln benutzt, wirklich dem<br />

Empfänger gehört. Aber dieses Problem lässt sich leicht beheben, nämlich mit digitalen Signatur.<br />

Schwächen haben die asymmetrischen Algorithmen in dem Fall, in dem eine verschlüsselte Nachricht<br />

an mehrere Empfänger zugestellt werden soll. Da eine Verschlüsselung immer mit dem öffentlichen<br />

Schlüssel des Empfängers (und nicht des Senders) erfolgt, müsste die Nachricht für jeden<br />

Empfänger einzeln verschlüsselt und versandt werden. In der Praxis wird dieses Problem ebenfalls<br />

mittels hybrider Verfahren umgangen.<br />

Ein anderes Problem ist, dass die Sicherheit vieler asymmetrischer <strong>Kryptosystem</strong> auf unbewiesenen<br />

Annahmen beruht. Es wird lediglich stark vermutet, dass die den verschiedenen Verfahren<br />

zugrundeliegenden Einwegfunktionen nur mit enormem Rechenaufwand umkehrbar sind. Es kann<br />

also nicht ausgeschlossen werden, dass noch unbekannte Algorithmen existieren, die die Umkehrung<br />

der Einwegfunktionen mit vertretbarem Aufwand leisten.<br />

5 Einwegfunktionen<br />

Seien X und Y Mengen. Eine injektive Funktion f: X → Y heißt eine Einwegfunktion (one way<br />

function), falls man für jedes x ∈ X den Funktionswert y = f(x) berechnen, aber für jedes beliebig<br />

vorgegebene y ∈ Bild f ⊆ Y , das Urbild f −1 (y) = x in vertretbarer Zeit nicht finden kann. Dies<br />

soll nur in allgemein unbekannter Zusatzinformation möglich sein.<br />

Es ist unbekannt, ob Einwegfunktionen existieren. Als Kandidaten gelten:<br />

• die kryptographischen Hash-Funktionen<br />

• die Multiplikation zweier Primzahlen bzw. zweier ganzer Zahlen ist einfach, während die<br />

Umkehrung, die Primfaktorzerlegung, schwer ist<br />

• die Berechnung der n-ten Potenz eines Elementes einer endlichen Gruppe ist bei geeigneter<br />

Wahl der Gruppe einfach, während das Auffinden eines Exponenten durch Berechnung des<br />

diskreten Logarithmus aufwändig ist.<br />

Auf Einwegfunktionen beruht die Sicherheit der <strong>Public</strong>-<strong>Key</strong>-Verfahren.<br />

4


5.1 Einwegfunktionen mit Falltür<br />

Eine Variante der Einwegfunktionen sind Trapdoor-Einwegfunktionen, auch Falltürfunktionen genannt.<br />

Diese lassen sich nur dann effizient umkehren, wenn man eine gewisse Zusatzinformation<br />

besitzt.<br />

Beispiel mit Briefkasten:<br />

Jeder kann einen Brief einwerfen. Das Herausholen ist dagegen sehr schwierig-es sei denn, man ist<br />

im Besitz des Schlüssels.<br />

6 Diffie-Hellman-Schlüsselaustausch<br />

Diffie-Hellman-Schlüsselaustausch ist ein Protokoll, mit dem zwei Kommunikationspartner einen<br />

geheimen Schlüssel, den nur diese beiden kennen, erzeugt. Dieser Schlüssel wird üblicherweise verwendet,<br />

um verschlüsselte Nachrichten mittels eines symmetrischen <strong>Kryptosystem</strong>s zu übertragen.<br />

1. Die Kommunikationspartner einigen sich zunächst auf eine Primzahl p und eine ganze Zahl<br />

g. Diese Zahlen können öffentlich vereinbart werden.<br />

2. Beide Kommunikationspartner erzeugen jeweils eine geheim zu haltende Zufallszahl a bzw.<br />

b und berechnen:<br />

Nun werden A und B über das unsichere Medium getauscht.<br />

3. Die Kommunikationspartner berechnen nun<br />

A = g a mod p (1)<br />

B = g b mod p (2)<br />

K = B a mod p (3)<br />

K = A b mod p (4)<br />

Das Ergebnis K ist für beide Partner gleich und kann als gemeinsamer geheimer Schlüssel für die<br />

symmetrische <strong>Kryptosystem</strong> verwendet werden.<br />

Dass beide Kommunikationspartner denselben Wert für K berechnen, zeigen die folgenden beiden<br />

Gleichungen:<br />

K = B a mod p = (g b mod p) a mod p = g ba mod p = g ab mod p<br />

K = A b mod p = (g a mod p) b mod p = g ab mod p<br />

Aus A und B muss der potenzielle Angreifer a bzw. b ausrechnen, um die geheime Nachricht<br />

verschlüsseln zu können.<br />

6.1 Diffie-Hellmann-Problem<br />

Gegeben seien in einer endlichen Gruppe die Elemente g, g a und g b .<br />

Gesucht wird der Wert von g ab ?<br />

Diese Problemstellung wird als Diffie-Hellman-Problem bezeichnet und ist nur dann lösbar, wenn<br />

der diskrete Logarithmus in Polynomialzeit lösbar ist.Man kennt bis heute keinen effizienten Algorithmus<br />

zur Bestimmung von diskreten Logarithmen. Die Abbildung zeigt, wie chaotisch sich<br />

die diskrete Exponentialfunktion verhält.<br />

5


7 Diskreter Logarithmus<br />

Abbildung 1: Der diskrete Exponentialfunktion<br />

Die Sicherheit von RSA-Algorithmus beruht auf dem Faktorisierungsproblem. Diffie-HellmannSchlüsseltauschvereinbarung<br />

benutzt aber ein anderes mathematisches Problem, das diskreten Logarithmus-<br />

Problem.<br />

7.1 Mathematische Details zum diskreten Logarithmus<br />

Damit das Diffie-Hellmann-Schlüsseltausch realisiert werden kann, braucht man eine Einwegfunktion.<br />

Die normale Exponentiation und die Umkehrung Logarithmus ist nicht schwer zu berechnen,<br />

aber der diskrete Logarithmus wird in der Mathematik bzw. in der Kryptografie in einer geeigneten<br />

endlichen Gruppe als Einwegfunktion angesehen. Als geeignete Gruppen kann man zum Beispiel<br />

die multiplikative Gruppe eines endlichen Körpers wählen, die zyklisch ist, oder die Punkte auf<br />

einer elliptischen Kurve, die eine abelsche Gruppe bilden. Die Wahlen der Gruppen sind sorgfältig<br />

zu treffen.<br />

• Wegen doppelten Potenzierens muss der zyklische Körper mit Multiplikation eine abelsche<br />

Gruppe sein<br />

• Zyklisch muss es sein, damit tatsächlich Umkehrwerte existieren, denn in einer zyklisch<br />

Gruppe lässt sich jedes Mitglied als Potenzen des erzeugenden Elements darstellen<br />

g ist ein erzeugendes Element, in diesem Fall genannt “Primitivwurzel“ (engl. generator)<br />

In diesen Gruppen existieren sehr viele erzeugende Elemente (Kryptografie in Theorie und<br />

Praxis von Albrecht Beutelsbacher, Heike B. Neumann, Thomas Schwarzpaul, Seite 136),<br />

daher kann man g zufällig durch probieren auswählen, g ∈ {0, 1, 2, ..., p − 1}<br />

• p ist eine Primzahl<br />

• a und b wählt man auch zufällig:<br />

a ∈ {0, 1, 2, ..., p − 1}<br />

b ∈ {0, 1, 2, ..., p − 1}<br />

Zum Beispiel die primen Restklassengruppe (Z/nZ) aus ( http://de.wikipedia.org/wiki/Prime<br />

Restklassengruppe oder F ∗ p sind geeignete Gruppen.<br />

7.2 Sicherheit<br />

Ein Angreifer, der beide Nachrichten mithört, kann im Allgemeinen nicht den geheimen Schlüssel<br />

berechnen. Der Diffie-Hellman-Schlüsselaustausch ist jedoch nicht mehr sicher, wenn sich ein Angreifer<br />

zwischen die beiden Kommunikationspartner schalten und Nachrichten verändern kann.<br />

6


Aber dieses Problem kann ebenso mit Hilfe von digitalen Signaturen und Message Authentication<br />

Codes, MAC, umgangen werden.<br />

8 Massey-Omura- <strong>Kryptosystem</strong><br />

Das Massey-Omura-System ist ein <strong>Kryptosystem</strong>, welches zwei Parteien erlaubt ohne die Existenz<br />

von öffentlichen Schlüsseln oder gemeinsamen geheimen Schlüsseln Nachrichten vertraulich auszutauschen.<br />

Es basiert auf der Schwierigkeit des diskreten Logarithmus.<br />

Voraussetzungen:<br />

• gemeinsame Wissen aller Teilnehmer um eine große Primzahl p<br />

• jeder Teilnehmer erzeugt für die Kommunikation einen Schlüssel E mit E < p − 1, welcher<br />

relativ prim zu p − 1 ist, es gilt also: ggT (E, p − 1) = 1.<br />

• Zu diesem wird mittels des erweiterten euklidischen Algorithmus die Zahl D bestimmt. Sie<br />

ist das multiplikative Inverse von E mod p − 1. Es gilt also:<br />

Nun gilt für alle Nachrichten m < p:<br />

aufgrund des kleinen Satzes von Fermat.<br />

8.1 Ablauf<br />

E T ∗ D T = 1 mod p − 1<br />

(m E T<br />

) D T<br />

= m E T ∗D T<br />

= m k∗(p−1)+1 = m mod p<br />

Als Beispiel soll ein Teilnehmer A die vertrauliche Nachricht m an Teilnehmer B übermitteln. Sie<br />

verfügen beide über p, darüber hinaus kennt jeder nur seinen eigenen Schlüssel E A und D A bzw.<br />

E B und D B .<br />

1. A bildet m E A<br />

mod p und sendet die entstehende Zahl an B<br />

2. B rechnet (m E A<br />

) E B<br />

mod p und sendet es an A<br />

3. A erzeugt ((m E A<br />

) E B<br />

) D A<br />

modp, was nach dem kleinen Satzes von Fermat m E B<br />

modp entspricht<br />

und sendet dies zurück an B. Somit hat A die Wirkung der Exponentiation mit dem nur<br />

ihm bekannten E A auf m “wieder aufgehoben“. Die Nachricht ist jedoch noch immer durch<br />

die Exponentiation mit E B “geschützt“ bzw. verschlüsselt.<br />

4. B kann nun durch Exponentiation mit D B die Nachricht m gewinnen.<br />

Aus allen ausgetauschten Nachrichten kann ohne Wissen um die Schlüssel der Teilnehmer nicht<br />

auf m geschlossen werden.<br />

8.2 Sicherheitsbetrachtungen<br />

Das Massay-Omura-Schema ist sicher gegen passives Mithören von Nachrichten, d. h. Dritte<br />

können aus den ausgetauschten Nachrichten nicht auf den Originaltext zurückschließen. Es ist<br />

jedoch anfällig für Man-In-The-Middle-Attacken. Durch die angenommene Schwere der Berechnung<br />

diskreter Logarithmen ist es auch bei vorhandenem Wissen um den Originaltext m beinahe<br />

unmöglich die von einem Teilnehmer T gewählten Schlüssel eT und dT mit Hilfe einer mitgeschnittenen<br />

Nachricht zu erschließen.<br />

7

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!