2024 Математические методы криптографии № 65
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7 DOI 10.17223/20710410/65/3
О СВОЙСТВЕ НЕПОДДЕЛЫВАЕМОСТИ СХЕМЫ ПОДПИСИ ВСЛЕПУЮ ШАУМА — ПЕДЕРСЕНА
Л. Р. Ахметзянова, А. А. Бабуева
Крипт,оПро, г. Москва, Россия
E-mail: {lah, babueva}@cryptopro.ru
Анализируется свойство неподцелываемости схемы подписи вслепую 1Наума— Педерсепа в условиях, когда нарушитель имеет возможность открывать параллельные сеансы протокола формирования подписи. Показано, что схема не обеспечивает свойство неподцелываемости в сильном смысле, т. е. позволяет строить подделки для «старого» сообщения, которое было подписано легитимным образом в результате взаимодействия с подписывающим. Проведён анализ свойства непод-делываемости в слабом смысле (задача нарушителя — построение подделки для нового сообщения). С помощью метода сведений получена оценка стойкости схемы относительно свойства слабой неподцелываемости в модели с алгебраической группой и случайным оракулом. Полученная оценка позволяет выделить базовые задачи, сложность которых лежит в основе стойкости схемы.
Ключевые слова: схема подписи вслепую, схема Шаума — Педерсепа, ROS-атака.
ON THE UNFORGEABILITY OF THE CHAUM — PEDERSEN BLIND SIGNATURE SCHEME
L, E, Akhmetzvanova, A. A. Babueva
CryptoPro, Moscow, Russia
The paper is devoted to the analysis of the unforgeability property of the Chaum — Pedersen blind signature scheme in case an adversary is able to initiate parallel sessions of the signature generation protocol. It is shown that the scheme does not ensure strong unforgeability, i.e., it allows to create the forgeries for "old" messages that were legitimately signed. An analysis of the weak unforgeability property (the adversary's task is to create a forgery for a new message) is also conducted. Using the reduction method, we obtain a security bound on the weak unforgeability property in the algebraic group model and random oracle model. This estimation identifies the base problems whose complexity underpins the scheme security.
Keywords: blind signature scheme, Chaum — Pedersen blind signature, ROS attack.
Введение
Механизм подписи вслепую был впервые предложен Д, Шаумом в 1982 г. [1]. Формирование подписи вслепую представляет собой интерактивный протокол, выполняемый между подписывающей стороной (сервером) и клиентом, В результате клиент получает подпись для некоторого сообщения, при этом подписывающий не получает информации ни о сообщении, ни о сформированном значении подписи (свойство неотележиваемоети), а клиент не может сформировать корректное значение подписи без взаимодействия с подписывающим (свойство неподделываемоети), Как показывает история развития схем подписи вслепую, построение схем на основе стандартных эллиптических кривых, обеспечивающих свойство неподделываемоети в условиях, когда нарушитель имеет возможность открывать параллельные сеансы протокола формирования подписи, — нетривиальная задача. Заметим, что подобные условия актуально рассматривать для приложений, где множество клиентов единовременно подключаются к серверу выдачи подписи вслепую и при этом важна высокая скорость получения подписи. Ярким примером таких систем являются системы дистанционного электронного голосования [2],
Существующие работы. Классической схемой подписи вслепую на основе стандартных эллиптических кривых является схема Шнорра, предложенная в 1996 г. в [3], Анализ стойкости данной схемы проведен в 2001г. в [4]. Свойство неподделываемоети было доказано в предположении сложности задачи EOS (Random inhomogeneities in a Overdetermined Solvable system of linear equations) в генеричеекой модели со случайным оракулом. Задача ROS на протяжении 20 лет считалась сложной. Однако в 2020 г. был предложен полиномиальный алгоритм решения этой задачи [5], который позволил построить полиномиальную атаку, приводящую к нарушению свойства неподделываемоети для схемы подписи вслепую Шнорра в случае, если нарушитель имеет возможность открыть I ^ [logq\ параллельных сеансов протокола формирования подписи с подписывающим, где q — простой порядок группы точек эллиптической кривой.
Оказалось [5, 6], что аналогичная атака применима не только к схеме подписи вслепую Шнорра, но и к ряду других схем на основе стандартных эллиптических кривых: схеме Окамото— Шнорра [7], схеме Абе [8], обеспечивающей частичную неотележивае-мость, схемам на основе уравнения Эль-Гамаля [6], а также схеме Брандса [9]. При этом для схемы Брандса атака позволяет строить подделки только для одного и того же «номера аккаунта». Схема Брандса, в свою очередь, построена на основе схемы подписи вслепую Шаума — Педерсена [10]. Для схемы Шаума—Педерсена в литературе не представлено ни атак, ни формального обоснования свойства неподделываемоети, поэтому вопрос её стойкости является открытым.
Формальное обоснование свойства неподделываемоети для схем подписи вслепую сопряжено с некоторыми трудностями. В литературе представлен ряд работ, которые показывают невозможность обоснования стойкости схемы подписи вслепую Шнорра в стандартных моделях безопасности [11, 12], а именно: без идеализаций криптографических примитивов (модель со случайным оракулом [13]) и ограничений множества рассматриваемых нарушителей (модели с генеричеекой [14] или алгебраической [15] группой). Более того, в работе [16] показано, что для схемы подписи вслепую Шнорра [3], Окамото — Шнорра [7] и схемы Брандса [9] невозможно построить сведение с использованием всех известных техник доказательств для таких схем (например, Random oracle replay и forking lemma) на основе предположений о сложности базовых задач даже в модели со случайным оракулом. Существующие сведения верны толь-
ко в моделях с генерической или алгебраической группой со случайным оракулом, которые являются упрощением стандартных моделей. Насколько известно авторам настоящей работы, на сегодняшний день не предложено каких-либо принципиально новых техник построения сведений для схем подписи вслепую,
С момента публикации ROS-атаки в литературе было предложено несколько схем подписи вслепую [17-19] на основе стандартных эллиптических кривых, стойких (при некоторых предположениях) даже в том случае, когда нарушитель имеет возможность открывать параллельные сеансы протокола формирования подписи. Оценка стойкости всех этих схем получена в модели со случайным оракулом, а при обосновании схем [18, 19] используется также модель с алгебраической группой.
Наши результаты. В настоящей работе проводится анализ схемы Шаума —Педерсена с точки зрения обеспечения свойства неподделываемоети при наличии у нарушителя возможности открывать несколько параллельных сеансов протокола формирования подписи.
Показано, что схема Шаума — Педерсена не обеспечивает свойство неподделываемоети в сильном смысле, т, е, позволяет строить подделки для «старого» сообщения, которое было подписано легитимным образом в результате взаимодействия с подписывающим, Построена модификация ROS-атаки, аналогичная ROS-атаке на схему Брандса, При этом конструкция схемы не позволяет расширить данную атаку на случай построения подделки для «нового» сообщения, это означает, что схема Шаума — Педерсена потенциально обеспечивает свойство неподделываемоети в слабом смысле (задача нарушителя — построение подделки для нового сообщения),
Проведён формальный анализ свойства неподделываемоети в слабом смысле. Построено сведение в модели с алгебраической группой и случайным оракулом, которое демонстрирует, что достаточным условием стойкости схемы является сложность решения двух задач: задачи REPR и SOMDL, Задача REPR является модификацией задачи Representation, определённой в работе [9], её сложность также является необходимым условием стойкости схемы Шаума — Педерсена, Задача SOMDL является новой задачей, определённой для группы точек эллиптической кривой. Показано, что настоящая задача не сложнее задачи OMDL (One-More Diserete Logarithm, введена в [20]) и задачи SDL (определена в [21] как задача q-dlog), Для задачи SDL показано также, что её сложность является необходимым условием стойкости схемы Шаума — Педерсена, Таким образом, выделены базовые задачи, дальнейшее изучение которых необходимо для получения больших гарантий безопасности схемы Шаума — Педерсена,
Структура работы. В п, 1 даются основные определения и обозначения, п, 2 по-свящён формальному определению схемы подписи вслепую Шаума — Педерсена, В п, 3 вводится свойство неподделываемоети для схем подписи вслепую. Пункты 4 и 5 посвящены анализу свойства неподделываемоети в сильном и слабом смысле соответственно, В приложении А формально определяется модель wUF, а в приложении В приводится доказательство теоремы 1 о стойкости этой модели,
1. Определения и обозначения
Если p — простое число, то через Zp обозначается поле вычетов по модулю p; каждый ненулевой элемент x тол я Zp имеет обратный эл емент 1/x; Zp — множес тво Zp без нулевого элемента, т. е, мультипликативная группа поля Zp.
Группа точек эллиптической кривой, определённой над полем Zp, простого порядка q обозначается через G, точка эллиптической кривой порядка q — через P, нулевая точка кривой —через O; G* — множество точек кривой без нуле вой точки; H —хеш-
функция, отображающая двоичные строки в элементы Z*; H : {0,1}* — G*—хеш-функция, отображающая двоичные строки в точки кривой. Через DLogB(A) A, B e G, обозначается число a e Zg, такое, что A = aB.
Запись x X означает, что элемент x выбирается из множества X случайно в соответствии с равновероятным распределением, будем называть такой элемент x случайным, Событие, что алгоритм A вернул значение val в качестве результата работы, обозначается через A — val (val ^ A),
Определение 1. Схема подписи вслепую BS задается следующими алгоритмами:
— (sk, pk) ^ KGen(): алгоритм выработки ключей, возвращающий пару ключей (sk, pk) где sk — ключ подписи; pk —ключ проверки подписи;
— (b, о) ^ (Sign(sk, pk), User(pk, m)): интерактивный протокол, выполняемый между
sk pk
m pk
b = 1 b = 0 тивном случае; клиент выдаёт значение подписи о в случае успешного завершения протокола и ± в противном случае;
— b ^ Verify(pk, m, о): детерминированный алгоритм проверки подписи, принимаю-
pk m о
единицу, если значение подписи верное, и нуль в противном случае.
При этом для любой пары ключей (sk, pk) ^ KGen() и любого сообщения m требуется, чтобы в результате выполнения
(b, о) ^ (Sign(sk, pk), User(pk, m)), b' ^ Verify(pk, m, о)
было выполнено b = b' = 1,
2. Схема Шаума — Педерсена
Приведём описание алгоритмов, задающих работу схемы подписи вслепую Шаума — Педерсена, Далее будем называть эту схему CP-BS,
Оригинальное описание схемы Шаума — Педерсена [10] представлено для мультипликативной группы конечного поля, при этом подписываемое сообщение представляет собой элемент группы, В настоящей работе мы приводим описание для группы точек эллиптической кривой, при этом для перевода сообщения в элемент группы, т, е, точку кривой, мы предлагаем использовать функцию хеширования H в группу точек эллиптической кривой. Заметим, что в литературе известны подходы к построению таких функций (см., например, [22]),
Алгоритм выработки ключей задаётся следующим образом:
CP-BS.KGen()
d Z* Q ^ dP return (d, Q)
Протокол формирования подписи состоит из двух раундов, инициатором взаимодействия является клиент. Клиент вычисляет элемент группы M' = H(m), маскирует это значение, вычисляя M = a-1M' для случайно выбранного значения a e Z*, и посылает точку M серверу. Сервер вычисляет значение Z = dM, после
чего клиент и сервер выполняют интерактивный протокол доказательства равенства дискретных логарифмов Шаума — Педерсена [10] для значений DLogPQ = DLogMZ, при этом для вычисления значения c (challenge в протоколе доказательства Шаума — Педерсена) клиент маскирует все значения, полученные от сервера. Значение Z = aZ и сформированное доказательство (в маскированном виде) составляют подпись.
Алгоритм проверки подписи для сообщения m представляет собой проверку доказательства равенства
DLogp Q = DLogM, Z',
где M' = H(m), Заметим, что DLogM/ Z' = DLogaM (aZ) ^ogMZ,
Протокол формирования и алгоритм проверки подписи формально определены на рис, 1 и 2 соответственно.
Sign (d,Q)
M
if M </ G: return 0
k ^ Zg
Z ^ dM A ^ kP
B ^kM
Z, A, B
if c = 0 : return 0
s ^ k + cd
User (Q, m) u
a
zg
M' ^ H(m)
M a-1M
if Z,A,B (/ G: return ±
u,v Zg A' ^ uA + vP B' ^ uaB + vM' Z' ^ aZ
c' ^ H(M'\\Z'||A'||B')
c <r- c u
-1
return 1
if sP = A + cQ: return ± if sM = B + cZ: return ±
s' ^ us + v a ^ (s',c',Z') return a
c
s
Рис. 1. Протокол формирования подписи в схеме CP-BS
CP-BS.Verify(Q, m, (s', c', Z'))
if Z' </ G: return 0 M' ^ H(m)
if c' = H(M'||Z'||(s'P - c'Q)||(s'M' - c'Z')): return 1 else : return 0
Рис. 2. Алгоритм проверки подписи в схеме CP-BS
В отличие от оригинального описания схемы, в представленном описании значение подписи определяется набором (s', c', Z'), а не (s', A', B', Z'). Заметим, что с точки зрения стойкости схемы эти способы задания подписи являются эквивалентными, поскольку по первому набору можно однозначно восстановить второй набор и наоборот.
(s , c , Z )
ший интерес с практической точки зрения.
3. Свойства безопасности схем подписи вслепую
Для схем подписи вслепую традиционно рассматривают [1, 3] следующие два свойства безопасности:
— неотележиваемоеть (blindness): нарушитель, выступающий в роли подписывающего, в результате выполнения протокола формирования подписи не получает никакой информации о паре (сообщение, подпись), сформированной клиентом;
— неподделываемоеть (unforgeability): нарушитель, выступающий в роли клиента, может сформировать корректную подпись только в результате успешного взаимодействия с подписывающим.
Поскольку настоящая работа посвящена анализу свойства неподделываемости, рассмотрим подробнее именно данное свойство.
Возможности нарушителя. Нарушителю, выступающему в роли клиента, предоставляется возможность получать от подписывающего корректные подписи для адаптивно выбираемых им сообщений, при этом предполагается, что подписывающий функционирует корректным образом. Наиболее сильной возможностью нарушителя, которую целесообразно рассматривать, является проведение атаки с параллельными сеансами: нарушитель может начинать выполнение новых сеансов протокола формирования подписи до завершения предыдущих.
Угроза. Угроза формализуется с помощью понятия «ещё одной подделки» (one-more forgery). Задача нарушителя состоит в создании (I + 1) корректной пары (сообщение, подпись) в результате I успешных взаимодействий с подписывающим. Тривиальной атакой, доступной нарушителю, является дублирование пары (сообщение, подпись), сформированной в результате успешного взаимодействия с подписывающим. Поэтому, как и в стандартных моделях безопасности для схем подписи, на формируемые пары накладываются дополнительные ограничения:
— слабая угроза: все пары (сообщение, подпись) должны быть различными;
— сильная угроза: все сообщения должны быть различными.
Соответствующие данным угрозам свойства будем называть свойствами сильной не-подделываемоети для слабой угрозы и слабой неподделываемоети для сильной угрозы.
4. Анализ безопасности относительно свойства сильной неподделываемости
В работе [5] построена атака на свойство неподделываемости для схемы подписи вслепую Брандса [9], применимая в модели с параллельными сеансами и позволяющая сформировать (I + 1) подпись для одного и того же «номера аккаунта» в результате l ^ [logq] успешных взаимодействий с подписывающим.
Оказалось, что аналогичная атака применима и к схеме Шаума — Педерсена, При этом для данной схемы атака позволяет построить (I +1) подпись для одного и того же сообщения, т, е, реализовать слабую угрозу. Опишем данную атаку, а также условия её применимости в случае формирования (I +1) подписи для различных сообщений.
Атака типа ROS. Пусть нарушитель Л:
1) Выбирает сообщение m е {0,1}*, для которого будет построена (I + 1) подпись, пусть M' = M = H(m),
2) Открывает l параллельных сеансов, отправляя подписывающему l одинаковых
M
3) Получает в ответ l набор о в (Z, Ai, B¿), 0 ^ i ^ l — 1, удовлетворяющих условиям
Z = dM, A = kiP, Bi = kiM,
где ki выбирается подписывающим случайно и равновероятно для каждого открытого сеанса,
4) Выбирает u° ,u\, 0 ^ i ^ I — 1, таким образом, чтобы c^ = Он, где
ció = H (M ||Z ||«0Ai||«0Bi), Оц = H (M ||Z KAiKBi), °io = (и°)-14, °ii = (ui)-1°ii.
5) Определяет p°, p1,..., p¿ как коэффициенты перед xi в выражении
i—i * ^С i Ció i—i
E 2i-= E PiXi + Pe.
i=° Ci1 — ci° i=°
1—1 1—1
6) Полагает A¿ = E PiAi — PeQ, Be = E PiBi — PeZ.
i=° i=°
7) Вычисляет dt = H(M||ZHAeHBe).
8) Определяет b°,..., b¿_ 1 как c!í = E 2bi.
i=°
9) Полагает ci = cibi, ci = dib. ,ui = ubi, 0 ^ i ^ l — 1, таким образом, d£ = E Pici + Pe-
1 i=°
10) Отправляет
подписывающему значения c°,..., 1 в соответствующих открытых сеансах,
11) Получает в ответ от подписывающего значения s°,..., sl—1, такие, что
SiP = Ai + CiQ, SiM = Bi + CiZ.
12) Полагает si = uisi,, 0 ^ i ^ l — 1,
13) Полагает s'e = E Pisi-
i=°
14) Выдаёт {(m, (si, ci, Z)) : i = 0,..., l}.
Действительно, для 0 ^ i ^ l — 1 подпись (si, ci, Z) будет корректной для сообщения m, так как
siP — ciQ = UiSiP — UiCiQ = u^P — CiQ) = UiAi, siM — ciZ = UiSi M — UiCiZ = Ui(siM — Ci Z) = UiBi,
а по построению ci = H(M||Z||uiAi|uiBi),
Для i = l подпись (si, ci, Z) будет корректной для cooбщения m, так как
i-i i-i i-i i-i
slP — ciQ = ^ PisiP — Yt, PiCiQ — PiQ = E Pi(siP — CiQ) — piQ = ^ PiAi — piQ = Ai, i=0 i=0 i=0 i=0 i-i i-i i-i i-i siM — ciZ = Y, PisiM — Y, Pi CiZ — piZ = ^ Pi (siM — CiZ) — piZ = ^ PiBi — Pi Z = Bi, i=0 i=0 i=0 i=0
а по построению ci = H(M||Z||Ai|Bi).
Условие l ^ [log q] необходимо для того, чтобы было возможно осуществить шаг 8, В настоящей атаке нарушитель не использует значения маскирующих факторов a и v (полагает их равными единице и нулю соответственно), в связи с этим пары (сообщение, подпись), построенные на шаге 14, можно соотнести с соответствующими стенограммами протокола, т, е, для них не выполняется свойство неотележиваемости. Однако представляется, что атака может быть расширена с целью обеспечения неотележивае мости для сформированных пар.
Модификация атаки на случай разных сообщений. Рассмотрим структурные особенности схемы Шаума — Педерсена, не позволяющие расширить данную атаку на случай формирования подписей для различных сообщений. Ключевым отличием схемы Шаума — Педерсена от схемы Шнорра является наличие первой пересылки M = a-iM' от пользователя к подписывающему, содержимое которой существенно зависит от сообщения, и добавление в подпись элемента Z' = dM', Для построения подделки для нового сообщения m, которому соответствует точка M' = H(m), нарушителю необходимо вычислить значение Z' = dM',
M P
стен нарушителю (пусть DLogP(M') = ,), то соответствующая точка Z' может быть вычислена как ,Q = d(,P) = dM', В этом случае описанная выше атака может быть расширена на случай подписания различных сообщений в каждом сеансе (а значит,
Mi = Mi Zi
гично, за исключением алгоритма вычисления точек Zi и Bi. Точка Zi; как уже было сказано, вычисляется как ,Q, а точка Bi полагается равной ,Ai. Нетрудно проверить, что подпись (si, ci, Zi) будет корректной подписью для сообщения m, соответствующего точке M' =
M
таким образом, чтобы её дискретный логарифм был неизвестен нарушителю. Именно
M
функцию хеширования в кривую.
Замечание 1. В оригинальной схеме подписи вслепую Брандса [9], а также в модификации данной схемы для группы точек эллиптической кривой, используемой в си-
M
тов с взаимно неизвестным дискретным логарифмом, таким образом, дискретный ло-M
в работе [16], элемент M' формируется как aP, поэтому по построению пользователю всегда известен дискретный логарифм M', Таким образом, для этой вариации схемы свойство неподделываемоети не обеспечивается даже в слабом смысле,
M P
атака неприменима из-за сложности построения точек Z, B, для которых выполнено условие
B = Е PiBi = Е Pi(siMi - CiZi) = SfMe - OfZe. i=0 i=0
5. Анализ безопасности относительно свойства слабой неподделываемоети
Получим оценку стойкости схемы Шаума — Педерсена относительно свойства слабой неподделываемоети с помощью метода сведений.
Сведение удалось построить в модели wUF (weak UnForgeabilitv), см, формальное определение в Приложении А, при некоторых дополнительных ограничениях на возможности нарушителя: в модели с алгебраической группой и случайным оракулом. Рассмотрим подробнее, какие ограничения налагают данные модели.
Модель со случайным оракулом введена в [13] и подразумевает, что на этапе инициализации экспериментатор выбирает случайную функцию, после чего предоставляет нарушителю доступ к ней через так называемый случайный оракул. Нарушитель
a
a
ной функции самостоятельно. При обосновании свойства неподделываемоети схемы Шаума — Педерсена будем предполагать, что хеш-функции H и H моделируются как случайные оракулы. Анализ в данной модели можно интерпретировать следующим образом: при получении оценки стойкости не рассматриваются методы криптоанализа, основанные па структурных свойствах конкретных функций H и H, определяющих связь между областью определения и областью значений данных функций.
Модель с алгебраической группой предложена в работе [15], На алгоритм нарушителя накладывается следующее требование: для любого элемента группы, который появляется на выходе алгоритма нарушителя в процессе его работы, нарушитель должен предоставить коэффициенты разложения данного элемента в линейную комбинацию всех элементов, пришедших ему на вход к данному моменту. То есть если
Z
X1,... , Xn, то месте с Z от передаёт набор коэффициентов z = (z1,..., zn), таких,
n
что Z = Е ziXi, Анализ в данной модели можно интерпретировать следующим об-
i=1
разом: при получении оценки стойкости не рассматриваются методы криптоанализа, использующие структурные особенности конкретной группы для формирования новых элементов группы,
5,1, Базовые задачи Сведение стойкости схемы CP-BS построено к следующим базовым задачам: задаче SOMDL и задаче REPR, Определим их формально.
Задача SOMDL (Strong One-More Discrete Logarithm) Параметрами настоящей задачи являются k,l G N.
Определение 2. Для нарушителя A, группы G, параметров I и k положим AdvGST (A) = Pr[Expg;r (A) ^ 1],
где эксперимент ExpGki (A) определяется следующим образом:
Oracle Oi(i,Y)
if ctri > k : return ±
if if {1,..., I + 1} : return ±
if Y f G : return ±
ctri ^ ctri + 1 return XiY
ctri, ctr2 ^ 0
Oracle O2(Y)
if ctr2 > l : return ± if Y f G : return ±
ctr2 ^ ctr2 + 1 return DLogp(Y)
Нарушитель получает па вход набор точек xiP,..., xi+iP, его задача — найти значения xi,..., xi+i, Нарушитель имеет доступ к двум оракулам Oi и O2, он может делать не более k запросов к первому оракулу и не более l — ко второму. Эти ограничения контролируются с помощью счётчиков ctri,cir2.
Оракул Oi в ответ на запрос нарушителя вида (i, Y), i f {1,... ,l +1} Y f G, возвращает значение Оракул O2 в на запрое Y f G возвращает дискрет-
ный логарифм этой точки по основанию P, Запросы к оракулам Oi и O2 могут быть выполнены в произвольном порядке,
О соотношении с другими задачами. В результате обзора существующих в литературе задач для конечных групп найдены две наиболее «близкие» к задаче SOMDL: задачи SDL и OMDL, Определим их формально.
Задача SDL (Strong Discrete Logarithm) определена в работе [21] как задача q-dlog и является модификацией задачи SDH (Strong Diffie — Hellman), предложенной в [24], её параметром является значение s е N.
Определение 3. Для нарушителя Д, группы G и параметpa s положим
Нарушитель получает па вход набор точек xP,..., P, его задача — найти значение x.
Покажем, что доступ к оракулу Oi в задаче SOMDL может предоставлять нарушителю такие же возможности, как в задаче SDL, Действительно, подавая на вход оракулу Oi еначада запрос (1,xiP^ а потом запросы вида (1, Y), где Y —ответ оракула Oi па предыдущий запрос, нарушитель может накопить значения xiP, x2P,..., xk+iP, что аналогично получению па вход таких значений в задаче SDL с параметром s = k + 1, Отсюда следует
X ^ A(xP,..., xs P)
return (x = X)
Утверждение 1. Для любого нарушителя A, решающего задачу SDL с параметром k + 1, существует нарушитель B с такими же вычислительными ресурсами, решающий задачу SOMDL с параметрами (k,l) для произвольного I G N, такой, что
л I.SDL ( л\ ^ л . SOMDL/ИЧ AdvG,fc+1 (A) ^ AdvG,M (B).
Таким образом, задача SOMDL с параметрами (k,l) не сложнее задачи SDL с параметром k + 1,
Задача OMDL (One-More Discrete Logarithm) предложена в работе [20], её параметром является значение I G N.
Определение 4. Для нарушителя A, группы G и параметpa I положим
AdvgTL(A) = Pr[ExpG;^DL(A) ^ 1], где эксперимент Ехр^шь (A) определяется следующим образом:
Ехр°^шь (A) Oracle DLog(Y)
x1,..., xl+1 Z* if ctr > l : return ±
ctr ^ о if Y £ G : return ±
(x[,..., xl+1) ^ ДШо g(xiP,..., xi+iP) ctr ^ ctr + 1 return (x1 = xi) Л ... Л (xl+1 = xl+1)
return DLogp (Y)
Нарушитель получает на вход набор точек x1P,..., xl+1P, его задача — найти значения x1,...,xi+1. Нарушитель имеет доступ к оракулу DLog, который в ответ на запрос Y £ G возвращает дискретный логарифм этой точки по основанию P, Он может делать не более I запросов к этому оракулу, это ограничение контролируется с помощью счётчика ctr. Заметим, что оракул в задаче OMDL в точности совпадает с оракулом O2 в задаче SOMDL, Отсюда следует
Утверждение 2. Для любого нарушителя Д, решающего задачу OMDL с параметром I, существует наруш итель B с такими же вычислительными ресурсами, решающий задачу SOMDL с параметрами (k,l) для произволь ного k £ N, такой, что
Advg;rL (Д) ^ AdvGJT (B).
Таким образом, задача SOMDL с параметрами (k,l) не сложнее задачи OMDL с параметром I.
Утверждения 1 и 2 показывают, что из сложности задачи SOMDL следует сложность известных задач SDL и OMDL, однако на данный момент не удалось получить результатов, что сложность этих базовых задач является достаточным условием сложности SOMDL, Таким образом, задача SOMDL — это новая задача, требующая отдельных исследований.
Задача REPR
Эта задача-модификация задачи Representation [9], её параметром является значение s £ N.
Определение 5. Для нарушителя Д, группы G и параметра s положим
AdvGE/R (Д) = Pr[ExpGJR (Д) ^ 1], где эксперимент ExpG'SPR (Д) определяется следующим образом:
ExpG,s (A)
JU TJJ*
Xi, . . . , Xs » Z^q
(ai,... ,as,e) ^ A(xi P,..., xsP)
return (aixi + ... + asxs + в = 0) Л (3i : ai = 0)
Нарушитель получает на вход набор точек xiP, ...,xsP, его задача —найти та-
ai, . . . , as, , xi, . . . , xs
ai,..., as равна (—,).
5,2, Оценка стойкости в модели wUF
Через AdvCpBs(A) будем обозначать преимущество нарушителя A для схемы CP-BS в модели wUF со случайным оракулом и алгебраической группой (вероятность построения подделки),
A CP BS
гебраичеекой группой, делающего не более t и l запросов к оракулам Signi и Sign2
qi q2
работу хеш-функций H и H соответственно, существуют нарушитель B, решающий задачу SOMDL с параметрами (2t, t) и нарушитель C, решающий задачу REPR с па-( qi + l + 1)
AdvCpUls(A) ^ 2 Adv£™DL (B) + AdvGEq1ii+i(C) + 2(l + ^ + q2.
При этом TB « 2Тд, Tc « Тд, вде TA,TB, TC — вычислительные ресурсы нарушителей A, B, C соответственно.
Доказательство теоремы 1 приведено в Приложении В,
Интерпретация оценки. Полученная оценка стойкости свидетельствует о том, что сложность задач SOMDL и REPR является достаточным условием стойкости схе-CP BS
ответетвующих значениях параметров схемы. Более того, рассмотрение каждого из слагаемых, входящих в оценку, позволяет сделать вывод о некоторых необходимых условиях стойкости схемы. Далее сопоставим каждое слагаемое конкретным методам CP BS
CP BS
dk k
Для задачи SOMDL на текущий момент неизвестно более эффективных методов решения, чем за счёт решения либо задачи SDL, либо задачи OMDL, Для задачи OMDL неизвестно более эффективных методов решения, чем решение задачи дискретного логарифмирования [25], Для задачи SDL известен метод решения, вычислительная трудоёмкость которого ниже, чем трудоёмкость известных методов решения задачи дискретного логарифмирования, — метод, предложенный в [26] для случая, когда параметр s является делителем (q — 1), Он требует Тор = ci logq (\/q/s + у^) вычислений групповых операций и Tmem = c2 max(^/q/s, у^) памяти, где ci, c2 — константы, зависящие только от используемой модели вычислений,
CP BS
етвительно, нарушитель, выступающий в роли клиента, может последовательно от-t Mi = Q = dP
а в последующих сеансах — значения Mi = Zi-1 = dMi-1 = diP, 2 ^ i ^ t, где Zi-1 — значение Z, полученное в ответ от сервера в (i — 1)-м сеансе. Таким образом, в качестве значений Zi; 1 ^ i ^ t, в открытых сеансах нарушитель получит значения d2P,..., di+1P, Тогда, используя метод решения задачи SDL с параметром s = t + 1 из
d
t
не превышает 264, Обозначим через sm максимальный делптель числа (q — 1) для заданной кривой такой, что sm ^ 264 + 1, В таблице приведены значения sm и параметры метода для стандартизированных в России эллиптических кривых простого порядка, определённых в [27],
Кривая log q sm op mem
id-tc26-gost-3410-2012-256-paramSetB 256 « 232 2120 2112
id-tc26-gost-3410-2012-256-paramSetC 256 « 262 21оЬ 297
id-tc26-gost-3410-2012-256-paramSetD 256 « 264 2104 296
id-t c26-gost-3410-12-512-paramSet A 512 « 225 2^52 2243
id-tc26-gost-3410-12-512-paramSetB 512 « 211 22ЬУ 2250
Значения Тор и Tmem рассматриваемого метода равны c\ - op и c2 • mem соответственно. Таким образом, в схеме CP-BS рекомендуется использовать эллиптические кривые с как можно меньшим значением sm.
CP BS
отношений между точками M' = H(m¿) для различных сообщений m¿ и генерационной точкой P.
Для задачи REPR неизвестно лучших методов решения, чем решение задачи дискретного логарифмирования [9], Заметим, что решение задачи дискретного логарифмирования хотя бы для одной точки M' = H(m¿), 1 ^ i ^ qi, позволяет реализовать атаку типа ROS, описанную в п. 4.
CP BS
значения сС в подписи. Действительно, для фиксированных значений Z',s' и сообщения m вероятность найти значение С, такое, что алгоритм проверки подписи завер-
q2 „ ,
шитея успешно, можно оценить как -, где q2 — количество вычислении хеш-функ-
q - 1
ции H.
Вывод. Полученная оценка указывает, что достаточным условием стойкости схе-CP BS
сложность задач SOMDL и REPR, На данный момент не удалось доказать, что сложность задачи SOMDL является необходимым условием стойкости схемы в указанной модели. Исходя из рассуждений выше, необходимым условием является сложность другой задачи в группе — задачи SDL, Для задачи SDL, в свою очередь, в [21] получены результаты, косвенно свидетельствующие в пользу того, что эта задача в общем случае может быть легче, чем задача дискретного логарифмирования. Более того, так как решение задачи SOMDL не удалось пока свести только к решению SDL, могут быть обнаружены другие методы, решающие задачу SOMDL и приводящие к взлому CP BS
статочных для стойкости схемы базовых задач требуется проведение дополнительных исследований их сложности.
ЛИТЕРАТУРА
1. Chaum D. Blind signatures for untraceable payments // D. Chaum, R. L. Rivest, and A.T. Sherman (eds.). Advances in Crvptologv. Boston, MA: Springer, 1983. P. 199-203.
2. Fujioka A., Okamoto Т., and Ohta K. A practical secret voting scheme for large scale elections // LNCS. 1993. V.718. P. 244-251.
3. Pointcheval D. and Stern J. Provablv secure blind signature schemes // LNCS. 1996. V. 1163. P. 252-265.
4. Schnorr C.P. Security of blind discrete log signatures against interactive attacks // LNCS. 2001. V. 2229. P. 1-12.
5. Benhamouda F., Lepoint Т., Loss J., et al. On the (in) security of ROS //J. Crvptologv. 2022. V. 35. No. 4. Article 25.
6. Akhmetzyanova L., Alekseev E., Babueva A., and Smyshlyaev S. On the (im)possibilitv of secure ElGamal blind signatures // Матем. вопр. криптогр. 2023. Т. 14. №2. С. 25-42.
7. Pointcheval D. and Stern J. Security arguments for digital signatures and blind signatures // J. Crvptologv. 2000. Y. 13. P. 361-396.
8. Abe M. and Okamoto T. Provablv secure partially blind signatures // LNCS. 2000. V. 1880. P. 271-286.
9. Brands S. Untraceable off-line cash in wallets with observers // LNCS. 1994. V. 773. P. 302-318.
10. Chaum D. and PedersenT.P. Wallet databases with observers // LNCS. 1993. V. 740. P. 89-105.
11. FischlinM. and Schroder D. On the impossibility of three-move blind signature schemes // LNCS. 2010. V.6110. P. 197-215.
12. Pass R. Limits of provable security from standard assumptions // Proc. 43rd Ann. ACM Svmp. Theory Computing. San Jose, California, USA, 2011. P. 109-118.
13. Bellare M. and Rogaway P. Random oracles are practical: A paradigm for designing efficient protocols 11 Proc. CCS'93. Fairfax, Virginia, USA, 1993. P. 62-73.
14. Nechaev V. I. Complexity of a determinate algorithm for the discrete logarithm // Math. Notes. 1994. V.55. No. 2* P. 165-172.
15. Fuchsbauer G., Kiltz E., and Loss J. The algebraic group model and its applications // LNCS. 2018. V. 10992. P. 33-62.
16. Baldimtsi F. and Lysyanskaya A. On the security of one-witness blind signature schemes // LNCS. 2013. V. 8270. P. 82-99.
17. Chairattana-Apirom R., Tessaro S., and Zhu C. Pairing-Free Blind Signatures from CDH Assumptions. Crvptologv ePrint Archive. 2023. Paper 2023/1780. https://eprint.iacr. org/2023/1780.
18. Crites E., Komlo C., Mailer M., et al. Snowblind: A threshold blind signature in pairing-free groups // LNCS. 2023. V. 14081. P. 710-742.
19. Tessaro S. and Zhu C. Short pairing-free blind signatures with exponential security // LNCS. 2022. V. 13276. P. 782-811.
20. Bellare M., Namprempre C., Pointcheval D., and Semanko M. The one-more-RSA-inversion problems and the security of Chaum's blind signature scheme //J. Crvptologv. 2003. V. 16. No. 3. P. 185-215.
21. Bauer В., Fuchsbauer G., and Loss J. A classification of computational assumptions in the algebraic group model // LNCS. 2020. V. 12171. P. 121-151.
22. Faz-Hernandez A., Scott S., Sullivan N., et al. Hashing to Elliptic Curves, https:// datatracker.ietf.org/doc/rfc9380/.
23. Paquin С. and Zaverucha С. U-Prove Cryptographic Specification VI.1 (Revision3). https://www.microsoft.com/en-us/research/publication/u-prove-cryptographic-specification-vl-l-revision-3/. 2013.
24. BonehD. and Boyen X. Short signatures without random oracles // LNCS. 2004. V. 3027. P. 56-73.
25. Koblitz N. and Menezes A. Another look at non-standard discrete log and Diffie — Hellman problems 11 J. Math. Cryptologv. 2008. V.2. No. 4. P. 311-326.
26. Cheon J. H. Security analysis of the strong Diffie — Hellman problem // LNCS. 2006. V. 4004. P.1-11.
27. P 1323565.1.024-2019 «Информационная технология. Криптографическая защита информации. Параметры эллиптических кривых для криптографических алгоритмов и протоколов». М.: Стандартинформ, 2019.
28. Van der Meer N. Root Finding over Finite Fields for Secure Multiparty Computation. Bachelor Thesis. Eindhoven University of Technology, 2021.
REFERENCES
1. Chaum D. Blind signatures for untraceable payments. D. Chaum, R. L. Rivest, and A.T. Sherman (eds.). Advances in Cryptologv, Boston, MA, Springer, 1983, pp. 199-203.
2. Fujioka A., Okamoto Т., and Ohta K. A practical secret voting scheme for large scale elections. LNCS, 1993, vol.718, pp.244-251.
3. Pointcheval D. and Stern J. Provablv secure blind signature schemes. LNCS, 1996, vol. 1163, pp.252-265.
4. Schnorr C. P. Security of blind discrete log signatures against interactive attacks. LNCS, 2001, vol.2229, pp. 1-12.
5. Benhamouda F., Lepoint Т., Loss J., et al. On the (in) security of ROS. J. Cryptologv, 2022, vol.35, no.4, Article25.
6. Akhmetzyanova L., Alekseev E., Babueva A., and Smyshlyaev S. On the (im)possibility of secure ElGamal blind signatures. Matem. Vopr. Kriptogr., 2023, vol. 14, no. 2, pp. 25-42.
7. Pointcheval D. and Stern J. Security arguments for digital signatures and blind signatures. J. Cryptologv, 2000, vol.13, pp. 361-396.
8. Abe M. and Okamoto T. Provablv secure partially blind signatures. LNCS, 2000, vol. 1880, pp.271-286.
9. Brands S. Untraceable off-line cash in wallets with observers. LNCS, 1994, vol.773, pp.302-318.
10. Chaum D. and PedersenT.P. Wallet databases with observers. LNCS, 1993, vol.740, pp.89-105.
11. Fischlin M. and Schroder D. On the impossibility of three-move blind signature schemes. LNCS, 2010, vol.6110, pp. 197-215.
12. Pass R. Limits of provable security from standard assumptions. Proc. 43rd Ann. ACM Svmp. Theory Computing, San Jose, California, USA, 2011, pp. 109-118.
13. Bellare M. and Rogaway P. Random oracles are practical: A paradigm for designing efficient protocols. Proc. CCS'93, Fairfax, Virginia, USA, 1993, pp. 62-73.
14. Nechaev V. I. Complexity of a determinate algorithm for the discrete logarithm. Math. Notes, 1994, vol.55, no.2, pp. 165-172.
15. Fuchsbauer G., Kiltz E., and Loss J. The algebraic group model and its applications. LNCS, 2018, vol.10992, pp. 33-62.
16. Baldimtsi F. and Lysyanskaya A. On the security of one-witness blind signature schemes. LNCS, 2013, vol. 8270, pp. 82-99.
17. Chairattana-Apirom R., Tessaro S., and Zhu С. Pairing-Free Blind Signatures from CDH Assumptions. Crvptologv ePrint Archive, 2023, Paper 2023/1780, https://eprint.iacr. org/2023/1780.
18. Crites E., Komlo C., Mailer M., et al. Snowblind: A threshold blind signature in pairing-free groups. LNCS, 2023, vol.14081, pp. 710-742.
19. Tessaro S. and Zhu C. Short pairing-free blind signatures with exponential security. LNCS, 2022, vol.13276, pp. 782-811.
20. Bellare M., Namprempre C., Pointcheval D., and Semanko M. The one-more-RSA-inversion problems and the security of Chaum's blind signature scheme. J. Crvptologv, 2003, vol. 16, no. 3, pp.185-215.
21. Bauer В., Fuchsbauer G., and Loss J. A classification of computational assumptions in the algebraic group model. LNCS, 2020, vol. 12171, pp. 121-151.
22. Faz-Hernandez A., Scott S., Sullivan N., et al. Hashing to Elliptic Curves, https:// datatracker.ietf.org/doc/rfc9380/.
23. Paquin C. and Zaverucha G. U-Prove Cryptographic Specification VI.1 (Revision3). https://www.microsoft.com/en-us/research/publication/u-prove-cryptographic-specification-vl-l-revision-3/, 2013.
24. BonehD. and BoyenX. Short signatures without random oracles. LNCS, 2004, vol.3027, pp.56-73.
25. Koblitz N. and Menezes A. Another look at non-standard discrete log and Diflie — Hellman problems. J. Math. Crvptologv, 2008, vol.2, no. 4, pp. 311-326.
26. Cheon J. H. Security analysis of the strong Diflie — Hellman problem. LNCS, 2006, vol. 4004, pp.1-11.
27. R 1323565.1.024-2019 «Informatsionnava tekhnologiva. Kriptograficheskava zashchita informatsii. Parametrv ellipticheskih krivvh diva kriptograficheskih algoritmov i protokolov» [R 1323565.1.024-2019 "Information Technology. Cryptographic Data Security. Elliptic Curve Parameters for the Cryptographic Algorithms and Protocols"]. Moscow, Standartinform Publ., 2019. (in Russian)
28. Van der Meer N. Root Finding over Finite Fields for Secure Multiparty Computation. Bachelor Thesis, Eindhoven University of Technology, 2021.
Приложение А. Модель wUF (weak UnForgeability)
Определим формально модель wUF, в которой предполагается, что нарушитель имеет возможность проводить атаку с параллельными сеансами, а его задача —сфор-(l + 1) l
Данную модель определим для двухраундовых схем подписи вслепую. Протокол формирования подписи (Sign, User) в таких схемах можно формально задать следующим образом:
(msgj,0, statej,0) ^ BS.Usero(pk, m) (msgs,i, states,i) ^ BS.Signi(sk, pk,msgj,o) (msgj,i, statej,i) ^ BS.Useri(stateJ,0, msgs,i) (msgs,2,b) ^ BS.Sign2(states,i,msgj,i) a ^ BS.User2(statej,i, msgs,2)
Здесь msgro1e,i означает сообщение с порядковым номером i, отправляемое стороной ro/e f {U, S} в рамках протокола, а переменная statero1e,i позволяет стороне взаимо-
действия то1е сохранить некоторое внутреннее состояние на г-ш раунде и использовать его на последующем раунде.
Определение 6. Для двухраундовой схемы подписи вслепую ВБ положим
Д^5ир (А) = Рг[Ехр-5ир (А) ^ 1],
где эксперимент Ехр^Р (А) определяется следующим образом:
ExpBs (A)
1: (sk, pk) ^ BS.KGen()
2 : sid,I ^ 0,Ifin ^ 0
3 : {(mk, °*к)}Ц\ ^ ASigni'Sign2 (pk)
4 : return (Vki = k2 G {1,...,1 + 1} : m*kl = m*k2
5 : Л Vk G {1,...,1 + 1} : BS.Verify(pk, m*k, = 1)
Oracle Sign1 (msg)
1 : sid ^ sid + 1
2 : (msg', states) ^ BS.Sign1(sk, pk, msg)
3 : return (sid, msg')
Oracle Sign2(j,msg)
1 : if j G [sid] \ Ifin : return ±
2 : (msg',b) ^ BS.Sign2(statej,msg) if b = 1 :1 ^ I + 1
Ifin ^ Ifin U {j}
return msg
Приложение В. Доказательство теоремы 1
Пусть А — нарушитель для схемы подписи СР-ВБ в модели \vUF- У него есть доступ к четырём оракулам: 81§пь 31§п2, ЕО ^ Е02, Оракул Е01 моделирует работу хеш-функции Н и возвращает точки эллиптической кривой (за исключением нулевой точки), Оракул Е02 моделирует работу хеш-функции Н и возвращает элементы Z*, Пусть нарушитель А делает не более г запросов к оракул у Sign1, не бол ее I запросов к оракулу 81ёп2,1 ^ г, не более д1 запросов к оракулу ЕОь~ не бол«; ^ запросов к оракулу ЕО^. Таким образом, нарушитель А завершит I сеансов протокола формирования подписи и откроет г сеансов, В результате своей работы нарушитель А возвращает (I + 1) пару (сообщение, подпись),
А
разложение по элементам группы, которые появлялись до этого момента в рамках эксперимента (в силу того, что рассматривается модель с алгебраической группой). За время эксперимента нарушитель А получает от экеиериментатора точки Р, Q,
Ai, Bi, Zi, i
l,...,t,M',i =l,...,qi.
Нарушитель А подаёт точки Мр 1 ^ 3 ^ г, па вход оракулу 81§п1, точки Мр, р Л'р Б'р д = 1 ..., д2, — на вход оракулу Е02, а также точки 1 ^ г ^ I +1, — в составе подписей в подделке. Для всех этих точек он должен предоставить разложение. Зафиксируем наборы коэффициентов
(«г, ^ Ьр : 3 = 1,...,t}, {°р : 3 = 1,...,t}, {пр : ] = 1,...,t}, {£р : 3 = 1,..., ,
определяющие разложение точек Бг', 1 ^ г ^ д2, подаваемых нарушителем на вход 2
4 4 4 91
В = агР + + Е 7рЛр + Е орВр + Е Пр2 + Е &М'.
р=1 р=1 р=1 р=1
Зафиксируем также наборы коэффициентов
(aj Л", {7ji : i=l,...,j - 1} { j : i=l,...,j - 1} {^ji : i=l,...,j - 1} : ¿=l,...,qi^,
определяющие разложение точек Mj, l ^ j ^ t, подаваемых нарушителем на вход i
j —1 j —1 j —1 91
Mj = a p + e q + e TjiAi + e ^jiBi + e + e jM?.
i=1 i=1 i=1 i=1
Шаг 2, Пусть нарушитель A выдал некоторую корректную пару (m, (s',c',Z')) в качестве подделки. Нарушитель A мог делать запрое M' || Z' || A' || B' к оракулу R02, где M' = H(m), A' = s'P — c'Q, B' = s'M' — c'Z', или не делать его,
A
делено новое значение случайной функции, поэтому вероятность того, что функция Verify вернёт 1, не будет превосходить (q — l)-1 для конкретного значения подделки. Поскольку количество подделок равно I +1, то суммарная вероятность того, что не был сделан хотя бы один запрос, не превышает (I + 1)/(q — 1),
Далее будем рассматривать только те эксперименты, в которых каждой выданной подделке соответствует запрос нарушителя A к оракулу RO2.
Шаг 3, Серверная часть протокола формирования подписи схемы подписи вслепую Шаума — Педереена в точности повторяет действия доказывающего в протоколе доказательства с нулевым разглашением Шаума — Педереена [10]. Это протокол доказательства равенства двух дискретных логарифмов:
DLogp Q = DLogM Z.
Проверка доказательства осуществляется аналогично проверке подписи в схеме Шаума — Педереена,
Аналогично протоколу доказательства Шаума — Педереена, можно показать, что если некоторая подпись (s',c',Z') успешно проходит проверку для сообщения m, то значение Z' в составе этой подписи с большой вероятностью равно dM', где M' = H(m), Действительно, пусть для этой подписи DLogM, Z' = x = d. Согласно алгоритму проверки подписи, восстановим значения A' = s'P — c'Q и B' = s'M' — c'Z' и рассмотрим соответствующий данной подписи запрос (M' || Z' || A' || B') к оракулу R02, Заметим, что в силу шага 2 этот запрос обязательно был сделан. Пусть k1 = DLogPA' и k2 = DLogM,B', Тогда для данных значений должны быть выполнены равенства
k1 = s' — c'd, k2 = s' — c'x.
Получаем s' = k1 + c'd = k2 + c'x откуда с' = (k1 — k2)/(x — d), d = x. Таким образом, уравнения выполнены (а значит, подпись успешно проверяется) при единственном с
Вероятность того, что для конкретного запроса выход случайного оракула примет значение (k1 — k2)/(x — d), равна (q — 1)—1.
Поскольку нарушитель A делает не более q2 запросов к случайному оракулу R02, вероятность того, что хотя бы для одного запроса будет выполнено условие выше, не превосходит q2/(q — 1). Таким образом, с вероятностью не больше q2/(q — 1) среди точек Zi, 1 ^ i ^ I +1, в составе всех подделок есть хотя бы одна точка, не равная dMi.
Далее рассмотрим только те эксперименты, в которых нарушитель возвращает подделки, для каждой из которых верно, что Z' = dM'i7 1 ^ i ^ I +1,
Таким образом, мы перешли от исходного эксперимента Exp(A) = ExpCpBs(A) к модифицированному эксперименту Exp', работающему так же, как исходный эксперимент, за исключением наступления определённых событий (см, шаги 2-3), Разницу преимуществ нарушителя в исходном и модифицированном экспериментах можно оценить как
I + 1 + q2
Pr[Exp(A) ^ 1] - Pr[Exp' (A) ^ 1] ^
q - 1
Будем строить двух нарушителей: нарушителя B для задачи SOMDL и нарушителя C
A
что если нарушитель A успешно решает свою задачу, т.е. строит (I +1) подделку в результате I успешных взаимодействий с подписывающим, то хотя бы один из нару-BC
BB
A1,..., At, Q. Нарушитель B заводит два множества П1, П2, изначально полагая их пустыми, запускает нарушителя A, подавая ему на вход точку Q, и моделирует ответы на запросы к случайным оракулам, используя так называемую технику «lazy sampling», следующим образом:
1 ( m)
SimR02(str)
if m G П1 :
return n1(m)P u
x
zq
П1 ^ П1 U {m, x} return xP
1 : if str G П2 :
2 : return n2(str)
c Zq
П2 ^ П2 U {str, c} return c
Нарушитель В фиксирует переходы случайных функций адаптивно по мере запросов нарушителя А к соответствующим случайным оракулам, сохраняет в множество П2
все пары (запрос, ответ), соответствующие работе оракула ШЭ2, а в множество П1 —
1
В
возвращает то же значение, что и в прошлый раз, используя значения, сохраненные в множествах П1, П2. Заметим, что по построению нарушитель В знает дискретные логарифмы точек М' относительно точки Р.
Нарушитель В симулирует работу оракулов Б1§п1 и Б1§п2 следующим образом:
SimSign1(M)
SimSign2(i, c)
Ц i-й запрос нарушителя A
A ^ Ai B ^ O1(i,M) Z ^ O1(t + 1,M) return (A, B, Z)
Y ^ Ai + cQ s ^ O2(Y)
return s
А г М 1
тель В полагает точку Л равной очередной точке Лг = кгР, полученной на входе.
Для получения точки В нарушитель делает запрос (г,М) к оракулу 01 и получает в ответ точку кМ. Для получения точки ^ нарушитель делает запрос (£ + 1,М) к оракулу 01 и получает в ответ точку ¿М. Тройку (А, В, ^) нарушитель возвращает в качестве ответа на запрос к оракулу 81§п1, В результате нарушитель В делает не более 2£ запросов к собственному оракулу 01.
Работу оракула Б1§п2 нарушитель В симулирует следующим образом: получив запрос (г, с), формирует точку У = А + сф, делает запрос У своему оракулу 02 и возвращает полученный ответ БЬо§Р(А^ + сф) = к + Ы нарушителю А.
В результате своей работы нарушптель А возвращает (I +1) пару (сообщение, подпись) (ш^, (в/, с/, ^)), г = 1,... ,1 +1, В силу шага 2 для каждого значения подделки можно найти соответствующий запрос (М/, ^, А/, В/) к оракулу К02, В рамках этого
А
ностн точки В/,
В
4 4 4 91
в/М/ - с/^ = В/ = а/Р + в/ф + Е 7.А; + Е ^В, + Е П.^ + Е С.М., (1)
.7 = 1 '=1 '=1 '=1
где г е {1,... ,1 + 1} Таким образом, нарушитель В получит систему из (I +1) уравнения,
В
А2 В
точки А. и В. как (в.Р — с.ф) и (в.М. — с.^) соответственно. Для всех незавершённых сеансов нарушитель В те делал запрос к оракулу 02 (так как нарушитель А не делал запрос к Б1§п2), а потому те знает представление к. через линейную комбинацию (в. — с.Пусть для всех незавершённых сеансов с некоторым номером ]
В А А.
ему оракулу 02. Тогда он получает в ответ соответствующие значения к. и может в явном виде представить все точки А. и В. из незавершённых ееансов как к. Р и к. М. соответственно, В результате количество запросов нарушителя В к оракулу 02 равно ¿.
Заметим также, что все значения ^ в разложении (1) можно представить как ¿М. а точка согласно шагу 3 и порядку симулирования оракула КО^, равн а ¿М/ = ¿хР, Будем обозначать через 3 С {1,..., ¿} множество номеров завершённых сеансов, НЗ С {1,..., ¿} — незавершённых. Рассмотрим уравнение (1) относительно неизвестного 111
в / х / Р с^ б/х / Р -В/
= аР + в^Р + £ т. (в.Р — с.¿Р) + Е 7/.к Р+
.енз (2)
+ Е ^— с.) + Е + Е п.+ Е С.хР.
.ез .енз .=1 .=1
Покажем, что в этом разложении можно переформировать коэффициенты таким образом, чтобы избавиться от сумм вида Е ■
.енз
Прибавим к а значение Е 7.к. известное нарушителю В, Обозначим результиру-
.енз
ющий коэффициент через а*, избавившись тем самым от суммы Е 7.кР- Заметим,
.енз
что коэффициент а* фиксируется в момент подачи запроса оракулу К02 нарушителем А, так как коэффицненты а^, 7. подаются в составе этого запроса, а значения к.,
соответствующие ye = 0, уже были выбраны экспериментатором нарушителя B, Действительно, A подаёт разложение только по тем точкам, которые возвращались ему в результате эксперимента, а значит, он уже делал запросы Signi в j-x сеансах.
Рассмотрим точки Mj, соответствующие незавершённым сеансам. Точка Mj из первого незавершённого сеанса, очевидно, не зависит от других точек из незавершённых
сеансов, а потому может быть представлена как линейная комбинация точек только
j
жет зависеть от точек из завершённых сеансов, а также от значений Aj, Bj, Zj первого незавершённого сеанса с номером j. В этом случае можно представить точки Aj, Bj, Zj как kjP, kj Mj и dMj, где Mj зависит только от точек из завершённых сеансов. Таким образом, перегруппировав коэффициенты, получим представление точки Mj' через точки, соответствующие завершённым сеансам. Далее аналогично можно представить все точки Aj, Bj из незавершённых сеансов как линейные комбинации точек из завершённых сеансов.
Можно переписать систему уравнений (2) как
з'гхгР - c'tdxtP = а'гР + e[dP + Е Yij (sjP - CjdP) +
je3
t qi (3)
+ E oj (SjMj - CjdMj) + E nijdMj + E CijXjP. j& j=i j=i
Аналогично значения всех коэффициентов а'г, вг, Yij, aij, nij, £ij фиксируются в момент подачи запроса оракулу RO2 нарушителем A.
Mj A
при запросе к оракулу Sign^, При этом точки Mj можно представить в виде
Mj = Е lj,tdtP, t=0
где Zj)t — аффинная функция от зиачепий xi,... , xqi, Действительно, точка Mi является разложением только по точкам P,Q = dP, Mi = х^, 1 ^ i ^ qi, т. е, разложение
d M2
нии точку Zi = dMi, а потому степень d в разложении может увеличиться на единицу,
Mj j d
i хг
значения никогда не умножаются друг на друга и могут входить в разложения только в первой степени через замешивание точек M'. Таким образом, каждый коэффициент
перед dtP можно представить как аффинную функцию от значений xi,... ,xqi.
Mj
Mj
i
Bj, Zj за счёт домножения всех коэффициентов на kj и d соответственно и представления точек Mj' из предыдущих запросов. Таким образом, нарушитель на каждом шаге контролирует разложения всех точек,
P
следующим образом:
sixi - cidxi = ai + в %d + Е Yij-(sj - Cjd) +
je3
j t j qi
+ E ^ij (sj - cjd) E ^ j,tdt + E nijd E 1 j,tdt + E Cij xj. j& t=0 j=i t=0 j=i
Для нарушителя В единственным неизвестным в этой еиетеме является значение d. Каждое уравнение представляет собой полином от d степени не больше I +1, При этом в силу того, что подписи корректные и нарушитель предоставляет корректное разло-
d
мы существенно зависит от d, то нарушитель В может найти значение d с помощью вероятностного алгоритма факторизации полиномов, описанного в [28, алгоритм 4]. Положим количество итераций данного алгоритма равным 2(log I + 1), Тогда трудоёмкость поиска всех корней полинома составляет 0(1) операций. Событие, что алгоритм успешно решает задачу, обозначим через factor, вероятность успешного запуска алгоритма составляет Pr[factor] ^ 1/2. Нарушитель В, найдя все корни системы (4), может найти правильное значение ключа d перебором по всем корням dj, 1 ^ i ^ I, и сравнением d^P с открытым ключом Q, трудоёмкость этого шага составляет 0(1) операций. Трудоёмкость поиска ключа d, таким образом, не превосходит ТД. Если нарушитель В
d
может восстановить все остальные значения kj из линейных комбинаций, полученных им от оракула 02,
Единственным случаем, при котором нарушитель В не может найти корень d, яв-
d
веех уравнениях коэффициент перед всеми степенями d равен 0, В частности, в этом
d
0
91
= aj + Е Yj + Е j,o + E Cij, i = 1,..., 1 + 1. (5)
j& j& j=i
Обозначим через event событие, когда не выполнено условие (5), Тогда
Advg^(В) = Pr[ExpGS?L(В) ^ 1] = Pr[(Exp'(A) ^ 1) Л event Л factor] =
= Pr[(Exp'(A) ^ 1) Л event] Pr[factor] ^ 1 ■ Pr[(Exp'(A) ^ 1) Л event].
event
нарушитель C с большой вероятностью успешно решает задачу OMDL.
Построение нарушителя C. Сначала построим нарушителя C, решающего задачу REPR, Пусть нарушитель C получает на вход точки XiP,..., x91 P, где значения x выбраны случайно равновероятно из Z*.
Нарушитель C самостоятельно генерирует ключ подписи d и значения kj, поэтому моделирует работу оракулов Signi и Sign2 точно так же, как экспериментатор нарушителя A. Работу оракул a R02 нарушите ль C симулирует так же, как и нарушитель В, Работу оракула ROi противн ик C симулирует, отдавая на каждый но вый запрос m очередную точку XjP, полученную нарушителем C на вход от своего собственного экспериментатора.
Нарушитель C так же, как и нарушитель В, может составить систему уравнений (1), получив (I + 1) подделку от нарушителя A. Заметим, что для нарушителя C неизвестными в этом уравнении будут являться только величины Xj. Значения d и k ему
C
зовать это уравнение точно так же, как и нарушитель В, выразив kj от завершённых сеансов через d и подставив известные ему kj для незавершённых сеансов.
Покажем, что если выполнено условие (5), то нарушитель С с большой вероятностью успешно решает задачу КЕРН, т, е, находит нетривиальную линейную комбинацию значений х1,... ,хд1.
Пусть есть (I + 1) уравнение относительно переменных х\,... ,хд1. Если хотя бы в одном из этих уравнений перед некоторым хг стоит ненулевой коэффициент, то это уравнение задаёт нетривиальную линейную комбинацию. Таким образом, «плохим»
хг
нулю.
Прежде чем выписать это условие, сделаем два технических преобразования:
1) Перенумеруем подделки таким образом, чтобы они были упорядочены по порядку соответствующих им запросов к случайному оракулу ШЭ2, В силу шага 2 для каждой подделки можно найти запрос к ШЭ2, Тогда получим, что запрос для г-й подделки выполнен раньше, чем запрос для (г + 1)-й подделки, 1 ^ г ^ I. Технически это преобразование означает, что мы поменяли местами уравнения в системе (4), Очевидно, что подобное изменение не влияет на решение системы и может быть сделано за полиномиальное время,
2) Переобозначим переменные х^ ..., х91 таким образом, чтобы сообщению тг в со-
г
вала переменная хг, т. е. чтобы было выполнено Н(тг) = хгР, Если переменная хг не соответствует ни одной подделке, то её индекс может быть произвольным, Очевидно, что подобное изменение также не влияет на решение системы и может быть сделано за полиномиальное время,
В результате этих преобразований получаем систему уравнений (4), уравнения в которой упорядочены по порядку запросов к ШЭ2, а переменные хг — по вхождению в набор подделок. Напомним условие (5), при котором нарушитель В не может успешно решить свою задачу:
»гхг
91
а + Е ^ »з + Е ^ »з Мхь... > х91) + Е & х- > 1 ^г <1 +1
Из »3 1 игз »3 3,0 3 = 1 3 = 1
3 = 1
Выпишем в матричном виде условие, означающее, что во всех уравнениях этой системы коэффициенты перед всеми х3- равны нулю, т. е. условие, при котором нарушитель С не может успешно решить свою задачу:
91
I + 1 <
0 0. .0 0 . . . 0
0 »2 0. .0 0 . . . 0
0 0 . .0 0 . . . 0
V0 0 0. . »1+1 0 . . . 0
\ \
(6)
°%3 »3
3,о
/ V
+
Чг3
I
91
91
Заметим, что коэффициенты составляющие матрицу справа, фиксируются при
2
ложения точки В на входе случайного оракула и коэффициентами разложений точек М,, которые на текущий момент уже были отправлены оракулу 81§п;, при этом значения фиксируются в момент подачи нарушителем А соответствующего запроса к оракулу КО2- Тогда при подаче первого запроса к К02 фиксируется первая строка матрицы (£,), при подаче второго запроса — вторая и так далее.
Если сделан запрос (М' || || А' || В') к оракулу Е02, то зафиксировано в том числе значение к' = БЬо§м,В', значение й также фиксировано, В результате подачи запроса выбирается некоторое случайное с', Поскольку подпись (в',с',^) является корректной, должно быть верно условие В' = в'М' — с'^', откуда следует в' = к' + с'й. Тогда, поскольку значения к' и й фиксированные, а с' выбирается случайно равновероятно из множества мощности (д — 1), можно считать, что значение в' также выбирается случайно равновероятно из множества мощности (д — 1), Значит, можно считать, что элементы матрицы, стоящей слева в уравнении (6), выбираются случайно равновероятно после фиксации определённым образом матрицы справа, состоящей из значений Перепишем матричное уравнение (6) следующим образом:
91
/Ч — &
I+1
в' -
£22
в3 £33
..Л
в
1+1 £(1+1)(1+1)
\ /■■
V
,,0
V
I
91
Справа в этом уравнении стоит произведение двух матриц, ранг каждой из которых не превосходит I (их размер (I + 1) х I и I х соответственно). Тогда ранг произведения также не превосходит I,
Оцепим, с какой вероятностью ранг матрицы слева будет отличен от (1+1). Для этого будем рассматривать квадратную подматрицу размера (I +1) х (I +1), взяв левые (I +1) столбцов исходной матрицы. Можно считать, что элементы, стоящие па главной диагонали этой подматрицы, выбираются случайно равновероятно из множества мощности (д — 1) (так как в' выбираются случайно). Подматрица, согласно рассуждениям выше, формируется следующим образом: фиксируется определённым произвольным образом первая строка, кроме элемента, стоящего на главной диагонали, после чего случайно выбирается этот элемент. Далее фиксируется вторая строка и случайно выбирается элемент, стоящий на главной диагонали, и так далее.
Ранг квадратной матрицы размера т х т отличен от т тогда и только тогда, когда её определитель равен нулю. Будем обозначать квадратную подматрицу размера ¿, стоящую в левом верхнем углу, через А4, Искомую вероятность можно оценить как
Рг[ае^Ат) = 0] = Рфе^А^) = 0 Л ае^А*) = 0] + Рг[ае^Ат) = 0 Л ае^А*) = 0] ^ ^ Рг[ае^) = 0] + Рг[ае^Ат) = 0 | ае^А*) = 0] ^
^ ... ^ Рг[ае^А;) = 0] + £ Рг[ае^Ат) = 0 | ае^А*) = 0].
г=1
Матрица A1 состоит только из элемента s1 — который выбирается случайно. Определитель будет равен нулю, если этот элемент равен нулю, вероятность такого события равна (q — 1)-1, т, е, Pr[det(Ai) = 0] = (q — 1)-1. Далее — индукция по размеру t матрицы At,
Пусть det(Aj) = di = 0, Оценим Pr[det(Ai+1) = 0 | det(Aj) = 0]. Матрица Ai+1 получается из матрицы Ai приписыванием справа и снизу ещё одного столбца и ещё одной строки, при этом сначала произвольным образом фиксируются все элементы, кроме элемента с номером (i + 1,i + 1), после чего он выбирается случайно равновероятно. Разложим det(Aj+1) по последней строке, тогда det(Ai+1) равен сумме (sj+1 i+1 — £j+1 i+1) det(Aj) и некоторых фиксированных значений. Таким образом, det(Ai+1) = 0 только в том случае, когда sj+1 i+1 принимает фиксированное значение,
(q — 1)-1
Pr[det(Ai+1) = 0 | det(Aj) = 0] = (q — 1)-1,
откуда следует
I +1
Pr[det(Ai+1) = 0] ^ .
q — 1
Итак, в (6) слева с вероятностью больше либо равной (1 — (I + 1)/(q — 1)) стоит матрица ранга (I + 1), справа —матрица ранга не больше I. Это означает, что условие (6) с большой вероятностью не выполнено, а значит, среди уравнений системы (5) есть нетривиальная линейная комбинация переменных xi.
Замечание 2. Если нарушитель A в составе подделок выдаёт сообщения, для
1
ния Xi (от подделок), а справа — другие (от разложений). Тогда в этой системе точно есть нетривиальные комбинации xi от подделок, та к как sj ненулевые, В общем случае нарушитель C принимает на вход и использует для формирования ответов случайного оракула (q1 + I + 1) точек, т. е. параметр s в задаче REPR равен q1 + I +1,
Обозначим через eqrank событие, что det(Al+1) = 0, Если условие (5) выполнено (т.е. произошло событие event) и событие eqrank не произошло, то нарушитель C успешно решает свою задачу. Тогда
Pr[Exp' (A) ^ 1 Л event] =
= Pr [Exp'(A) ^ 1 Л event Л eqrank + Pr[Exp'(A) ^ 1 Л event Л eqrank] ^ 4-*-' 4-*-'
=Pr[Exp™+1(C)] ^Pr[eqrank]
< Pr[Exp—+1(C) 1] + Pr[eqrank] « Advg^C) + i+i.
q — 1
Итоговая оценка
Таким образом, мы построили двух нарушителей B и C, хотя бы один из которых
A
подделки, В итоге получаем
Pr[Exp'(A) ^ 1] = Pr[Exp'(A) ^ 1 Л event] + Pr[Exp'(A) ^ 1 Л event] ^ < 2 Adv-Г(B) + Advg-„(C) + ^,
AdvCpBs(A) « 2 Advgjr (B) + AdvgE™w(C) + 2(1 +—> + .