Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ECC_Attacks — Bekannte Angriffe auf die Elliptische-Kurven-Kryptografie | Kitploit
Tools/GitHubGitHub/elikaski/ecc_attacks
SchwachstellenanalyseKryptographieLernen & Bildung
GitHubelikaski/ecc_attacks

ECC_Attacks

Bekannte Angriffe auf die Elliptische-Kurven-Kryptografie

Repository anzeigen
6134314vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Bekannte Angriffe auf die Kryptografie mit elliptischen Kurven

  • Einführung
  • Einführung in elliptische Kurven
  • Elliptische Kurven im Kontext der Kryptografie
  • ECC-Angriffe

ECDH-Angriffe

  • Die Ordnung des Generators ist zu klein
  • Die Ordnung des Generators ist eine glatte Zahl
  • Die Ordnung des Generators ist fast eine glatte Zahl, und der private Schlüssel ist klein
  • Nicht verifizieren, dass ein Punkt auf der Kurve liegt
  • Die Kurve ist singulär
  • Die Kurve ist supersingulär
  • Die Kurve ist anomal

ECDSA-Angriffe

  • Die Nachricht wird vor dem Signieren nicht gehasht
  • Wiederverwendung desselben Werts von k in verschiedenen Signaturen
  • Unsicheres Erzeugen von k-Werten
  • Der Generator wird nicht auf Gültigkeit geprüft

Fazit

  • Übersicht über ECDH-Angriffe
  • Übersicht über ECDSA-Angriffe
  • Schutz vor diesen Angriffen
  • Referenzen

Einführung

In den letzten Jahren ist die Kryptografie mit elliptischen Kurven aufgrund ihrer hohen Effizienz und starken Sicherheit beliebt geworden. Der Zweck dieses Artikels ist es, dieses Thema auf eine relativ klarere Weise darzustellen, als es heute im Internet existiert.

In diesem Artikel werde ich vorstellen, was elliptische Kurven sind, die grundlegenden Operationen, die auf ihnen ausgeführt werden können, und wie sie im kryptografischen Kontext verwendet werden können. Der Großteil dieses Artikels besteht aus Beispielen bekannter Angriffe auf fehlerhafte Implementierungen oder falsche Verwendungen. Im gesamten Artikel versuche ich, die Erklärung in einen intuitiven und allgemeinen Teil sowie einen mathematischen Teil, der ins Detail geht, zu trennen. Der Leser ist eingeladen, sich auf den Teil zu konzentrieren, der ihn an der jeweiligen Stelle interessiert, und die Teile zu überspringen, die weniger relevant sind.

Viel Spaß beim Lesen!

Einführung in elliptische Kurven

Eine elliptische Kurve

Im Allgemeinen ist eine elliptische Kurve eine Art gekrümmte Linie. Ein Beispiel dafür ist die Parabel, deren Gleichung die Form $𝑦 = 𝑎𝑥^2 + 𝑏𝑥 + 𝑐$ hat und so aussieht:

Parabel

Im Kontext der Kryptografie ist es üblich, elliptische Kurven zu verwenden, deren Gleichung die Form

$𝑦^2 = 𝑥^3 + 𝑎𝑥 + 𝑏$

hat. Beispielsweise sieht eine elliptische Kurve, die zur Gleichung $𝑦^2 = 𝑥^3 − 3𝑥 + 3$ gehört, so aus:

Einfache elliptische Kurve

Die Gleichung der Kurve definiert die Beziehung zwischen der 𝑥-Koordinate eines Punktes auf der Kurve und seiner 𝑦-Koordinate. In einem kryptografischen Kontext beschränken wir 𝑥, 𝑦, 𝑎, 𝑏 auf ganze Zahlen und beschränken die Berechnungen auf modulo einer großen Primzahl. Die Gleichung der elliptischen Kurve lautet also:

$𝑦^2 = 𝑥^3 + 𝑎𝑥 + 𝑏\ \ \ \ (mod\ 𝑝)$.

Das bedeutet, dass wir eine endliche Anzahl von Punkten auf der Kurve haben. In mathematischer Sprache wird die Kurve als über einem endlichen Körper der Ordnung 𝑝 definiert bezeichnet. Daher hat nicht unbedingt jede 𝑥-Koordinate einen entsprechenden Punkt auf der Kurve, weil die zugehörige 𝑦-Koordinate möglicherweise keine ganze Zahl ist.

