Компания Aethyr Research выпустила прошивку для периферийных узлов IoT с постквантовым шифрованием для микроконтроллеров ESP32-S3, которая загружается за 2,1 секунды и поддерживает полное подтверждение связи PQC (Post Quantum Cryptography) за 35 мс.
Алгоритмы криптографии с открытым ключом, такие как RSA и ECC, вскоре придется заменить из-за прогресса квантовых компьютеров, которые смогут взломать такое шифрование за несколько часов или дней с помощью алгоритма Шора . Хотя время еще есть, Google недавно обновил свои сроки для перехода на постквантовую криптографию до 2029 года, в основном потому, что данные можно сохранить сейчас для атаки, когда появятся достаточно мощные квантовые компьютеры, а стандарт NIST FIPS 203 (ML-KEM-768) предписывает обеспечить устойчивую к квантовым атакам безопасность к 2035 году.
Открытая прошивка Aethyr Edge Node использует формально верифицированный постквантовый обмен ключами ML-KEM-768 (FIPS 203), целостность BLAKE3 и шифрование XChaCha20-Poly1305 для реализации постквантового шифрования при подключении к серверу по протоколу AethyrWire (AWP). Это строительный блок распределенной агентской сети Aethyr, цель которой — развертывать автономные ИИ-агенты в mesh-сети с небольшими узлами, работающими на TinyML, и более крупными узлами для сложных вычислений без необходимости полагаться на облако. Единственная часть проекта с открытым исходным кодом на данный момент — это прошивка для ESP32-S3, а остальная часть агентской операционной системы Aethyr остается проприетарной.

Устойчивые к квантовым атакам алгоритмы вносят некоторую задержку, но, судя по опубликованным тестам для модуля ESP32-S3-WROOM-1 с тактовой частотой ЦП 240 МГц (50 итераций, среднее значение и стандартное отклонение), она выглядит не слишком большой.
| Operation | Mean | StdDev | Min | Max |
|---|---|---|---|---|
| BLAKE3 (1KB) | 255us | 102us | 238us | 969us |
| ML-KEM keygen | 9,052us | 164us | 8,986us | 9,558us |
| ML-KEM encap | 10,070us | 11us | 10,058us | 10,146us |
| ML-KEM decap | 12,197us | 11us | 12,192us | 12,275us |
| XChaCha20 encrypt | 243us | 46us | 235us | 564us |
| BLAKE3 KDF | 49us | 60us | 40us | 472us |
| AWP frame enc+dec | 363us | 95us | 346us | 1,030us |
Размер прошивки составляет 833 КБ, а свободная куча во время выполнения — 157 КБ из 512 КБ SRAM. Прошивка также была протестирована на 410 000 итерациях фаззинга (AddressSanitizer + UBSan) без единого сбоя и на 100 000 тестах с инверсией одного бита, все они были обнаружены. При каждой загрузке также запускается 13 самопроверок.
Aethyr протестировала её на модулях ESP32-S3-WROOM-1 с 8 МБ PSRAM и на NVIDIA Jetson Orin Nano Super , выступающем в роли точки доступа WiFi на 2,4 ГГц, на котором работает вышестоящий NODE. Прошивка должна работать на любых платах ESP32-S3. Исходный код можно изучить, сконфигурировать, собрать и прошить на плату следующим образом (требуется ESP-IDF версии 5.4+):
git clone https://github.com/aethyrai/esp32-awp-edge
cd esp32-awp-edge
# Configure WiFi and upstream node
idf.py menuconfig
# → AWP Edge Node Configuration
# WiFi SSID / Password
# Upstream host IP and port
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor
Вывод в терминале должен выглядеть так:
Crypto Self-Test Suite
[1] BLAKE3: empty input... PASS
[2] BLAKE3: 251 sequential bytes... PASS
[3] BLAKE3: derive_key (KDF mode)... PASS
[4] XChaCha20-Poly1305: encrypt/decrypt round-trip...PASS
[5] XChaCha20-Poly1305: tamper detection... PASS
[6] XChaCha20-Poly1305: wrong key rejection... PASS
[7] XChaCha20-Poly1305: nonce uniqueness... PASS
[8] ML-KEM-768: keygen + encap/decap round-trip... PASS
[9] ML-KEM-768: wrong secret key rejection... PASS
[10] INTEROP: BLAKE3 KDF matches Python... PASS
[11] INTEROP: decrypt Python-produced ciphertext... PASS
[12] AWP: frame encode/decode round-trip... PASS
[13] AWP: BLAKE3 checksum tamper detection... PASS
ALL 13 TESTS PASSED (226ms)
ML-KEM-768 keypair ready
WiFi connected
TCP connected to upstream
PQC session established
Исходный код и инструкции доступны на GitHub . Однако есть небольшая проблема. Не удалось найти образ ОС или программное обеспечение для установки на плату Jetson, поэтому на данный момент это не очень полезно. Документированные каталоги Jetson и Demo еще не были загружены на GitHub:
── jetson/
│ ├── setup-mesh-ap.sh Create dedicated WiFi AP on Jetson
│ ├── stop-mesh-ap.sh Stop mesh AP
│ └── aios-node.service systemd service for AWP node
├── demo/
│ └── run_demo.py Scripted 2-minute demo
Возможно, реализация постквантового шифрования может послужить основой для других проектов, устойчивых к PQC. Связанный пост в блоге содержит несколько дополнительных деталей. (Ссылка на Internet Archive, потому что сайт не работает из Таиланда, за исключением случаев использования VPN в США).
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.

