Implementierung von elliptischen Kurven in C++
Elektrotechnik Studienarbeiten (März 2005 - Juli 2005)Betreuer
Peter Birkner,Abstract
In der Studienarbeit sollen elliptische Kurven über endlichen Körpern in C++ für kryptographische
Anwendungen implementiert werden. Dabei soll die folgende Funktionalität erreicht werden:
Zu einer wählbaren Ordnung eines zugrundeliegenden endlichen Körpers soll überprüft werden, ob
eingegebene Kurvenparameter eine elliptische Kurve beschreiben. Das Programm soll entscheiden
können, ob ein vorgegebener Punkt auf der elliptischen Kurve liegt oder nicht. Weiterhin soll das Gruppengesetz
der elliptischen Kurve implementiert werden, d.h. die Addition zweier auf der Kurve liegender Punkte
soll durchgeführt werden sowie die Punktverdoppelung. Als praktische Anwendung soll das ElGamal-Kryptosystem
auf elliptischen Kurven realisiert werden.
Die Bearbeitung dieser Studienarbeit umfasst die folgenden Punkte:
- Nutzung der GMP Library zur Verwendung beliebig großer Zahlen
- Arithmetik in endlichen Körpern beliebiger Größe unter Verwendung von GMP
- Test, ob vorgegebene Parameter eine elliptische Kurve beschreiben
- Test, ob ein vorgegebener Punkt auf der Kurve liegt
- Implementierung des Gruppengesetzes: Punktaddition, Punktvervielfachung (Double and Add- Methode)
- Implementierung des ElGamal-Kryptosystems mit elliptischen Kurven.