PQcrypt is a easy to use Post Quantum Cryptography tool for Linux Users.
A modern PC with atleast 4GB RAM and CPU having x86_64 architecture or 64 bit support
running one of the following supported operating systems :-
- Debian/Debian Based Linux Distro
- Ubuntu / Ubuntu Based Linux Distro
- Fedora Linux / Fedora based Linux Distro
- Arch Linux / Arch Linux Based Distro
To Install from this Github Repo :
Run the following commands in Linux terminal to install:-
git clone https://github.com/Anish-M-code/pqcrypt.git
Then simply type the following command to get started :-
cd pqcrypt && source check_deps.sh
To run the program after installation simply type :-
source run.sh
Public-key Encryption and Key-establishment Algorithms:-
-
Kyber1024 [ Recommended ]
-
HQC-256
-
Classic-McEliece-6688128
-
Classic-McEliece-6688128f
-
Classic-McEliece-6960119
-
Classic-McEliece-6960119f
-
Classic-McEliece-8192128
-
Classic-McEliece-8192128f
Digital Signature Algorithms : -
-
Dilithium5 [ Recommended ]
-
Falcon-1024
-
SPHINCS+-Haraka-256f-robust
-
SPHINCS+-Haraka-256f-simple
-
SPHINCS+-Haraka-256s-robust
-
SPHINCS+-Haraka-256s-simple
-
SPHINCS+-SHA256-256f-robust
-
SPHINCS+-SHA256-256f-simple
-
SPHINCS+-SHA256-256s-robust
-
SPHINCS+-SHA256-256s-simple
-
SPHINCS+-SHAKE256-256f-robust
-
SPHINCS+-SHAKE256-256f-simple
-
SPHINCS+-SHAKE256-256s-robust
-
SPHINCS+-SHAKE256-256s-simple
-
Only NIST 3rd Round Public-key Encryption & Key-establishment Algorithms and Digital Signature Algorithms selected for standardization and Algorithms considered for fourth round of analysis are supported.
-
All Algorithms used in this project use parameter sets which claim NIST Level 5 which provide highest security.
-
Uses AES256-GCM and Argon2id Key Derviation to protect secret keys and for Hybrid Encryption of Data.
Currently i consider this as a personal project , All public contributions are welcome. Feel free to open issues if something breaks . Note this project may remain without activity for long periods of time, unless it is marked archived it is active and accepts contributions.
For Security support and reporting bugs refer SECURITY.
THE DEVELOPER WILL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING FROM THE USE OF THIS TOOL. THIS TOOL WAS DEVELOPED FOR EDUCATIONAL AND ETHICAL EXPERIMENTING PURPOSE ONLY .
- https://soatok.blog/2021/11/17/understanding-hkdf/
- open-quantum-safe/liboqs#1262
- https://crypto.stackexchange.com/questions/101066/is-argon2-quantum-safe
- https://crypto.stackexchange.com/questions/103918/in-a-pgp-like-application-would-compress-and-encrypt-leak-information
- https://crypto.stackexchange.com/questions/101159/can-32-byte-shared-secret-can-be-given-as-input-to-hkdf-sha512
- https://crypto.stackexchange.com/questions/101163/minimum-length-of-salt-and-info-for-hkdf
- https://crypto.stackexchange.com/questions/101651/for-post-quantum-security-is-any-hmac-with-256-bit-key-secure
- https://crypto.stackexchange.com/questions/101612/common-pitfalls-to-be-taken-care-of-while-implementing-encrypt-then-hmac-scheme
- https://crypto.stackexchange.com/questions/101164/can-encrypt-then-mac-using-hmac-sha256-with-aes-256-gcm-protect-against-attacks
- https://crypto.stackexchange.com/questions/101173/if-attacker-modifies-salt-used-for-hkdf-used-for-splitting-keys-for-encryption-a
- https://crypto.stackexchange.com/questions/101118/can-raw-hash-be-used-as-secret-key
- https://crypto.stackexchange.com/questions/101149/could-you-reuse-the-iv-for-aes256-gcm-as-salt-for-hkdf-sha256
- https://crypto.stackexchange.com/questions/101181/to-derive-multiple-keys-from-single-shared-secret-can-i-safely-ignore-info-and-s