Лемма разветвления

Материал из testwiki
Перейти к навигации Перейти к поиску

Лемма разветвления (Шаблон:Lang-en) — лемма в области криптографических исследований.

На практике, лемма разветвления широко используется для доказательства безопасности различных схем цифровой подписи и других криптографических конструкций на основе случайного оракулаШаблон:Sfn.

История

Доказана и впервые использована Дэвидом Поинтчевалом и Шаблон:Iw в «Доказательствах безопасности схем подписи», опубликованных в материалах Шаблон:Iw в 1996 годуШаблон:SfnШаблон:Sfn. В их статье лемма о разветвлении определена в терминах противника, который атакует схему цифровой подписи, созданную в модели случайного оракулаШаблон:Sfn (идеализированная хеш-функция, которая на каждый новый запрос выдаёт случайный ответ, равномерно распределённый по области значений, с условием, что если один и тот же запрос поступит дважды, то ответ должен быть одинаковым). Они показывают, что если злоумышленник может подделать подпись с пренебрежимо малой вероятностью, то есть существует некоторая вероятность того, что тот же противник с той же случайной лентой может создать вторую подделку в атаке с другим случайным оракулом.

Лемма была позже обобщена Шаблон:Iw и Грегори Невеном.Шаблон:Sfn

Формулировка

Лемма разветвления (оригинальная)

Первоначальный вариант леммы Шаблон:Sfn, сформулированный и доказанный Поинтчевалом и Стерном, выглядит следующим образом:

Пусть (G,Σ,V) — общая схема цифровой подписи с секретным параметром k. Пусть A — вероятностная машина Тьюринга с некоторым полиномиальным временем работы, вход которой состоит только из открытых данных. Обозначим через Q количество запросов, которые A может задать случайному оракулу. Предположим, что в течение времени T, A дает с вероятностью ε≥7Q2k, валидную подпись (m,σ1,h,σ2). Тогда есть другая машина, которая имеет контроль над А и производит две валидные подписи (m,σ1,h,σ2) и (m,σ1,h′,σ2′) такие, что h≠h′ за ожидаемое время T0≤84480TQε.

Обобщенная лемма разветвления

Также существует обобщенный вариант этой леммыШаблон:Sfn , сформулированный и доказанный Белларом и Невеном. В отличие от классического варианта леммы Поинтчевала и Стерна, обобщенная лемма оперирует не со схемами подписей и случайными оракулами, а скорее концентрируется на выходном поведении алгоритма, когда он запускается дважды на связанных входах. Это делает её легко применимой в контекстах, отличных от стандартных схем подписи, и отделяет вероятностный анализ от фактического моделирования в доказательстве безопасности, что позволяет использовать более легкие для проверки доказательства. Для понимания связи между леммами следует воспринимать x как открытый ключ и набор чисел (h1,...,hq) как ответы на запросы случайного оракула.
Формулировка обобщенной леммы разветвления:

Зафиксируем целое число q≥1 и набор H размером h≥2. Пусть A — вероятностная машина Тьюринга, которая на вход получает набор (x,h1,...,hq;r), где r — случайная лента для A. Пусть A возвращает пару (J,y), где J является целым числом в диапазоне (0,...,q), а второй элемент называется побочным выводом. Предположим далее, что IG — это распределение вероятностей, из которого берется x. Вероятность принятия A обозначаемая acc, определяется как вероятность того, что J≥1 в эксперименте
x ← IG; h1,...,hq ← H; (J,σ) ←A(x,h1,...,hq)
Определим «алгоритм разветвления» FA для заданной машины Тьюринга A, который принимает входные данные x, следующим образомШаблон:Sfn:
  1. Выберем случайную ленту r для A.
  2. Выберем h1,...,hq равномерно из H.
  3. Запустим A c набором (h1,...,hq;r) на входе, чтобы получить набор (J,y).
  4. Если J=0, то вернуть (0,0,0).
  5. Выберем h1′,...,hq′ равномерно из H.
  6. Запустим A с набором (x,h1,...,hJ−1,hJ′,...,hq′;r) на входе, чтобы получить набор (J′,y′).
  7. Если J′=J и hJ≠hJ′, вернуть (1,y,y′), в противном случае вернуть (0,0,0).
Пусть frk будет вероятностью того, что FA выдает тройной результат, начиная с 1, при условии, что вход x выбран произвольно из IG:
frk=Pr[b=1: x ← IG; (b, σ, σ′) ← FA(x)].
Тогда:
frk≥acc⋅(accq−1h)(1)
Что равносильно
acc≤(qh+q⋅frk)(2)

Идея состоит в том, что A запускается два раза в связанных исполнениях, где процесс «разветвляется» в определённый момент, когда некоторые, но не все входные данные были исследованы. Точка, в которой процесс разветвляется, может быть тем, что мы хотим определить позже, возможно, основываясь на поведении A в первый раз: вот почему утверждение леммы выбирает точку ветвления J на основании выходных данных A. Требование о том, что hJ≠hJ′ является техническим требованием, используемым многими леммами. (Обратите внимание, что поскольку hJ и hJ′ выбираются случайным образом из H, то, если h большое, что нормально, вероятность того, что два этих значения не будут различаться, чрезвычайно мала.)

