Quantencomputersichere Verschlüsselung

Wir haben dazu 4 Veröffentlichungen geschrieben, die wir hier einfach einmal so auflisten wie sie erschienen sind:

  1. Quantum-Resistant Public Key Exchange
  2. Extensions To The Quantum-Resistant Public Key Exchange
  3. QRKE: Resistance to Attacks using the Inverse of the Cosine Representation of Chebyshev Polynomials
  4. Signature Schemes

Software

Wir stellen hier zwei Software-Suiten für eigene Versuche zur Verfügung. Sie wurden mit folgenden Entwicklungssystemen getestet:

  • Linux / Code::Blocks
  • Windows / Qt

Die Suiten sind reine command-line-Versionen und benötigen keine speziellen Klassen zur GUI-Implementierung. Einige spezielle Differenzen zwischen Linux und Windows wurden durch Compiler-Schalter berücksichtigt.

Der Code ist bewusst sehr einfach gehalten und verwendet keine speziellen Bibliotheken außer der boost-C++-Bibliothek für große Fliekommazahlen, für die aber mit ttmath auch intern die Quellen als Alternative zur Verfügung stehen, so dass auf die boost-c++-Lib verzichtet werden kann.

Nicht von uns geschriebener Code ist im Verzeichnis src/externals abgelegt. Wir haben nur Code mit freier Software-Lizenz verwendet; bei kommerziellem Einsatz der Software raten wir dennoch, jeweils die Lizenzbedingungen zu konsultieren, um sicher zu gehen. Der von uns programmierte Code ist public domain und kann uneingeschränkt verwendet werden; im Gegenzug schließen wir jegliche Haftung, die aus der Nutzung der Software entsteht, aus.

Falls Hilfe bei der Einrichtung der IDE notwendig ist, wende dich bitte an das ** Forum ** .

Der RVB-Algorithmus

Für Tests mit dem RVB-Algorithmus stellen wir eine ** Softwaresuite ** für eigene Versuche zur Verfügung, die auch eine Reihe von Angriffs-Tests enthält. Die ** Dokumentation ** dazu wurde mit Doxygen erzeugt.

Verschlüsselung mit dem RVB-Algorithmus

In dieser erweiteren ** Verschlüsselungssuite ** sind Zufallszahlengeneratoren, Hash- und Verschlüsselungsalgorithmen, eine XML-Bibliothek zur Erzeugung strukturierter Dateien, Zertifikatgeneratoren und eine Verschlüsselungsprotokoll für die Verschlüsselung mehrerer Informationstexte und Dateien für mehrere Empfänger enthalten. Das Protokoll nutzt XML und ist funktionell mit S/MIME vergleichbar. Die ** Quelldokumentation ** wurde wieder mit Doxygen erzeugt.

Die Suite erlaubt die Erzeugung unterschiedlicher Binaries. In den meisten cpp-Dateien sind main-Funktionen eingebettet, die per Compilerschalter in der Datei compile_suite.h aktiviert werden können. In main.cpp ist lediglich eine leere Hülle abgelegt, um eigene weitere Binaries erzeugen zu können. Wenn man ohne diese Information in die Quellen schaut, mögen sie etwas verwirrend wirken, wenn du aber bei compile_suite.h beginnst und dann nach den main-Funktionen in den entsprechenden cpp-Dateien Aussschau hälst, ist das eigentlich ganz einfach.

Signaturen

Obwohl wir nicht daran geglaubt haben: mit dem RVB lassen sich vollwertige Signaturen erzeugen. Hier ein Paper sowie eine Testsoftware dazu.

23.02.2017 16:22