Download the PHP package paragonie/ext-pqcrypto without Composer
On this page you can find all versions of the php package paragonie/ext-pqcrypto. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download paragonie/ext-pqcrypto
More information about paragonie/ext-pqcrypto
Files in paragonie/ext-pqcrypto
Package ext-pqcrypto
Short Description PHP extension for post-quantum cryptography (ML-KEM, X-Wing, ML-DSA, SLH-DSA)
License ISC
Homepage https://github.com/paragonie/ext-pqcrypto
Informations about the package ext-pqcrypto
ext-pqcrypto: Post-Quantum Cryptography for PHP
A PHP extension (written in Rust) that exposes post-quantum cryptography algorithms from the RustCrypto project.
Implements FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), FIPS 205 (SLH-DSA), and X-Wing (hybrid X25519 + ML-KEM-768).
Requirements
- PHP >= 8.1
- Rust toolchain (rustc >= 1.85, nightly)
php-configin PATH (for ext-php-rs build)
Building
After installing, add extension=pqcrypto to your php.ini, then run:
Usage
X-Wing (Hybrid KEM: X25519 + ML-KEM-768)
[!TIP]
X-Wing is the recommend hybrid post-quantum KEM.
ML-KEM (Key Encapsulation)
[!TIP]
We do not recommend ML-KEM-512, but include it for completeness. ML-KEM-768 or ML-KEM-1024 should be used if X-Wing is not acceptable.
ML-DSA (Digital Signatures)
[!TIP]
ML-DSA-44 is fine. The larger parameter sets should only be used if you specifically need them for compliance reasons (i.e., CNSA 2.0).
SLH-DSA (Stateless Hash-Based Signatures)
Key Sizes
KEM
| Algorithm | Seed | Public Key | Ciphertext | Shared Secret |
|---|---|---|---|---|
| ML-KEM-512 | 64 | 800 | 768 | 32 |
| ML-KEM-768 | 64 | 1184 | 1088 | 32 |
| ML-KEM-1024 | 64 | 1568 | 1568 | 32 |
| X-Wing | 32 | 1216 | 1120 | 32 |
Signatures
| Algorithm | Seed | Public Key | Signature |
|---|---|---|---|
| ML-DSA-44 | 32 | 1312 | 2420 |
| ML-DSA-65 | 32 | 1952 | 3309 |
| ML-DSA-87 | 32 | 2592 | 4627 |
| SLH-DSA-*-128s | 64 | 32 | 7856 |
| SLH-DSA-*-128f | 64 | 32 | 17088 |
| SLH-DSA-*-192s | 96 | 48 | 16224 |
| SLH-DSA-*-192f | 96 | 48 | 35664 |
| SLH-DSA-*-256s | 128 | 64 | 29792 |
| SLH-DSA-*-256f | 128 | 64 | 49856 |
All sizes above are measured in bytes.
Secret keys are stored as seeds, never semi-expanded secrets. This is a deliberate design choice.