Пример

Например, пусть A будет алгоритмом взлома схемы цифровой подписи в модели случайного оракула. Тогда x будет открытым параметром (включая открытый ключ), который атакует A, а hi будет выводом случайного оракула на его i-й отдельный вход. Лемма разветвления полезна, когда было бы возможно, учитывая две разные случайные подписи одного и того же сообщения, решить некоторую сложную проблему. Однако противник, который подделывает один раз, порождает того, кто подделывает дважды одно и то же сообщение с немалой вероятностью благодаря лемме о разветвлении. Когда A пытается подделать сообщение m, мы считаем вывод A следующим образом (J,y), где y — подделка, а J таков, что m был J-м уникальным запросом к случайному оракулу (можно предположить, что A запросит m в некоторый момент, если A должен быть успешным с незначительной вероятностью). (Если A выдает неправильную подделку, мы считаем, что выходные данные (0,y).)

По лемме разветвления вероятность frk получения двух хороших подделок y и y′ для одного и того же сообщения, но с разными случайными выходами оракула (то есть hJ ≠ hJ′) не пренебрежимо мала, когда параметр acc также не незначителен. Это позволяет нам доказать, что если основная сложная проблема действительно сложна, то никакой злоумышленник не может подделать подписи. В этом суть доказательства, данного Пойнтхевалом и Стерном для модифицированной схемы подписи Эль-ГамаляШаблон:Sfn.

Доказательство обобщенной леммы

ДокажемШаблон:Sfn сначала (1), потом докажем что из (1) следует (2). Пусть для каждого x величина acc(x) будет обозначает вероятность того, что J≥1 в эксперименте

h1,...,hq ← H; (J,σ) ←A(x,h1,...,hq).

Также пусть frk(x)=Pr[b=1: (b, σ, σ′) ← FA(x)].
Мы утверждаем, что для любого x,

frk(x)≥acc(x)⋅(acc(x)q−1h)(3).

Затем, зная x ← IG и с учетом что E[acc(x)]=acc, получаем

frk=E[frk(x)]≥E[acc(x)⋅(acc(x)q−1h)]=
=E[acc(x)2]q−E[acc(x)]h≥E[acc(x)]2q−E[acc(x)]h=acc⋅(accq−1h).

Что доказывает (1). Перейдем к доказательству утверждения (3).
Для любого входа x с вероятностями, взятыми из FA, мы имеем

frk(x)=Pr[I=I′∧I≥1∧hI≠hI′]≥Pr[I=I′∧I≥1]−Pr[I≥1∧hI≠hI′]=
=Pr[I=I′∧I≥1]−Pr[I≥1]h=Pr[I=I′∧I≥1]−acc(x)h

Осталось показать что Pr[I=I′∧I≥1]≥acc(x)2q.
Обозначим через 𝐑 множество, в котором работает данная машина Тьюринга A.
Пусть для каждого i∈{1,...,q} соответствующий Xi:𝐑×Hi−1→ [0,1] определяется значением Xi(ρ,h1,...,hi−1) в

Pr[J=i:h1,...,hq ← H; (J,σ) ←A(x,h1,...,hq;ρ)] для всех ρ∈𝐑 и h1,...,hq∈H.

Xi здесь рассматривается как случайная величина с равномерным распределением. Тогда

Pr[I=I′∧I≥1]=∑i=1qPr[I=i∧I′=i]=∑i=1qPr[I=i]⋅Pr[I′=i|I=i]=

=∑i=1q∑ρ,h1,...,hi−1Xi(ρ,h1,...,hi−1)2⋅1|𝐑|⋅|H|i−1=∑i−1qE[Xi2]≥∑i−1qE[Xi]2. Пусть xi=E[Xi] для x∈1,...,q. Тогда
∑i=1qE[Xi]2≥1q⋅(∑i=1qE[Xi])2=1q⋅acc(x)2. Это доказывает (3), и, следовательно, (1). Докажем теперь (2). С учетом (1) получим, что
(acc−q2h)2=acc2−acc⋅qh+q24h2≤q⋅frk+q24h2.
Взяв с обеих сторон квадратный корень, и учтя, что

a+b≤a+b для любых вещественных a,b≥0,

получим:

acc−q2h≤q⋅frk+q24h2=q⋅frk+q2h, откуда следует (2).


Лемма доказана.

Известные проблемы с использованием леммы

Ограничение, создаваемое леммой о разветвлении, не является жестким. Авторы Поинтчевал и Стерн предложили несколько способов для повышения уровня безопасности цифровых подписей и слепой подписи, основываясь на лемме разветвления.Шаблон:Sfn Однако Шаблон:Iw осуществил атаку на слепые схемы подписей ШнорраШаблон:Sfn, которые, как утверждалось, были надежно защищены Поинтчевалом и Стерном. Шнорр также предложил усовершенствования для защиты схем слепых подписей, основанных на проблеме дискретного логарифмирования.Шаблон:Sfn

Примечания

Шаблон:Примечания

Литература