2022 Математические методы криптографии № 57
УДК 519.719.325 DOI 10.17223/20710410/57/3
РАНДОМИЗИРОВАННЫЙ АНАЛОГ НЕОСПОРИМОЙ ПОДПИСИ
ЧАУМА — ВАН-АНТВЕРПЕНА
П. А. Полищук*, А. В. Черемушкин**
* Белорусский государственный университет, г. Минск, Беларусь ** Академия криптографии РФ, г. Москва, Россия
E-mail: poulpvp101@gmail.com, avc238@mail.ru
Предлагается модификация неоспоримой подписи Д. Чаума и Х. ван Антверпена, основанная на группе точек эллиптической кривой. Алгоритм формирования подписи дополнен предварительным этапом рандомизации. Для протоколов проверки подписи и отказа от неё предложено два варианта выполнения. Доказаны теоремы, показывающие, что эти протоколы отвечают своему назначению. Описан способ преобразования неоспоримой подписи в обычную цифровую подпись, проиллюстрированный на примере схемы цифровой подписи Шнорра.
Ключевые слова: цифровая подпись, неоспоримая подпись, группа точек эллиптической кривой.
A RANDOMIZED ANALOG OF CHAUM — VAN ANTWERPEN
UNDENIABLE SIGNATURE
P. A. Polyschuk*, A. V. Cheremushkin**
*Belarusian State University, Minsk, Belarus, ** Academy of Cryptography of the Russian Federation, Moscow, Russia
We suggest an elliptic curve modification of the undeniable signature introduced by D. Chaum and H. van-Antwerpen. The signature generation algorithm is supplemented with a preliminary stage of randomization. For signature verification and disavowal protocols, two options are offered. Theorems showing that these protocols meet their purpose have been proven. A method for converting an undeniable signature into a regular digital signature is described, illustrated by the Schnorr electronic signature scheme as an example.
Keywords: digital signature, undeniable signature, elliptic curve.
Введение
Неоспоримая цифровая подпись, иначе называемая конфиденциальной, в отличие от обычной электронной подписи не может быть проверена без участия сформировавшего её лица. Поэтому она обеспечивает конфиденциальность и частичную анонимность подписавшей стороны. Название «неоспоримая подпись» объясняется тем, что если подписавшая сторона будет обязана участвовать в процедуре проверки подписи, то она не сможет отказаться от факта подписания документа, если подпись является настоящей, но сможет доказать, что это не её подпись, если она не подписывала документ.
Как отмечают авторы схемы, данный вид подписи удобен для компаний, занимающихся удалённым распространением своей продукции. Предположим, некоторая компания желает осуществить удалённую продажу произведённого ею программного продукта. В этом случае в роли текста выступает код программного продукта. Приобретя программные продукты, снабжённые лицензией с неоспоримыми подписями, покупатель после оплаты может получить доказательство её корректности, гарантирующее оригинальность продукта. Если же он не произвёл оплату, то никакими способами не сможет убедиться в достоверности подписи и лицензионности самого программного продукта, возможно, содержащего вредоносный код. С другой стороны, если вредоносный код будет обнаружен, то продавец может доказать, что выданную от его имени лицензию с неоспоримой подписью он никогда не создавал.
Для того чтобы у покупателя осталось подтверждение положительного результата проведённой проверки корректности неоспоримой подписи, она может быть конвертирована в обычную цифровую подпись, которая может быть привязана к имеющейся неоспоримой подписи, а также к идентификационным данным покупателя для того, чтобы независимый арбитр всегда мог убедиться в легитимности подписи и лицензи-онности продукта.
Исследованию неоспоримых подписей посвящено значительное количество публикаций. Их авторы сосредоточены в основном на распространении схем неоспоримой подписи на различные практические ситуации: (t, n)-пороговые схемы [1, 2], стойкие схемы неоспоримых подписей [3, 4], схема с возможностью конвертирования в обычную цифровую подпись [5, 6], схемы, позволяющие построить протокол честного обмена секретами [7], схемы с открытыми ключами на основе идентификационной информации [8], применение неоспоримых сертификатов для проверки подписей [9], схемы с делегированием права проверки подписи, позволяющие подписывающему лицу заранее назначить верификатора, способного проверить или отвергнуть подпись без участия подписавшего [10, 11], схемы подписи, не требующие сертификатов [12], содержащих указание на автора подписи, групповые неоспоримые подписи и др.
В исходных работах [13, 14] для построения схемы неоспоримой подписи Д. Чаум и Х. ван Антверпен использовали мультипликативную группу конечного поля. В дальнейшем было исследовано множество других вариантов построения схем неоспоримых цифровых подписей на основе различных математических конструкций: на основе RSA [5, 6], схемы с трудоёмким возведением в чётную степень по составному модулю [15], на основе логарифмирования в полной линейной группе над групповым кольцом [16], на основе группы кос [17], на основе операции билинейного спаривания [7, 8], на основе неабелевых групп [18], на основе изогений эллиптических кривых [19], на решётках [20] и др.
В связи с появлением субэкспоненциальных алгоритмов дискретного логарифмирования в целях повышения стойкости большинство вариантов схем цифровых подписей было адаптировано для циклических подгрупп группы точек эллиптической кривой путём замены операции умножения в конечном поле на операцию сложения в группе точек эллиптической кривой. Так, в США, России, Беларуси и др. государствах были приняты новые национальные стандарты цифровых подписей (ECDSA, ГОСТ Р 34.11-2012, СТБ 34.101.45-2013).
Для эллиптических кривых предложено много способов построения различных вариантов неоспоримых подписей. Вместе с тем эллиптические кривые с операцией спаривания составляют относительно небольшой класс эллиптических кривых, к тому же обладающий потенциальной уязвимостью к сведению двумерного представления
к одномерному. Поэтому представляет интерес нахождение способов построения таких подписей на основе групп точек эллиптических кривых без использования операции спаривания. Этой задаче в литературе уделено меньше внимания. Авторам удалось найти только одну публикацию [21], в которой схема Чаума — ван-Антверпена из [14] дословно перенесена с мультипликативной группы конечного поля на случай группы точек эллиптической кривой. Следует заметить, что предложенная в [21] схема обладает тем недостатком, что для неё необходим алгоритм вложения значения произвольной хеш-свёртки открытого текста в циклическую подгруппу группы точек эллиптической кривой, что представляет неудобство с практической точки зрения, ограничивая область применения.
В настоящей работе предложен способ модификации схемы неоспоримой цифровой подписи Чаума — ван Антверпена применительно к циклической подгруппе группы точек эллиптической кривой, не обладающий подобным недостатком. Для решения проблемы соответствия между числовыми значениями и точками этой подгруппы применён приём, решающий эту проблему за счёт введения в алгоритм формирования цифровой подписи предварительного этапа рандомизации алгоритма по аналогии со схемами цифровых подписей семейства Эль-Гамаля и подписи Шнорра, используемыми в национальных стандартах. Предложено два аналогичных варианта протоколов, а также алгоритм преобразования неоспоримой подписи в обычную цифровую подпись, сформированную аналогично схеме подписи Шнорра.
1. Протоколы неоспоримой подписи
Приведём необходимые для дальнейшего изложения сведения. Пусть p — простое, p > 3 и GF(p) — конечное поле из p элементов. Каждому элементу a поля GF(p) поставим в соответствие его представление в двоичном алфавите вектором длины |log2 p], которое будем обозначать a.
Для модификации схемы подписи Д. Шаума и Х. ван-Антверпена будем использовать такой же класс эллиптических кривых, как и в ГОСТ Р 34.10-2012 [22]. Уравнение эллиптической кривой Ea,b(GF(p)) имеет вид
y2 = x3 + ax + b (modp),
где a,b G GF(p). Точки кривой — это пары (x,y), удовлетворяющие этому уравнению, а также специальная бесконечно удалённая точка O. Для обеспечения условия гладкости, которое позволяет ввести на множестве точек кривой групповую операцию, должно выполняться условие на дискриминант 4a3 + 27b2 = 0.
Пусть m = |Ea,b(GF(p))| и P = (xP, yP) = O — точка эллиптической кривой, порождающая циклическую подгруппу (P) порядка q, где q — большое простое число, делящее порядок группы точек эллиптической кривой m = qd. Эллиптическая кривая и точка P должны быть выбраны таким образом, чтобы задача дискретного логарифмирования для элементов циклической группы (P) была труднорешаемой. Поэтому далее будем полагать, что эллиптическая кривая и точка P выбраны в соответствии с требованиями ГОСТ Р 34.10-2012. Кроме того, не ограничивая общности, будем полагать, что q2 не делит m. Это условие не является исключительным, поскольку выполняется автоматически при выборе эллиптической кривой и циклической подгруппы с высокой эффективностью реализации: q ^ m и соответственно m ^ q2. Данные предположения делают невозможным успешное проведение MOV-атаки в задаче дискретного логарифмирования для циклической группы (P) большого простого
порядка q, относительного которого кривая обладает достаточно большой степенью вложения (в соответствии с ГОСТ Р 34.10-2012).
Обозначим V^ = U Vm, где Vm — множество двоичных последовательностей длины m. Пусть также h : V» ^ V-log2p —хеш-функция, удовлетворяющая условию однонаправленности, а также устойчивости к подбору коллизий и второго прообраза.
Ключом подписи является целое число k, 1 < k < q, а ключом проверки подписи— точка Q = [k]P = P + ... + Р, точнее, строка xq||j/q — конкатенация двоичных
4--'
k
векторов Xq,yQ G V-log2p], соответствующих координатам (xQ,yQ) точки Q. Схема неоспоримой цифровой подписи включает три протокола:
— алгоритм формирования подписи;
— протокол её проверки при участии подписавшего;
— протокол отказа от подписи, т. е. доказательства того факта, что автором подписи данное лицо не является.
Предлагаемые ниже варианты схем неоспоримой подписи являются рандомизированными модификациями неоспориомой подписи Чаума — ван-Антверпена, адаптированными для случая группы точек эллиптической кривой.
1.1. Первый вариант Пусть A и B обозначают соответственно доказывающую и проверяющую стороны.
1. Алгоритм формирования подписи
(1) вычислить хеш-код h(T) сообщения T G V^;
(2) вычислить целое число t, двоичным представлением которого является вектор h(T), и определить l = t mod q. Если l = 0, то определить l = 1;
(3) сгенерировать случайное (псевдослучайное) целое число r, 1 <r<q, r = l;
(4) вычислить точку R = [r]P = (xr, yR) эллиптической кривой Ea,b(GF(p));
(5) вычислить целое число s = k(l — r) mod q;
(6) вычислить двоичные векторы XR,yR G V|-log2p и s G V-log2p], соответствующие
координатам точки R = (xR,yR) и числу s, определить цифровую подпись
sig(T) = XR ||yR||s.
Для краткости рассуждений будем полагать, что подписью является пара (R, s), не акцентируя внимание на том, что её в дальнейшем надо преобразовать в двоичную строку.
2. Протокол проверки подписи
(0) B: если R Е (Р) или в = 0, то подпись некорректна;
(1) B: генерирует е1, е2 : 0 ^ е1,е2 ^ q — 1;
вычисляет О = [е1]Р + [e2]R;
(2) B: если О = О, перейти к (1);
(3) A ^ B: О;
(4) A: если О Е (Р), завершить выполнение;
(5) A ^ B: О = [к] О;
(6) B: ? проверяет равенство: О = [е1]^ + [е2]([/]ф — [в]Р)
На шаге (0) выполняется проверка включения R Е {P), необходимого для корректности формирования подписи, а также для того, чтобы точки О и О принадлежали
циклической группе (P). Для этого надо сначала убедиться, что R G Ea,b(GF(p)), а затем — что её порядок равен q, путём проверки равенства [m/q — 1]R = —R. Случай s = 0 недопустим при формировании подписи, так как в этом случае r = l, пара (R, 0) не зависит от ключа подписи k и поэтому при любом ключе удовлетворяет протоколу проверки подписи.
?
Проверка условия C = O на шаге (2) проводится сравнением точек [ei]P = — [e2]R. Заметим, что нахождение такой пары e1, e2 приводит к раскрытию ключа k. Из сравнения e1 = —e2r mod q можно вычислить r, а затем k = s(l — r)-1 mod q. Вероятность такого события равна 1 /q.
Корректность протокола вытекает из равенств
D = kC = [k]([ei]P + [e2]R) = [ei]([k]P) + h]([k]R) = = [ei]Q + [e2]([kl]P — [kl]P + [rk]P) = = [ei]Q +[e2]([lk]P — [(/ — r)k]P ) = = [ei]Q + h]([/]Q — [s]P).
Данный протокол обеспечивает нулевое разглашение информации о ключе подписи, так как проверяющая сторона может для любого ключа проверки подписи Q самостоятельно получить любое число корректных стенограмм (ei, e2, C, D) выполнения протокола, задавая произвольные числа ei, e2, 0 ^ ei, e2 < q — 1, и вычисляя точки C и D по формулам
C = [ei]P + [e2]R, D = [ei]Q + h]([/]Q — [s]P). (1)
При этом ключ подписи k никак не задействован.
С другой стороны, в ходе реализации протокола будут возникать только точки R, C и D из циклической подгруппы (P) большого простого порядка q группы точек эллиптической кривой. Вычисленные по формулам (1) пары (C, D) ничего не дают для определения ключа подписи k подписавшей стороны, поскольку нахождение k равносильно решению задачи дискретного логарифмирования D = [k]C, или, что равносильно, решению уравнений [Z]Q — [s]P = [k]R или Q = [k]P. В силу выбора параметров кривой m и q MOV-атака для задачи дискретного логарифмирования в этой группе оказывается неэффективной, а шаг 4 защищает от возможности применения атаки на ключ k типа «малая подгруппа» со стороны B, когда B может отправлять стороне A специально подобранные элементы малых порядков из группы точек эллиптической кривой. Невыполнение проверяемого на шаге (4) равенства доказывает стороне A, что полученная от B точка C имеет порядок q.
Поэтому данный протокол обеспечивает конфиденциальность подписавшей стороны, а также защищает от возможности подделки подписи путём раскрытия ключа подписи.
Замечание 1. В протоколах, относящихся к семейству Эль-Гамаля, и в протоколе Шнорра повторение числа r, которое применяется для рандомизации протокола формирования подписи, приводит к возможности раскрытия ключа. В данном случае это также имеет место. Пусть имеются два сообщения Ti и T2, подписанные стороной A, подписи для которых (R, si) и (R, s2) получены при одинаковых значениях r. В этом случае значения k и r можно найти из системы уравнений
si = k(li — r), s2 = k(l2 — r).
Это событие маловероятно, так как при равномерном распределении значений г его вероятность оценивается как 1/д.
Можно предложить модификацию алгоритма формирования подписи, где значение Я = f (г,/)Р зависит от г и /. Однако такое решение не устраняет проблему, так как если у подписей для сообщений Т1 и Т2 совпадут значения f(г^/1) = f(г2,/2), то получается аналогичная система:
81 = к(/1 - f (п,/1)), = ^2 - f (г2,/2)),
при этом вероятность данного события оценивается как 1/д, точно так же, как и в случае повторения числа г в исходном варианте алгоритма.
3. Протокол отказа от подписи состоит в двукратном повторении протокола проверки подписи с последующей проверкой равенства на шаге (9), позволяющего обнаружить нечестное поведение подписывающей стороны:
(0) B если Я Е (Р) или в = 0, то подпись некорректна;
(1) B генерирует е1, е2 : 0 ^ е1, е2 ^ д — 1;
вычисляет С1 = [е1]Р + [е2]Я;
(2) B если С1 = О, перейти к (1);
(3) A B С1;
(4) A если С1 Е (Р), завершить выполнение;
(5) A B А = [к]С1;
(6) B ? проверяет равенство: = [е1]^ + [е2]([/]ф — [в]Р);
(7) B генерирует fl, /г : 0 ^ Л, f2 ^ д — 1;
вычисляет С2 = [/1]Р + [/2]Я;
(8) B если С2 = О, перейти к (1);
(9) A B С2;
(10) A если С2 Е (Р), завершить выполнение;
(11) A B А = [к]С2;
(12) B ? проверяет равенство: = [Л^ + [ЛК^^ — [в]Р);
(13) B ? проверяет равенство: /^КА — [е^ф) = ^КА — [/1]Р)
Протокол выполняется за 13 шагов: шаги 1-6 и 7-12 повторяют предыдущий протокол, а шаг 13 — это проверка, что A честно выполнял предыдущие действия. Если A не ставил свою подпись и правильно выполнял протокол, то шаги 6 и 12 протокола будут свидетельствовать о нарушении условия проверки подписи, а на шаге 13 будет подтверждено, что участник A корректно выполнял протокол. Тем самым будет с большой вероятностью доказано, что эту подпись поставил не он (см. теорему 2). Если же он обманывает, то для отказа от подписи участник A должен дважды отправить неправильные значения D1 на шаге 5 и D2 на шаге 11. Отправка неправильных значений на шагах 5 и 11 протокола со стороны A будет обнаружена проверяющей стороной B при нарушении последнего равенства на шаге 13 (см. теорему 3).
Теоретическое обоснование надежности схемы проводится аналогично рассуждениям в [14].
Теорема 1. Пусть сторона A, обладающая ключом подписи k, Q = [k]P, участвует в протоколе проверки подписи (R, s) для сообщения с хеш-свёрткой /, где R = [r]P, r = /, которую она не создавала. Если s = k(l — r) mod q, то вероятность того, что проверяющая сторона B признает корректность подписи, равна 1/q.
Доказательство. Рассмотрим стенограмму (C, D) выполнения протокола проверки подписи
C = [ei]P +[e2]R, D = [k]C
относительно неизвестных упорядоченных пар (ei,e2).
Проверяющая сторона B признает корректность подписи только в случае, когда выполнено равенство
D =[ei]Q + [e2 ]([1]Q — [s]P). (2)
Если бы подпись (R, s) была сформирована участником A, то вторая компонента подписи равнялась бы so = k(1 — r), откуда
[k]C = [k]([ei]P + [e2]R) = [ei]Q + h]([/]Q — [so]P).
Поэтому равенство (2) можно переписать в виде
[ei]Q + [e2]([1]Q — [so]P) = [ei]Q + N([/]Q — [s]P).
Оно будет выполнено только в случае
[e2(s — so)]P = 0,
где s — s0 = 0, а значит, e2 = 0. Следовательно, для запроса C = [ei]P + [e2]R ответ D на него может быть признан корректным, только если (ei,e2) = (ei, 0). Таким образом, среди q2 пар (ei,e2) число пар, для которых ответ будет признан корректным, равно q. ■
Теорема 2. Пусть сторона A, обладающая ключом подписи k, Q = [k]P, участвует в протоколе отказа от подписи (R, s) для сообщения с хеш-сверткой 1, где R = [r]P, r = /, которую она не создавала. Если s = k(Z — r) mod q, но A и B корректно выполняют протокол отказа от подписи, то равенство
[f2](Di — [ei]Q) = [e2](D2 — [/i]Q) (3)
выполнено.
Доказательство. Доказательство основывается на том, что левая и правая части равенства (3) могут быть представлены следующим образом:
'[/2](Di — [ei]Q) = [f2]([k]([ei]P + [e2]R) — [ei]Q) =
= [/2]([eik]P + [e2k]R — [ei]Q) = [/2e2k]R, ' [e2](D2 — [/i]Q) = [e2](([k][/i]P + [/2]R) — [/i]Q) =
= [e2]([/ik]P + [/2k] R — [/i ]Q) = [e2/2k]R.
Теорема 2 доказана. ■
Теорема 3. Пусть сторона A, обладающая ключом подписи k, Q = [k]P, участвует в протоколе отказа от подписи (R, s) для сообщения с хеш-сверткой 1, где R = [r]P, r = /, которую она создала, но не хочет в этом сознаваться. Пусть s = k(Z — r) и проверяющая сторона B корректно выполняет протокол. Если сторона A на шагах 4 и 10 протокола отправляет сообщения
Di = [ei]Q + [e2]([1]Q — [s]P), D2 = [/i]Q + [M[/]Q — [s]P), то вероятность того, что равенство (3) будет нарушено, равна 1 — 1/q.
Доказательство. Предположим, что равенство (3) выполнено. Преобразуем
его:
№2 = ЬШ +[/2](А1 — [е^).
Если е2 = 0, то оно имеет вид [/2](В1 — [е1]^) = О, и поскольку по условию В1 = [е1]^, то должно быть ^ = 0. Поэтому вероятность того, что последнее равенство выполнено, равна 1/д.
Если е2 = 0, то равенство (3) можно привести к виду
^2 = [Ш +[/2]АО, (4)
где В0 = [е-1 ](В1 — [е1]^) определяется действиями участников А и В на шагах 4 и 10 протокола отказа от подписи. Поскольку шаг 5 протокола отказа от подписи подтверждает, что В1 Е (Р), то В0 также принадлежит циклической группе (Р). Значит, найдётся элемент /0 Е ОР(р), для которого В0 = [/0]ф — [в]Р. По условию теоремы В0 = — [в]Р, и значит, /0 = /. Согласно протоколу проверки подписи, выполнение равенства (4) доказывает, что подпись (Я, в) соответствует сообщению со значением хеш-свертки /0 = /, для которого выполняется неравенство в = к(/0 — г), причём в силу теоремы 1 вероятность того, что проверяющая сторона В признает корректность подписи (Я, в) для сообщения с хеш-свёрткой /, равна 1/д.
Поэтому вероятность того, что равенство (3) будет выполнено, равна 1/д. ■
1.2. Второй вариант
1. Алгоритм формирования подписи полностью повторяет алгоритм первого варианта.
2. Протокол проверки подписи:
(0) В : если Я Е (Р) или в = 0, то подпись некорректна;
(1) В : генерирует е1, е2 : 0 < е1, е2 < д — 1;
вычисляет С = [е1]([/]^ — [в]Р)[+е2]ф;
(2) В : если С = О, перейти к (1);
(3) А ^ В : С;
(4) А : если С Е (Р), завершить выполнение; (б) А ^ В : В = [к-1]С;
?
(6) В : проверяет равенство: В = [е1]Я + [е2]Р.
Корректность протокола вытекает из равенств
С =[е1]([/]д — [в]Р) + ЬЮ =
= [е1]([/]д — [(/ — г)к]Р ) + [е2 к]Р = = [е1]([/]д — [/]д + [гк]Р ) + [е2 к]Р = = И([е1]Я +[е2]Р ) = [к]В.
То, что данный протокол также обеспечивает нулевое разглашение информации о ключе подписи и конфиденциальность подписавшей стороны, показывается полностью аналогично.
3. Протокол отказа от подписи:
(0) B если Я ^ (Р) или 5 = 0, то подпись некорректна;
(1) B генерирует 6^ б2 : 0 <61,62 <5 — 1;
вычисляет С1 = [б1]([/]^ — [з]Р)[+б2]ф;
(2) B если С1 = О, перейти к (1);
(3) A ^ B С1;
(4) A : если С1 ^ (Р), завершить выполнение;
(5) A ^ B А = к-1С1;
(6) B ? проверяет равенство: = [б1]Я + [б2]Р;
(7) B генерирует /1, /2 : 0 < /1, /2 <5 — 1;
вычисляет С2 = [МИд — ИР)[+Ш;
(8) B если С2 = О, перейти к (1);
(9) A ^ B С2;
(10) A: если С2 ^ (Р), завершить выполнение;
(11) A ^ B А = [к-1 ]С1;
(12) B ? проверяет равенство: Д2 = [/1]Я + [/2]Р;
(13) B М1 = А — ([61]Я +[62]Р),
(14) B М2 = ^2 — ([/1]Я +[/2]Р),
(15) B проверяет равенство: [/1]М1 = [б1 ]М2.
Теоретическое обоснование надёжности схемы повторяет рассуждения для первого варианта.
2. Преобразования в обычную цифровую подпись
Пусть имеется уже сформированная неоспоримая подпись (R, s) для сообщения T, полученная для ключевой пары (k,Q). Предлагаемый способ является по сути не конвертацией, а заменой неоспоримой подписи на обычную цифровую подпись, полученную при том же ключе подписи k с учётом зависимости от ранее сформированной неоспоримой подписи. Рассмотрим вариант преобразования, использующий схему цифровой подписи, аналогичную схеме подписи Шнорра [23].
Для преобразования неоспоримой подписи (R, s) в обычную владелец ключа подписи вычисляет пару (x, s') в соответствии со следующим алгоритмом:
Алгоритм формирования цифровой подписи:
(1) выбрать случайный элемент r', 1 < r' < q;
(2) вычислить точку эллиптической кривой R' = [r']P = (xr , );
(3) вычислить точку Q' = [1]Q - [s]P = (x<);
(4) вычислить целое число t', двоичным представлением которого является вектор h(T||x<||y<Q'||xR||yR), и определить /' = t' mod q. Если /' = 0, то определить /' = 1;
(5) вычислить s' = k/' — r' mod q.
Покажем, что /'||s' является обычной цифровой подписью для сообщения T (для удобства будем, как и выше, использовать запись (/', s')).
Имея неоспоримую подпись (R, s), цифровую подпись (/', s') и открытый ключ Q, любой проверяющий B может осуществить проверку подписи в соответствии со следующим алгоритмом:
Алгоритм проверки цифровой подписи :
(1) вычислить Y = ZQ — sP = (xY,);
(2) вычислить Z = Z'Q — s'P = (xZ);
(3) вычислить целое число w, двоичным представлением которого является вектор h(T||xY||yY||xZ||yZ), и определить w' = w mod q. Если w' = 0, то определить w' = 1;
?
(4) проверить соответствие l' О w; если оно выполнено, то подпись (1',s') принимается и признается корректной; в противном случае отвергается.
Корректность алгоритма.
Из равенств s = fc(/ — r) и s' = kl' — r' следует
[s]P = [k(1 — r)]P = [1]Q — [r]Q, [s']P = [k1']P — [r']P = [1']Q — R',
а значит, должны выполняться равенства
Y = [1]Q — [s]P = Q', Z = [1']Q — [s']P = R'.
Таким образом, w' = l'.
В случае, когда автор неоспоримой подписи, занимающийся удалённым распространением своей продукции, после проведённой проверки неоспоримой подписи пожелает осуществить привязку сформированной цифровой подписи к идентификационным данным ID покупателя, он может внести эти данные в хеш-функцию
h(T||xrQ||yrQ||xR' НУЯ' Н1^
тем самым подтверждая положительный результат проверки неоспоримой подписи и лицензионность приобретённого покупателем программного продукта.
Авторы выражают благодарность С. В. Агиевичу за многочисленные полезные замечания и исправления.
ЛИТЕРАТУРА
1. Harn L. and Yang S. Group-oriented undeniable signature schemes without the assistance of a mutually trusted party // LNCS. 1993. V. 718. P. 133-142.
2. Wang G. and Qing S. A threshold undeniable signature scheme without a trusted party // J. Software. 2002. V. 13. No. 9. P. 1757-1764.
3. Chaum D., van Heijst E., and Pfitzmann B. Cryptographically strong undeniable signatures, unconditionally secure for the signer // LNCS. 1992. V. 576. P. 470-484.
4. Zhu H. Universal Undeniable Signatures. ePrint Archive. eprint.iacr.org/2004/005.
5. Boyar J., Chaum D., Damgard I., and Pedersen T. Convertible undeniable signatures // LNCS. 1991. V. 537. P. 189-205.
6. Gennaro R., Krawczyk H., and Rabin T. RSA-based undeniable signature // LNCS. 1997. V. 1294. P. 132-148.
7. Horng S.-J., Tzeng S.-F., Fan P., et al. Secure convertible undeniable signature scheme using extended Euclidean algorithm without random oracles // KSII Trans. Internet Inform. Systems. 2013. V. 7. No. 6. http://dx.doi.org/10.3837/tiis.2013.06.010.
8. Libert Q. and Quisquater J.-J. Identity Based Undeniable Signatures. ePrint Archive. eprint. iacr.org/2003/206.
9. Gennaro R., Krawczyk Y. M., and Rabin T. D. Udeniable Certificates for Digital Signature Verification. United States Patent No. US 6292897 B1, Sep. 18, 2001.
10. Chaum D. Designated confirmer signatures // LNCS. 1994. V. 950. P. 86-91.
11. Okamoto T. Designated confirmer signatures and public-key encryption are equivalent // LNCS. 1994. V. 839. P. 61-74.
12. Duan S. Certificateless undeniable signature scheme // Inform. Sci. 2008. V. 178. Iss. 3. P. 742755.
13. Chaum D. Zero-knowledge undeniable signatures // LNCS. 1991. V.473. P. 458-464.
14. Chaum D. and Van-Antwerpen H. Undeniable signature // LNCS. 1990. V.435. P. 212-216.
15. Mao W. New Zero-knowledge Undeniable Signatures — Forgery of Signature Equivalent to Factorisation. ePrint Archive. eprint.iacr.org/2001-011.
16. Pandey A. and Gupta I. A new undeniable signature scheme on general linear group over group ring //J. Discrete Math. Sci. Cryptography. 2020. P. 1-13. https://doi.org/10. 1080/09720529.2020.1744814.
17. Thomas T. and Lal A. K. Undeniable Signature Schemes Using Braid Groups. https:// arxiv.org/abs/cs/0601049.
18. Thomas T. and Lal A. K. A zero-knowledge undeniable signature scheme in non-Abelian group setting // Intern. J. Network Security. 2008. V.6. No.3. P. 265-269.
19. Jao J. and Soukharev V. Isogeny-based quantum-resistant undeniable signatures // LNSC. 2014. V.8772. P. 160-179.
20. Tian M. and Huang L. Efficient Identity-Based Signature from Lattices. https://hal .inria. fr/hal-01370379. 2016.
21. Александрова Е. Б., Шкоркина Е. Н. Применение неоспоримой подписи на эллиптических кривых для верификации сервера при аутсорс-вычислениях // Проблемы информационной безопасности. Компьютерные системы. СПб.: Изд-во СПбТУ, 2018. С. 97-101.
22. ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. https: //docs.cntd.ru/document/1200095034.
23. Schnorr C. P. Efficient identification and signature for smart cards // LNCS. 1990. V. 435. P. 235-251.
REFERENCES
1. Harn L. and Yang S. Group-oriented undeniable signature schemes without the assistance of a mutually trusted party. LNCS, 1993, vol. 718, pp. 133-142.
2. Wang G. and Qing S. A threshold undeniable signature scheme without a trusted party. J. Software, 2002, vol. 13, no. 9, pp. 1757-1764.
3. Chaum D., van Heijst E., and Pfitzmann B. Cryptographically strong undeniable signatures, unconditionally secure for the signer. LNCS, 1992, vol.576, pp.470-484.
4. Zhu H. Universal Undeniable Signatures. ePrint Archive, eprint.iacr.org/2004/005.
5. Boyar J., Chaum D., Damgard I., and Pedersen T. Convertible undeniable signatures. LNCS, 1991, vol.537, pp. 189-205.
6. Gennaro R., Krawczyk H., and Rabin T. RSA-based undeniable signature. LNCS, 1997, vol. 1294, pp. 132-148.
7. Horng S.-J., Tzeng S.-F., Fan P., et al. Secure convertible undeniable signature scheme using extended Euclidean algorithm without random oracles. KSII Trans. Internet Inform. Systems, 2013, vol.7, no. 6, http://dx.doi.org/10.3837/tiis.2013.06.010.
8. Libert Q. and Quisquater J.-J. Identity Based Undeniable Signatures. ePrint Archive. eprint. iacr.org/2003/206.
9. Gennaro R., Krawczyk Y. M., and Rabin T. D. Udeniable Certificates for Digital Signature Verification. United States Patent No. US 6292897 B1, Sep. 18, 2001.
10. ChaumD. Designated confirmer signatures. LNCS, 1994, vol.950, pp. 86-91.
11. Okamoto T. Designated confirmer signatures and public-key encryption are equivalent. LNCS, 1994, vol. 839, pp. 61-74.
12. Duan S. Certificateless undeniable signature scheme. Inform. Sci., 2008, vol.178, iss.3, pp. 742-755.
13. ChaumD. Zero-knowledge undeniable signatures. LNCS, 1991, vol.473, pp.458-464.
14. ChaumD. and Van-Antwerpen H. Undeniable signature. LNCS, 1990, vol.435, pp. 212-216.
15. Mao W. New Zero-knowledge Undeniable Signatures — Forgery of Signature Equivalent to Factorisation. ePrint Archive. eprint.iacr.org/2001-011.
16. Pandey A. and Gupta I. A new undeniable signature scheme on general linear group over group ring. J. Discrete Math. Sci. Cryptography, 2020, pp. 1-13, https://doi.org/10.1080/ 09720529.2020.1744814.
17. Thomas T. and Lal A. K. Undeniable Signature Schemes Using Braid Groups. https:// arxiv.org/abs/cs/0601049.
18. Thomas T. and Lal A. K. A zero-knowledge undeniable signature scheme in non-Abelian group setting. Intern. J. Network Security, 2008, vol.6, no. 3, pp. 265-269.
19. Jao J. and Soukharev V. Isogeny-based quantum-resistant undeniable signatures. LNSC, 2014, vol.8772, pp. 160-179.
20. Tian M. and Huang L. Efficient Identity-Based Signature from Lattices. https://hal .inria. fr/hal-01370379. 2016.
21. Aleksandrova E. B. and Shkorkina E. N. Primenenie neosporimoy podpisi na ellipticheskikh krivykh dlya verifikatsii servera pri autsors-vychisleniyakh [Elliptic curve undeniable signature for server verification in outsource computations]. Problemy Informatsionnoy Bezopasnosti. Komp'yuternye Sistemy. SPbTU Publ., 2018, pp. 97-101. (in Russian)
22. GOST R 34.10-2012. Informatsionnaya tekhnologiya. Kriptograficheskaya zashchita informatsii. Protsessy formirovaniya i proverki elektronnoy tsifrovoy podpisi [Informatiom technology. Cryptographic protection information. Electronic digital signature process]. https://docs.cntd.ru/document/1200095034. (in Russian)
23. Schnorr C. P. Efficient identification and signature for smart cards. LNCS, 1990, vol. 435, pp.235-251.