Постквантовое будущее конфиденциальности в интернете
- Privacy Pass опирается на RSA и эллиптические кривые: квантовый злоумышленник сможет подделывать токены, но не связывать их погашение с выдачей.
- MOLE скрывает, какой доверенный якорь выдал подтверждение; после проверки модератор выдает клиенту удостоверение для доступа к сайту.
- Подписи ML-DSA-44 занимают 2 420 байт против 64 байт у ECDSA-P256; авторы рассматривают VOLEitH как возможную основу постквантовых анонимных удостоверений.
Почему это важно: Подделка токенов позволит обходить механизмы защиты сайтов, например ограничения частоты запросов.
Наивысший приоритет при переходе на постквантовую криптографию — базовые строительные блоки протоколов согласования ключей с аутентификацией, таких как TLS. Без этих блоков безопасная связь в интернете станет невозможной, когда появятся квантовые компьютеры, способные взламывать криптографию. Однако сегодня мы полагаемся на уязвимую к квантовым атакам криптографию не только в TLS.
Privacy Pass — это протокол, который операторы сайтов, например Cloudflare, используют для защиты приложений от злоупотреблений. Один из способов добиться этого — ограничивать частоту запросов отдельных клиентов, чтобы ни один из них не расходовал слишком много ресурсов сайта. Обычно для этого приходится идти на компромисс: создавать неудобства пользователям или ограничивать их приватность. Для контроля трафика используют CAPTCHA и другие проверки, а для идентификации — учетные записи и снятие цифровых отпечатков. Privacy Pass был разработан, чтобы избежать этого компромисса между удобством и приватностью. Основная идея заключается в том, что клиент получает определенное число токенов, которые можно обменять на доступ к сайту. Важно, что токен невозможно связатьс клиентом, которому его выдали: клиент может пользоваться сайтом как обычно, не жертвуя приватностью.
За 10 лет использования Privacy Pass в таких приложениях, как прокси для защиты приватности (например, iCloud Private Relay) и ретрансляторы (например, Privacy Gateway), мы накопили немалый опыт. Теперь мы вместе с другими участниками работаем над тем, чтобы вывести следующее поколение этой технологии в интернет. Одна из наших целей — разработать более совершенные инструменты для управления агентским трафиком, который в противном случае расходовал бы слишком много ресурсов и снижал производительность для посетителей-людей. Другая цель — содействовать созданию более открытой экосистемы, упростив участие для большего числа типов клиентов. Для достижения этих целей нужны новые возможности, выходящие за рамки нынешнего Privacy Pass.
Учитывая нынешние тенденции, в этой статье мы рассмотрим перспективы постквантовой защиты. На самом деле ситуация лучше, чем может показаться. Privacy Pass по-прежнему опирается на классическую криптографию, например RSA и криптографию на эллиптических кривых. Это означает, что квантовый злоумышленник сможет по своему усмотрению подделывать токены и использовать их для обхода любых механизмов защиты, которые захочет внедрить оператор сайта, например ограничения частоты запросов. С другой стороны, Privacy Pass обеспечивает безусловную приватность: ни один злоумышленник — квантовый или обычный — не сможет связать погашение токена с его выдачей. Более того, новые возможности, которые мы разрабатываем для следующего поколения технологий приватной аутентификации, можно и нужно реализовать так, чтобы сохранить ту же гарантию: ваше взаимодействие останется приватным и после наступления дня Q.
Это дает нам небольшую передышку, но вскоре понадобится альтернатива. Эта область активно развивается, и за последние годы в ней достигнут значительный прогресс. И все же, как и в других аспектах перехода, главная сложность — огромный размер постквантовых альтернатив: подписи ML-DSA-44 занимают целых 2 420 байт, тогда как подписи ECDSA-P256 — всего 64 байта. Да и надежды на скорую замену, которую можно было бы внедрить без изменений, почти нет. Как и в случае с TLS, нам придется смириться с более ресурсоемкими примитивами и переработать системы, чтобы они могли справляться с этой нагрузкой.
Но что это будут за примитивы? В этой статье мы рассмотрим один из возможных вариантов будущего постквантовой защиты приватности в интернете, ставший возможным благодаря недавнему прорыву в разработке слепых подписей.
Что нам предстоит создать: краткий обзор MOLE
Начнем с обзора этой новой технологии, которую пока называют MOLE («Moderation Of unLinkable Endorsements» — «Модерация несвязываемых подтверждений»). Позже мы подробнее расскажем о MOLE, а пока остановимся на деталях, наиболее важных с точки зрения криптографии.
Один из ключевых компонентов Privacy Pass — схема слепой подписи, позволяющая клиенту получить подпись, созданную с помощью секретного ключа издателя, не раскрывая ему сообщение, которое было подписано. Позже клиент может предъявить сообщение и слепую подпись, не позволяя связать эту подпись с фактом ее выдачи.

Схема выдачи и предъявления слепой подписи.
Один из типов токенов Privacy Pass состоит из сообщения и слепой подписи, выданной для него. Чтобы проверить токен, проверяющему нужен открытый ключ издателя, а значит, он неизбежно узнает его личность. Таким образом, эти токены защищают личность клиента, но не защищают личность издателя.
Разумеется, именно это и нужно для некоторых сценариев использования. Личность издателя говорит нам кое-что о типе клиента, подключающегося к нашей периферийной сети. Этот сигнал мы используем при принятии решений в некоторых наших продуктах и для некоторых клиентов. Например, клиент может использовать токен, выданный одним из наших клиентов, чтобы доказать, что ему разрешено пользоваться VPN-продуктом этого клиента.
Однако во многих сценариях использования это больше информации, чем нам действительно нужно, чтобы решить, предоставлять ли клиенту доступ к ресурсу. Обычно нам важно только то, что токен выдала какая-либо доверенная нами организация. MOLE идет еще дальше: токен должен скрывать личность издателя полностью, чтобы мы не могли по-разному обращаться с токенами в зависимости от того, кто их выдал. Это гарантирует равное отношение независимо от типа клиента и облегчает участие для большего числа клиентов.

Схема MOLE.
Свойство сокрытия издателя обеспечивается новым объектом, который называется подтверждением. Подтверждение выдает якорь, а погашает модератор. Перед погашением клиент и модератор согласовывают набор якорей — открытые ключи якорей, которым доверяет модератор. При погашении клиент доказывает, что получил подтверждение от одного из якорей из этого набора, не раскрывая, от какого именно. После проверки модератор выдает клиенту удостоверение MOLE, которое будет использоваться для модерации взаимодействия клиента с сайтом.
Подтверждение может принимать разные формы, но его ключевое свойство — возможность погашения без раскрытия личности выдавшего его якоря. Удостоверений тоже может быть много типов, однако, поскольку они предназначены для использования конкретным модератором, им не обязательно скрывать якорь или даже поддаваться публичной проверке. Это означает, что для создания удостоверений MOLE можно использовать все что угодно: от слепых подписей до анонимных кредитных токенов и анонимных удостоверений с ограничением частоты запросов.
Теперь, когда мы представляем, что именно создаем, давайте рассмотрим варианты постквантовой защиты.
Изобилие криптографических решений
При разработке криптографических протоколов гибкость и эффективность часто вступают в противоречие. Иногда мы точно знаем, что хотим создать, и можем адаптировать конструкцию под эту задачу. Но чем сильнее мы подстраиваем протокол под конкретный сценарий использования, тем труднее адаптировать эту конструкцию для других задач.
Для такой системы, как MOLE, гибкость крайне важна. Мы создаем не одну систему удостоверений, а множество. И типы нужных нам удостоверений, скорее всего, будут меняться со временем, особенно в интернете, где приходится постоянно приспосабливаться к новым моделям трафика и поведению злоумышленников. Чтобы не отставать, нам нужен набор строительных блоков, которые можно комбинировать в разные протоколы с учетом различных требований.
Большинство широко используемых сегодня постквантовых криптографических схем принадлежат к более обширным семействам конструкций, но настроены под конкретные задачи. Хороший пример — ML-DSA: криптографическую основу, на которой построена эта схема, можно использовать для самых разных целей, но, чтобы сделать ML-DSA как можно компактнее, ее параметры тщательно подобрали для создания эффективной и безопасной схемы цифровой подписи. Однако те же параметры не обязательно будут безопасны для других сценариев использования.
Мы пришли к выводу, что это и есть главная сложность в разработке постквантовых анонимных удостоверений: отделить выбор параметров от проектирования протокола. В классических системах удостоверений это само собой разумеется: по большей части разработчикам протоколов не нужно задумываться о параметрах используемой эллиптической кривой. Благодаря этому даже специалисты без глубоких знаний в области криптографии на эллиптических кривых могут создавать полезные решения. К сожалению, разработка эффективных постквантовых удостоверений по-прежнему требует огромной экспертизы.
Однако, похоже, ситуация изменилась. В начале этого года мы стали свидетелями прорыва, который может коренным образом изменить подход к созданию анонимных удостоверений.
VOLE-in-the-Head
Истоки этого прорыва уходят на несколько лет назад. Начнем рассказ с событий трехлетней давности, когда появилась система доказательств с нулевым разглашением VOLE-in-the-Head (VOLEitH) (Baum и др., Crypto 2023). Система доказательств с нулевым разглашением позволяет доказать знание скрытого свидетеля, удовлетворяющего некоторому открытому утверждению, не раскрывая самого свидетеля. Например, с помощью доказательства с нулевым разглашением можно доказать знание ключа AES K, для которого Y=AES (K, X), где X и Y — общедоступные значения. Это доказательство можно преобразовать в цифровую подпись, безопасность которой сводится к безопасности AES, где X и Y — открытый ключ, а K — секретный. Именно так устроена цифровая подпись FAEST, участвующая в текущем конкурсе NIST на выбор схемы подписи.
По сравнению со многими современными системами доказательств VOLEitH относительно проста для понимания и безопасной реализации. VOLE расшифровывается как «Vector Oblivious Linear Evaluation» («векторное скрытое линейное вычисление»). Это интерактивный метод, позволяющий двум сторонам получать коррелированные случайные значения. Эти корреляции действуют как теги аутентификации и позволяют проверяющему убедиться, что вычисления со скрытым свидетелем выполнены правильно. В VOLEitH доказывающий локально подготавливает то, что обычно совместно вычисляли бы две стороны, — отсюда «in the head», то есть «в голове», — затем фиксирует эти значения и использует преобразование Фиата — Шамира (широко применяемый в криптографии инструмент), чтобы выбрать части, которые проверит проверяющий. Так интерактивный процесс VOLE превращается в неинтерактивное доказательство с нулевым разглашением.
Помимо простоты, VOLEitH — довольно заурядная система доказательств. Она не обладает краткостью, характерной для многих других систем: асимптотический размер ее доказательств линейно зависит от размера свидетеля и арифметической сложности доказываемого утверждения. Однако VOLEitH на практике очень эффективна для определенного типа утверждений — тех, которые можно выразить как систему уравнений над малыми двоичными полями.
Один из примеров — рассмотренное выше соотношение Y=AES (K, X). Обычно мы не воспринимаем AES как систему уравнений, однако многие вычисления в ней построены на арифметике в GF (28) — поле, элементы которого представляют собой отдельные байты. Доказательства FAEST для этого утверждения занимают всего около 4 КБ (параметры NIST Round 3, 128s).
Другой пример — схема подписи KuMQuat, в которой подписывающая сторона доказывает решение задачи о многомерных квадратичных уравнениях (MQ). В этой задаче задана система случайных квадратичных уравнений с несколькими переменными над малым полем, например GF (28). Математически отображение MQ P выглядит примерно так: P (s) = (sTA1s + b1s, …, sTAms + bms), где s и каждый bi — векторы длины n, а каждая Ai — матрица размера n на n. Даны P и P (s) для случайного s; задача MQ — найти s. Она называется квадратичной, потому что элементы s умножаются сами на себя.
Считается, что задачу MQ трудно решить даже квантовому компьютеру. Но поскольку P состоит из квадратичных уравнений, доказательство знания решения с помощью VOLEitH обходится сравнительно дешево, благодаря чему размер подписей KuMQuat может составлять всего 2,6 КБ.
На фоне других постквантовых подписей, таких как ML-DSA или FN-DSA, эти показатели не кажутся особенно впечатляющими. Но сравнение VOLEitH с другими схемами в конкретной категории конструкций здесь не главное. Для MOLE нам нужно найти баланс между производительностью и возможностью создавать разные типы систем удостоверений. Для этого понадобится еще один компонент.
Многомерные подписи
Еще один способ построить подписи на основе отображений MQ — добавить в отображение дополнительную математическую структуру. В схеме подписи Unbalanced Oil and Vinegar (UOV) открытый ключ представляет собой отображение MQ P, а подпись — это вектор s, удовлетворяющий условию P (s) = t, где t получается путем хеширования сообщения, которое нужно подписать, с добавлением соли.
Секретный ключ этой схемы подписи — это потайной ход для P, с помощью которого подписывающая сторона может находить решения уравнений MQ. Потайной ход раскрывает ей скрытое разбиение переменных каждого квадратичного уравнения на переменные «масла» и «уксуса». Переменные «масла» никогда не перемножаются друг с другом, поэтому, зафиксировав значения переменных «уксуса», можно свести уравнения к системе линейных уравнений и найти значения переменных «масла». В открытом ключе переменные «масла» и «уксуса» смешаны так, что эта структура отображения остается скрытой.
UOV также участвует в текущей программе NIST по стандартизации подписей. Среди кандидатов у нее один из самых компактных вариантов: размер подписи составляет всего 135 байт. Компромисс в том, что открытые ключи у нее самые большие — 46,6 КБ. Еще один кандидат на основе многомерной криптографии, MAYO, позволяет существенно уменьшить размер открытых ключей ценой немного более крупных подписей.
Здесь важно отметить, что вычислительная сложность проверки подписи UOV (или MAYO) сравнима со сложностью вычисления экземпляра MQ. В обоих случаях речь идет об открытых квадратичных отображениях над малыми двоичными полями, что делает их подходящими для VOLEitH. Так мы подошли к прорыву.
Слепые подписи на основе VOLE-in-the-Head и UOV
В начале этого года была опубликована слепая подпись PoMFRIT (Baum и др., USENIX Security 2026), которая на тот момент установила рекорд среди кандидатных постквантовых конструкций: сама слепая подпись занимала 6,7 КБ, а на выдачу требовалось всего несколько сотен байт. PoMFRIT основана на VOLE-in-the-Head и многомерной подписи MAYO. Заменив MAYO на UOV, мы можем легко сократить размер подписи до 4,3 КБ. (Для этого показателя используются параметры UOV из третьего раунда NIST (uov-Ip) и FAEST-EM-128s.) Компромисс заключается в увеличении размера открытых ключей, но это оправдано в приложениях, где открытый ключ можно кэшировать и использовать достаточно часто.
По этому показателю решение не уступает современным конструкциям на основе решеток. Но особенно хорошая новость заключается в том, что строительные блоки PoMFRIT можно легко переконфигурировать для создания всех систем удостоверений, которые мы рассматриваем для MOLE, включая подтверждения. Скоро мы расскажем об этом подробнее, а пока разберемся, как устроена PoMFRIT.
Один из известных подходов к разработке слепых подписей устроен следующим образом. Сначала клиент помещает сообщение в криптографический аналог запечатанного конверта, который называется фиксацией. В нашем случае фиксация — это просто хеш сообщения вместе со случайным значением, сгенерированным клиентом. Чтобы завершить выдачу, подписывающая сторона просто подписывает саму фиксацию.
Для создания слепой подписи клиент формирует доказательство с нулевым разглашением того, что знает подпись и случайное значение, использованное для вычисления фиксации. Это случайное значение называется открытием. Проверяющий использует открытый ключ подписывающей стороны, чтобы проверить доказательство.
Введем обозначения, чтобы пояснить это нагляднее:
- Клиент генерирует открытие r и отправляет издателю фиксацию c=H (m, r) своего сообщения m.
- Издатель создает подпись s=Sign (sk, c) и отправляет ее клиенту. Он не узнает сообщение, поскольку оно скрыто за хешем.
- Наконец, клиент создает доказательство
πтого, что знает s и r, для которых Verify (pk, H (m, r))=1,
Доказательство π и есть слепая подпись. Проверить его может любая сторона, располагающая открытым ключом издателя pk и сообщением m.
Несвязываемость обеспечивается тем, что на двух этапах клиент предъявляет совершенно разные объекты: при выдаче издателю показывается фиксация, а при предъявлении проверяющему — доказательство с нулевым разглашением. Даже если издатель и проверяющий сговорятся или окажутся одним и тем же лицом, они не смогут связать сессии.
Размер доказательства π в основном определяется вычислением хеша, поэтому нам нужно выбрать хеш-функцию, подходящую для нашей системы доказательств. Для большинства систем доказательств такие хеш-функции изучены недостаточно, но для VOLEitH хорошим выбором оказалась перестановка Keccak, используемая в SHAKE и TurboSHAKE. Побитовые операции Keccak естественным образом преобразуются в ограничения VOLEitH: XOR становится сложением, AND — умножением, а циклические сдвиги просто меняют порядок значений. (Многие популярные SNARK, напротив, рассчитаны на большие простые поля, поэтому операции над байтами и битами в них выражать менее удобно.)
Тем не менее вычисления Keccak оказываются самой крупной частью доказательства VOLEitH, поэтому нужно убедиться, что мы используем минимально необходимое число перестановок. PoMFRIT требует две: одну для фиксации и еще одну для подписи. В упрощенном виде доказываемое утверждение выглядит так: P (s)=H (H (m, r), rs), где s — подпись, rs — соль, выбранная издателем, P — открытый ключ UOV издателя, а H обозначает перестановку Keccak с усечением результата до нужной длины, что также не позволяет никому обратить хеш.
От слепых подписей к подтверждениям и не только
Напомним, что для подтверждений MOLE нам нужно нечто похожее на слепую подпись, но такое, которое не раскрывало бы личность выдавшего ее якоря. Иными словами, теперь у нас есть последовательность ключей якорей P1, …, PN, и мы хотим доказать утверждение Pi (s)=H (H (m, r), rs) для некоторого ключа якоря Pi, причем его индекс i входит в скрытый свидетель.
При должной аккуратности это можно записать как систему ограничений с примерно такой же вычислительной стоимостью: два хеша и одно вычисление MQ. Нужно доказать немного больше о свидетеле. Что именно? Не будем раскрывать все карты: разработка ZK-цепей — часть ремесла криптографической инженерии, которая делает его таким увлекательным. Скажем лишь, что подход, необходимый здесь, применим почти к любой современной системе доказательств, с которой вы можете столкнуться.
В рамках этого подхода можно создавать и более сложные системы удостоверений, в том числе упомянутые выше анонимные кредитные токены и анонимные удостоверения с ограничением частоты запросов. В обоих случаях основная дополнительная стоимость — один или два хеша. Кроме того, нужно доказать, что часть свидетеля (например, размер кредита) находится в заданном диапазоне, но для VOLEitH это обходится недорого.
Действительно, во всех конструкциях для MOLE, которые мы рассматривали до сих пор, основную стоимость определяют размер вычисления Keccak и количество его запусков. Это означает, что сокращение объема хеширования улучшит показатели во всех случаях.
Оптимизация
Прежде чем продолжить, нужно признать, что криптоанализ многомерной криптографии пока остается сравнительно малоизученной областью. Всего за последние пару лет появились новые методы атак на несколько наборов параметров. UOV и MAYO успешно выдержали эти атаки, а вероятность полного взлома UOV и даже MAYO с каждым годом кажется все ниже. Но стоит ожидать, что параметры изменятся, несколько увеличив стоимость наших конструкций.
С другой стороны, на практике системы удостоверений нередко используют не слишком консервативные настройки безопасности ради повышения производительности, если речь идет об устойчивости к подделке. Обычно это означает, что они опираются на более сильные, чем обычно, вычислительные предположения. Иными словами, может появиться атака, нарушающая работу анонимных кредитных токенов, но не ECDSA, хотя обе системы используют одну и ту же эллиптическую кривую.
Сокращение числа хешей
PoMFRIT достигла рекордного размера именно благодаря такому подходу. Напомним, для слепой подписи нужно доказать вычисление двух хешей: одного клиентом, другого издателем. В PoMFRIT отмечается, что создание доказательства VOLEitH можно разделить на два этапа. На первом этапе клиент фиксирует случайную маску. Затем он обычным образом хеширует сообщение (за пределами ZK-цепи), объединяет результат с маской и отправляет издателю целевое значение, скрытое маской. Издатель использует потайной ход UOV, чтобы найти прообраз этого значения. На втором этапе клиент завершает доказательство того, что найденный прообраз согласуется с ранее зафиксированной маской. Хеширование остается частью протокола, но издатель, выступающий в роли проверяющего VOLEitH, может вычислить его напрямую, вместо того чтобы требовать от доказательства с нулевым разглашением воспроизвести это вычисление.
Этот подход существенно сокращает размер доказательства, но также меняет принятые нами допущения о безопасности. Базовое предположение UOV состоит в том, что ни один злоумышленник (в том числе с квантовым компьютером) не сможет найти прообраз случайного целевого значения, не зная потайного хода. Соответствующее предположение «one-more-UOV» (аналогичное предположению «one-more-MAYO» в статье о PoMFRIT) точно описывает дополнительную информацию, которая становится доступна злоумышленнику в результате подобной оптимизации. Следовательно, предполагается, что эта дополнительная информация не позволит провести атаку.
Это предположение может оказаться чрезмерно оптимистичным. Недавно исследователи из Калифорнийского университета в Сан-Диего и INRIA смогли подделать подпись RSA длиной 1 024 бита, используя издателя Privacy Pass в качестве оракула подписи. К счастью, Privacy Pass использует RSA-2048, что вместе с другими механизмами защиты обеспечивает хороший запас прочности. Аналогичным образом для UOV можно рассмотреть параметры уровня 3 NIST вместо уровня 1.
В любом случае, прежде чем слишком полагаться на оптимизации такого рода, их нужно изучить подробнее. Стоит подчеркнуть: успешная атака в этом случае повлияет только на способность злоумышленника подделывать токены, но не на его способность нарушать приватность клиента.
Удешевление каждого хеша
Стандарт SHAKE использует состояние Keccak длиной 1 600 бит и 24 применения базовой функции раунда. Однако после публикации стандарта SHA-3 многие пришли к выводу, что 24 раунда — это слишком много криптографии. TurboSHAKE работает так же, но перестановка использует 12 раундов вместо 24. Это существенно уменьшает размер доказательств VOLEitH. Мы вполне уверены в таком запасе прочности, и не только для этого приложения.
Еще одно изменение Keccak, позволяющее уменьшить размер доказательства, — сокращение размера состояния. Для обеспечения 128-битной стойкости 256 бит состояния отводятся под емкость. Остается 1 344 бита, которые можно хешировать за один раз, а нам столько не нужно. Если сократить состояние вдвое, до 800 бит, скорость составит 544 бита — этого более чем достаточно. Более того, при том же числе раундов уровень безопасности даже повышается, поскольку у злоумышленника становится меньше возможностей. Меньшее состояние означает, что в нашей схеме используется вдвое меньше умножений, что сокращает размер доказательства.
Использование преимуществ многомерной криптографии
В идеальном мире можно было бы вообще отказаться от доказательств обычных хешей, заменив каждый хеш чем-то, что естественнее сочетается с алгебраической структурой наших примитивов. Тем, кто знаком с фиксациями Педерсена и их применением в криптографии на эллиптических кривых, может быть интересно, можно ли строить фиксации с помощью многомерной криптографии.
Это могло бы выглядеть примерно так: зафиксируем открытые случайные отображения MQ F и G и закодируем сообщение m с помощью c=(m+F®, G®). Преимущество этого подхода в том, что степень ограничений такая же, как у ограничений для подписи UOV. Это не только уменьшает размер доказательства, но и значительно упрощает его, поскольку нам больше не нужно вычислять симметричную криптографию в рамках ZK.
Мы проверили этот подход на своем приложении и получили впечатляющие результаты. Однако пока неясно, безопасен ли тот диапазон параметров, в котором многомерные фиксации дают преимущество. Важно, что риск здесь касается не только неподделываемости, но и приватности клиентов. Этот вопрос требует гораздо более тщательного изучения.
Еще одно направление — создание псевдослучайного генератора (PRG), удобного для MQ.
Для типичных параметров VOLEitH добавление одного бита свидетеля увеличивает доказательство на десять бит. Есть изящный способ значительно снизить эту стоимость: использовать всего один бит доказательства на каждый бит свидетеля! Вместо прямого использования VOLEitH мы фиксируем сравнительно короткий ключ. Затем этот ключ растягивается в более длинную битовую последовательность с помощью PRG низкой степени, которую можно дешево вычислить в схеме. Теперь, чтобы добавить бит свидетеля w, мы получаем из PRG еще один бит k и записываем в доказательство бит w XOR k.
За это приходится платить производительностью: нужно вычислять PRG, а степень свидетелей становится равной 2 вместо 1. Это особенно увеличивает время работы доказывающей стороны. Кроме того, уменьшение размера доказательства становится выгодным только тогда, когда требуется достаточно много битов свидетеля.
И, конечно, нужен PRG! Его можно создать на основе случайного экземпляра MQ, но это очень медленно и кажется чрезмерно консервативным решением. На другом конце спектра находится PRG Гольдрайха, который можно считать максимально разреженным PRG на основе MQ. Нам бы хотелось найти нечто среднее, но такие PRG пока изучены недостаточно.
Готова ли MOLE к постквантовой эпохе?
Постквантовая приватность уже существует, поэтому у нас есть время, чтобы подготовить решение к моменту, когда оно понадобится. Но разрабатывать альтернативы нужно уже сейчас.
Многомерная криптография выглядит перспективной основой для удобного создания разных анонимных токенов и удостоверений. Сейчас мы разрабатываем в этой области две схемы: VOLE-IHAT, кандидат для подтверждений MOLE, и VOLE-ACT, кандидат для удостоверений MOLE. Наши текущие оценки затрат приведены в таблице ниже. Эти цифры могут измениться по мере анализа и разработки конструкций. В обоих случаях мы используем UOV (uov-Ip), поэтому размер всех открытых ключей составляет 46,6 КБ. В VOLEitH используются те же параметры, что и в FAEST-EM-128s:
выдача | предъявление | |
PoMFRIT (с UOV) | <1 КБ | 4,3 КБ (погашение) |
VOLE-IHAT | 5,6 КБ | 6,5 КБ (погашение) |
VOLE-ACT | 5,4 КБ | 12,0 КБ (использование) |
Эти показатели значительно выше, чем у классических аналогов. Это неудивительно: «PQ — это громоздко» — пожалуй, главная особенность перехода в целом. Однако замена слепых подписей RSA на PoMFRIT даёт накладные расходы, сопоставимые с заменой ECDSA на ML-DSA. Быстродействие этих протоколов также превосходное: каждая операция с нашей реализацией занимает всего несколько миллисекунд. (Время выполнения можно значительно сократить, правда, ценой увеличения объёма передаваемых данных.)
Если эти показатели подтвердятся, значит, мы уже достигли важного рубежа: переход веба на анонимные постквантовые учётные данные теперь можно перевести из области разработки криптографических решений в область проектирования протоколов. Иными словами, мы считаем, что эти показатели вполне достижимы. Например, классические слепые подписи могут быть достаточно дешёвыми, чтобы использовать их при каждом запросе, а нам предстоит выяснить, как распределить стоимость одной операции погашения на несколько запросов.
Прежде чем достичь этой цели, нам ещё предстоит проделать определённую работу. Во-первых, нужно убедиться в надёжности наших протоколов, в частности подготовить доказательства их безопасности, показывающие, что они защищены при условии безопасности UOV. Во-вторых, нужно подождать, пока криптоанализ UOV не продвинется достаточно далеко. Мы призываем криптографов уделить время изучению многомерной криптографии. Когда параметры стабилизируются, мы верим, что эти схемы найдут применение во множестве полезных задач. Пока мы лишь слегка коснулись этой темы.
