Auditoria & SBOM
Transparência técnica sobre a arquitectura v3.0.0 do pqsl-core. Todos os artefactos são verificáveis por SHA3-256.
Arquitectura
Uma única biblioteca Rust (pqsl-core) compilada para 3 formatos binários: staticlib (.a), cdylib (.so) e rlib. Todos os 11 SDKs nativos fazem thin binding via FFI, nunca expondo código-fonte.
Primitivos Criptográficos
- 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
Camadas de Proteção
- ① License Guard CRL (no exp field)
- ② Ed25519 watermark per client
- ③ SHA3-256 source tree fingerprint
- ④ Device fingerprint binding
- ⑤ Zeroize-on-drop (all secrets)
Hashes de Verificação (SHA3-256) — pqsl-core
Calcule localmente com: openssl dgst -sha3-256 <ficheiro>
84048ede23f22481b350a68687f2df5db600a554d3d8120e8132217fd4ae0e2ff3d8c631b978e591c74d7150701630cae61433e428971111b983e08014a1f49c91c77491d94f8f296bc5101ffe6a378a2734f3e7531e271318179281ee502dc53b28fdb0a980b3b533f99569e0abf0f4a14d4429e727cba1d52806ff06f0f00eCatálogo de SDKs
| 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 |
Testes Executados
21/21 testes passaram (7 smoke + 13 property-based fuzz + 1 interop). Todos os 13 testes de propriedade correram 256 casos aleatórios cada (proptest).
Conformidade
- FIPS 203 (ML-KEM)
- FIPS 204 (ML-DSA)
- FIPS 186-5 (Ed25519)
- NIST SP 800-56A (Hybrid KEM)
Nota: Hashes abaixo são da build de 22/abril/2026. Cada re-build produz um novo fingerprint SHA3-256.
FASE 5 — Fuzz Tests + Interop Vectors (100%)
Fase PQSL-TLS (Weeks 17–20 do Master Plan) agora fechada a 100%: além dos 7 smoke tests, adicionámos 13 testes de propriedade (proptest) e vetores interop JSON que qualquer binding pode verificar contra libpqsl_core.
Fuzz / Property Tests (proptest)
13 propriedades × 256 casos aleatórios cada = 3 328 casos gerados aleatoriamente por execução. Zero falhas.
Interop Vectors (Cross-Language)
JSON com chaves hex-encoded para KEM, DSA, AEAD e Hash. Bindings em Python/Node/Java/Kotlin/C#/Go/C++/Rust/Dart/WASM lêem este ficheiro e validam que produzem o mesmo output.
| 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%)
Fase Middleware (Weeks 5–7 do Master Plan) fechada a 100%: 10 pacotes prontos-a-instalar para os principais frameworks web. Cada um adiciona X-PQSL-Version, rate-limit por IP (token bucket bounded 50k), /pqsl/health e /pqsl/kem/handshake ligados ao pqsl-core via binding nativo ou FFI direta.
Nota honesta: middleware NÃO substitui TLS. Para encriptação fim-a-fim use PQSL-TLS. O rate-limit é por processo — em multi-instância use Redis/Memcached partilhado.