Titelaufnahme

Titel
Langzahlbibliotheken - Vergleich von vier Langzahlbibliotheken
Weitere Titel
Bignum Libraries - A Comparison of four Bignum Libraries
VerfasserTaufner, Bernhard
Betreuer / BetreuerinKoschuch, Manuel
Erschienen2015
Datum der AbgabeJanuar 2015
SpracheDeutsch
DokumenttypBachelorarbeit
Schlagwörter (DE)C-Bibliothek / Datenstruktur / Langzahlen
Schlagwörter (EN)C-Library / Structures / Bignums
Zugriffsbeschränkung
 _
Klassifikation
Zusammenfassung (Deutsch)

Diese Arbeit beschäftigt sich mit vier sehr verbreiteten Programmierbibliotheken. Hierbei werden die C-Bibliotheken GMP-Lib, OpenSSL-Lib, MatrixSSL-Lib und die C++-Bibliothek NTL-Lib zuerst mit einigen mathematischen Langzahloperationen vorgestellt. Diese Langzahloperationen sind für kryptographische Verfahren notwendig. Verglichen wird die Langzahldarstellung der Bibliotheken. Hierbei werden zur Langzahldarstellung stets Pointer verwendet. Die C Bibliotheken verwenden zusätzlich noch C-Strukturen für Metadaten. Die NTL-Lib implementiert die Metadaten in Klassen. Ebenfalls wird die Laufzeit der Bibliotheken bei einer einfachen RSA-Implementierung mit unterschiedlich großen Langzahlen gemessen. Es stellt sich heraus, dass die GMP-Lib die Implementierung am schnellsten abarbeitet, gefolgt von der NTL-Lib, OpenSSL-Lib und MatrixSSL-Lib. Als letzter Punkt wird die Usability der Bibliotheken verglichen. Die Bibliotheken werden aufgrund von Kriterien wie Lesbarkeit des Codes, konsequente und nachvollziehbare Namensgebung sowie Menge der zur Verfügung gestellten Funktionen bewertet. Hierbei werden Punkte vergeben und es stellt sich heraus, dass die NTL-Lib gefolgt von der GMP-Lib, OpenSSL-Lib und MatrixSSL-Lib die beste Usability aufweist.

Zusammenfassung (Englisch)

This work is about four very widely used programming libraries. First the C-Libraries GMP-Lib, OpenSSL-Lib, MatrixSSL-Lib and the C++- Library NTL-Lib and their mathematical bignum-operations were presented. These operations are necessary for cryptographic implementations. The presentations of the bignums were compared. All of them use pointers for the bignum representation. The C-Libraries also use structures for metadata. The NTL-Lib uses classes for the metadata. Next the runtimes of a small RSA-implementation, with different sizes of bignums were measured. The GMP-Lib was the fastest followed by NTL-Lib, OpenSSL-Lib and MatrixSSL-Lib. Last the usability was discussed. The usability was measured by coding conventions, readability, consistent and transparent naming and quantity of available functions. Based on these criteria there were given Points. So the most usable Library was the NTL-Lib followed by GMP-Lib, OpenSSL and MatrixSSL Lib.