Шифрование, которое не вскроет квантовый компьютер, — на этом телефоне, по шагам. ML-KEM-768, стандарт NIST с 2024 года, реализованный по тексту стандарта.
Общий секрет становится ключом AES-256. Напишите что угодно: шифруется на стороне Боба, расшифровывается у Алисы.
| Схема | Открытый ключ | Шифртекст | Квантовый компьютер |
|---|---|---|---|
| RSA-2048 | 256 B | 256 B | вскрывает (Шор, 1994) |
| X25519 (эллиптическая кривая) | 32 B | 32 B | вскрывает (Шор, 1994) |
| ML-KEM-768 | 1184 B | 1088 B | известных атак нет |
Цена — ключи больше. Chrome, Firefox и Cloudflare уже сочетают X25519 с ML-KEM-768 в TLS — так что соединение с этой самой страницей могло им пользоваться.
RSA стоит на разложении на множители, эллиптические кривые — на дискретном логарифме; квантовый компьютер решает оба алгоритмом Шора. ML-KEM стоит на другой задаче: по матрице A и A·s + e с малым шумом e найти s. Квантового алгоритма, решающего её быстрее классического, не известно.
FIPS 203, опубликован NIST в августе 2024-го после шестилетнего открытого конкурса. Эта страница реализует его строка за строкой: Keccak, арифметика в Z₃₃₂₉, теоретико-числовое преобразование, выборка, сжатие, K-PKE и сам KEM с неявным отказом.
Демонстрационный код — чтобы был виден каждый шаг. Здесь нет ни защиты от атак по времени, ни аудита. Для чего-то настоящего берите проверенную библиотеку или встроенную криптографию браузера, когда в ней появится ML-KEM.