Table of Contents
CryptoMall is a comprehensive cryptographic calculator built as a Java-based UI and RESTful application. It streamlines core crypto operations through a user-friendly interface and API endpoints.
🔑 Generate public/private key pairs (RSA, EC, DSA, DH etc.)
📜 Generate and verify digital signatures
🛡️ Encrypt and decrypt data (symmetric & asymmetric)
🔁 Perform hashing operations (SHA-256, MD5, etc.)
🔏 Compute CMAC/HMAC for message authentication
📊 Generate CRC checksums for integrity verification
🔄 Support file format conversion (e.g., PEM ↔ DER, View Certificates, View Key Files etc.)
📁 Manage and validate X.509 certificates
🧠 Explore Post-Quantum Cryptography
Selected Algorithms: Public-key Encryption and Key-establishment
- CRYSTALS-KYBER (3 parameter sets)
- HQC (3 parameter sets)
Selected Algorithms: Digital Signature
- CRYSTALS-DILITHIUM (3 parameter sets)
- FALCON (2 parameter sets)
- SPHINCS+ (24 parameter sets)
Round 4 Submissions: Public-key Encryption and Key-establishment
- BIKE (3 parameter sets)
- Classic McEliece (6 parameter sets)
🧪 Includes Postman-ready templates for easy API testing
Built with Spring Boot and JavaFx, CryptoMall is ideal for developers, researchers, and security enthusiasts seeking a modular and extensible cryptographic toolkit. It also includes Postman-ready templates to simplify endpoint testing.
Whether you're prototyping secure APIs, exploring post-quantum algorithms, or building your own crypto toolkit, CryptoMall offers a clean and extensible starting point.
Cryptomall is built as a Maven project, with all dependencies listed in the pom.xml file. It integrates several key frameworks and libraries:
- Spring Boot – Powers the REST API backend.
- JavaFX – Provides the graphical user interface (GUI).
- Bouncy Castle – Implements Post-Quantum Cryptography.
- OpenSSL – Enables Classic Cryptography via system calls to the executable.
- Log4j – Handles application logging.
Cryptomall is a Maven project.
🖥️ Windows Installation Requirements for Cryptomall
To run and update the Cryptomall application on Windows platforms, the following packages must be installed on your system.
🐧 Linux Users: No installation is necessary—most Linux distributions already include these packages by default.
The application can be executed by applying the below steps if the given Prerequisites are fulfilled.
-
This step is optional. Skip this step If Cryptomall is used with GUI and RestAPI functionality.
-
Remove the comment symbol (e.g. "#") at below line from application.properties file to disable the RestAPI functionality:
- #spring.main.web-application-type=none
-
Assign "false" to property given below from application.properties file to disable the GUI functionality:
- javafxenabled=false
-
-
- Clone the repo if you have git installed:
git clone https://github.com/Telefu21/cryptomall.git
- Or Dowload and unzip the project folder if you are only a user.
-
Run the application from command line under the project folder.
mvn spring-boot:run
Cryptomall features a user-friendly GUI that makes it easy to use, as demonstrated in the screenshots below. For API integration, please refer to the Postman-ready templates.
- Add CRC Calculation to API
- Add Encrypt/Decrypt functionality to API
- Add Changelog
- Add Additional Templates w/ Examples
- Add Api Documentation
See the open issues for a full list of proposed features (and known issues).
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/SomeFeature) - Commit your Changes (
git commit -m 'Add some Feature') - Push to the Branch (
git push origin feature/SomeFeature) - Open a Pull Request
CryptoMall is MIT Licensed. See LICENSE.txt for more information.
Ozgur Erdener: [email protected]
Project Link: https://github.com/Telefu21/cryptomall