Public-Key-Kryptosystem
Public-Key-Kryptosystem
Public-Key-Kryptosystem
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