Quantum-Resistant Encryption for Everyone
PQrypt is a next-generation post quantum cryptographic application that can protect your files and communications against both current and future quantum attacks. Available for Windows, macOS, Linux, and Android.
- Go to Releases
- Download
pqrypt-windows.exe - Double-click to run (Windows Defender may show a warning - click "More info" → "Run anyway")
- Go to Releases
- Download
PQrypt.apk - Open the APK file on your phone
- Allow installation from unknown sources if prompted
- Install and open the app
- Rust: Install from rustup.rs
- Git: For cloning the repository
For builds that use PQC (ML-KEM / HQC / SLH-DSA), PQrypt relies on a custom OpenSSL build and liboqs.
This repo uses the Openssl/ folder to build and cache static libraries, but does not vendor those
third-party sources. You must provide your own OpenSSL and liboqs checkouts in that folder.
Required for the build scripts:
- cmake
- ninja
- perl (OpenSSL build)
The current scripts are wired for:
- OpenSSL: 3.6.x (paths currently default to
openssl-3.6.0) - liboqs: 0.15
Expected Openssl/ layout:
Openssl/openssl-3.6.0/– OpenSSL 3.6.x source tree (orOpenssl/openssl/pointing to a compatible tree)Openssl/liboqs/– liboqs 0.15 source checkoutOpenssl/static_libs/openssl-3.6/– desktop OpenSSL static libs build/install prefixOpenssl/static_libs/liboqs-0.15/– desktop liboqs static lib build/install prefixOpenssl/static_libs/openssl-3.6-android/– Android OpenSSL static libs build/install prefixOpenssl/static_libs/liboqs-0.15-android/– Android liboqs static lib build/install prefix
Only small metadata files (like these READMEs) are included in this repository under Openssl/.
-
Install Xcode Command Line Tools:
xcode-select --install
-
Clone:
git clone https://github.com/GurudattaRK/PQrypt.git
-
Build Desktop (from scratch):
This builds:
- OpenSSL static libs into
Openssl/static_libs/openssl-3.6/ - liboqs static libs into
Openssl/static_libs/liboqs-0.15/ - the PQrypt desktop binary
PQRYPT_CLEAN=1 bash scripts/build_desktop.sh- Run the App:
./desktop/target/release/pqrypt
Linux builds from source use the same script as macOS, but require standard build tooling (gcc/g++, make, etc.).
PQRYPT_CLEAN=1 bash scripts/build_desktop.shWindows build-from-source uses MSYS2 (mingw64) so OpenSSL + liboqs can be built as static .a archives.
Follow these steps exactly:
-
Install MSYS2 from the official site.
-
Open the correct terminal:
- In the Windows Start Menu, search for:
MSYS2 MinGW 64-bit
- Open that one (important). The shell prompt should mention
MINGW64.
- Navigate to the PQrypt folder by following this:
In MSYS2, Windows locations look like this:
C:\becomes/c/D:\becomes/d/
Example, if your folder is at C:\Users\gurudatta\Documents\GitHub\PQrypt then use below command to reach that location in MSYS2 MinGW terminal:
cd /c/Users/gurudatta/Documents/GitHub/PQryptVerify you are in the right place by running pwd command which would then show if you are at correct location or not (example: /c/Users/gurudatta/Documents/GitHub/PQrypt)
- Next, install required build tools inside MSYS2. Do that by Copy pasting this whole command:
pacman -Syu && pacman -S --needed git mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-make mingw-w64-x86_64-perl perl mingw-w64-x86_64-rust- Ensure OpenSSL uses the correct
perl.
OpenSSL Configure will fail if perl is the Windows one. So, Force MSYS perl by running these commands one by one:
export PATH="/usr/bin:$PATH" && hash -r
which perl
perl -V:osname- Ensure Rust is using the GNU toolchain.
In MSYS2 MinGW64, Rust should be x86_64-pc-windows-gnu (not MSVC), To ensure that install and select the GNU toolchain by running these commands one by one:
rustup toolchain install stable-gnu
rustup default stable-gnu
rustc -Vv | grep host- Build Desktop (from scratch).
assuming you are at root of project (Example: /c/Users/gurudatta/Documents/GitHub/PQrypt), run this command and wait for it to finish (it may take a long time) :
PQRYPT_CLEAN=1 bash scripts/build_desktop.shBefore you start You must set ANDROID_NDK_HOME (example path shown):
export ANDROID_NDK_HOME=/c/Path/To/Android/Sdk/ndk/<version>You find this path using your installed Android Studio path. If you don't have Android studio then:
-
Install Android Studio from developer.android.com
-
Open the Project:
- Open Android Studio
- Select "Open an existing project"
- Navigate to
PQrypt/android/
-
Install SDK Components:
- Open SDK Manager (Tools → SDK Manager)
- Install Android SDK Platform 34
- Install NDK version 25 or higher
- Install CMake 3.22.1
-
Run
build_android.shto Build and Install:
PQRYPT_CLEAN=1 bash scripts/build_android.shThis builds:
- OpenSSL static libs for Android into
Openssl/static_libs/openssl-3.6-android/ - liboqs static libs for Android into
Openssl/static_libs/liboqs-0.15-android/ - the Android debug APK, This APK file can be found in
android/app/build/outputs/apk/debug/and it can be used to install the app on Android devices.
PQrypt is built on using 8 different cryptographic algorithms:
- ML-KEM-1024 (a.k.a Crystals-Kyber)
- X448 (a.k.a Curve448)
- HQC-256 (a.k.a Hamming-Quasi-Cyclic KEM)
- SecP521R1 (a.k.a P-521)
- ChaCha20
- AES-256-GCM (Also responsible for Ciphertext authentication)
- SLH-DSA-SHAKE-256f (a.k.a SPHINCS+)
- Argon2id (with PBKDF2-HMAC-SHA256 fallback)
- 🛡️ Post-Quantum Secure: Resistant against quantum attacks.
- 📁 File Encryption: Encrypt any file with password or key file.
- 💬 Secure Messaging: Send encrypted text/files between devices
- 🔑 Password Generator: Generate strong passwords securely & deterministically
- 📱 Cross-Platform: Works on Android, Windows, macOS, and Linux
- Desktop Application (
desktop/): Cross-platform GUI app for Linux, MacOS, and Windows built with Rust & Slint UI framework - Android Application (
android/): Native Android app with Kotlin fronted bridged to Rust backend using java/C++ FFI.
This software is provided "as is" without warranty or guarantee. While industry-standard algorithms are used & best practices are followed, no encryption or security is 100% unbreakable & no software is 100% safe. Hence, if any kind of damage or loss is caused by using this Project, software or any component of this project to anyone/any group of people then this project, App(s), or any of its contributors and creators shall not be held responsible. Always:
- Keep backups of important data
- Use strong, unique passwords
- Keep your software updated
- Don't share your encryption keys & sensitive data