Punkte auf der Kurve

Die Menge der Punkte auf der Kurve besteht aus Paaren ganzer Zahlen (𝑥, 𝑦), die die Gleichung der Kurve erfüllen. Zusätzlich zu diesen Punkten wird ein weiterer spezieller Punkt namens „Unendlich“ definiert, der mit 𝒪 bezeichnet wird. In mathematischer Sprache ist dieser Punkt das neutrale Element der Menge der Punkte auf der Kurve bezüglich der Additionsoperation, die wir im nächsten Abschnitt definieren werden. Die Anzahl der Punkte auf der Kurve (einschließlich des Punktes 𝒪) wird als „Ordnung der Kurve“ bezeichnet.

Eine weitere Beobachtung ist, dass elliptische Kurven symmetrisch zur X-Achse sind. Das bedeutet, dass wenn der Punkt 𝑃 = (𝑥, 𝑦) auf der Kurve liegt, dann liegt auch der Punkt −𝑃 = (𝑥, −𝑦) auf der Kurve. Tatsächlich werden diese Punkte als „inverse“ zueinander betrachtet (daher die Bezeichnung −𝑃 für den zweiten Punkt), und das Ergebnis der Additionsoperation zwischen ihnen ist als das neutrale Element 𝒪 definiert.

Ein Satz namens Satz von Hasse liefert eine Abschätzung für #𝐸, die Ordnung der Kurve, und ist von der Größenordnung Θ(𝑝). Genauer gilt:

$𝑝 + 1 − 2\sqrt𝑝 ≤ 𝐸 ≤ 𝑝 + 1 + 2\sqrt𝑝$

Punkteaddition

Wenn zwei Punkte auf der Kurve gegeben sind, kann zwischen ihnen eine Additionsoperation definiert werden, die zu einem dritten Punkt führt, der ebenfalls auf der Kurve liegt. Um diesen Punkt geometrisch zu finden, zeichnen wir eine Linie zwischen den beiden gegebenen Punkten und verlängern sie, bis sie die Kurve in einem dritten Punkt schneidet. Dieser Punkt wird in Bezug auf die 𝑋-Achse gespiegelt, und der resultierende Punkt ist als das Ergebnis der Addition definiert.

Hier ist ein Diagramm, das zeigt, wie bei gegebenen Punkten 𝑃 und 𝑄 der Punkt 𝑃 + 𝑄 gefunden werden kann:

Punkteaddition

Eine Frage, die sich aus dieser Beschreibung ergeben könnte, ist: Was passiert, wenn die Linie, die zwischen den beiden Punkten gezeichnet wird, die Kurve nicht erneut schneidet? In diesem Fall sagt man, dass die Linie die Kurve im „Unendlichen“ schneidet, und das Ergebnis der Addition ist der Punkt 𝒪. Beachte, dass dieser Fall eintritt, wenn die gezeichnete Linie vertikal ist, das heißt, wir versuchen, einen Punkt 𝑃 mit seinem inversen Punkt −𝑃 zu addieren:

Punkteaddition im Unendlichen

Daraus ergeben sich zwei grundlegende Identitäten. Für jeden Punkt 𝑃 gilt:

𝑃 + 𝒪 = 𝑃
𝑃 + (−𝑃) = 𝒪

Eine weitere Frage, die sich aus der geometrischen Beschreibung ergibt, ist: Wie addieren wir einen Punkt zu sich selbst? Wir haben gesehen, dass wir, um zwei verschiedene Punkte 𝑃 und 𝑄 zu addieren, eine Linie zwischen ihnen zeichnen und den Schnittpunkt ihrer Verlängerung mit der Kurve betrachten. Intuitiv lassen wir 𝑃 konstant und betrachten die Linie, die entsteht, wenn wir 𝑄 „näher und näher“ an 𝑃 heranbewegen, bis 𝑄 mit 𝑃 verschmilzt. Was wir erhalten, ist eine Linie, die immer stärker „tangential“ zur Kurve im Punkt 𝑃 ist, und genau diese Linie betrachten wir, wenn wir 𝑃 zu sich selbst addieren wollen:

Punktmultiplikation
Tool herunterladen