Analysis of Cryptographic Element Implementations in the Java language

Thesis title: Analýza implementace kryptografických elementů v jazyce Java
Author: Šimandl, Petr
Thesis type: Bakalářská práce
Supervisor: Palovský, Radomír
Opponents: Pavlíček, Luboš
Thesis language: Česky
Abstract:
Tato práce se zabývá implementacemi kryptografických elementů (hashových funkcí, symetrických a asymetrických šifer a algoritmů digitálního podpisu) v jazyce Java. Tyto kategorie jsou v práci reprezentovány algoritmy SHA-2, AES, ChaCha, RSA (pro šifrování i podpis), DH a ECDSA. Nejprve je předložen úvod do kryptografie. Následně jsou z teoretického pohledu popsány testované algoritmy a doporučení pro jejich nasazení v reálném světě. Dále je představena kryptografická architektura a možnosti Javy. Poté je vytvořena aplikace na testování a analýzu výkonu implementací daných algoritmů. Je popsána struktura aplikace a způsob testování. Následuje detailní specifikace zařízení a testovaných elementů. Testy jsou provedeny na různých typech hardware – osobní počítač, smartphone a Raspberry Pi. Konečně jsou výsledky testů vyhodnoceny z hlediska poskytovatelů kryptografických implementací, v rámci srovnání výkonu mezi danými zařízeními a také porovnání algoritmů.
Keywords: výkon kryptografických implementací; asymetrické šifry; digitální podpis; Java; hashové funkce; symetrické šifry
Thesis title: Analysis of Cryptographic Element Implementations in the Java language
Author: Šimandl, Petr
Thesis type: Bachelor thesis
Supervisor: Palovský, Radomír
Opponents: Pavlíček, Luboš
Thesis language: Česky
Abstract:
This thesis deals with implementations of cryptographic elements (hash functions, symmetric and asymmetric ciphers and digital signature algorithms) in the Java programming language. These elements are represented by SHA-2, AES, ChaCha, RSA (both encryption and digital signatures), DH a ECDSA algorithms. First, an introduction to cryptography is presented. Subsequently, the algorithms tested are described from a theoretical standpoint, including recommendations for their real world use. Following is an overview of Java’s cryptographic architecture and capabilities. An application used to test and analyze the performance of implementations of those algorithms is created. After that, the structure of the application is described, followed by testing methodology. Detailed specifications of tested devices and algorithms are presented afterwards. Benchmarks are performed on a variety of hardware specifications – personal computer, smartphone and Raspberry Pi. Finally, results are analyzed with respect to differences between cryptographic providers, performance among tested devices and algorithms.
Keywords: hash functions; cryptographic implementation performance; symmetric ciphers; asymmetric ciphers; digital signature algorithms; Java

Information about study

Study programme: Aplikovaná informatika/Aplikovaná informatika
Type of study programme: Bakalářský studijní program
Assigned degree: Bc.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information and Knowledge Engineering

Information on submission and defense

Date of assignment: 9. 12. 2019
Date of submission: 10. 5. 2020
Date of defense: 24. 6. 2020
Identifier in the InSIS system: https://insis.vse.cz/zp/71914/podrobnosti

Files for download

    Last update: