Pós-Quântico em microcontroladores
ML-KEM-768, ML-DSA-65, ASCON-128 e SHA3-256 rodando em Arduino, ESP32, STM32, Raspberry Pi Pico e Linux embarcado. Licença perpétua por dispositivo, revogação por CRL, OTA assinado.
docs/QEMU_CI.md. Se você precisa apenas do binário desktop para testes em host, use a v2.2.0 legacy.CoAP / DTLS / LwM2M — interfaces definidas, implementação runtime planejada para v3.1.0.
Matriz de MCUs suportados
Quatro perfis automáticos selecionados via -DPQSL_PROFILE.
| Perfil | RAM | Flash | MCU exemplo | Algoritmos ativos |
|---|---|---|---|---|
| MINIMAL | <1 KB | <32 KB | ATtiny85, PIC16 | ASCON-128, SHA3-256 |
| CONSTRAINED | 2–8 KB | 32–128 KB | Arduino Uno, PIC32 | + ML-KEM-512 |
| STANDARD | 16–64 KB | 256 KB–1 MB | ESP32, STM32F4, RP2040 | + ML-KEM-768, ML-DSA-65 |
| EXTENDED | >128 KB | >1 MB | Raspberry Pi 3/4, i.MX8 | full suite + fleet OTA |
Adapters incluídos
Um header por plataforma com as funções de chip-id e firmware-hash já prontas.
Arduino (AVR / M0)
platforms/arduino/pqsl_arduino.hATmega328, SAMD21
ESP32 (ESP-IDF)
platforms/esp32/pqsl_esp32.hESP32, ESP32-S3, ESP32-C6
STM32 (Cube HAL)
platforms/stm32/pqsl_stm32.hSTM32F4/F7/L4/H7
Raspberry Pi Pico
platforms/pico/pqsl_pico.hRP2040 + pico-sdk ≥1.5
Raspberry Pi
platforms/rpi/pqsl_rpi.hLinux ARMv7 / AArch64
Licença em 3 camadas
Dispositivos IoT precisam funcionar perpetuamente, mesmo desconectados por anos. Por isso o v3.0.0 não usa expiração por relógio (o antigo expires_epoch do v2.x permanece apenas para compatibilidade com firmware em campo). Em vez disso, revogação acontece via CRL assinada.
License Certificate
- Para quem
- Emitido à sua conta
- Quando
- Verificado 1× no cmake
- Vida útil
- Perpétuo
- Assinatura
- Ed25519
Device Token
- Para quem
- Um por dispositivo
- Quando
- Verificado no boot
- Vida útil
- Perpétuo
- Assinatura
- Ed25519 + CRL
Updates Subscription
- Para quem
- Opcional, anual
- Quando
- Validação apenas no OTA servidor
- Vida útil
- Renovável
- Assinatura
- JWT cloud-side
Revogação por CRL: lista compacta (<4 KB típica) embarcada no firmware na primeira flash de fábrica e atualizável via OTA compqsl_crl_update(). Anti-rollback porsequence monotônico. Limite rígido de 1024 entradas no buffer estático.
Normas e compliance
Alinhado com os principais frameworks IoT industriais e de consumo.
Baixar PQSL Embedded C v3.0.0
Release source-only — 32 KB (tarball). CMake, 5 adapters MCU, CRL, Device Token.
Licença comercial. Contato: [email protected]