{% extends "_layout_de.html" %} {% block title %}jbigi{% endblock %} {% block content %}
Die Webseite wird gerade überholt und dieses Dokument kann alte Informationen enthalten
Mit JNI (Java Native Interface), ein wenig C Quelltext (Danke ugha!), ein wenig manueller Arbeit und etwas Kaugummi ist es möglich, die "public key" Kryptography ein ganzes Stück schneller zu machen.
Dieses funktioniert unter Linux, mit ein paar Anpassungen in build.sh möglicherweise auch auf anderen Plattformen. Es wurde berichtet, das es auch auf FreeBSD funktioniert. Mit Kaffee als JVM sind die Verbesserungen sehr gering, da es schon intern die BigInteger Bibliothek benutzt. Blackdown Java produziert komische Fehler. Da du etwas kompilieren wirst, brauchst Du ein JDK, ein JRE wird nicht funktionieren.
Der nötige Quelltext ist in der Monotone Datenbank und in dem aktuellsten Quelltext TAR Archive vorhanden.
Die GNU MP Bignum Bibliothek (libgmp) muss installiert werden, wenn diese nicht schon in deinem System vorhanden ist. Sie kann von http://gmplib.org/#DOWNLOAD geholt werden.Selbst wenn sie schon als Binärdatei installiert hast, ist es noch ein Versuch wert, GMP selber zu kompilieren, damit diese die speziellen Instruktionen DEINES Prozessors nutzen kann. es ist auch möglich, die aktuelle Version 4.2.2 von GMP anstelle der 4.1.4 zu nutzen. Aber die Version 4.2.2 braucht noch etwas mehr Testen, damit sie als Standard gesetzt werden kann zum Bauen der jbigi.jar Datei.
crypto.elGamal.decrypt
und crypto.elGamal.encrypt
abzulesen. Diese Zahlen sind Zeiten in Millisekunden.
Notiere dir diese Werte zum späteren Vergleich.
Der Durchschnitt im I2P Netzwerk ist etwa 20ms.
Wenn deine Zeiten geringer als 50ms für einen recht neuen Prozessor oder geringer
als 100ms für einen älteren Prozessor sind, sollten diese Werte OK sein.
core/c/jbigi
Verzeichnisbuild.sh
Datei an, falls deine JAVA_HOME
Umgebungsvariable gesetzt ist und du Linux nutzt, sollte es funktionieren.
Andernfalls ändere die Einstellungen.build.sh
ausbuild.sh
Datei aus dem core/c/
Verzeichnis aufrufst, wird
eine jbigi.jar mit allen möglichen CPU Varianten gebaut.
Eine Datei mit dem Namen libjbigi.so
sollte in deinem aktuellem Verzeichnis oder
im lib Verzeichnis erstellt worden sein. Falls nicht, gib uns das bitte bekannt mit den
Fehlermeldungen.native run time: 5842ms ( 57ms each) java run time: 41072ms (406ms each) native = 14.223802103622907% of pure java timeWenn die nativen Werte etwa 5-7x (oder mehr) schneller sind, ist alles OK. Falls nicht, gebe uns das bitte bekannt.
libjbigi.so
in dein i2p Verzeichniscrypto.elGamal.decrypt
und crypto.elGamal.encrypt
erheblich schneller sein.Rückmeldungen sind sehr gerne gesehen!
{% endblock %}