© Milena_Bo/Shutterstock.com
Elliptische Kurven verstehen

Elliptisch wird’s sicherer


In der modernen Kryptografie stößt man immer wieder auf das Konstrukt der elliptischen Kurven. Was nach komplexer Mathematik klingt, lässt sich erstaunlich einfach und anschaulich erklären.

Häufig offenbart sich in der modernen Kryptografie, dass zum Ver- und Entschlüssseln, Hashen und Signieren von Daten zwar Mathematik benötigt wird, diese jedoch nicht besonders anspruchsvoll ist. Jedenfalls solange man sich mit der Anwendung begnügt und nicht den Ehrgeiz hat, die Algorithmen an sich zu verstehen und weiterentwickeln zu wollen. Tatsächlich braucht man nicht viel mehr als die vier Grundrechenarten, die Modulodivision, ein paar Grundlagen zu Primzahlen, Potenzrechnung und Logarithmen sowie eine ungefähre Vorstellung von Restklassen (die sich aber mit der Modulodivision wiederum sehr anschaulich erklären lassen). Mit diesem einfachen Handwerkszeug ist es möglich, symmetrische und asymmetrische Verschlüsselung, Hashes, digitale Signaturen, Zertifikate und Zufallszahlengeneratoren zu erklären. Die eigentliche Anwendung der Kryptografie besteht im späteren Verlauf in der Kombination dieser Basisbausteine.

Ein Thema, auf das man in der modernen Kryptografie immer häufiger stößt, hat die Serie jedoch ausgelassen: elliptische Kurven. Wer versucht, den zugehörigen Wikipedia-Artikel [1] zu lesen, bleibt schnell an mathematischen Fachbegriffen und zahlreichen Formeln hängen. Das Gefühl, das bleibt, ist, dass man Mathematik studiert haben muss, um elliptische Kurven zu verstehen. Was schade wäre, spielen diese doch eine zunehmend wichtige Rolle in der Kryptografie. Tatsächlich lassen sich auch elliptische Kurven einfach und anschaulich erklären, man muss das Problem dabei lediglich von der passenden Seite angehen. Genau das macht der vorliegende Artikel.

Was sind ellipitische Kurven?

Zunächst gilt es zu klären, was eine elliptische Kurve überhaupt ist. Im Prinzip handelt es sich um nichts anderes als eine mathematische Gleichung, ähnlich der aus der Schule bekannten Formeln. Beispielsweise lässt sich in einem zweidimensionalen Koordinatensystem jede lineare Funktion mit Hilfe der Formel

f(x) = a * x + b

beschreiben. Für eine quadratische Funktion greift man auf ein sogenanntes Polynom zweiten Grades zurück, das in der allgemeinen Form wie folgt beschrieben wird:

f(x) = a * x2 + b * x + c

Die Faktoren a, b und c werden dabei jeweils als Koeffizienten bezeichnet und für eine konkrete Funktion fixiert. So kann man beispielsweise mit den Werten a = 1 und b = 0 die lineare Funktion beschreiben, die durch den Nullpunkt verläuft und im 45°-Winkel steigt. Das Polynom mit a = 1, b = 0 und c = 0 beschreibt hingegen eine Normalparabel [2].

In der Schule wird an Stelle von f(x), was für den Funktionswert der Funktion f an der Stelle x steht, häufig einfach der Buchstabe y verwendet, da der Funktionswert in einem zweidimensionalen Koordinatensystem auf der y-Achse abgebildet wird.

Eine elliptische Kurve ist nun ebenfalls eine Funktion, die der folgenden Form genügt:

y2 = x3 + a * x + b

Prinzipiell ähnelt eine elliptische Kurve also einem Polynom dritten Grades, bei dem allerdings die Quadratur der Variablen x entfällt, und bei dem stattdessen der Funktionswert quadriert ist. Da auch eine elliptische Kurve nur die beiden Werte x und y enthält, lässt sie sich problemlos in einem zweidimensionalen Koordinatensystem darstellen. Abbildung 1 zeigt elliptische Kurven für verschiedene Werte von a und b, wobei die Kurve mit a = 0 und b = 0 auf Grund ihres Knicks eine Ausnahme, eine sogenannte Singularität, darstellt. Genau genommen handelt es sich bei diesem Spezialfall nicht um eine elliptische Kurve, da eine Kurve keinen Knick enthält.

roden_krypto_1.tif_fmt1.jpgAbb. 1: Elliptische Kurven [1]

Wege zurücklegen

Im Folgenden wird als Beispiel die elliptische Kurve verwendet, die sich für a = -3 und b = 5 ergibt. Alle Erkenntnisse gelten auch für jede beliebige andere Wahl der Parameter. Abbildung 2 zeigt diese Kurve.

roden_krypto_2.tif_fmt1.jpgAbb. 2: Beispiel einer elliptischen Kurve

Nun kann man auf der Kurve zwei beliebige Punkte P und Q wählen. Verbindet man diese Punkte mit einer Geraden, schneidet diese die elliptische Kurve in einem weiteren Punkt. Spiegelt man diesen nun an der x-Achse, erhält man einen neuen Punkt auf der Kurve, der als Summe von P und Q bezeichnet wird, also als P+Q (Abb. 3).

roden_krypto_3.tif_fmt1.jpgAbb. 3: Neuer Pu...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang