i

Einwegfunktion

Multiplikation mit einer natürlichen Zahl als Einwegfunktion

Für große Zahlen N ist die Vervielfachung NP eines Punktes P auf einer elliptischen Kurve zunächst sehr aufwendig, da N wiederholte Additionen ausgeführt werden müssen.

Zum Beispiel müsste zur Berechnung von 13P der Punkt P insgesamt 13 mal zu sich selbst addiert werden. Allerdings gibt es hierfür einen Trick, der die Berechnung deutlich beschleunigt. Dazu wird die Zahl 13 zunächst in ihre binäre Darstellung umgewandelt: 13=11012=8+4+1

Wegen der Rechengesezte für die Addition auf elliptischen Kurven gilt nun: 13P=(8+4+1)P=8P+4P+1P

Diese Summe kann nun durch die folgenden Schritte berechnet werden: 2P=P+P4P=2P+2P8P=4P+4P13P=8P+4P+1P

Dieser Trick nennt sich Double and Add-Verfahren. In unserem Beispiel wird damit 13P in insgesamt nur noch 5 Schritten statt der ursprünglichen 13 Schritte berechnet.

Effizienz des Double and Add-Verfahrens

Die Anzahl der Additionen, die für die Berechnung von NP mit dem Double and Add-Verfahren notwendig sind, hängt von der Anzahl der Einsen in der binären Darstellung von N ab. Für eine natürliche Zahl N mit n Einsen in der binären Darstellung sind insgesamt höchstens 2n Additionen notwendig, um NP zu berechnen.

Damit lässt sich für eine natürliche Zahl N die Anzahl an Additionen nach oben wie folgt abschätzen. Die Anzahl n an Einsen in der binären Darstellung von N ist kleiner als log2N. Also ist die Anzahl der Additionen kleiner als 2log2N.

Das Double and Add-Verfahren hat also die Ordnung O(logN), was bedeutet, dass die Anzahl der Additionen für die Multiplikation mit einer natürlichen Zahl N logarithmisch mit N wächst. Da der Logarithmus eine sehr langsame Wachstumsrate hat, wächst die Anzahl der Additionen also nur sehr langsam mit der Größe der Zahl N.

Einwegfunktion

Durch das Double and Add-Verfahren wird die Multiplikation mit einer sehr großen natürlichen Zahl N zu einer Einwegfunktion. Das bedeutet, dass für einen gegebenen Punkt P die Berechnung von NP effizient mit der Ordnung O(logN) möglich ist, während die Rückrechnung von der Summe NP auf N mit O(N) so aufwendig ist, dass sie in der Praxis nicht durchgeführt werden kann.
Da bei der Rückrechnung die binäre Darstellung von N unbekannt ist, bleibt nur die Brute-Force-Möglichkeit, alle möglichen Summen NP für alle natürlichen Zahlen N zu berechnen und mit der gegebenen Summe zu vergleichen. Dies ist jedoch aufgrund der großen Anzahl an möglichen Summen so ineffizient, dass es in der Praxis nicht durchgeführt werden kann.

Aufgabe 1

  1. Wie viele Additionen sind mit dem Double and Add-Verfahren notwendig, um 1023P zu berechnen?
  2. Wie viele Additionen sind mit dem Double and Add-Verfahren notwendig, um 4095P zu berechnen?

Aufgabe 2

Berechne das Produkt 1751 nach dem Double and Add-Verfahren. Wie viele Additionen sind dazu notwendig?
Achtung: In dieser Aufgabe ist mit Addition die herkömmliche Addition natürlicher Zahlen gemeint, als nicht die Addition von Punkten auf elliptischen Kurven!

Suche

11.12.6
schuljahr.inf-schule.de/2024-25/kryptologie/diffie_hellman_ecc/einwegfunktion
schuljahr.inf-schule.de/2024-25/11.12.6
schuljahr.inf-schule.de/2024-25/@/page/1ig3DLfca4yOEGlQ

Rückmeldung geben