
secp256k1
secp256k1 ist eine mathematische Kurve, die festlegt, wie digitale Signaturen in Bitcoin und vielen anderen Kryptowährungen erzeugt und geprüft werden. Sie ist so konstruiert, dass jede Transaktion eindeutig einem Absender zugeordnet werden kann, ohne dass dieser sein Passwort preisgibt.
secp256k1 ist der Name einer bestimmten elliptischen Kurve — also einer Kurvenform in der Mathematik, die für ein Verschlüsselungsverfahren genutzt wird. Der Name klingt technisch, steckt aber voller Bedeutung: « sec » steht für Standards for Efficient Cryptography, « p » für einen bestimmten Zahlentyp (eine Primzahl), « 256 » für die Schlüssellänge in Bit, « k » für eine besondere Bauvariante und « 1 » dafür, dass es die erste Kurve dieser Art in der Norm ist. Bitcoin verwendet secp256k1 als Grundlage für jede Transaktion. Wer Bitcoin verschickt, unterschreibt die Überweisung mit einer digitalen Signatur, die auf dieser Kurve beruht. Ohne diese Signatur akzeptiert das Netzwerk die Transaktion nicht.
secp256k1 als Rückgrat digitaler Eigentumsrechte
Bei Bitcoin gibt es keine Bank, die prüft, ob du wirklich der Kontoinhaber bist. Das übernimmt stattdessen die Mathematik. secp256k1 ermöglicht ein Verfahren namens Elliptic Curve Digital Signature Algorithm (ECDSA): Damit kann jeder im Netzwerk überprüfen, dass eine Transaktion wirklich vom Besitzer stammt — ohne je den geheimen Schlüssel zu sehen.
Das ist der entscheidende Punkt. Der geheime Schlüssel, auch Private Key genannt, verlässt niemals dein Gerät. Trotzdem kann das gesamte Netzwerk weltweit, mit Tausenden von Computern, die Echtheit deiner Unterschrift bestätigen. Dieses Prinzip nennt sich asymmetrische Kryptografie: Eine Information erzeugt die Signatur, eine andere prüft sie — und aus der prüfenden Information lässt sich die erzeugende nicht zurückrechnen.
Genau deshalb ist die Wahl der richtigen Kurve so wichtig. Eine schwache Kurve könnte es Angreifern erlauben, den privaten Schlüssel aus der öffentlichen Signatur zu rekonstruieren. secp256k1 ist so gewählt, dass dieses Rückrechnen mit heutigen Computern nicht in akzeptabler Zeit möglich ist.
Punkt-Multiplikation statt Primzahl-Faktorisierung
Das Grundprinzip der elliptischen Kurve lässt sich so beschreiben: Auf der Kurve gibt es einen fest definierten Startpunkt. Man kann diesen Punkt mathematisch mit einer Zahl multiplizieren — also gewissermaßen auf der Kurve « weiterspringen ». Das Ergebnis ist dein öffentlicher Schlüssel. Die Zahl, mit der multipliziert wurde, ist dein privater Schlüssel.
Der Trick: Wenn man nur das Ergebnis kennt, also den öffentlichen Schlüssel und den Startpunkt, lässt sich die Zahl, mit der multipliziert wurde, praktisch nicht herausfinden. Man müsste astronomisch viele Möglichkeiten durchprobieren. Bei 256 Bit gibt es 2^256 mögliche private Schlüssel — das ist eine Zahl mit 77 Stellen. Selbst alle Computer der Welt zusammen kämen da in Milliarden von Jahren nicht ans Ziel.
secp256k1 unterscheidet sich von anderen elliptischen Kurven durch ihre genauen mathematischen Parameter. Sie wurde explizit so gewählt, dass die Berechnungen besonders effizient laufen, ohne Sicherheit zu opfern. Ein häufiger Irrtum: Viele denken, « effizienter » bedeute « unsicherer ». Bei secp256k1 ist das Gegenteil der Fall — die Effizienz entsteht durch eine besonders saubere Kurvenstruktur, nicht durch Abkürzungen bei der Sicherheit.
Von Bitcoin-Wallets bis zu Ethereum-Transaktionen
secp256k1 begegnet einem überall, wo man mit Kryptowährungen zu tun hat. Jede Bitcoin-Wallet-App generiert im Hintergrund ein Schlüsselpaar auf Basis dieser Kurve. Ethereum, die zweitgrößte Kryptowährung, verwendet secp256k1 ebenfalls — ebenso wie viele weitere Blockchains, die nach dem Vorbild von Bitcoin gebaut wurden.
Wenn Nachrichtenagenturen über gehackte Wallets berichten, geht es fast nie darum, dass secp256k1 gebrochen wurde. Angreifer zielen auf schlecht gesicherte Private Keys ab — also auf Passwörter, die unverschlüsselt gespeichert oder durch Schadsoftware ausgespäht wurden. Die Kurve selbst gilt nach aktuellem Stand als sicher.
Für Entwickler taucht secp256k1 auch außerhalb von Kryptowährungen auf. Überall dort, wo Software digitale Signaturen braucht — zum Beispiel um zu prüfen, ob ein Software-Update wirklich vom richtigen Hersteller stammt — ist diese Kurve eine mögliche Wahl. Bitcoin hat sie populär gemacht; heute gibt es ausgereifte Programmbibliotheken für fast jede Programmiersprache, die secp256k1 nutzen.