Multi-functional Java cryptographic tool with graphical user interface

Thesis title: Multifunkční krypto-nástroj v Javě s grafickým rozhraním
Author: Daum, Martin
Thesis type: Diplomová práce
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
V práci je navržena a implementována kompaktní desktopová open-source aplikace CryptoGUI s grafickým rozhraním v jazyce Java, která může sloužit jako "švýcarský nožík" pro různé s kryptografií související operace, např. generování RSA/EC klíčů a X.509 certifiká-tů, RSA šifrování/dešifrování, manipulace s úložišti klíčů a certifikátů (keystore) (JKS, PKCS12), počítání hashů, konverze/kódování dat (např. Base64).Pro kryptografické funkce jsou využity knihovny Java Security API a knihovny Bouncy-Castle. Grafické rozhraní je vytvořeno pomocí Java Swing. Výhoda aplikace oproti např. konzolovým nástrojům OpenSSL nebo Java Keytool spočívá ve snadnosti použití (grafické uživatelské rozhraní), oproti existujícím grafickým nástrojům díky přítomnosti velkého počtu praktických funkcionalit v jedné aplikaci.Aplikace využívá Spring framework pro zajištění modularizace a rozšiřitelnosti aplikace a oddělení aplikační logiky od logiky grafického uživatelského rozhraní. Textová část práce se věnuje návrhu a architektuře aplikace a uživatelské příručce.
Keywords: Java Spring; Spring framework; kryptografie; RSA; Java; kryptografie nad eliptickými křivkami; EC; digitální certifikát; X.509; hash; keystore; Java Swing; grafické uživatelské rozhraní; BouncyCastle
Thesis title: Multi-functional Java cryptographic tool with graphical user interface
Author: Daum, Martin
Thesis type: Diploma thesis
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
This thesis is dedicated to the design and implementation of a compact desktop open-source application called CryptoGUI with a graphical user interface using the Java lan-guage that may serve as a “Swiss army knife” for various operations related to practical cryptography, for instance RSA/EC key and X.509 certificate generation, RSA encryp-tion/decryption, keystore manipulation (JKS, PKCS12), hash computation, data conver-sion/encoding (for instance Base64).Java Security API libraries and BouncyCastle libraries are be used for cryptographic fea-tures. The graphical interface was created using Java Swing. The application’s advantage over console tools such as OpenSSL or Java Keytool lies in the ease of use (graphical user interface), the advantage over existing graphical tools is in the presence of a large number of practical features inside one application.The application makes use of the Spring framework to ensure modularity and extensibility and the separation of the application logic from the graphical user interface. The textual part of the thesis is dedicated to the description of the design and the architecture of the application and the user guide.
Keywords: Spring framework; cryptography; digital certificate; X.509; hash; keystore; Java Swing; Java; Java Spring; BouncyCastle; RSA; elliptic curve cryptography; EC; graphical user interface

Information about study

Study programme: Aplikovaná informatika/Podniková informatika
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 14. 2. 2018
Date of submission: 22. 6. 2018
Date of defense: 19. 9. 2018
Identifier in the InSIS system: https://insis.vse.cz/zp/64815/podrobnosti

Files for download

    Last update: