Лемма разветвления (Lybbg jg[fymflyunx)
Лемма разветвления (англ. Forking lemma) — лемма в области криптографических исследований.
На практике, лемма разветвления широко используется для доказательства безопасности различных схем цифровой подписи и других криптографических конструкций на основе случайного оракула[1].
История
[править | править код]Доказана и впервые использована Дэвидом Поинтчевалом и Жаком Стерном[англ.] в «Доказательствах безопасности схем подписи», опубликованных в материалах Eurocrypt[англ.] в 1996 году[1][2]. В их статье лемма о разветвлении определена в терминах противника, который атакует схему цифровой подписи, созданную в модели случайного оракула[3] (идеализированная хеш-функция, которая на каждый новый запрос выдаёт случайный ответ, равномерно распределённый по области значений, с условием, что если один и тот же запрос поступит дважды, то ответ должен быть одинаковым). Они показывают, что если злоумышленник может подделать подпись с пренебрежимо малой вероятностью, то есть существует некоторая вероятность того, что тот же противник с той же случайной лентой может создать вторую подделку в атаке с другим случайным оракулом.
Лемма была позже обобщена Михиром Белларом[англ.] и Грегори Невеном.[4]
Формулировка
[править | править код]Лемма разветвления (оригинальная)
[править | править код]Первоначальный вариант леммы [5], сформулированный и доказанный Поинтчевалом и Стерном, выглядит следующим образом:
- Пусть — общая схема цифровой подписи с секретным параметром . Пусть — вероятностная машина Тьюринга с некоторым полиномиальным временем работы, вход которой состоит только из открытых данных. Обозначим через количество запросов, которые может задать случайному оракулу. Предположим, что в течение времени , дает с вероятностью , валидную подпись . Тогда есть другая машина, которая имеет контроль над А и производит две валидные подписи и такие, что за ожидаемое время .
Обобщенная лемма разветвления
[править | править код]Также существует обобщенный вариант этой леммы[4] , сформулированный и доказанный Белларом и Невеном. В отличие от классического варианта леммы Поинтчевала и Стерна, обобщенная лемма оперирует не со схемами подписей и случайными оракулами, а скорее концентрируется на выходном поведении алгоритма, когда он запускается дважды на связанных входах. Это делает её легко применимой в контекстах, отличных от стандартных схем подписи, и отделяет вероятностный анализ от фактического моделирования в доказательстве безопасности, что позволяет использовать более легкие для проверки доказательства. Для понимания связи между леммами следует воспринимать как открытый ключ и набор чисел как ответы на запросы случайного оракула.
Формулировка обобщенной леммы разветвления:
- Зафиксируем целое число и набор размером . Пусть — вероятностная машина Тьюринга, которая на вход получает набор , где — случайная лента для . Пусть возвращает пару , где является целым числом в диапазоне , а второй элемент называется побочным выводом. Предположим далее, что — это распределение вероятностей, из которого берется . Вероятность принятия обозначаемая , определяется как вероятность того, что в эксперименте
- Определим «алгоритм разветвления» для заданной машины Тьюринга A, который принимает входные данные , следующим образом[4]:
- Выберем случайную ленту для .
- Выберем равномерно из .
- Запустим c набором на входе, чтобы получить набор .
- Если , то вернуть .
- Выберем равномерно из .
- Запустим A с набором на входе, чтобы получить набор .
- Если и , вернуть , в противном случае вернуть .
- Пусть будет вероятностью того, что выдает тройной результат, начиная с 1, при условии, что вход выбран произвольно из :
- Тогда:
- Что равносильно
-
Идея состоит в том, что A запускается два раза в связанных исполнениях, где процесс «разветвляется» в определённый момент, когда некоторые, но не все входные данные были исследованы. Точка, в которой процесс разветвляется, может быть тем, что мы хотим определить позже, возможно, основываясь на поведении A в первый раз: вот почему утверждение леммы выбирает точку ветвления на основании выходных данных A. Требование о том, что является техническим требованием, используемым многими леммами. (Обратите внимание, что поскольку и выбираются случайным образом из , то, если большое, что нормально, вероятность того, что два этих значения не будут различаться, чрезвычайно мала.)
Пример
[править | править код]Например, пусть будет алгоритмом взлома схемы цифровой подписи в модели случайного оракула. Тогда будет открытым параметром (включая открытый ключ), который атакует , а будет выводом случайного оракула на его -й отдельный вход. Лемма разветвления полезна, когда было бы возможно, учитывая две разные случайные подписи одного и того же сообщения, решить некоторую сложную проблему. Однако противник, который подделывает один раз, порождает того, кто подделывает дважды одно и то же сообщение с немалой вероятностью благодаря лемме о разветвлении. Когда пытается подделать сообщение , мы считаем вывод следующим образом , где — подделка, а таков, что был -м уникальным запросом к случайному оракулу (можно предположить, что запросит в некоторый момент, если должен быть успешным с незначительной вероятностью). (Если выдает неправильную подделку, мы считаем, что выходные данные .)
По лемме разветвления вероятность получения двух хороших подделок и для одного и того же сообщения, но с разными случайными выходами оракула (то есть ≠ ) не пренебрежимо мала, когда параметр также не незначителен. Это позволяет нам доказать, что если основная сложная проблема действительно сложна, то никакой злоумышленник не может подделать подписи. В этом суть доказательства, данного Пойнтхевалом и Стерном для модифицированной схемы подписи Эль-Гамаля[5].
Доказательство обобщенной леммы
[править | править код]Докажем[4] сначала , потом докажем что из следует . Пусть для каждого величина будет обозначает вероятность того, что в эксперименте
- .
Также пусть .
Мы утверждаем, что для любого
- .
Затем, зная и с учетом что , получаем
Что доказывает .
Перейдем к доказательству утверждения .
Для любого входа с вероятностями, взятыми из , мы имеем
Осталось показать что .
Обозначим через множество, в котором работает данная машина Тьюринга A.
Пусть для каждого соответствующий определяется значением в
- для всех и .
здесь рассматривается как случайная величина с равномерным распределением. Тогда
.
Пусть для . Тогда
Это доказывает , и, следовательно, . Докажем теперь . С учетом получим, что
Взяв с обеих сторон квадратный корень, и учтя, что
- для любых вещественных
получим:
- , откуда следует .
Лемма доказана.
Известные проблемы с использованием леммы
[править | править код]Ограничение, создаваемое леммой о разветвлении, не является жестким. Авторы Поинтчевал и Стерн предложили несколько способов для повышения уровня безопасности цифровых подписей и слепой подписи, основываясь на лемме разветвления.[5] Однако Клаус Шнорр[англ.] осуществил атаку на слепые схемы подписей Шнорра[6], которые, как утверждалось, были надежно защищены Поинтчевалом и Стерном. Шнорр также предложил усовершенствования для защиты схем слепых подписей, основанных на проблеме дискретного логарифмирования.[7]
Примечания
[править | править код]- ↑ 1 2 Adam Young, Moti Yung, 2004, с. 344.
- ↑ E.Brickell, D.Pointcheval, S.Vaudenay, M.Yung, 2000, с. 276—292.
- ↑ David Pointcheval, Jacques Stern, 1996, с. 387–398.
- ↑ 1 2 3 4 Mihir Bellare, Gregory Neven, 2006, с. 390—399.
- ↑ 1 2 3 David Pointcheval, Jacques Stern, 2000, с. 361—396.
- ↑ C.P. Schnorr, 2001, с. 1—13.
- ↑ C.P.Schnorr, 2006, с. 1305—1320.
Литература
[править | править код]- Adam Young, Moti Yung. Malicious Cryptography: Exposing Cryptovirology (англ.). — 2004. — P. 344.
- E.Brickell, D.Pointcheval, S.Vaudenay, M.Yung. Design Validations for Discrete Logarithm Based Signature Schemes (англ.). — 2000. — P. 276—292.
- David Pointcheval, Jacques Stern. Security Proofs for Signature Schemes (англ.). — 1996. — P. 387–398.
- Mihir Bellare, Gregory Neven. Multi-Signatures in the Plain Public-Key Model and a General Forking Lemma (англ.). — 2006. — P. 390—399.
- David Pointcheval, Jacques Stern. Security Arguments for Digital Signatures and Blind Signatures (англ.). — 2000. — P. 361—396.
- C.P. Schnorr. Security of Blind Discrete Log Signatures Against Interactive Attacks (англ.). — 2001. — P. 1—13.
- C.P.Schnorr. Enhancing the security of perfect blind DL-signatures (англ.). — 2006. — P. 1305—1320.