14 października 2026 Espressif opublikował esp-pqc, komponent dla ESP-IDF, który dodaje do istniejących układów firmy dwa postkwantowe algorytmy ustandaryzowane przez NIST: ML-KEM (FIPS 203) i ML-DSA (FIPS 204). Całość działa programowo, więc szyfrowanie postkwantowe w TLS 1.3 i dodatkowe sprawdzanie podpisu oprogramowania przy rozruchu możesz wypróbować bez czekania na nowe układy. Espressif przedstawia komponent jako narzędzie do oceny i pomiarów wydajności, a nie gotową funkcję do produkcji.

Chodzi o urządzenia, które pracują latami. Licznik energii albo bramka czujników potrafi działać 10-15 lat. Ruch nagrany dzisiaj da się odszyfrować w przyszłości, jeśli komputer kwantowy złamie klucze RSA i krzywych eliptycznych. Ktoś, kto odtworzy prywatny klucz podpisujący producenta, mógłby też rozsyłać złośliwe aktualizacje zdalne (OTA).

Co jest w środku

esp-pqc zawiera przygotowaną przez Espressif odmianę biblioteki liboqs, wersję mbedTLS obsługującą hybrydowe TLS 1.3 i małą, służącą tylko do weryfikacji wersję ML-DSA-65 dla programu rozruchowego drugiego stopnia. Nie zmienia żadnych plików samego ESP-IDF. Wymaga ESP-IDF w wersji 6.0 lub nowszej. Przykłady z TLS potrzebują Wi-Fi i 4 MB pamięci flash, a sprawdzanie przy rozruchu obsługuje na razie ESP32-C3, ESP32-C5 i ESP32-C6.

W pakiecie są cztery przykłady: kem_basic, signature_basic, esp_hybrid_tls i pqc_boot_verify. Każdy wypisuje w monitorze portu szeregowego czas, liczbę cykli procesora oraz zużycie sterty i stosu.

Hybrydowe TLS i większe pakiety

Oba mechanizmy są hybrydowe: atakujący musiałby złamać zarówno algorytm klasyczny, jak i postkwantowy. Do TLS esp-pqc dodaje wymianę kluczy X25519MLKEM768 i certyfikaty ML-DSA-65. Płaci się za to rozmiarem. Dane klucza wysyłane na początku połączenia rosną z 32 do 1216 bajtów, klucz publiczny ML-DSA-65 ma 1952 bajty, a podpis 3309 bajtów, podczas gdy w ECDSA P-256 każde z nich zajmuje około 64 bajtów. Certyfikat urzędu certyfikacji w teście Espressif miał 7571 bajtów, a bufory wejścia i wyjścia w mbedTLS trzeba powiększyć, co zabiera pamięć SRAM. Na ESP32-C5 całe uzgadnianie połączenia trwało około 300 ms razem z opóźnieniami sieci lokalnej.

Sprawdzanie postkwantowe przy rozruchu

Pamięć ROM zna tylko klasyczny Secure Boot V2 (RSA albo ECDSA), dlatego podpis postkwantowy sprawdza program rozruchowy drugiego stopnia. Komputer, na którym budujesz obraz, podpisuje go dwa razy, a dodatkowy blok ML-DSA-65 zajmuje 8 KB obok 4 KB klasycznego podpisu. Na ESP32-C5 taktowanym 80 MHz, z RSA-3072 jako algorytmem klasycznym, cała weryfikacja trwała około 91 ms: mniej więcej 30 ms sprzętowego SHA-256, 44 ms programowego ML-DSA-65 i 13 ms sprzętowego RSA. Według Espressif część postkwantowa wydłuża rozruch o około 78 ms i zajmuje 8 KB pamięci flash. Zaufany klucz ML-DSA jest zapisany w programie rozruchowym, więc jego zmiana wymaga ponownego wgrania tego programu. Klucz prywatny trzeba chronić tak samo jak klucz Secure Boot.

Kogo to dotyczy już teraz

Wpis Espressif opisuje tylko ESP-IDF i nie wspomina o ESPHome ani Arduino, więc dla typowego czujnika w Home Assistancie nic się nie zmienia. Najwięcej skorzystają ci, którzy budują komercyjne urządzenia na ESP32 z długim okresem eksploatacji albo muszą odpowiadać na pytania o gotowość na zmianę algorytmów kryptograficznych. Espressif zapowiada też, że przyszłe układy dostaną sprzętowe przyspieszenie kryptografii postkwantowej i wbudowaną postkwantową weryfikację Secure Boot.