Audit & SBOM
Technical transparency for the pqsl-core v3.0.0 architecture. All artefacts are verifiable via SHA3-256.
Architecture
A single Rust library (pqsl-core) compiled to 3 binary formats: staticlib (.a), cdylib (.so) and rlib. All 11 native SDKs bind thinly via FFI, never exposing source code.
Cryptographic Primitives
- ML-KEM-768 — FIPS 203 (KEM)
- ML-DSA-65 — FIPS 204 (DSA)
- Hybrid KEM — ML-KEM + X25519
- Ed25519 — hybrid signatures
- AES-256-GCM + ChaCha20-Poly1305
- SHA3-256/384/512
Protection Layers
- ① License Guard CRL (no exp field)
- ② Ed25519 watermark per client
- ③ SHA3-256 source tree fingerprint
- ④ Device fingerprint binding
- ⑤ Zeroize-on-drop (all secrets)
Verification Hashes (SHA3-256) — pqsl-core
Compute locally with: openssl dgst -sha3-256 <file>
84048ede23f22481b350a68687f2df5db600a554d3d8120e8132217fd4ae0e2ff3d8c631b978e591c74d7150701630cae61433e428971111b983e08014a1f49c91c77491d94f8f296bc5101ffe6a378a2734f3e7531e271318179281ee502dc53b28fdb0a980b3b533f99569e0abf0f4a14d4429e727cba1d52806ff06f0f00eSDK Catalog
| SDK | Binding | Size | SHA3-256 | Download |
|---|---|---|---|---|
pqsl-core 🦀 Core | Rust (Core) | 8.4 MB | 388894b1e6e8916e… | .tar.gz |
pqsl-node | Node.js (napi-rs) | 8.0 MB | ae59ed36a97d05f8… | .tar.gz |
pqsl-python | Python (PyO3) | 8.0 MB | a83d11f32b4ccd22… | .tar.gz |
pqsl-java | Java (JNI) | 8.0 MB | 508d54f5e0a0f24e… | .tar.gz |
pqsl-kotlin | Kotlin (JNI) | 8.0 MB | d44fdd2cc9807c52… | .tar.gz |
pqsl-csharp | C# (P/Invoke) | 8.0 MB | 4c484f03e184c9a9… | .tar.gz |
pqsl-go | Go (cgo) | 8.0 MB | bbdb5c61e711a20c… | .tar.gz |
pqsl-cpp | C++ 17 | 8.0 MB | 1f586b6a2791487f… | .tar.gz |
pqsl-rust | Rust (re-export) | 8.0 MB | 8820065f11855fcb… | .tar.gz |
pqsl-dart | Dart (dart:ffi) | 8.0 MB | 837953b812a5e5ff… | .tar.gz |
pqsl-wasm | JS/WASM (wasm-bindgen) | 8.0 MB | b25f7f3b69f26873… | .tar.gz |
pqsl-embedded-c | Embedded C (IoT) | 7.6 MB | ce24fdb192e2c74e… | .tar.gz |
Executed Tests
21/21 tests passed (7 smoke + 13 property-based fuzz + 1 interop). Each of the 13 property tests ran 256 random cases (proptest).
Compliance
- FIPS 203 (ML-KEM)
- FIPS 204 (ML-DSA)
- FIPS 186-5 (Ed25519)
- NIST SP 800-56A (Hybrid KEM)
Note: Hashes below are from the 22/Apr/2026 build. Each rebuild produces a new SHA3-256 fingerprint.
FASE 5 — Fuzz Tests + Interop Vectors (100%)
The PQSL-TLS phase (Master Plan Weeks 17–20) is now closed at 100%: on top of 7 smoke tests, we added 13 property-based fuzz tests and JSON interop vectors that every binding can verify against libpqsl_core.
Fuzz / Property Tests (proptest)
13 properties × 256 random cases each = 3 328 randomly generated cases per run. Zero failures.
Interop Vectors (Cross-Language)
JSON with hex-encoded keys for KEM, DSA, AEAD and Hash. Bindings in Python/Node/Java/Kotlin/C#/Go/C++/Rust/Dart/WASM load this file and assert their output matches.
| Binding | KEM | DSA | AEAD | Hash |
|---|---|---|---|---|
| pqsl-core (Rust) | ||||
| pqsl-node | ||||
| pqsl-python | ||||
| pqsl-java | ||||
| pqsl-kotlin | ||||
| pqsl-csharp | ||||
| pqsl-go | ||||
| pqsl-cpp | ||||
| pqsl-rust | ||||
| pqsl-dart | ||||
| pqsl-wasm |
FASE 4 — Middleware Frameworks (100%)
The Middleware phase (Master Plan Weeks 5–7) is now closed at 100%: 10 drop-in packages for leading web frameworks. Each one adds X-PQSL-Version header, per-IP token-bucket rate limiting (bounded 50k), /pqsl/health and /pqsl/kem/handshake routes wired to pqsl-core via native binding or direct FFI.
Honest note: middleware is NOT a TLS replacement. For end-to-end encryption use PQSL-TLS. Rate-limit is per-process — for multi-instance deployments use a shared Redis/Memcached backend.