Implementierung von SIKE in Java

Bachelor Studiengang IT Security

Manuel Ravnik, BSc

Betreuer: FH-Prof. Univ.-Doz. Dipl.-Ing. Dr. Ernst Piller

Ausgangslage

Da sich immer mehr Smart-Phones, Computer, IoT-Geräte, Smart-Gadgets, selbstfahrende Autos und viele weitere digitale Komponenten im Internet befinden und auf einem sicheren Weg miteinander kommunizieren wollen, ist es sehr wichtig, dies auch in Zukunft möglich zu machen.

So genannte Quantencomputer können aktuelle, meist durchaus bewährte Verfahren, knacken und sie dadurch unsicher machen. Dies gelingt aber nur unter der Voraussetzung, dass ein solcher Computer über genügend Rechenleistung, so genannte q-bits, verfügt.

Wann solch ein Computer zur Verfügung steht ist jedoch noch unklar. Die Forschung steht allerdings nicht still und aus diesem Grund ist es wichtig, bereits mit entsprechenden Entwicklungen in der Kryptografie vorzusorgen und sich für diesen Fall entsprechend zu wappnen.

Der sogenannte SIDH (Supersingular Isogeny Diffie-Hellman) und SIKE (Supersingular Isogeny Key-Exchange) sind Kandidaten des NIST Aufrufes „Call for Post-Quantum Cryptography“, in dem vielversprechende Post-Quanten Kryptografiesysteme gesucht werden.

Ziel

Das Ziel dieser Arbeit ist es, das im NIST Wettbewerb für postquantensichere Kryptografiesysteme vorgestellte SIDH/SIKE System, auf eine möglichst schnelle und in der Zukunft benutzbare Art und Weise in Java zu implementieren. Die Herausforderung ist dabei, dieses System mit Algorithmen und programmiertechnischen Kniffen so auszustatten, dass es auf vielen Endgeräten mit sehr guter Performance und ohne Einschränkungen lauffähig ist.

Weiters sollte die darin verwendete Mathematik, welche Gebiete wie „Supersinguläre elliptische Kurven“, „Isogene“, „endliche Körper“ und viele mehr umfasst, verständlich und nachvollziehbar dargestellt werden.

Ergebnis

Durch die Implementierung von SIDH/SIKE in Java konnten viele neue Grundlagen und Zusammenhänge der Mathematik und Programmierung von isogenen Kurven gezeigt werden. Nicht nur Algorithmen, welche diese Berechnungen erheblich beschleunigten, sondern auch Optimierungen im Speicherbereich konnten durch diese Arbeit gefunden werden.

Weiters konnte die Programmierung und die komplexe Mathematik so dokumentiert werden, dass es auch für zukünftige Entwicklungen möglich ist, diese Basisstruktur zu adaptieren und weiter zu verwenden. Dies sind ideale Voraussetzungen, um dieses Verfahren in der Ära der Quantencomputer bestehen zu lassen und somit die Sicherheit der digitalen Kommunikationen auch für die Zukunft zu sichern.