Все статьи

Постквантовые подписи: что это такое и почему PQC Imza подписывает с помощью ML-DSA

Квантовые компьютеры взломают подписи, на которые сегодня полагается большинство программ. Что это значит для подписанных документов и как PQC Imza подписывает с помощью ML-DSA — стандарта NIST, рассчитанного на долгий срок.

3 мин чтения

Подпись под договором — это обещание, которое должно пережить день, когда его дали. Договор аренды, кредитный договор или решение акционеров могут проверять спустя годы люди, которых не было при подписании, — и тогда вопрос звучит уже не «вы подписали?», а «можете ли вы это доказать?».

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

Что меняет квантовый компьютер

Почти все цифровые подписи, которые используются сегодня, — будь то RSA, ECDSA или Ed25519 — опираются на одну из двух задач: разложение очень больших чисел на множители или вычисление дискретных логарифмов на эллиптических кривых. Обычные компьютеры не могут решить ни одну из них за сколько-нибудь разумное время, и именно это сохраняет ключ подписи в тайне, хотя его открытая часть опубликована.

В 1994 году Питер Шор описал алгоритм, который эффективно решает обе задачи на большом отказоустойчивом квантовом компьютере. Такой машины пока не существует, а оценки того, когда она появится, сильно расходятся. Но последствия для подписей очевидны: как только она появится, открытого ключа будет достаточно, чтобы вычислить закрытый, и тот, кто это сделает, сможет создавать подписи, неотличимые от подписей настоящего владельца.

Для подписанного документа в этом и состоит вся проблема. Подпись служит доказательством лишь до тех пор, пока никто другой не мог её поставить.

Стандарт, созданный для этого

Криптографы более десяти лет разрабатывали подписи, основанные на задачах, которые квантовые компьютеры, насколько известно, решать не умеют. В августе 2024 года Национальный институт стандартов и технологий США (NIST) опубликовал первые из них в качестве стандартов. FIPS 204 определяет ML-DSA (Module-Lattice-Based Digital Signature Algorithm) — алгоритм цифровой подписи на основе модульных решёток, выросший из схемы CRYSTALS-Dilithium.

Стойкость ML-DSA основана на сложных задачах на математических решётках. У алгоритма три набора параметров. PQC Imza использует ML-DSA-44 — набор, который NIST относит к категории безопасности 2: открытый ключ занимает 1312 байт, а подпись — 2420 байт. Это больше, чем подпись на эллиптических кривых, но достаточно мало, чтобы проверять её за миллисекунды и хранить вместе с каждым документом.

Как PQC Imza его использует

Каждая подпись в PQC Imza — это подпись ML-DSA-44, которая создаётся на вашем телефоне в приложении PQC Wallet:

  • Ключ рождается на вашем телефоне и остаётся там. PQC Wallet создаёт ключ подписи на устройстве и хранит его в защищённом хранилище устройства. Наши серверы видят только его открытую часть.
  • Подпись распространяется на сам документ. То, что вы подписываете, включает отпечаток SHA-256 документа. Измените хотя бы один байт файла — и подпись перестанет ему соответствовать.
  • Каждая подпись проверяется, прежде чем будет засчитана. Прежде чем записать подпись, наш сервер проверяет её по вашему открытому ключу и убеждается, что это именно тот ключ, который зарегистрирован за вашим аккаунтом.
  • Вы подтверждаете каждую подпись. Между ключом и каждой подписью стоят отпечаток пальца, Face ID или код-пароль устройства.

Когда все подписали, отпечаток документа и отпечатки его подписей записываются в блокчейн SciChain. Время этой записи задаёт реестр, а не наши серверы, поэтому позже она может показать, что эти подписи существовали уже к тому моменту.

Зачем действовать, пока таких машин ещё нет

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

С PQC Imza ничего дополнительно делать не нужно. Вы подписываете так же, как и в любом другом сервисе, а подпись постквантовая с первого же дня.

Ещё в блоге