Skip to content

Telefu21/cryptomall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

CryptoMall

Classic and Post Quantum Cryptography Calculation Tool
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

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.

Features

🔑 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.

(back to top)

Built With

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.

(back to top)

Getting Started

Cryptomall is a Maven project.

Prerequisites

🖥️ 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.

Running the Application

The application can be executed by applying the below steps if the given Prerequisites are fulfilled.

  1. 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.
  2. Run the application from command line under the project folder.

    mvn spring-boot:run

(back to top)

Usage

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.

(back to top)

Roadmap

  • 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).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/SomeFeature)
  3. Commit your Changes (git commit -m 'Add some Feature')
  4. Push to the Branch (git push origin feature/SomeFeature)
  5. Open a Pull Request

License

CryptoMall is MIT Licensed. See LICENSE.txt for more information.

(back to top)

Contact

Ozgur Erdener: [email protected]

Project Link: https://github.com/Telefu21/cryptomall

(back to top)

Acknowledgments

(back to top)

About

general crypto calculations UI/Rest application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages