Experimental Windows PowerShell operator console for GnuPG file and text protection with PQC-capable composite Kyber/ML-KEM encryption subkeys.
OpenPGP Quantum Guard is an experimental Windows PowerShell operator console for GnuPG file and text protection. It supports classic OpenPGP profiles and GnuPG 2.5+ composite Kyber/ML-KEM encryption subkeys.
- Primary identity: Ed25519 for certification and signing.
- Strongest local PQC profile:
ky1024_cv448, combining ML-KEM-1024 with X448 through GnuPG's composite OpenPGP implementation. - Balanced PQC profiles:
ky768_cv25519andky768_bp256. - Compatibility profile:
cv25519. - Optional enforcement:
RequirePqcEncryptionadds GnuPG's--require-pqc-encryptionpolicy to encryption operations.
GnuPG performs every cryptographic operation. This project does not implement ML-KEM or OpenPGP packet cryptography itself.
-
Install a GnuPG 2.5+ build that exposes Kyber/ML-KEM support.
-
Copy
config/openpgp_quantum_guard.config.example.jsontosrc/openpgp_quantum_guard.config.json. -
Edit only that copied configuration file:
- Leave
GpgPathempty to usegpg.exefromPATH, or set its full path. - Leave
GpgHomeempty to use the default GnuPG home, or set a dedicated lab home. - Replace
<OPENPGP_FINGERPRINT>with a full 40-hex-character primary fingerprint. You may leave it empty on first run and select a key interactively. - Replace the example UID hint with the UID you expect to see.
- Keep
RequirePqcEncryptionset totruefor PQC-only encryption tests.
- Leave
-
Run:
Set-ExecutionPolicy -Scope Process Bypass
& .\src\OpenPGP-Quantum-Guard.ps1The script creates repository-relative data, output, and optional logos folders. Real passphrases must never be written into the configuration. GnuPG pinentry handles private-key unlocking.
- Open Setup doctor and verify the GnuPG executable, version, home, active identity, and PQC hints.
- Generate or select a disposable lab key.
- Encrypt a small test file using
ky1024_cv448. - Decrypt it and compare its SHA-256 hash with the original.
- Set
RequirePqcEncryptiontotrueand confirm encryption to a classic-only recipient fails.
src/: application script and local runtime configuration location.config/: reviewed example configuration.tests/: parser, privacy, and configuration checks.docs/: threat model and compatibility boundaries.
Research preview. The tool has not received an independent security audit. Review generated packets and interoperability before relying on it for important data.
Apache License 2.0.
This project is open-source software. Its source code is publicly available for inspection, research, testing, modification, and contribution under the terms provided in the repository's LICENSE file.
Security testing, interoperability testing, responsible vulnerability reports, documentation improvements, and code contributions are welcome. This project is provided without any claim of an independent security audit or fitness for production use.

