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 |