zurĂŒck zum Artikel

VerschlĂŒsseln mit elliptischen Kurven

Golo Roden

Elliptische Kurven bilden die Grundlage fĂŒr moderne asymmetrische Kryptografie. Mathematisch sind sie verhĂ€ltnismĂ€ĂŸig komplex, aber ihre Funktionsweise lĂ€sst sich dennoch anschaulich erklĂ€ren. Wie also funktionieren sie?

Elliptische Kurven bilden die Grundlage fĂŒr moderne asymmetrische Kryptografie. Mathematisch sind sie verhĂ€ltnismĂ€ĂŸig komplex, aber ihre Funktionsweise lĂ€sst sich dennoch anschaulich erklĂ€ren. Wie also funktionieren sie?

Elliptische Kurven sind mathematische Funktionen, die eine bestimmte Form aufweisen. Die grĂ¶ĂŸte Besonderheit ist, dass der Funktionswert als Quadrat dargestellt wird, was dazu fĂŒhrt, dass sich eine elliptische Kurve symmetrisch zur X-Achse verhĂ€lt. Die grundlegende Form lautet:

y^2 = x^3 + a*x + b

In gewissem Sinne Ă€hnelt eine elliptische Kurve einem Polynom dritten Grades, durch das Quadrat von y verhĂ€lt sich die Kurve allerdings ganz anders. Dennoch gibt es Ähnlichkeiten zu Polynomen, so stellen beispielsweise die Faktoren a und b die Koeffizienten der Kurve dar. Ihre Wahl bestimmt die grundlegende Form der Kurve.

Eine Besonderheit ergibt sich, wenn man beide Koeffizienten auf den Wert 0 setzt – in diesem Fall enthĂ€lt die Kurve nĂ€mlich einen Knick im Nullpunkt des Koordinatensystems, weshalb man in diesem Fall von einer SingularitĂ€t spricht (und es sich auch nicht mehr um eine Kurve im eigentlichen Sinne handelt).

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) ĂŒbermittelt werden. Mehr dazu in unserer DatenschutzerklĂ€rung [1].

WĂ€hlt man zwei beliebige Punkte P und Q auf einer elliptischen Kurve, kann man diese mit einer Geraden verbinden. Diese Gerade hat die Eigenschaft, dass sie die Kurve in einem dritten Punkt schneidet. Spiegelt man diesen Punkt wiederum an der X-Achse, erhĂ€lt man einen Punkt, der die Summe der beiden ursprĂŒnglichen Punkte darstellt. Auf diesem Weg (eine Gerade ziehen und spiegeln) lĂ€sst sich die Summe zweier beliebiger Punkte ermitteln.

Dieser Vorgang lĂ€sst sich nun wiederholen: Sucht man einen weiteren zufĂ€lligen Punkt R, verbindet R anschließend mit dem Punkt P+Q und spiegelt dann erneut, dann erhĂ€lt man als Ergebnis die neue Summe (P+Q)+R. Dieses Verfahren kann man nun beliebig fortfĂŒhren, um die Summe stets um einen weiteren Punkt zu ergĂ€nzen.

Da es unpraktisch ist, sich stĂ€ndig neue Punkte suchen zu mĂŒssen, gibt es eine vereinfachte Variante dieses Verfahrens. Bewegt man P und Q zu Beginn nĂ€mlich aufeinander zu, bis sie ĂŒbereinander liegen, kann man auf Q verzichten. Statt eine Gerade durch zwei Punkte zu ziehen, fĂŒhrt man nun die Tangente an P ein – auch sie wird die elliptische Kurve wieder in einem weiteren Punkt schneiden, den man anschließend spiegeln kann.

Das Ergebnis ist die Summe von P mit sich selbst, also P+P oder 2P. Verbindet man nun 2P wieder mit P, erhĂ€lt man einen weiteren Schnittpunkt, den man wiederum spiegeln kann, und erhĂ€lt auf dem Weg 3P. Auch dieses Verfahren lĂ€sst sich nun endlos fortsetzen, um auch 4P, 5P, 6P oder schließlich NP zu konstruieren. Eine wichtige Frage lautet nun: Angenommen, P und NP sind gegeben, wie lĂ€sst sich dann N herausfinden?

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) ĂŒbermittelt werden. Mehr dazu in unserer DatenschutzerklĂ€rung [2].

Die triviale Antwort lautet, dass man das durch Ausprobieren herausfindet: Man muss von P ausgehend lediglich so lange Summen bilden, bis man schließlich beim Punkt NP herauskommt – schon kennt man den Wert von N. Das Verfahren ist also fĂŒr denjenigen, der NP konstruiert, genauso aufwendig wie fĂŒr denjenigen, der N aus NP ermitteln möchte.

Allerdings gibt es eine AbkĂŒrzung zum Konstruieren von NP. Elliptische Kurven sind nĂ€mlich aus mathematischer Sicht nichts anderes als Gruppen, weshalb die Rechenregeln fĂŒr Gruppen fĂŒr sie gelten. Das bedeutet, dass man an Stelle von 3P+P beispielsweise auch 2P+2P rechnen kann und dabei zum gleichen Ergebnis 4P kommt.

Das kann man sich nun zunutze machen, um NP auch fĂŒr große N effizient zu berechnen. Dazu konvertiert man N zunĂ€chst in die BinĂ€rdarstellung, aus 227 wĂŒrde also beispielsweise 11100011. Das bedeutet, dass sich der Wert fĂŒr 227P als

128P + 64P + 32P + 2P + P

berechnen lÀsst. Diese Werte wiederum lassen sich durch Verdoppeln mit logarithmischem Aufwand aus P bestimmen. Das beschleunigt die Berechnung von 227P dramatisch. Dieses Verfahren, das als "double and add" bekannt ist, lÀsst sich jedoch nicht ohne Weiteres umkehren: Um aus dem Punkt 227P zu ermitteln, dass N dem Wert 227 entspricht, ist deutlich höherer Aufwand erforderlich.

Dieses Ungleichgewicht kann man sich nun in der Kryptografie zunutze machen, denn letztlich handelt es sich bei der Addition auf elliptischen Kurven nun um eine FalltĂŒrfunktion: WĂ€hrend der Rechenweg in die eine Richtung sehr einfach ist, ist er in die andere Richtung sehr aufwendig. TatsĂ€chlich handelt es sich bei dem genannten Problem um den "diskreten Logarithmus der elliptischen Kurven", was dem Grundproblem von RSA Ă€hnelt.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) ĂŒbermittelt werden. Mehr dazu in unserer DatenschutzerklĂ€rung [3].

Angenommen, Alice und Bob möchten verschlĂŒsselt kommunizieren, einigen sie sich zunĂ€chst (öffentlich) auf eine gemeinsame elliptische Kurve, indem sie deren Koeffizienten festlegen. Außerdem wĂ€hlen sie gemeinsam einen Startpunkt P. Anschließend wĂ€hlen Alice und Bob jeweils im Geheimen ihren privaten SchlĂŒssel A beziehungsweise B und berechnen daraus anschließend per "double and add" ihren jeweiligen öffentlichen SchlĂŒssel AP und BP.

Alice gibt ihren öffentlichen SchlĂŒssel AP nun an Bob, und Bob gibt seinen öffentlichen SchlĂŒssel BP an Alice. Beide multiplizieren den öffentlichen SchlĂŒssel des anderen nun mit ihrem eigenen privaten SchlĂŒssel:

Alice: BP + BP + 
 + BP = BP * A

Bob: AP + AP + 
 + AP = AP * B

Da es sich bei elliptischen Kurven wie bereits erwĂ€hnt um Gruppen handelt, kann man P jeweils aus dem Ergebnis ausklammern. Auf dem Weg kommen Alice und Bob unabhĂ€ngig voneinander auf den gleichen geheimen Punkt (AB)*P. FĂŒr einen Angreifer ist dieser geheime Punkt ohne Kenntnis mindestens eines privaten SchlĂŒssels nicht einfach zu rekonstruieren.

Alice und Bob verschlĂŒsseln ihre Nachricht nun symmetrisch, beispielsweise mit AES, und verwenden als SchlĂŒssel schlichtweg die X-Koordinate des gemeinsam berechneten geheimen Punkts.

Obwohl das Verfahren aus mathematischer Sicht hervorragend funktioniert, weist es in der Praxis eine SchwĂ€che auf: Die Koordinaten der Punkte werden sehr schnell sehr groß und ĂŒbersteigen rasch den Wertebereich gĂ€ngiger Datentypen. Das Gleiche gilt fĂŒr die Nachkommastellen, weshalb es rasch zu Rundungsfehlern und Ungenauigkeiten kommt – womit Alice und Bob unter UmstĂ€nden nicht mehr auf den gleichen geheimen Punkt kommen.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) ĂŒbermittelt werden. Mehr dazu in unserer DatenschutzerklĂ€rung [4].

Aus diesem Grund beschrÀnkt man elliptische Kurven in der Praxis auf ganzzahlige Werte, indem man sie noch um eine Modulodivision durch eine Primzahl p ergÀnzt:

y^2 = x^3 + a*x + b mod p

Das Ergebnis ist dann keine Kurve mehr, sondern eine Punktewolke, wobei die Koordinaten der Punkt nun ganzzahlig und in ĂŒberschaubarer GrĂ¶ĂŸe vorliegen. Die grundlegenden Eigenschaften von elliptischen Kurven bleiben dabei allerdings erhalten. Auch in diesem Fall lĂ€sst sich "double and add" nicht effizient umkehren.

Damit lassen sich elliptische Kurven nun nicht nur mathematisch, sondern auch ganz praktisch fĂŒr die VerschlĂŒsselung anwenden.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) ĂŒbermittelt werden. Mehr dazu in unserer DatenschutzerklĂ€rung [5].

Anders als RSA und andere asymmetrische Verfahren lassen sich elliptische Kurven sehr anschaulich und visuell erklĂ€ren. Trotzdem sind sie aus mathematischer Sicht eine hervorragende und starke Grundlage fĂŒr VerschlĂŒsselung. Die grundlegenden Konzepte sind dabei nach wie vor die gleichen wie bei anderen asymmetrischen Verfahren.

Auch im Zusammenhang mit elliptischen Kurven kommt ein Hybridverfahren zum Einsatz, es bedarf einer FalltĂŒrfunktion, es gibt einen privaten und einen öffentlichen SchlĂŒssel – die Grundbausteine der Kryptografie bleiben also auch mit elliptischen Kurven die gleichen. ( [6])


URL dieses Artikels:
https://www.heise.de/-5026753

Links in diesem Artikel:
[1] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[2] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[3] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[4] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[5] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[6] mailto:webmaster@goloroden.de