RAKE - Randomized Authentication and Key Exchange


Auf dieser Seite wird ein vom Autor entwickeltes  Public-Key Verfahren beschrieben. Es beruht auf der Verschiebung eines n-dimensionalen Punktes P zum Punkt R durch einen Skalar k in der Restklasse eines Moduls m. Die Punktverschiebung R = P °k für n>=2 ist unter bestimmten Bedingungen eine kommutative Einweg-Funktion und kann daher zur sicheren Authentifizierung und zum vertaulichen Schlüsselaustausch genutzt werden. P ist ein zufällig gewählter Punkt mit ganzzahligen Koordinaten, k ist ebenfalls ganzzahlig.

Die Schlüssel werden durch Verknüpfung von mehreren Zufallszahlen erzeugt und sind durch keinerlei analytische Verfahren zu brechen.
Weil im Unterschied zu den bekannten Public-Key Verfahren keine Primzahlen erforderlich sind, werden beliebig große Schlüssellängen und damit Sicherheiten ermöglicht. Die statistische Wahrscheinlichkeit des Schlüsselbrechens durch brute force Angriffe ist berechenbar und liegt für die Authentifizierung und Signatur im Bereich von 1/m^(n-1) und für den Schlüsselaustausch im Bereich von 1/m^2.

Das Verfahren benötigt keine speziellen mathematische Konstrukte wie Primzahlzerlegung, spezielle elliptische Kurven oder diskrete Logarithmen. Es ist intuitiv und allgemeinverständlich. Seine programmtechnische Implementierung ist sehr einfach und anhand der beigefügten Java-Quellen leicht nachzuvollziehen.

Die detaillierte Beschreibung des Verfahrens ist unter RAKE.pdf zu finden.

Im Archiv RAKE_Dist.zip sind neben dieser Beschreibung ein Java-Anwendungsprogramm zum Test des Verfahrens und Quellkodes enthalten. Die Quellen sind mit einer Signatur versehen, die mittels RAKE erstellt wurde und durch die beigegebenen Skripte überprüft werden kann.

Das Verfahren wird unter der CC BY-NC-SA Lizenz veröffentlicht.  


Klaus Biedka
info@bik-host.de

Mai 2018