Nostr WoT
Предложение

Постквантовый Nostr

Любое зашифрованное сообщение, отправленное сегодня в Nostr, сможет расшифровать позже тот, кто его сохранил. Постквантовые ключи, выведенные из seed-фразы, которая у вас уже есть, закрывают эту брешь - без смены идентичности.

24 словаsecp256k1ваш npubML-KEM + ML-DSAпостквантовыени один ключ не выводится из другоговзлом secp256k1 не добирается до постквантовых ключей

Два инструмента

Один проверяет другого человека. Второй позволяет увидеть весь процесс.

Проверить профиль

Найдите любой npub и посмотрите, опубликованы ли постквантовые ключи, верны ли их длины и доказано ли владение.

Живой постквантовый чат

Две идентичности регистрируются на публичных релеях и обмениваются настоящими сообщениями, зашифрованными ML-KEM. Разберите любое событие послойно и увидьте, что именно хранит релей.

Как это работает

Три идеи, и ни одна не требует изменений на релеях.

rumor · kind 14ваше сообщение, без подписипечать · kind 13обёртка · kind 10594 605 байт в сети — из них 1 568 шифртекст ML-KEM

Ключи-братья, а не потомки

Ваши постквантовые ключи выводятся из той же seed-фразы BIP-39, что и ключ Nostr, но расширяются отдельно. Ни один не выводится из другого. Именно это и важно: если бы постквантовый ключ выводился из вашего приватного ключа, взломавший ключ Nostr просто повторил бы вывод и получил бы его тоже. Поскольку вывод из seed односторонний, взлом ключа Nostr не раскрывает о нём ничего.

Публикуются в отдельном событии

Публичные ключи находятся в отдельном заменяемом событии, а не в метаданных профиля. Клиенты пересобирают эти метаданные из известных им полей, поэтому неизвестный ключ незаметно исчез бы при первой же смене отображаемого имени в другом клиенте - и вы бы об этом не узнали.

Внутри нынешнего gift wrap

Постквантовая нагрузка передаётся внутри существующих слоёв NIP-44 и NIP-59, объединяясь с классическим ключом, а не заменяя его. Релеям не нужны изменения, а клиенты, которые ничего из этого не реализуют, не затронуты.

Чего это не делает

Это навсегда защищает конфиденциальность сообщений, отправленных начиная с этого момента, даже от того, кто сохранит их сегодня и взломает криптографию позже. Это не мешает квантовому злоумышленнику подделывать события от вашего имени, поскольку события по-прежнему подписываются secp256k1. Решение этой задачи требует миграции подписей - отдельного и намного более крупного изменения.

Вопросы о проверке

Что она запрашивает и что делать с ответом.

Что именно проверяется?

Ищется аттестация kind:10203 этой идентичности на публичных релеях и проверяется: соответствуют ли длины ключей ML-KEM-1024 и ML-DSA-87, согласуется ли происхождение с заявленной стойкостью сида и проходит ли проверку доказательство владения.

Почему написано, что аттестация не найдена?

Потому что эта идентичность её не публиковала. Никаких запасных путей и догадок: без опубликованного ключа ML-KEM отправить постквантовое сообщение невозможно, а более мягкая формулировка располагала бы к незаметному откату на классическое шифрование.

Что значит «владение доказано»?

Подпись secp256k1 доказывает, что кто-то опубликовал эти байты, но не что он владеет соответствующими постквантовыми секретами. Поэтому ключ ML-DSA дополнительно подписывает сообщение, связывающее npub и оба открытых ключа. ML-KEM подписывать не умеет — именно так и ключ шифрования получает доказательство владения.

Как получить постквантовые ключи?

Вывести их из уже имеющейся сид-фразы в 24 слова — новых резервных копий не нужно, и те же слова по-прежнему восстанавливают всё. Расширение Nostr WoT может опубликовать аттестацию за вас, либо руководство описывает, как сделать это офлайн из командной строки.

Это принятый стандарт?

Это предложение, разработанное совместно Nostr WoT и QuantaKrypto на основе финальных стандартов NIST FIPS 203 и FIPS 204. Оно реализовано и работает, а не остаётся теорией — ради этого и сделана живая демонстрация чата.