Book Description
Seminar paper from the year 2008 in the subject Computer Science - Commercial Information Technology, grade: 1.3, University of Regensburg, language: English, abstract: Cryptographic algorithms have nowadays serious impact on many fields of modern life. A good example is the SSL technology, that consists of both symmetric as well as asymmetric cryptography. It is used in thousands of websites like online banking websites to secure transfered data. For the developers of such applications the performance of employing cryptography may be a crucial factor to the success of the complete product. Normally a software developer utilizes cryptographic operations by the usage of precast cryptographic libraries. Therefore, it is interesting to analyze the speed of cryptographic libraries which implement abstract cryptographic algorithms. In the following, we describe our benchmarking of various cryptoalgorithms in different cryptolibraries in different languages on a 32-bit system. In the first part, we outline our preparatory work and our considerations on setting up a fitting benchmarking environment. With this test environment we conducted the benchmarking of seven JAVA cryptolibraries, namely SUN-JCE, Flexiprovider, Bouncy Castle, Cryptix Crypto, IAIK-JCE, GNU crypto and RSA JSafe. Additionally, we benchmarked RSA BSafe, a cryptographic library, which is written in C++, to isolate the influence of the JAVA virtual machine abstraction layer on cryptographic performance. In the second part, we present a condensed illustration of the benchmarking results and our interpretation, for symmetric cryptography, asymmetric cryptography, the generation of hash based massage authentication codes and digital signatures. These results reveal remarkable differences in speed between the algorithms as well as between the different implementations. Also the choice of the underlying operating system has influence on the execution speed of the cryptographic code. In this work we demonstrated that software developers could gain a multiple of the execution speed of the cryptography utilizing parts of their programs just by a wise selection of cryptographic algorithms and libraries. Furthermore our work can help as a guideline for developing a generic benchmarking model for cryptoalgorithms.