www.wikidata.de-de.nina.az
Der Diffie Hellman Schlusselaustausch oder Diffie Hellman Merkle Schlusselaustausch bzw Schlusselvereinbarung auch kurz DHM Schlusselaustausch oder DHM Protokoll 1 ist ein Protokoll zur Schlusselvereinbarung Es ermoglicht dass zwei Kommunikationspartner uber eine offentliche abhorbare Leitung einen gemeinsamen geheimen Schlussel in Form einer Zahl vereinbaren konnen den nur diese kennen und ein potenzieller Lauscher nicht berechnen kann Der dadurch vereinbarte Schlussel kann anschliessend fur ein symmetrisches Kryptosystem verwendet werden beispielsweise Data Encryption Standard oder Advanced Encryption Standard Unterschiedliche Varianten des Diffie Hellman Merkle Verfahrens werden heute fur die Schlusselverteilung in den Kommunikations und Sicherheitsprotokollen des Internets eingesetzt beispielsweise in den Bereichen des elektronischen Handels Dieses Prinzip hat damit eine wichtige praktische Bedeutung Vereinbarung eines gemeinsamen geheimen Schlussels uber eine abhorbare Leitung mit dem Diffie Hellman Merkle SchlusselaustauschDas Verfahren wurde von Whitfield Diffie und Martin Hellman entwickelt und im Jahr 1976 unter der Bezeichnung ax1x2 veroffentlicht Es handelt sich um das erste der sogenannten asymmetrischen Kryptoverfahren auch Public Key Kryptoverfahren das veroffentlicht wurde Wichtige Vorarbeiten leistete Ralph Merkle mit dem nach ihm benannten Merkles Puzzle Wie erst 1997 bekannt wurde entwickelten bereits in den fruhen 1970er Jahren Mitarbeiter des britischen Government Communications Headquarters GCHQ als Erste asymmetrische Kryptosysteme Das GCHQ hat allerdings wegen der Geheimhaltung und wegen des fur die Briten aus Sicht der fruhen 1970er Jahre fraglichen Nutzens nie ein Patent beantragt Der DHM Schlusselaustausch zahlt zu den Krypto Systemen auf Basis des diskreten Logarithmus kurz DL Verfahren Diese basieren darauf dass die diskrete Exponentialfunktion in gewissen zyklischen Gruppen eine Einwegfunktion ist So ist in der primen Restklassengruppe die diskrete Exponentialfunktion b x mod p displaystyle b x bmod p p displaystyle p prim auch fur grosse Exponenten effizient berechenbar deren Umkehrung der diskrete Logarithmus jedoch nicht Es existiert bis heute kein schneller Algorithmus zur Berechnung des Exponenten x displaystyle x bei gegebener Basis b displaystyle b Modul p displaystyle p und gewunschtem Ergebnis Damit pragten die Forscher mit dem Verfahren auch einen neuen Sicherheitsbegriff in der Kryptographie der darauf basiert dass kein effizienter Algorithmus fur die Kryptoanalyse existiert Ein Kommunikationsprotokoll ist sicher wenn dessen Kryptoanalyse so viel Zeit und Arbeit bedeutet dass diese in der Praxis nicht ausgefuhrt werden kann Das Problem aus den beiden Nachrichten der Kommunikationspartner den geheimen Schlussel zu berechnen wird als Diffie Hellman Problem bezeichnet Der DHM Schlusselaustausch ist allerdings nicht mehr sicher wenn sich ein Angreifer zwischen die beiden Kommunikationspartner schaltet und Nachrichten verandern kann Diese Lucke schliessen Protokolle wie das Station to Station Protokoll STS indem sie zusatzlich digitale Signaturen und Message Authentication Codes verwenden Die Implementierung mittels elliptischer Kurven ist als Elliptic Curve Diffie Hellman ECDH bekannt Dabei werden die beim Originalverfahren eingesetzten Operationen Multiplikation und Exponentiation auf dem endlichen Korper ersetzt durch Punktaddition und Skalarmultiplikation auf elliptischen Kurven Das n displaystyle n fache Addieren eines Punktes P displaystyle P zu sich selbst also die Multiplikation mit dem Skalar n displaystyle n wird mit n P displaystyle nP bezeichnet und entspricht einer Exponentiation b n displaystyle b n im ursprunglichen Verfahren Das Prinzip wurde Mitte der 1980er Jahre von Victor S Miller und Neal Koblitz unabhangig voneinander vorgeschlagen Inhaltsverzeichnis 1 Geschichte und Bedeutung 1 1 Offentliche Kryptologie 1 2 Geheime Kryptologie 2 Schlusseltauschproblem 3 Mathematische Grundlagen 3 1 Einwegfunktionen 3 2 Diskrete Exponentialfunktion und diskreter Logarithmus 3 3 Gruppentheorie 3 4 Prime Restklassengruppe und Primitivwurzel 4 Funktionsweise 4 1 Veranschaulichung der Grundidee anhand gemischter Farben 4 2 Mathematische Funktionsweise 4 3 Programmierung 5 Sicherheit 5 1 Diffie Hellman Problem 5 1 1 Computational Diffie Hellman Problem CDH 5 1 2 Decisional Diffie Hellman Problem DDH 5 2 Wahl der offentlichen Zahlen 5 2 1 DHM Primzahl p 5 2 2 Generator g 5 2 3 Verwendung fester Gruppen und Primzahlen 5 3 Man in the Middle Angriff 5 4 Seitenkanalangriffe 5 4 1 Zeitangriff 5 4 2 Stromangriff 6 Elliptic Curve Diffie Hellman ECDH 6 1 Korper 6 2 Elliptische Kurven 6 3 Diffie Hellman auf Basis elliptischer Kurven 7 Ephemeral Diffie Hellman 8 Literatur 9 Weblinks 10 EinzelnachweiseGeschichte und Bedeutung BearbeitenOffentliche Kryptologie Bearbeiten nbsp Ralph Merkle nbsp Whitfield Diffie nbsp Martin HellmanBeim Diffie Hellman Merkle Schlusselaustausch handelt es sich um das erste der sogenannten asymmetrischen Kryptoverfahren auch Public Key Kryptoverfahren das veroffentlicht wurde Es lost das Schlusseltauschproblem indem es ermoglicht geheime Schlussel uber nicht geheime also offentliche Kanale zu vereinbaren Den ersten Schritt zur Entwicklung asymmetrischer Verfahren machte Ralph Merkle 1974 mit dem nach ihm benannten Merkles Puzzle das aber erst 1978 veroffentlicht wurde 2 Unter dem Einfluss dieser Arbeit entwickelten Whitfield Diffie und Martin Hellman im Jahr 1976 den Diffie Hellman Schlusselaustausch Sie veroffentlichten die Forschungsarbeit unter dem Titel New Directions in Cryptography 3 Das Verfahren sorgte fur einen gewaltigen Schub in der Kryptographie eine Wissenschaft die damals noch nicht sehr lange offentlich betrieben wurde 4 Ursprunglich nannten die Forscher das Verfahren ax1x2 Martin Hellman schlug 2002 vor das Verfahren Diffie Hellman Merkle Schlusselaustausch zu nennen wenn schon Namen damit verbunden werden in Anerkennung von Ralph Merkles Anteil an der Entwicklung asymmetrischer Verfahren 5 Die Bedeutung dieser Entwicklung wird auch mit der kopernikanischen Wende verglichen Die Entwicklung der asymmetrischen Verschlusselung hat fur die Kryptographie eine vergleichbare Bedeutung wie die Kopernikanische Wende fur die Astronomie und stellt neben der Digitalisierung der Informationen und dem Internet als Kommunikationsplattform ein Fundament des dritten Jahrtausends dar 6 Whitfield Diffie und Martin Hellman pragten mit dem Verfahren auch einen neuen Sicherheitsbegriff in der Kryptographie der darauf basiert dass kein effizienter Algorithmus fur die Kryptoanalyse existiert Ein Kommunikationsprotokoll ist sicher wenn dessen Kryptoanalyse so viel Zeit und Arbeit bedeutet dass diese in der Praxis nicht ausgefuhrt werden kann 7 Die Sicherheit des Diffie Hellman Merkle Schlusselaustauschs beruht entscheidend darauf dass die diskrete Exponentialfunktion in gewissen zyklischen Gruppen eine Einwegfunktion englisch one way function ist so insbesondere in der primen Restklassengruppe Das heisst dass in dieser die Exponentiation effizient berechenbar ist fur deren Umkehrung den diskreten Logarithmus jedoch bis heute kein effizienter Algorithmus bekannt ist Das Diffie Hellman Merkle Verfahren ist mittlerweile nur eines von vielen Verfahren die die diskrete Exponentialfunktion mit diskretem Logarithmus als Umkehrung als Einwegfunktion nutzen Man spricht in diesem Zusammenhang auch von Krypto Systemen auf Basis des diskreten Logarithmus oder einfach von DL Verfahren 8 So ist es beispielsweise eng verwandt mit dem Elgamal Verschlusselungsverfahren das 1985 vom Kryptologen Taher Elgamal entwickelt wurde Dieses ist im Prinzip nichts anderes als ein DHM Schlusselaustausch mit anschliessendem Senden einer Nachricht die mit dem vereinbarten Schlussel verschlusselt ist 9 Die Forscher fuhrten in der fundamentalen New Directions Arbeit auch das Konzept einer digitalen Signatur ein Ein Sender berechnet mit Hilfe eines geheimen Signaturschlussels dem Private Key zu einer digitalen Nachricht d h zu beliebigen Daten einen Wert der digitale Signatur genannt wird Dieser Wert ermoglicht es jedem mit Hilfe des offentlichen Verifikationsschlussels dem Public Key die nichtabstreitbare Urheberschaft und Integritat der Nachricht zu prufen 10 So entstand als Weiterentwicklung des DHM Schlusselaustauschs eine vielfaltige Familie an digitalen Signaturen auf Basis des diskreten Logarithmus Zu den Bekanntesten gehoren das Elgamal Signaturverfahren und der Digital Signature Algorithm 11 Neben der Einwegfunktion entwickelten Whitfield Diffie und Martin Hellman auch das Konzept der Falltur englisch trapdoor Das ist eine versteckte Abkurzung durch eine Zusatzinformation mit der die ansonsten schwierige Umkehrung einfach gemacht wird Auf der Basis von Fallturfunktionen lassen sich asymmetrische Verfahren entwickeln bei denen die Ubertragung eines geheimen Schlussels nicht mehr notwendig ist Damit leisteten sie auch wichtige Vorarbeiten zur Entwicklung des RSA Kryptosystems Ronald L Rivest Adi Shamir und Leonard Adleman versuchten eigentlich zu beweisen dass es ebensolche Fallturfunktionen nicht geben kann Bei den Beweisversuchen stiessen sie jedoch tatsachlich auf eine solche Einwegfunktion mit Falltur Das fuhrte 1977 zur Entwicklung des beruhmtesten Public Key Algorithmus des nach den Initialen seiner Erfinder sogenannten RSA Kryptosystems 12 Unterschiedliche Varianten des DHM Verfahrens werden heute fur die Schlusselverteilung in den Kommunikations und Sicherheitsprotokollen des Internet eingesetzt wie z B IPsec Internet Protocol Security IPv6 Internet Protocol Version 6 und TLS Transport Layer Security Diese dienen zur Sicherung bei der Ubertragung von Datenpaketen der IP Protokollschicht bzw von Daten der Anwendungsebene beispielsweise in den Bereichen des elektronischen Handels Dieses Prinzip der Schlusselverteilung besitzt damit eine wichtige praktische Bedeutung 13 Der hier automatisch berechnete Schlussel wird dann als Schlussel fur ein schnelles symmetrisches Verfahren wie Data Encryption Standard DES oder Advanced Encryption Standard AES verwendet Das Konzept der Public Key Kryptographie und einige spezifische Methoden waren bis 1997 durch die U S Patente 4 200 770 Hellman Diffie Merkle 1980 und 4 218 582 Hellman Merkle 1980 geschutzt die der Stanford University gehoren 14 15 Fur die Entwicklung der Public Key Kryptographie und der digitalen Signatur erhielten Whitfield Diffie und Martin Hellman im Jahr 2015 den Turing Award verliehen der als hochste Auszeichnung in der Informatik gilt vergleichbar dem Nobelpreis oder der Fields Medaille 16 Geheime Kryptologie Bearbeiten nbsp Clifford CocksWie erst 1997 bekannt wurde hatte das britische Government Communications Headquarters GCHQ schon in den 1960er Jahren den Auftrag erteilt zur Vermeidung der hohen Kosten bei der damals ublichen Schlusselverteilung einen anderen Weg zu finden James H Ellis formulierte das Konzept der nicht geheimen Verschlusselung Daraus entwickelte Clifford Cocks ein Verfahren das er bereits 1973 in einem internen Dokument beschrieb und das dem RSA Verfahren sehr ahnlich ist Somit muss aus heutiger Sicht der Dinge festgehalten werden dass eigentlich Clifford Cocks als erster ein asymmetrisches Kryptoverfahren entwickelte Diese Errungenschaft wird ihm nicht allgemein anerkannt da seine Arbeit per definitionem Verschlusssache war und deshalb damals nicht veroffentlicht wurde Erst 1997 wurde das interne Dokument auf der Website der Communications Electronics Security Group veroffentlicht In diesem Zusammenhang wurde auch bekannt dass Malcolm Williamson ein weiterer Mitarbeiter des GCHQs schon 1975 das Schlusselaustauschverfahren nach Diffie Hellman entdeckte Interessant ist dabei dass die Entdeckung der beiden Verfahren RSA und DHM in der offentlichen und der geheimen Kryptologie in umgekehrter Reihenfolge stattfand 17 Schlusseltauschproblem Bearbeiten nbsp Verschlusselung und Entschlusselung mit demselben Schlussel symmetrisches Verfahren Verschlusselungsverfahren bei denen zwei Teilnehmer denselben geheimen Schlussel verwenden nennt man symmetrische Verfahren Seien Alice und Bob Sender und Empfanger von Nachrichten uber einen abhorbaren Kanal und sei Eve von engl eavesdropper zu deutsch Lauscher Lauscherin ein Lauscher der versucht Nachrichten mitzulesen Bei einem guten Verschlusselungsverfahren ist es fur Eve unmoglich eine Nachricht ohne Kenntnis des Schlussels zu entschlusseln selbst bei Kenntnis des Verschlusselungsverfahrens So besagt Kerckhoffs Prinzip dass die Sicherheit eines Verfahrens allein auf der Geheimhaltung eines Schlussels beruhen muss und nicht auf der Geheimhaltung des Verschlusselungsalgorithmus Eine Nachricht die verschlusselt wird heisst Klartext der verschlusselte Text Geheimtext 18 Wichtige Voraussetzung fur eine sichere symmetrische Kommunikation ist also dass der Schlussel zwischen Alice und Bob bereits uber einen sicheren Weg ausgetauscht wurde beispielsweise durch einen vertrauenswurdigen Kurier oder bei einem direkten Treffen Beim Schlusseltauschproblem stellt sich nun folgendes Problem Alice will mit Bob der sich beispielsweise in Ubersee befindet mit einem symmetrischen Verschlusselungsverfahren kommunizieren Die beiden sind uber eine unsichere Leitung verbunden und haben keinen Schlussel ausgetauscht Wie vereinbaren nun Alice und Bob uber einen unsicheren Kanal einen gemeinsamen geheimen Schlussel 19 Ein manueller Schlusselaustausch hat den Nachteil dass er recht unubersichtlich wird wenn eine grossere Anwendergruppe untereinander verschlusselt kommunizieren will Bei n displaystyle n nbsp Kommunikationspartnern sind n n 1 2 displaystyle n cdot n 1 2 nbsp Schlussel erforderlich wenn jeder mit jedem kommunizieren will Bei 50 Kommunikationspartnern waren somit insgesamt 1 225 Schlussel notig 20 Das Diffie Hellman Verfahren liefert eine elegante Losung fur diese Probleme Es erlaubt Alice und Bob einen geheimen Schlussel uber die offentliche nicht gesicherte Leitung zu vereinbaren ohne dass Eve den Schlussel erfahrt 19 Mathematische Grundlagen BearbeitenHinweis Die folgenden Betrachtungen vermitteln mathematische Grundlagen asymmetrischer Kryptoverfahren auf Basis des diskreten Logarithmus Die einzelnen Abschnitte beschranken sich insbesondere auf die wesentlichen Aspekte die fur den Entwurf und die Sicherheitsanalyse des Diffie Hellman Merkle Schlusselaustauschs notwendig sind Um eine gewisse Verstandlichkeit zu wahren werden einige Aspekte vereinfacht dargestellt Fur tiefergehendere Betrachtungen und Beweise sei auf die Literatur zu den mathematischen Grundlagen im Literaturabschnitt verwiesen Einwegfunktionen Bearbeiten nbsp Funktion und UmkehrfunktionEine Einwegfunktion ist eine mathematische Funktion die komplexitatstheoretisch leicht berechenbar aber schwer umzukehren ist 21 Eine mathematische Einwegfunktion f X Y displaystyle f colon X to Y nbsp muss folgende Eigenschaften aufweisen Die Berechnung des Funktionswerts y f x displaystyle y f x nbsp ist einfach d h es existiert ein Algorithmus der ihn in Polynomialzeit berechnen kann Die Berechnung der Umkehrfunktion zu einem gegebenen Funktionswert y displaystyle y nbsp d h einem x displaystyle x nbsp sodass f 1 y x displaystyle f 1 y x nbsp ist allerdings schwer d h es existiert kein schneller Algorithmus fur dieses Problem Schnell meint hier einen probabilistischen Algorithmus der in Polynomialzeit lauft Einen anschaulichen Vergleich bietet ein klassisches Papier Telefonbuch einer grosseren Stadt Die auszufuhrende Funktion ist die einem Namen die entsprechende Telefonnummer zuzuordnen Da die Namen alphabetisch geordnet sind lasst sich dies ziemlich schnell durchfuhren Aber ihre Invertierung also die Zuordnung eines Namens zu einer gegebenen Telefonnummer ist offensichtlich viel schwieriger 22 Man kann zeigen dass Einwegfunktionen genau dann existieren wenn P NP die beruhmte Vermutung aus der Komplexitatstheorie gilt siehe P NP Problem Obwohl die Einwegfunktionen in der Kryptographie eine wichtige Rolle spielen ist bis heute nicht bekannt ob sie im streng mathematischen Sinne uberhaupt existieren 23 Die Sicherheit des DHM Schlusselaustauschs basiert darauf dass der diskrete Logarithmus in gewissen zyklischen Gruppen als Einwegfunktion angenommen wird Es gibt dabei keine Falltur d h eine Zusatzinformation mit der die Umkehrfunktion leicht zu berechnen ware Im Gegensatz dazu verwendet beispielsweise das RSA Kryptosystem mit der Faktorisierung eine Einwegfunktion mit Falltur Diskrete Exponentialfunktion und diskreter Logarithmus Bearbeiten Die diskrete Exponentialfunktion b x mod m displaystyle b x bmod m nbsp liefert den Rest bei Division von b x displaystyle b x nbsp durch m Die Umkehrung der diskreten Exponentialfunktion heisst diskreter Logarithmus Die diskrete Exponentialfunktion ist auch fur grosse Exponenten effizient berechenbar Selbst fur uber hundert Bit lange Zahlen ist bei geschickter Implementierung eine Sekunde auf einem PC ausreichend Zur effizienten Berechnung kann der Satz von Euler und das Square amp Multiply Verfahren verwendet werden Fur die Umkehrung also die Berechnung des Exponenten x displaystyle x nbsp bei gegebener Basis b displaystyle b nbsp Modul m displaystyle m nbsp und gewunschtem Ergebnis ist allerdings bis heute kein schneller Algorithmus bekannt Selbst mit grosstem Hardwareaufwand und den besten bekannten Algorithmen erreicht man bei mehreren Tausend Bit schnell Berechnungszeiten die uber die Lebensdauer unseres Universums hinausgehen 24 Bei der diskreten Exponentialfunktion f x b x mod m displaystyle f x b x bmod m nbsp handelt es sich nach heutigem Kenntnisstand somit um eine Einwegfunktion Da es jedoch keinen mathematischen Beweis fur deren Existenz gibt ware es theoretisch moglich dass eines Tages ein schnelles Verfahren zur Berechnung des diskreten Logarithmus gefunden wird Da dies jedoch schon seit langerem erfolglos versucht wird kann man annehmen dass dieser Fall nie eintreten wird 24 Beispiel Die diskrete Exponentialfunktion f x 3 x mod 7 displaystyle f x 3 x bmod 7 nbsp ordnet einem x displaystyle x nbsp das Ergebnis von 3 x mod 7 displaystyle 3 x bmod 7 nbsp zu Bei der Rechnung mod 7 displaystyle bmod 7 nbsp wird jeweils der Rest bezuglich des Moduls m 7 displaystyle m 7 nbsp gebildet Dadurch entsteht ein endlicher Zahlenraum 0 6 displaystyle 0 6 nbsp Fur die Werte x 0 displaystyle x neq 0 nbsp ist die Abbildung eindeutig Der diskrete Logarithmus ist die Umkehrfunktion also die Zuordnung von f x displaystyle f x nbsp nach x displaystyle x nbsp nbsp Gruppentheorie Bearbeiten Eine Gruppe ist ein Paar G displaystyle G nbsp bestehend aus einer Menge G displaystyle G nbsp und einer assoziativen Verknupfung displaystyle nbsp auf G displaystyle G nbsp die ein neutrales Element hat und fur die jedes Element von G displaystyle G nbsp ein inverses Element besitzt Wenn fur eine Gruppe zusatzlich das Kommutativgesetz gilt spricht man von einer abelschen Gruppe Eine Untergruppe U displaystyle U nbsp einer Gruppe G displaystyle G nbsp ist eine Teilmenge U displaystyle U nbsp von G displaystyle G nbsp die bezuglich der Verknupfung displaystyle nbsp selbst wieder eine Gruppe ist Beispielsweise bildet die Menge der ganzen Zahlen mit der Addition als Verknupfung die abelsche Gruppe Z displaystyle mathbb Z nbsp Das neutrale Element der Addition ist die 0 displaystyle 0 nbsp Null und das additiv Inverse einer Zahl a displaystyle a nbsp ist ihre Gegenzahl a displaystyle a nbsp Die ganzen Zahlen Z displaystyle mathbb Z nbsp sind bezuglich der Addition wiederum eine Untergruppe der rationalen Zahlen Q displaystyle mathbb Q nbsp Demgegenuber bilden die rationalen und ganzen Zahlen zusammen mit der Multiplikation keine Gruppe weil die Zahl 0 displaystyle 0 nbsp kein inverses Element bezuglich der Multiplikation besitzt Wenn man jedoch 0 displaystyle 0 nbsp aus Q displaystyle mathbb Q nbsp entfernt erhalt man die abelsche Gruppe Q 0 displaystyle mathbb Q setminus 0 cdot nbsp Eine zyklische Gruppe ist eine Gruppe deren Elemente als Potenz eines ihrer Elemente dargestellt werden konnen Unter Verwendung der multiplikativen Notation lauten die Elemente einer zyklischen Gruppe a 3 a 2 a 1 e a 0 a a 2 a 3 displaystyle ldots a 3 a 2 a 1 e a 0 a a 2 a 3 ldots nbsp wobei a 2 a 1 a 1 displaystyle a 2 a 1 cdot a 1 nbsp meint und e displaystyle e nbsp das neutrale Element der Gruppe bezeichnet Das Element a displaystyle a nbsp wird Erzeuger oder Primitivwurzel der Gruppe genannt Eine zyklische Gruppe besteht also nur aus Potenzen des Erzeugers a displaystyle a nbsp a a n n Z displaystyle left langle a right rangle lbrace a n mid n in mathbb Z rbrace nbsp Bei einer Gruppe G displaystyle G nbsp wird die Machtigkeit G displaystyle G nbsp auch als Ordnung der Gruppe bezeichnet Fur eine endliche Gruppe G a 1 a 2 a n displaystyle G a 1 a 2 dotsc a n nbsp ist die Ordnung also einfach die Anzahl n displaystyle n nbsp der Gruppenelemente Der Satz von Lagrange besagt dass die Ordnung jeder Untergruppe einer endlichen Gruppe deren Machtigkeit teilt Prime Restklassengruppe und Primitivwurzel Bearbeiten Die prime Restklassengruppe ist die Gruppe der primen Restklassen bezuglich eines Moduls n displaystyle n nbsp Sie wird als Z n displaystyle mathbb Z n nbsp oder Z n Z displaystyle mathbb Z n mathbb Z times nbsp notiert Die primen Restklassen sind genau die multiplikativ invertierbaren Restklassen und sind daher endliche abelsche Gruppen bezuglich der Multiplikation Die Menge Z 8 0 7 displaystyle mathbb Z 8 0 7 nbsp bildet beispielsweise mit der Multiplikation modulo 8 displaystyle 8 nbsp als Verknupfung keine Gruppe selbst wenn die 0 displaystyle 0 nbsp ausgenommen wird Es gibt noch weitere Zahlen die kein inverses Element haben namlich 2 displaystyle 2 nbsp 4 displaystyle 4 nbsp und 6 displaystyle 6 nbsp Dies sind genau die Zahlen die einen echten Teiler mit 8 displaystyle 8 nbsp gemeinsam haben Die verbleibenden Elemente bilden schliesslich die Multiplikative Gruppe Z 8 displaystyle mathbb Z 8 nbsp In der Kryptographie sind vor allem jene Zahlen n displaystyle n nbsp von Interesse fur die alle Zahlen zwischen 1 displaystyle 1 nbsp und n 1 displaystyle n 1 nbsp ein inverses Element modulo n displaystyle n nbsp haben Dies ist genau dann der Fall wenn n displaystyle n nbsp eine Primzahl ist weshalb man p displaystyle p nbsp statt n displaystyle n nbsp schreibt Die Zahlen zwischen 1 displaystyle 1 nbsp und p 1 displaystyle p 1 nbsp bilden also zusammen mit der Modulo Multiplikation die Gruppe Z p displaystyle mathbb Z p nbsp Eine weitere Aussage die sich beweisen lasst Nimmt man ein beliebiges Element a displaystyle a nbsp aus Z p displaystyle mathbb Z p nbsp und betrachtet die Menge a a 2 a 3 a p 1 mod p displaystyle a a 2 a 3 a p 1 bmod p nbsp dann erhalt man eine Untergruppe mit a displaystyle a nbsp als Generator der Untergruppe Jede Untergruppe von Z p displaystyle mathbb Z p nbsp hat mindestens einen Generator und damit auch Z p displaystyle mathbb Z p nbsp selbst Die Gruppe Z p displaystyle mathbb Z p nbsp ist also zyklisch 25 Zum Beispiel ist Z 13 displaystyle mathbb Z 13 nbsp eine zyklische Gruppe mit der 2 displaystyle 2 nbsp als Generator denn jede Zahl von 1 displaystyle 1 nbsp bis 12 displaystyle 12 nbsp lasst sich als Potenz von 2 displaystyle 2 nbsp darstellen 26 nbsp Darstellung der zyklischen Gruppe Z 13 displaystyle mathbb Z 13 nbsp mit Exponent a displaystyle a nbsp ausserhalb und den entsprechenden Werten innerhalb der Knoten 1 2 12 mod 13 displaystyle 1 2 12 bmod 13 nbsp 2 2 1 mod 13 displaystyle 2 2 1 bmod 13 nbsp 3 2 4 mod 13 displaystyle 3 2 4 bmod 13 nbsp 4 2 2 mod 13 displaystyle 4 2 2 bmod 13 nbsp 5 2 9 mod 13 displaystyle 5 2 9 bmod 13 nbsp 6 2 5 mod 13 displaystyle 6 2 5 bmod 13 nbsp 7 2 11 mod 13 displaystyle 7 2 11 bmod 13 nbsp 8 2 3 mod 13 displaystyle 8 2 3 bmod 13 nbsp 9 2 8 mod 13 displaystyle 9 2 8 bmod 13 nbsp 10 2 10 mod 13 displaystyle 10 2 10 bmod 13 nbsp 11 2 7 mod 13 displaystyle 11 2 7 bmod 13 nbsp 12 2 6 mod 13 displaystyle 12 2 6 bmod 13 nbsp Fur a 3 displaystyle a 3 nbsp als Generator erhalt man dagegen nur die Untergruppe mit den Elementen 1 3 9 displaystyle 1 3 9 nbsp 1 3 3 mod 13 3 6 mod 13 3 9 mod 13 3 12 mod 13 displaystyle 1 3 3 bmod 13 3 6 bmod 13 3 9 bmod 13 3 12 bmod 13 nbsp 3 3 1 mod 13 3 4 mod 13 3 7 mod 13 3 10 mod 13 displaystyle 3 3 1 bmod 13 3 4 bmod 13 3 7 bmod 13 3 10 bmod 13 nbsp 9 3 2 mod 13 3 5 mod 13 3 8 mod 13 3 11 mod 13 displaystyle 9 3 2 bmod 13 3 5 bmod 13 3 8 bmod 13 3 11 bmod 13 nbsp Es lasst sich nun leicht nachvollziehen dass die Gleichung a x b mod p displaystyle a x b bmod p nbsp immer losbar ist wenn a displaystyle a nbsp ein Generator von Z p displaystyle mathbb Z p nbsp ist wobei dann b displaystyle b nbsp ein Element von Z p displaystyle mathbb Z p nbsp ist ausser 0 displaystyle 0 nbsp Der diskrete Logarithmus existiert also in Z p displaystyle Z p nbsp immer dann wenn die Basis ein Generator von Z p displaystyle mathbb Z p nbsp ist 27 Stellt man die Zahlen in einem Kreis Zyklus der Potenzen dar scheinen sie willkurlich verteilt zu sein Dies gibt zumindest eine Vorstellung davon weshalb der diskrete Logarithmus so aufwandig zu bestimmen ist 28 Man nennt ein erzeugendes Element von Z p displaystyle mathbb Z p nbsp auch Primitivwurzel zum Modul p displaystyle p nbsp Die Zahl 2 displaystyle 2 nbsp ist also eine Primitivwurzel modulo 13 displaystyle 13 nbsp die Zahl 3 displaystyle 3 nbsp dagegen nicht Es lassen sich alle Elemente 1 2 12 displaystyle 1 2 ldots 12 nbsp der primen Restklassengruppe modulo 13 displaystyle 13 nbsp als Potenzen von 2 displaystyle 2 nbsp darstellen In der Folge der Potenzen von 3 displaystyle 3 nbsp modulo 13 displaystyle 13 nbsp wiederholen sich jedoch die Reste siehe oben Fur eine Primzahl p displaystyle p nbsp gibt es genau f p 1 displaystyle varphi p 1 nbsp Primitivwurzeln mod p displaystyle bmod p nbsp wobei f displaystyle varphi nbsp fur die Eulersche Phi Funktion steht die fur jede naturliche Zahl die Anzahl ihrer teilerfremden naturlichen Zahlen angibt Fur p 13 displaystyle p 13 nbsp ist p 1 12 displaystyle p 1 12 nbsp und f 12 4 displaystyle varphi 12 4 nbsp woraus folgt dass es 4 displaystyle 4 nbsp Primitivwurzeln modulo 13 displaystyle 13 nbsp gibt namlich 2 displaystyle 2 nbsp 6 displaystyle 6 nbsp 7 displaystyle 7 nbsp und 11 displaystyle 11 nbsp Es ist zwar bewiesen dass fur jede Primzahl p displaystyle p nbsp genau f p 1 displaystyle varphi p 1 nbsp verschiedene Primitivwurzeln modulo p displaystyle p nbsp existieren es ist aber kein Algorithmus bekannt der auch effizient eine beliebige Primitivwurzel berechnen kann Wenn p displaystyle p nbsp gegeben und die Faktorisierung von p 1 displaystyle p 1 nbsp unbekannt ist so kann man immerhin testen ob es sich bei einer Zufallszahl g displaystyle g nbsp um eine Primitivwurzel modulo p displaystyle p nbsp handelt Es muss gelten g p 1 1 mod p displaystyle g p 1 1 bmod p nbsp und g i 1 mod p displaystyle g i neq 1 bmod p nbsp fur 2 i p 2 displaystyle 2 leq i leq p 2 nbsp Fur kryptographisch relevante Primzahlen ist eine solche Uberprufung aufgrund der Grosse von p displaystyle p nbsp nicht durchfuhrbar Ist dagegen die Primfaktorzerlegung von p 1 displaystyle p 1 nbsp bekannt so ist g displaystyle g nbsp genau dann eine Primitivwurzel modulo p displaystyle p nbsp wenn gilt g p 1 p i 1 mod p displaystyle g p 1 p i neq 1 bmod p nbsp fur alle Primfaktoren p i displaystyle p i nbsp Besonders einfach wird der Primitivwurzel Test wenn p 1 2 q displaystyle p 1 2 times q nbsp mit einer Primzahl q displaystyle q nbsp gilt Dann braucht man nur zu testen ob g 2 1 mod p displaystyle g 2 neq 1 bmod p nbsp und g q 1 mod p displaystyle g q neq 1 bmod p nbsp ist Trifft dies zu ist g displaystyle g nbsp eine Primitivwurzel modulo p displaystyle p nbsp 29 Beispiel Sei p 23 displaystyle p 23 nbsp Dann ist p 1 22 11 2 displaystyle p 1 22 11 times 2 nbsp mit q 11 displaystyle q 11 nbsp also prim Um zu testen ob eine beliebige Zahl g displaystyle g nbsp eine Primitivwurzel modulo 23 displaystyle 23 nbsp ist muss g 2 mod 23 1 displaystyle g 2 bmod 23 neq 1 nbsp und g 11 mod 23 1 displaystyle g 11 bmod 23 neq 1 nbsp uberpruft werden Fur g 5 displaystyle g 5 nbsp gilt beispielsweise 5 2 mod 23 2 displaystyle 5 2 bmod 23 2 nbsp und 5 11 mod 23 22 displaystyle 5 11 bmod 23 22 nbsp Also ist 5 displaystyle 5 nbsp eine Primitivwurzel modulo 23 displaystyle 23 nbsp Die Weiteren sind 7 10 11 14 15 17 19 20 und 21 Mit f 23 1 f 22 10 displaystyle varphi 23 1 varphi 22 10 nbsp lasst sich einsehen dass damit alle 10 Primitivwurzeln modulo 23 displaystyle 23 nbsp gefunden sind Funktionsweise BearbeitenVeranschaulichung der Grundidee anhand gemischter Farben Bearbeiten nbsp Zunachst soll die Grundidee des Diffie Hellman Merkle Schlusselaustauschs anhand von Farbmischen anschaulich dargestellt werden wie es die Illustration veranschaulicht In Wirklichkeit waren die Farben Zahlen und das Mischen von Farben entsprache der diskreten Exponentialfunktion Das Mischen von Farben wird hier als eine Einwegfunktion aufgefasst Es ist leicht zwei oder mehrere verschiedene Farben zu mischen Die Umkehrung das Zerlegen einer Farbmischung in ihre ursprunglichen Farb Komponenten ist jedoch sehr aufwandig das heisst nicht effizient durchfuhrbar Alice und Bob einigen sich zunachst offentlich auf eine gemeinsame Farbe im Beispiel Gelb Ausserdem wahlt jeder der beiden Kommunikationspartner fur sich eine geheime Farbe Alice Orange und Bob Turkis Bob und Alice mischen nun jeweils die gemeinsame Farbe mit ihrer geheimen Farbe Im Beispiel entsteht dabei fur Alice Beige und fur Bob Graublau Diese Farbmischungen tauschen Alice und Bob nun uber die abhorbare Leitung aus Einer potenziellen Lauscherin Eve ist es nicht effizient moglich aus den offentlichen Informationen gelb beige graublau auf die geheimen Farben von Alice und Bob zu schliessen In einem letzten Schritt mischen nun Alice und Bob die Farbmischung ihres Gegenubers mit ihrer eigenen geheimen Farbe Daraus entsteht wiederum eine neue Farbe im Beispiel Ockerbraun die fur beide Kommunikationspartner gleich ist gelb orange turkis gelb turkis orange ockerbraun Somit haben Alice und Bob eine gemeinsame geheime Farbe Fur Eve ist es unmoglich diese herauszufinden da sie Alices und Bobs geheime Farbzutaten nicht kennt Mathematische Funktionsweise Bearbeiten nbsp Prinzip des Diffie Hellman Merkle Schlusselaustauschs a privater Schlussel von Alice b privater Schlussel von Bob p offentlich bekannte Primzahl g offentlich bekannte naturliche Zahl kleiner als p A offentlicher Schlussel von Alice B offentlicher Schlussel von Bob K geheimer Sitzungs Schlussel fur Alice und BobDie beiden Kommunikationspartner Alice und Bob wollen uber ein unsicheres Medium etwa eine Kabel oder Funkverbindung verschlusselt kommunizieren Dazu soll ein symmetrisches Kryptosystem eingesetzt werden fur das beide jedoch zunachst einen gemeinsamen geheimen Schlussel benotigen Das DHM Kommunikationsprotokoll sorgt dafur dass sie einen geheimen Schlussel berechnen konnen ohne dass Dritte Eve diesen erfahren konnen Den auf diese Weise errechneten Schlussel konnen sie dann in Zukunft verwenden um verschlusselt mit einem symmetrischen Kryptosystem zu kommunizieren Alice und Bob einigen sich zunachst offentlich auf eine grosse Primzahl p displaystyle p nbsp und eine naturliche Zahl g displaystyle g nbsp die kleiner als p displaystyle p nbsp ist Sich offentlich darauf einigen bedeutet dass jeder diese beiden Zahlen kennen darf also auch potenzielle Lauscher wie Eve Idealerweise handelt es sich bei g displaystyle g nbsp um einen Erzeuger der zyklischen Gruppe Z p displaystyle mathbb Z p nbsp das Verfahren funktioniert aber auch wenn g displaystyle g nbsp einen anderen Wert kleiner p displaystyle p nbsp annimmt In der Praxis ist es ohnehin meist so dass g displaystyle g nbsp und p displaystyle p nbsp vorgegeben sind und von vielen Anwendern verwendet werden 30 Alice und Bob erzeugen jeweils eine geheimzuhaltende Zufallszahl privater Schlussel a displaystyle a nbsp bzw b displaystyle b nbsp aus der Menge 1 p 1 displaystyle 1 ldots p 1 nbsp a displaystyle a nbsp und b displaystyle b nbsp werden nicht ubertragen bleiben also potenziellen Lauschern aber auch dem jeweiligen Kommunikationspartner unbekannt Nur Alice kennt die Zahl a displaystyle a nbsp und nur Bob kennt die Zahl b displaystyle b nbsp Alice berechnet mit ihrer geheimen Zahl den offentlichen Schlussel A g a mod p displaystyle A g a bmod p nbsp und schickt A displaystyle A nbsp an Bob Bob berechnet mit seiner geheimen Zahl den offentlichen Schlussel B g b mod p displaystyle B g b bmod p nbsp und schickt B displaystyle B nbsp an Alice Alice erhalt B displaystyle B nbsp von Bob und berechnet mit ihrem privaten Schlussel a displaystyle a nbsp die Zahl K 1 B a mod p displaystyle K 1 B a bmod p nbsp Bob berechnet mit dem erhaltenen A displaystyle A nbsp und seinem privaten Schlussel b displaystyle b nbsp ebenfalls die Zahl K 2 A b mod p displaystyle K 2 A b bmod p nbsp Die beiden haben die gleiche Zahl K 1 K 2 displaystyle K 1 K 2 nbsp berechnet Diese ist somit der gesuchte gemeinsame Schlussel K displaystyle K nbsp Nur Alice und Bob kennen K displaystyle K nbsp Eve kann aus der abgehorten Kommunikation K displaystyle K nbsp nicht berechnen Dazu musste sie den diskreten Logarithmus losen was nach heutigem Kenntnisstand nicht effizient moglich ist wenn die Zahlen gross genug sind Alice und Bob konnen also K displaystyle K nbsp gefahrlos fur eine symmetrische Verschlusselung nutzen 30 Dass beide Kommunikationspartner denselben Wert fur K displaystyle K nbsp berechnen zeigen die folgenden beiden Restklassengleichungen 31 K 1 B a mod p g b mod p a mod p g b a mod p g b a mod p displaystyle K 1 B a bmod p g b bmod p a bmod p g b a bmod p g ba bmod p nbsp K 2 A b mod p g a mod p b mod p g a b mod p g a b mod p displaystyle K 2 A b bmod p g a bmod p b bmod p g a b bmod p g ab bmod p nbsp Da die Multiplikation kommutativ ist gilt des Weiteren g b a mod p g a b mod p displaystyle g ba bmod p g ab bmod p nbsp und somit K 1 K 2 displaystyle K 1 K 2 nbsp Alice und Bob erhalten also nach ihren jeweiligen Berechnungen die genau gleiche Zahl namlich den geheimen Schlussel K K 1 K 2 displaystyle K K 1 K 2 nbsp Beispiel Das folgende Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen In der tatsachlichen Anwendung werden dagegen Zahlen mit mindestens mehreren hundert Stellen benutzt Alice und Bob einigen sich auf die beiden offentlichen Schlussel p 13 displaystyle p 13 nbsp und g 2 displaystyle g 2 nbsp 2 displaystyle 2 nbsp ist ein Generator der Gruppe Z 13 displaystyle mathbb Z 13 nbsp siehe Abschnitt Gruppentheorie Alice wahlt die Zufallszahl a 5 displaystyle a 5 nbsp als geheimen Schlussel und Bob b 8 displaystyle b 8 nbsp Nun berechnet Alice A g a mod p 2 5 mod 13 6 displaystyle A g a bmod p 2 5 bmod 13 6 nbsp und sendet A displaystyle A nbsp an Bob Bob berechnet B g b mod p 2 8 mod 13 9 displaystyle B g b bmod p 2 8 bmod 13 9 nbsp und sendet B displaystyle B nbsp an Alice Alice berechnet K 1 B a mod p 9 5 mod 13 3 displaystyle K 1 B a bmod p 9 5 bmod 13 3 nbsp Bob berechnet K 2 A b mod p 6 8 mod 13 3 displaystyle K 2 A b bmod p 6 8 bmod 13 3 nbsp Beide erhalten das gleiche Ergebnis K K 1 K 2 3 displaystyle K K 1 K 2 3 nbsp Die Lauscherin Eve kann zwar die Zahlen 13 2 6 und 9 mithoren das eigentliche gemeinsame Geheimnis von Alice und Bob K 3 displaystyle K 3 nbsp bleibt ihr aber verborgen K 3 displaystyle K 3 nbsp kann als Schlussel fur die nachfolgende Kommunikation verwendet werden Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen 6 2 a mod 13 displaystyle 6 2 a bmod 13 nbsp 9 2 b mod 13 displaystyle 9 2 b bmod 13 nbsp Daraus kann sie beispielsweise durch Ausprobieren die beiden geheimen Zahlen a 5 displaystyle a 5 nbsp und b 8 displaystyle b 8 nbsp bestimmen Den vereinbarten Schlussel K displaystyle K nbsp von Alice und Bob kann sie nun mit K g a b mod p displaystyle K g ab bmod p nbsp ausrechnen Wenn jedoch die Primzahl p displaystyle p nbsp gross genug gewahlt wird und g displaystyle g nbsp ein Generator der Gruppe Z p displaystyle mathbb Z p nbsp ist ist es fur Eve zu aufwandig um alle Zahlen zwischen 1 displaystyle 1 nbsp und p 1 displaystyle p 1 nbsp durchzuprobieren die als Resultat der modularen Potenz g a mod p displaystyle g a bmod p nbsp in Frage kommen 32 Programmierung Bearbeiten Das folgende Programm in der Programmiersprache Python zeigt die Implementierung des Diffie Hellman Schlusselaustauschs fur p 107 displaystyle p 107 nbsp und g 3 displaystyle g 3 nbsp from random import randint Festlegung der Gruppe p 107 g 3 Zufallige Wahl der geheimen Schlussel von Alice und Bob a randint 1 p 1 b randint 1 p 1 Berechnung der Offentlichen Schlussel A pow g a p B pow g b p print f Offentlicher Schlussel von Alice A print f Offentlicher Schlussel von Bob B Berechnung des gemeinsamen Geheimnisses k a pow B a p k b pow A b p print f k a print f k b Sicherheit BearbeitenDiffie Hellman Problem Bearbeiten Computational Diffie Hellman Problem CDH Bearbeiten Angenommen die Lauscherin Eve erfahrt an der unsicheren Leitung die Zahlen p displaystyle p nbsp g displaystyle g nbsp A displaystyle A nbsp und B displaystyle B nbsp aber nicht die diskreten Logarithmen a displaystyle a nbsp von A displaystyle A nbsp und b displaystyle b nbsp von B displaystyle B nbsp zur Basis g displaystyle g nbsp Mit der Kenntnis von a displaystyle a nbsp und b displaystyle b nbsp ware es fur sie eine leichte Aufgabe den Schlussel K g a b mod p displaystyle K g ab bmod p nbsp zu bestimmen Die Zahlen a displaystyle a nbsp und b displaystyle b nbsp herauszufinden ist jedoch sehr schwer wenn die Zahlen p displaystyle p nbsp a displaystyle a nbsp und b displaystyle b nbsp sehr gross sind beispielsweise Zahlen mit mehreren hundert Stellen im Dezimalsystem 7 Aus dieser Problemstellung ergibt sich das Computational Diffie Hellman Problem Wenn ein Element g displaystyle g nbsp einer Gruppe und die Werte A g a displaystyle A g a nbsp und B g b displaystyle B g b nbsp gegeben sind welchen Wert hat dann K g a b displaystyle K g ab nbsp mit a b displaystyle a b nbsp unbekannt Da dieses Problem in bestimmten Gruppen nur mit enormem Rechenaufwand zu losen ist kann ein Angreifer aus den beiden beim Diffie Hellman Merkle Schlusselaustausch ubertragenen Nachrichten nicht den erzeugten Schlussel berechnen Das Diffie Hellman Problem ist eng verwandt mit dem Diskreter Logarithmus Problem Diskrete Logarithmen zu berechnen ist die einzige bekannte Methode um das DHM Verfahren zu brechen Solange dies nicht in vertretbarer Zeit losbar ist ist es fur einen Angreifer unmoglich den geheimen Schlussel zu bestimmen Es ist allerdings nicht bewiesen dass dies tatsachlich die einzige Methode ist ob also jemand der das Diffie Hellman Problem losen konnte auch diskrete Logarithmen effizient berechnen konnte 33 Ueli Maurer hat gezeigt dass beide Probleme zumindest unter bestimmten Voraussetzungen aquivalent sind 34 Decisional Diffie Hellman Problem DDH Bearbeiten Soll es fur einen Angreifer unmoglich sein aus den offentlich verfugbaren Informationen irgendwelche Informationen uber den transportierten Schlussel zu gewinnen muss das Decisional Diffie Hellman Problem DDH unangreifbar sein Dieses Problem lasst sich folgendermassen beschreiben Ein Angreifer erhalt drei Zahlen A g a mod p displaystyle A g a bmod p nbsp B g b mod p displaystyle B g b bmod p nbsp und C g c mod p displaystyle C g c bmod p nbsp Dabei wurden entweder a displaystyle a nbsp b displaystyle b nbsp und c displaystyle c nbsp zufallig und gleichverteilt in 0 p 2 displaystyle 0 p 2 nbsp gewahlt oder c a b mod p displaystyle c ab bmod p nbsp gesetzt Im zweiten Fall heisst A B C displaystyle A B C nbsp Diffie Hellman Tripel Der Angreifer muss entscheiden ob ein solches Tripel vorliegt oder nicht Kann er das nicht ist es ihm unmoglich aus g a displaystyle g a nbsp und g b displaystyle g b nbsp Ruckschlusse auf g a b displaystyle g ab nbsp zu ziehen 35 Das Problem besteht also darin bei gegebenem g a mod p displaystyle g a bmod p nbsp g b mod p displaystyle g b bmod p nbsp und g c mod p displaystyle g c bmod p nbsp zu entscheiden ob g c g a b displaystyle g c g ab nbsp ist Wer das Computational Diffie Hellman Problem losen kann ist offensichtlich auch dazu in der Lage das Decisional Diffie Hellman Problem zu losen Fur den umgekehrten Fall ist das nicht klar Bei einer Auswahl von g displaystyle g nbsp als Primitivwurzel kann das Decisional Diffie Hellman Problem angegriffen werden Dies liegt in folgendem Theorem begrundet Sei p displaystyle p nbsp eine Primzahl sei g displaystyle g nbsp eine Primitivwurzel modulo p displaystyle p nbsp und seien a b 0 p 2 displaystyle a b in 0 p 2 nbsp Dann ist g a b displaystyle g ab nbsp genau dann ein quadratischer Rest modulo p displaystyle p nbsp wenn g a displaystyle g a nbsp oder g b displaystyle g b nbsp ein quadratischer Rest ist modulo p displaystyle p nbsp Das Theorem folgt daraus dass eine Potenz von g displaystyle g nbsp genau dann ein quadratischer Rest modulo p displaystyle p nbsp ist wenn der Exponent gerade ist 33 Ein Angreifer kann also prufen ob das Kriterium aus diesem Theorem erfullt ist Er kann zwar nicht immer entscheiden ob ein Diffie Hellman Tripel vorliegt er antwortet aber zu 75 richtig Sein Vorteil gegenuber reinem Raten betragt also 50 36 Wahl der offentlichen Zahlen Bearbeiten DHM Primzahl p Bearbeiten Die Sicherheit des Verfahrens basiert nicht zuletzt auf der Lange der gewahlten Zahlen So muss die Primzahl p displaystyle p nbsp dermassen gewahlt werden dass diskrete Logarithmen modulo p displaystyle p nbsp mit derzeit bekannten Methoden nicht effizient genug berechnet werden konnen Je grosser die verwendete Primzahl desto sicherer das Verfahren aber auch desto aufwendiger 37 Das Bundesamt fur Sicherheit in der Informationstechnik empfiehlt im Fall eines Einsatzzeitraum s uber das Jahr 2022 hinaus fur p displaystyle p nbsp eine Schlussellange von mindestens 3000 Bit Stand 2017 38 Die DHM Primzahl p displaystyle p nbsp muss zudem so gewahlt werden dass Algorithmen zur Berechnung des diskreten Logarithmus kein leichtes Spiel haben So muss beispielsweise vermieden werden dass p 1 displaystyle p 1 nbsp nur kleine Primfaktoren hat Ansonsten kann namlich der Pohlig Hellman Algorithmus angewendet werden der nicht von der Gruppenordnung sondern vom grossten Faktor der Gruppenordnung abhangt Ausserdem sollte p displaystyle p nbsp fur das Zahlkorpersieb moglichst ungeeignet sein Dies ist der Fall wenn es ein irreduzibles Polynom vom Grad 5 gibt das sehr kleine Koeffizienten und eine Nullstelle mod p displaystyle bmod p nbsp hat 39 Generator g Bearbeiten Die Zahl g displaystyle g nbsp sollte so gewahlt werden dass alle Zahlen zwischen 1 displaystyle 1 nbsp und p 1 displaystyle p 1 nbsp als Resultat der modularen Potenz g a mod p displaystyle g a bmod p nbsp in Frage kommen Erst dann ist es zu aufwandig alle Zahlen durchzuprobieren wenn daruber hinaus die Primzahl p displaystyle p nbsp gross genug gewahlt worden ist Diese Eigenschaft erfullt die Zahl g displaystyle g nbsp wenn sie ein Primitivwurzel zum Modul p displaystyle p nbsp ist d h ein Erzeuger der Gruppe Z p displaystyle mathbb Z p nbsp 26 Wenn Alice und Bob beispielsweise g 1 displaystyle g 1 nbsp wahlen so funktioniert das Verfahren zwar noch immer doch der Schlussel K displaystyle K nbsp ist auf jeden Fall 1 displaystyle 1 nbsp denn 1 displaystyle 1 nbsp ist genau der Generator der Untergruppe von Z p displaystyle mathbb Z p nbsp mit einem Element Ahnlich unsicher ist das Verfahren wenn Alice und Bob fur g displaystyle g nbsp einen Generator einer anderen kleinen Untergruppe wahlen Bei einem Generator einer grossen Untergruppe ist das Verfahren sicherer am besten wird ein Generator der ganzen Gruppe gewahlt 8 Wie im Abschnitt Prime Restklassengruppe und Primitivwurzel gezeigt lasst sich eine Primitivwurzel relativ leicht finden wenn man die DHM Primzahl als p 2 q 1 displaystyle p 2 times q 1 nbsp mit einer Primzahl q displaystyle q nbsp wahlt Wie jedoch im vorherigen Abschnitt gezeigt kann das Decisional Diffie Hellman Problem angegriffen werden wenn man g displaystyle g nbsp als Primitivwurzel wahlt Wahlt man statt dessen g displaystyle g nbsp so dass die Restklasse von g displaystyle g nbsp modulo p displaystyle p nbsp Primzahlordnung q displaystyle q nbsp hat mit einer hinreichend grossen Primzahl q displaystyle q nbsp dann gilt DDH nach heutiger Auffassung als schwierig Johannes Buchmann 2016 39 Verwendung fester Gruppen und Primzahlen Bearbeiten Da die Erzeugung sicherer Primzahlen rechenaufwendig ist verwenden viele Implementierungen eine feste Primzahl p displaystyle p nbsp 40 Einige Netzwerkprotokolle wie etwa Internet Key Exchange geben eine Liste von moglichen Gruppen und deren Primzahl vor Die Verwendung fester Gruppen und Primzahlen kann ein Angreifer ausnutzen um einen Grossteil der Berechnung zum Brechen des diskreten Logarithmus vorab durchzufuhren und um mehrere Ziele gleichzeitig anzugreifen Der Zahlkorpersieb Algorithmus besteht aus vier Schritten wobei die ersten drei Schritte lediglich die Primzahl p displaystyle p nbsp benotigen Ist p displaystyle p nbsp bekannt kann ein Angreifer somit den Grossteil vorberechnen und die Ergebnisse fur jeden auf p displaystyle p nbsp basierenden Schlusselaustausch wiederverwenden Dadurch kann zum Beispiel der Logjam Angriff in TLS nach einer einwochigen Vorberechnung einen 512 Bit DHM Schlusselaustausch in rund 70 Sekunden brechen 40 Nach Schatzungen eines Forscherteams kann ein Angreifer mit Vorberechnung der 10 haufigsten 1024 Bit Primzahlen den Netzwerkverkehr von 66 der VPNs 26 der SSH Server 16 der SMTP Server und 24 der HTTPS Websites im Internet entschlusseln Die Forscher schatzen dass der Rechenaufwand zum Brechen von 1024 Bit Diffie Hellman von einem staatlichen Angreifer wie der National Security Agency aufgebracht werden kann 40 Man in the Middle Angriff Bearbeiten Hauptartikel Man in the Middle Angriff Der Diffie Hellman Merkle Schlusselaustausch ist nicht mehr sicher wenn der Angreifer bei einem Man in the Middle Angriff Datenpakete verandern kann Im Alice und Bob Modell heisst ein solcher Angreifer der aktiv in das Geschehen eingreifen kann Mallory von engl malicious dt i e hinterhaltig heimtuckisch Mallory fangt bei einem Man in the Middle Angriff die von Alice und Bob gesendeten Nachrichten ab und sendet stattdessen jeweils seine eigene Nachricht Z g z mod p displaystyle Z g z mod p nbsp weiter die er aus einer beliebigen Zahl z displaystyle z nbsp und den offentlich bekannten Zahlen g displaystyle g nbsp und p displaystyle p nbsp berechnet nbsp Nach dem Schlusselaustausch besitzen die beiden Kommunikationspartner Alice und Bob unterschiedliche Schlussel K A displaystyle K A nbsp und K B displaystyle K B nbsp Im Prinzip wurde zweimal ein DHM Schlusselaustausch durchgefuhrt einmal zwischen Alice und Angreifer Mallory und einmal zwischen Mallory und Bob Dabei erlangt Mallory Kenntnis der beiden Schlussel K A displaystyle K A nbsp und K B displaystyle K B nbsp K A Z a mod p g z a mod p g a z mod p A z mod p displaystyle K A Z a bmod p g z a bmod p g a z bmod p A z bmod p nbsp K B Z b mod p g z b mod p g b z mod p B z mod p displaystyle K B Z b bmod p g z b bmod p g b z bmod p B z bmod p nbsp Da Alice und Bob im weiteren Verlauf davon ausgehen mit dem jeweils Anderen zu kommunizieren kann Mallory die folgende symmetrisch verschlusselte Kommunikation abhoren Diese leitet er dazu weiterhin uber sich selbst um Daten von Alice entschlusselt Mallory mit K A displaystyle K A nbsp und verschlusselt sie wieder mit K B displaystyle K B nbsp bevor er sie an Bob weiterschickt Dabei kann Mallory den Nachrichteninhalt sowohl lesen als auch unbemerkt verandern Die gleiche Vorgehensweise wendet er auch fur die Gegenrichtung an Um einen solchen Man in the Middle Angriff auszuschliessen mussen die ausgetauschten Nachrichten authentifiziert werden Dazu wird ein Informationsvorsprung benotigt der uber einen authentifizierten Kanal erreicht wird 41 Seitenkanalangriffe Bearbeiten Ein Seitenkanalangriff bezeichnet eine kryptoanalytische Methode die die physische Implementierung eines Kryptosystems in einem Gerat z B einer Chipkarte eines Security Tokens oder eines Hardware Sicherheitsmoduls oder in einer Software ausnutzt Dabei wird nicht das kryptographische Verfahren selbst sondern nur eine bestimmte Implementierung angegriffen Das Prinzip beruht darauf ein kryptographisches Gerat bei der Ausfuhrung der kryptologischen Algorithmen zu beobachten und Korrelationen zwischen den beobachteten Daten und dem verwendeten Schlussel zu finden Zeitangriff Bearbeiten Im Jahr 1995 veroffentlichte Paul Kocher eine neuartige Methode mit der es ihm gelang Implementierungen von Diffie Hellman RSA und DSA zu brechen der Zeitangriff timing attack 42 Ziel des Zeitangriffs ist die diskrete Exponentialfunktion Wenn eine Krypto Implementierung g a mod p displaystyle g a bmod p nbsp fur irgendwelche grosseren Zahlen g displaystyle g nbsp a displaystyle a nbsp und p displaystyle p nbsp berechnet dann geschieht dies fast immer mit dem Square and Multiply Algorithmus Bei diesem ist fur jedes Bit von a displaystyle a nbsp eine Aktion festgesetzt Hat das gerade bearbeitete Bit den Wert 1 displaystyle 1 nbsp dann ist diese Aktion eine Multiplikation ansonsten eine Quadrierung Da die Rechenzeiten fur die Multiplikationen langer dauern als fur die Quadrierungen kann Eve aus Zeitmessungen Ruckschlusse auf die Zahl der Einsen in a displaystyle a nbsp ziehen Variiert er die Zahl g displaystyle g nbsp reichen irgendwann die Informationen aus um a displaystyle a nbsp zu berechnen Schon mit einigen Tausend Zeitmessungen lassen sich entsprechende Implementierungen mit 1024 Bit Schlusseln brechen 43 Um solche Zeitangriffe zu verhindern mussen jedoch bei der Implementierung lediglich Verzogerungen in den Ver bzw Entschlusselungsprozess eingebaut werden Mit dem als Blinding genannten Verfahren wird zum Beispiel an einer Stelle des Verfahrens eine Zufallszahl eingerechnet die an anderer Stelle wieder herausgerechnet wird Eine andere Moglichkeit besteht darin den Prozess so zu gestalten dass er unabhangig vom Eingabewert immer gleich lange dauert 44 Stromangriff Bearbeiten nbsp Bei einem Stromangriff misst ein Oszilloskop den Stromverbrauch eines Verfahrens Im Jahr 1998 stellten Paul Kocher Joshua Jaffe und Benjamin Jun erstmals das Konzept des Stromangriffs vor 45 Bei Stromangriffen wird nicht nur die Verarbeitungszeit gemessen sondern mit einem Oszilloskop auch der Stromverbrauch Besonders Smartcards sind gegenuber Stromangriffen anfallig da diese auf eine externe Stromversorgung angewiesen sind Ein Angreifer misst die Ver und Entschlusselungsvorgange und versucht bestimmte Stellen der Stromverbrauchskurve einzelnen Bestandteilen des Verfahrens zuzuordnen Auch hier ist der Square and Multiply Algorithmus ein geeignetes Ziel da sich bei diesem Multiplikationen und Quadrierungen am Stromverbrauch oft gut unterscheiden lassen Stromangriffe sind etwas aufwendiger in der Durchfuhrung als Zeitangriffe gelten jedoch als wirkungsvoller 46 Als Gegenmassnahme gegen Stromangriffe kann der Hersteller von Krypto Modulen den Stromverbrauch verschleiern indem er Dummy Operationen in einen Ver bzw Entschlusselungsvorgang einbaut Eine weitere Moglichkeit besteht darin ein kunstliches Stromrauschen zu erzeugen das den eigentlichen Stromverbrauch uberlagert 47 Elliptic Curve Diffie Hellman ECDH BearbeitenKryptosysteme auf Basis elliptischer Kurven kurz ECC Verfahren von engl Elliptic Curve Cryptography sind keine eigenstandige kryptographische Verfahren sondern bekannte DL Verfahren die auf besondere Weise implementiert werden Jedes Verfahren das auf dem diskreten Logarithmus in endlichen Korpern basiert lasst sich in einfacher Weise auf elliptische Kurven ubertragen und somit zu einem Elliptic Curve Kryptosystem umformen Dabei werden die beim Originalverfahren eingesetzten Operationen Multiplikation und Exponentiation auf dem endlichen Korper ersetzt durch Punktaddition und Skalarmultiplikation auf elliptischen Kurven Das n displaystyle n nbsp fache Addieren eines Punktes P displaystyle P nbsp zu sich selbst also die Multiplikation mit dem Skalar n displaystyle n nbsp wird mit n P displaystyle nP nbsp bezeichnet und entspricht einer Exponentiation x n displaystyle x n nbsp im ursprunglichen Verfahren Das Prinzip wurde Mitte der 1980er Jahre von Victor S Miller 48 und Neal Koblitz 49 unabhangig voneinander vorgeschlagen Korper Bearbeiten Ein Korper ist eine Menge K displaystyle K nbsp versehen mit zwei inneren zweistelligen Verknupfungen displaystyle nbsp und displaystyle cdot nbsp die meist Addition und Multiplikation genannt werden Ein Korper ist bezuglich der Addition und der Multiplikation ohne Null eine abelsche Gruppe und es gelten die Distributivgesetze Der bekannteste Korper ist die Menge der reellen Zahlen R displaystyle mathbb R nbsp auf der Addition und Multiplikation in ublicher Weise definiert sind Fur eine Primzahl p displaystyle p nbsp bildet die Menge der Zahlen zwischen 0 displaystyle 0 nbsp und p 1 displaystyle p 1 nbsp sowohl mit der Modulo Addition als auch mit der Modulo Multiplikation ohne Null eine Gruppe Die Restklassen ganzer Zahlen modulo p displaystyle p nbsp geschrieben F p displaystyle mathbb F p nbsp oder GF p displaystyle operatorname GF p nbsp bilden somit einen endlichen Korper auch Galoiskorper engl Galois field Ausserdem gibt es fur jede Primzahl p displaystyle p nbsp und jede naturliche Zahl n displaystyle n nbsp bis auf Isomorphie genau einen Korper mit p n displaystyle p n nbsp Elementen der mit F p n displaystyle mathbb F p n nbsp oder GF p n displaystyle operatorname GF p n nbsp bezeichnet wird In der Elliptic Curve Cryptography sind insbesondere die beiden Spezialfalle n 1 displaystyle n 1 nbsp und p 2 displaystyle p 2 nbsp von Bedeutung also GF p displaystyle operatorname GF p nbsp und GF 2 n displaystyle operatorname GF 2 n nbsp Mit diesen lassen sich ECC Verfahren am besten realisieren 50 Elliptische Kurven Bearbeiten nbsp Addition von Punkten P und Q auf einer elliptischen Kurve nbsp Verdoppelung eines Punktes P auf einer elliptischen KurveEine elliptische Kurve EC ist eine Menge von Punkten x y displaystyle x y nbsp mit Werten aus einem Korper K displaystyle K nbsp die eine kubische Gleichung der folgenden Form erfullen y 2 x 3 a x b displaystyle y 2 x 3 ax b nbsp Kurze Weierstrass Gleichung Die reellen Koeffizienten a displaystyle a nbsp und b displaystyle b nbsp mussen dabei die Bedingung 4 a 3 27 b 2 0 displaystyle 4a 3 27b 2 neq 0 nbsp erfullen um Singularitaten auszuschliessen Eine elliptische Kurve ist eine glatte algebraische Kurve der Ordnung 3 in der projektiven Ebene Dargestellt werden elliptische Kurven meist als Kurven in der affinen Ebene sie besitzen aber noch einen zusatzlichen Punkt im Unendlichen der hier als O displaystyle mathcal O nbsp sprich O bezeichnet wird jedoch nicht mit dem Nullpunkt des Koordinatensystems zu verwechseln ist Uber dem Korper K R displaystyle K mathbb R nbsp der reellen Zahlen bilden die Punkte eine Kurve in der reellen Ebene 51 Eine wichtige Eigenschaft elliptischer Kurven ist folgende Schneidet eine Gerade eine solche Kurve dann gibt es genau drei Schnittpunkte Dabei treten folgende Falle auf Bei einer Geraden die parallel zur y displaystyle y nbsp Achse verlauft ist einer der drei Schnittpunkte O displaystyle mathcal O nbsp Bei einer Geraden welche die Kurve beruhrt wird der Beruhrpunkt als doppelter Schnittpunkt gezahlt Bei allen anderen Geraden sind die Schnittpunkte offensichtlich 52 Durch diese Eigenschaft lasst sich mit Hilfe elliptischer Kurven eine Gruppe E K displaystyle operatorname E K nbsp definieren Sei G displaystyle G nbsp die Punktmenge einer elliptischen Kurve vereinigt mit dem Punkt O displaystyle mathcal O img class