СПОСОБ ФОРМИРОВАНИЯ И ПРОВЕРКИ ПОДЛИННОСТИ КОЛЛЕКТИВНОЙ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ, ЗАВЕРЯЮЩЕЙ ЭЛЕКТРОННЫЙ ДОКУМЕНТ
METHOD FOR GENERATION AND VERIFICATION OF COLLECTIVE ELECTRONIC DIGITAL SIGNATURE THAT CERTIFIES ELECTRONIC DOCUMENT

1)
1)
Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов аутентификации электронных сообщений, передаваемых по телекоммуникационным сетям и сетям ЭВМ, и может быть использовано в системах передачи электронных сообщений (документов), заверенных электронной цифровой подписью (ЭЦП), представленной в виде многоразрядного двоичного числа (МДЧ). Здесь и далее под МДЧ понимается электромагнитный сигнал в двоичной цифровой форме, параметрами которого являются: число битов и порядок следования их единичных и нулевых значений. ( толкование используемых в описании терминов приведено в Приложении 1.)
Известен способ формирования и проверки ЭЦП, предложенный в патенте США № 4405829 от 20.09.1983 и детально описанный также и в книгах [1. М.А.Иванов. Криптография. М., КУДИЦ-ОБРАЗ, 2001; 2. А.Г.Ростовцев, Е.Б.Маховенко. Введение в криптографию с открытым ключом. С.-Петербург, Мир и семья, 2001, - с.43]. Известный способ заключается в следующей последовательности действий:
формируют секретный ключ в виде трех простых МДЧ р, q и d, формируют открытый ключ (n, е) в виде пары МДЧ n и е, где n - число, представляющее собой произведение двух простых МДЧ р и q, и е - МДЧ, удовлетворяющее условию ed=1mod(p-1)(q-1), принимают электронный документ (ЭД), представленный МДЧ Н,
d
в зависимости от значения Н и значения секретного ключа формируют ЭЦП в виде МДЧ Q=S=Hmod n.
формируют первое проверочное МДЧ А=H;
e
формируют второе проверочное МДЧ В, для чего МДЧ S возводят в целочисленную степень е по модулю n: В=Smod n;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком известного способа является относительно большой размер подписи и необходимость увеличения размера подписи при разработке новых более эффективных методов разложения числа n на множители или при росте производительности современных вычислительных устройств. Это объясняется тем, что значение элемента подписи S вычисляются путем выполнения арифметических операций по модулю n, а стойкость ЭЦП определяется сложностью разложения модуля n на множители р и q.
Известен также способ формирования и проверки подлинности ЭЦП Эль-Гамаля, описанный в книге [Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. - СПб: Лань, 2000, - с.156-159], который включает следующие действия:
x
формируют простое МДЧ р и двоичное число G, являющееся первообразным корнем по модулю р, генерируют секретный ключ в виде МДЧ х, в зависимости от секретного ключа формируют открытый ключ в виде МДЧ Y=Gmod p, принимают ЭД, представленный в виде МДЧ Н, в зависимости от H и секретного ключа формируют ЭЦП Q в виде двух МДЧ S и R, то есть Q=(S, R);
осуществляют процедуру проверки подлинности ЭЦП, включающую вычисление двух контрольных параметров с использованием исходных МДЧ р, G, Y, H и S путем возведения МДЧ G, Y, R в дискретную степень по модулю р и сравнение вычисленных контрольных параметров;
при совпадении значений контрольных параметров делают вывод о подлинности ЭЦП.
Недостатком данного способа также является относительно большой размер ЭЦП. Это объясняется тем, что значения элементов подписи S и R вычисляют путем выполнения арифметических операций по модулю р-1 и по модулю р соответственно.
Известен также способ формирования и проверки ЭЦП, предложенный в патенте США № 4995089 от 19.02.1991. Известный способ заключается в следующей последовательности действий:
формируют простое МДЧ р, такое что р=Nq+1, где q - простое МДЧ;
q
формируют простое МДЧ а, такое что а≠1 и a mod p=1;
методом генерации случайной равновероятной последовательности формируют секретный ключ в виде МДЧ х,
x
формируют открытый ключ в виде МДЧ у по формуле у=a mod p;
принимают ЭД, представленный МДЧ М;
t
формируют ЭЦП в виде пары МДЧ (е, s), для чего генерируют случайное МДЧ t, формируют МДЧ R по формуле R=a mod p, формируют МДЧ е=f(M||R), где знак || обозначает операцию присоединения двух МДЧ и f - некоторая специфицированная хэш-функция, значение которой имеет фиксированную длину (обычно 160 или 256 бит), независим от размера аргумента, т.е. от размера МДЧ M||R, а затем формируют МДЧ s по формуле s=(t-ex)mod q,
s
e
формируют первое проверочное МДЧ А, для чего генерируют МДЧ R' по формуле R'=ay mod p и формируют МДЧ е'=f(М||R');
формируют второе проверочное МДЧ В путем копирования МДЧ е: В=е;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком способа по патенту США является относительно высокая вычислительная сложность процедуры формирования и проверки ЭЦП, что связано с тем, что для обеспечения минимально требуемого уровня стойкости требуется использовать простой модуль р разрядностью не менее 1024 бит.
A
A
B
B
Наиболее близким по своей технической сущности к заявленному является известный способ формирования и проверки подлинности ЭЦП, предлагаемый российским стандартом ГОСТ Р 34.10-2001 и описанный, например, в книге [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.110-111)], согласно которому ЭЦП формируется в виде пары МДЧ r и s, для чего генерируют эллиптическую кривую (ЭК) в виде совокупности точек, причем каждая точка представляется двумя координатами в декартовой системе координат в виде двух МДЧ, называемых абсциссой (х) и ординатой (y), затем осуществляют операции генерации точек ЭК, сложения точек ЭК и умножения точки ЭК на число, а также арифметические операции над МДЧ, после чего в результате выполненных операций формируются МДЧ r и s. Указанные операции над точками выполняются как операции над МДЧ, являющимися координатами точек, по известным формулам [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.110-111)]. Операция сложения двух точек А и В с координатами (x, y) и (x, y) соответственно выполняется по формулам:
C
A
C
A
C
A
2
x=k-x mod p и y=k(x-x)-y mod p,
где  если точки А и В не равны, и  если точки А и В равны. Операция умножения точки А на натуральное число n определяется как многократное сложение токи А:
nA=А+А+…+А (n раз).
Результатом умножения любой точки ЭК на нуль определяется точка, называемая бесконечно удаленной точкой и обозначаемой буквой О. Две точки А=(х, y) и -А=(x, -y) называются противоположными. Умножение на целое отрицательное число -n определяется следующим образом: (-n)А=n(-А). По определению принимают, что сумма двух противоположных точек равна бесконечно удаленной точке О.
2
3
В прототипе, т.е. в способе формирования и проверки подлинности ЭЦП по стандарту ГОСТ Р 34.10-2001, генерируют ЭК, описываемую уравнением у=х+ax+b mod p, поэтому генерация ЭК состоит в генерации чисел a, b и р, являющихся параметрами ЭК и однозначно задающих множество точек ЭК, абсцисса и ордината каждой из которых удовлетворяет указанному уравнению. Ближайший аналог (прототип) заключается в выполнении следующей последовательности действий:
генерируют эллиптическую кривую (ЭК), которая представляет собой совокупность пар МДЧ, называемых точками ЭК и обладающих определенными свойствами (см. Приложение 1, пп.15-19);
1
2
n
методом генерации случайной равновероятной последовательности формируют секретные ключи в виде МДЧ k, k, …, k,
1
2
n
1
2
n
1
1
2
2
n
n
формируют открытые ключи в виде точек ЭК P, Р, …, P, для чего генерируют точку G, имеющую значение порядка, равное q (порядком точки ЭК называется наименьшее положительное целое число q, такое что результатом умножения данной точки на число q является так называемая бесконечно удаленная точка О; результатом умножения любой точки ЭК на нуль по определению является точка О [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)]; см. также Приложение 1, пп.15-19) и генерируют открытые ключи путем умножения точки G на МДЧ k, k, …, k, т.е. формируют открытые ключи по формулам P=kG, P=kG, …, P=kG;
принимают ЭД, представленный МДЧ Н;
генерируют случайное МДЧ 0<t<q, по которому формируют точку R по формуле R=tG;
R
R
i
формируют ЭЦП Q в виде пары МДЧ (r, s), для чего генерируют МДЧ r по формуле r=x mod q, где x - абсцисса точки R, а затем генерируют МДЧ s по формуле s=(tH/+rk)mod q, где 1≤i≤n;
-1
-1
i
R'
R'
формируют первое проверочное МДЧ А, для чего генерируют МДЧ ν по формуле ν=sHmod q и МДЧ w по формуле w=(q-rH) mod q, затем генерируют точку R' по формуле R'=vG+wP, после чего МДЧ А получают по формуле А=x mod q, где x - абсцисса точки R';
формируют второе проверочное МДЧ В путем копирования МДЧ r: В=r;
сравнивают сформированные проверочные МДЧ А и В;
при совпадении параметров сравниваемых МДЧ А и В делают вывод о подлинности ЭЦП.
Недостатком ближайшего аналога является возрастание размера коллективной ЭЦП, т.е. ЭЦП, устанавливающей факт подписания некоторого заданного документа двумя и более пользователями, пропорционально числу пользователей, подписывающих заданный ЭД, что обусловлено тем, что каждый пользователь формирует ЭЦП, которая не зависит от ЭЦП других пользователей.
Целью изобретения является разработка способа формирования и проверки подлинности ЭЦП, заверяющей ЭД, зависящей от произвольной совокупности секретных ключей пользователей и имеющей фиксированный размер, т.е. размер, который не зависит от числа пользователей, которым принадлежит данная коллективная подпись, благодаря чему уменьшается размер коллективной ЭЦП.
1
2
n
1
2
n
1
2
m
j
Поставленная цель достигается тем, что в известном способе формирования и проверки подлинности ЭЦП, заверяющей ЭД, заключающемся в том, что генерируют совокупность из n≥2 секретных ключей в виде многоразрядных двоичных чисел k, k, …, k, no секретным ключам формируют n открытых ключей P, P, …, P, соответственно, принимают, по крайней мере, один электронный документ, представленный многоразрядным двоичным числом Н, в зависимости от принятого электронного документа и от значения, по крайней мере, одного секретного ключа формируют электронную цифровую подпись Q в виде двух или более многоразрядных двоичных чисел, формируют первое А и второе В проверочные многоразрядные двоичные числа, сравнивают их и при совпадении их параметров делают вывод о подлинности электронной цифровой подписи, новым является то, что дополнительно генерируют коллективный открытый ключ в зависимости от m открытых ключей  …  где α, α, …, α - натуральные числа, 2≤m≤n, α≤n и j=1, 2, …, m, причем, по крайней мере, одно из проверочных многоразрядных двоичных чисел формируют в зависимости от коллективного открытого ключа.
1
2
n
i
2
n
i
i
1
2
m
R
R
R'
R'
Новым является также и то, что открытые ключи P, P, …, P генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки P, Р, …, P эллиптической кривой генерируют по формуле Р=kG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами Н, Н, …, H, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел  генерируют m точек  …  эллиптической кривой по формуле  генерируют точку R эллиптической кривой по формуле  после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=x mod δ, где x - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …  по формуле  после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле  и первое проверочное многоразрядное двоичное число А формируют по формуле A=xmod δ, где X - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=eP+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
1
2
n
1
2
n
i
i
R
R
R'
R'
Новым является также то, что открытые ключи P, Р, …, P генерируют в виде точек эллиптической кривой, для чего генерируют эллиптическую кривую в виде совокупности точек, каждая из которых определяется парой многоразрядных двоичных чисел, являющихся соответственно абсциссой и ординатой данной точки эллиптической кривой в декартовой системе координат, причем точки P, Р, …, P эллиптической кривой генерируют по формуле P=kG, где i=1, 2, …, n, G - дополнительно сгенерированная точка эллиптической кривой, имеющая порядок q, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел е и s, для чего генерируют m случайных многоразрядных двоичных чисел  …,  генерируют m точек  …,  эллиптической кривой по формуле  генерируют точку R эллиптической кривой по формуле  после чего формируют первое многоразрядное двоичное число е электронной цифровой подписи по формуле е=XH mod δ, где x - абсцисса точки R и δ - вспомогательное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …,  по формуле  после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде точки Р эллиптической кривой, вычисляемой по формуле  и первое проверочное многоразрядное двоичное число А формируют по формуле А=xH mod δ, где x - абсцисса точки R' эллиптической кривой, вычисленной по формуле R'=еР+sG, а второе проверочное многоразрядное двоичное число В формируют по формуле В=е.
1
2
n
1
2
n
2
z
E
Новым также является и то, что открытые ключи P, P, …, P генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, такое что р=Nz+1, где N - четное натуральное многоразрядное двоичное число и z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P, Р, …, P генерируют по формуле  где i=1, 2, …, n, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел R и S, для чего генерируют m случайных многоразрядных двоичных чисел  …,  генерируют m вспомогательных многоразрядных двоичных чисел  …,  по формуле  генерируют первое многоразрядное двоичное число R электронной цифровой подписи по формуле  после чего формируют вспомогательное многоразрядное двоичное число Е по формуле E=RH mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …,  по формуле  после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа P, вычисляемого по формуле  и первое проверочное многоразрядное двоичное число А формируют по формуле А=S mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=PR mod p.
1
2
n
1
2
n
2
z
-E
Новым также является и то, что открытые ключи P, Р, …, P генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число p, такое что р=Nz+1, где N - четное натуральное многоразрядное двоичное число и z - простое w-разрядное двоичное число, w>64, причем многоразрядные двоичные числа P, P, …, P генерируют по формуле  где i=1, 2, …, n, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел  …,  генерируют m вспомогательных многоразрядных двоичных чисел  …,  по формуле  генерируют вспомогательное многоразрядное двоичное число R по формуле  после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=RH mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …,  по формуле  после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле  а первое А и второе В проверочные многоразрядные двоичные числа формируют соотвественно по формулам A=(S P mod p)H mod δ и В=E.
1
2
n
1
2
n
-E
s
Новым также является и то, что открытые ключи P, P, …, P генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число р, причем многоразрядные двоичные числа P, P, …, P генерируют по формуле  где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, a электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел  …,  генерируют m вспомогательных многоразрядных двоичных чисел  …,  по формуле  генерируют многоразрядное двоичное число R по формуле  после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=R mod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …,  по формуле  после чего генерируют второе многоразрядное двоичное число S электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле  и первое проверочное многоразрядное двоичное число А формируют по формуле A=R'H mod δ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=Pg mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
1
2
n
1
2
n
1
2
m
-E
S
Новым также является и то, что открытые ключи P, Р, …, P генерируют в виде многоразрядных двоичных чисел, для чего генерируют простое многоразрядное двоичное число p, причем многоразрядные двоичные числа P, Р, …, P генерируют по формуле  где i=1, 2, …, n, g - дополнительно сгенерированное многоразрядное двоичное число, имеющее порядок q, принимают m электронных документов, представленных многоразрядными двоичными числами Н, Н, …, H, а электронную цифровую подпись формируют в виде пары многоразрядных двоичных чисел Е и S, для чего генерируют m случайных многоразрядных двоичных чисел  …,  генерируют m вспомогательных многоразрядных двоичных чисел  …,  по формуле  генерируют многоразрядное двоичное число R по формуле  после чего формируют первое многоразрядное двоичное число Е электронной цифровой подписи по формуле E=R Hmod δ, где δ - дополнительное простое многоразрядное двоичное число, затем генерируют m многоразрядных двоичных чисел  …,  по формуле  после чего генерируют второе многоразрядное двоичное число s электронной цифровой подписи по формуле  причем коллективный открытый ключ генерируют в виде многоразрядного двоичного числа Р, вычисляемого по формуле  и первое проверочное многоразрядное двоичное число А формируют по формуле А=R' mod δ, где R' - многоразрядное двоичное число, вычисленное по формуле R'=Рg mod p, а второе проверочное многоразрядное двоичное число В формируют по формуле В=Е.
1
2
m
j
1
2
n
1
2
n
Предлагаемый способ может быть использован для числа n пользователей, удовлетворяющего условию n≥2. Пользователи условно обозначаются номерами i=1, 2, …, n. Этот номер используется как индекс, указывающий на то, какому пользователю принадлежит секретный и открытый ключи, или на то, какой из пользователей генерирует отмеченные индексом МДЧ или точки ЭК. Из совокупности n пользователей некоторое их подмножество, состоящее из m произвольно выбранных пользователей, может быть задано номерами пользователей, входящих в данное подмножество, например номерами α, α, …, α, каждый из которых выбирается из множества чисел 1, 2, …., n. Таким образом, числа α, где j=1, 2, …, m, представляют собой выборку произвольных m номеров из множества {1, 2, …, n}, при этом m≤n. Соответственно этому совокупность открытых ключей, например, точек  …,  ЭК представляет собой выборку из множества всех открытых ключей Р, Р, …, P, а совокупность секретных ключей  …,  представляет собой выборку из множества всех секретных ключей k, k, …, k, где i=1, 2, …, n.
1
2
m
Корректность заявленного способа доказывается теоретически. Рассмотрим, например, вариант реализации способа по п.3 формулы изобретения. Коллективный открытый ключ, соответствующий подмножеству пользователей с условными номерами α, α, …, α, представляет собой точку
Значения  которые представляют собой «доли» пользователей в коллективной подписи, генерируются по формуле  поэтому
Значение точки R', используемой для формирования первого проверочного МДЧ А генерируется по формуле R'=еР+sG, т.е. оно равно
R'
R
Следовательно, А=xH mod δ=xH mod δ=е=В, т.е. правильно сформированная коллективная подпись удовлетворяет процедуре проверки подписи, т.е. корректность процедур генерации и проверки ЭЦП доказана.
Рассмотрим примеры реализации заявленного технического решения с использованием ЭК, описываемой уравнением (см. Приложение 1, пп.15-19)
где конкретные значения использованных параметров описаны в приводимых ниже численных примерах. Использованные в примерах ЭК были сгенерирована с помощью программы, разработанной специально для генерации ЭК, генерации точек ЭК, включая точки с заданным порядком, и выполнения операций над точками ЭК. Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала.
Пример 1. Реализация заявляемого способа по п.2 формулы изобретения.
1
2
3
1
1
2
2
3
3
В данном примере иллюстрируется п.2 формулы изобретения. В нем используется ЭК с параметрами, обеспечивающими достаточную стойкость для применения при решении реальных практических задач аутентификации информации. Этот пример иллюстрирует реальные размеры чисел, которые используются на практике при генерации и проверке подлинности ЭЦП. Особенностью данного примера является то, что принимают три различных ЭД, представленных МДЧ Н, H и Н. При этом первый пользователь подписывает первый ЭД, второй пользователь - второй ЭД и третий пользователь - третий ЭД. Возможность реализации коллективной ЭЦП с такими свойствами обеспечивается за счет того, что при проверке ЭЦП используется коллективный открытый ключ, формируемый в зависимости от открытых ключей пользователей по формуле Р=HP+HP+HP.
В примере 1 используется ЭК, определяемая следующими параметрами: а=5521767865737634555390416300599776622347333359784, b=9717196 и р=5521767865737634555390416300599776622347333359787.
Данная ЭК содержит количество точек, равное простому числу V=5521767865737634555390416228783886913339823841723, т.е. любая ее точка имеет порядок q, равный значению F, т.е. q=V.
Рассмотрим коллектив из трех пользователей. При формировании и проверке подлинности ЭЦП (подписью является пара чисел е и s) выполняют следующую последовательность действий.
1. Генерируют ЭК с параметрами, указанными выше.
1
2
3
2. Формируют секретные ключи в виде случайных МДЧ k, k и k:
1
k=8182108890892890101467333434019 - ключ первого пользователя;
2
k=3952504539403758278808581024791 - ключ второго пользователя;
3
k=9763160941600092631935520658071 - ключ третьего пользователя.
1
2
3
3. Формируют открытые ключи в виде точек ЭК P, P, Р, для чего
3.1. Генерируют точку G, имеющую порядок q:
G=(4058138998817699569976678358233335958495037969465, 768568926336036825718495218916308682494116144160);
1
2
3
i
i
3.2. Генерируют точки P, Р, Р по формуле P=kG, где i=1, 2, 3:
1
P=(2406767665928158899446906165821747218883574602371, 562377648521692290689031507205008060205345636991);
2
P=(348708108378027085357389414044825237922683510732, 1402026191996080196399482770468472598076052599809)
3
Р=(4307166077833519301063322533024162005091025020313, 5280296312549156028148905914215570655514986217509).
1
2
3
4. Принимают три ЭД, представленных МДЧ Н, Н и H:
1
H=135708092215597910168314154751917220633712178686;
2
Н=3812498990028819155316571350634376652814331770527;
3
H=8925999026871145131520337612117778680659192576033.
5. Формируют ЭЦП Q в виде двух МДЧ е и s, для чего выполняют следующие действия.
1
2
3
5.1. Первый, второй и третий пользователи генерируют случайные МДЧ t, t и t соответственно:
1
t=2090880922625982683584460167862382379;
2
t=5360383526856663700583896205266418341;
3
t=7677118810723142352012317453400887449.
1
2
3
i
i
5.2. Затем первый, второй и третий пользователи генерируют точки R, R и R соответственно по формуле R=tG:
1
R=(4533360075292446608850664400364711592205136618460, 1175061337062232179584348686477324762101164050095);
2
R=(1958279223827902047379336465285895435330140185477, 8836508908256232955144234242970494318564852573);
3
R=(5038616028852959877509554081789667436853794753557, 209613157933044677924551688484534713038841468913).
1
2
3
5.3. Генерируют точку R по формуле R=R+R+R:
R=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
R
R
5.4. Формируют МДЧ е по формуле е=x mod δ, где x - абсцисса точки R и δ - вспомогательное простое МДЧ (δ=7118198218659321028989011): е=5079008233076932087473789.
1
2
3
i
i
i
i
5.5. Первый, второй и третий пользователи генерируют МДЧ s, s и s соответственно по формуле s=(t-eHk) mod q, где q=N и i=1, 2, 3:
1
s=133444963875333388923743187271473122915443205289;
2
s=1887661653203847944710282450835612551620081427016;
3
s=4850696161955991125559318084555021335580302189827.
1
2
3
5.6. Генерируют МДЧ s=s+s+s mod q:
s=1350034913297537903802927493878220096776002980409.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.
1
1
2
2
3
3
6.1. Формируют коллективный открытый ключ в виде точки Р по формуле Р=HP+HP+HP:
1
1
HP=(1386084349002545424511668926945575066838407867380, 4543633731958840101124845818771841004374561021017)
2
2
HP=(299211431532419026428141393395396288778694972469, 5300327094421154876022064946876206296853312043729)
3
3
HP=(4523528487954522900878694877895556963796345154180, 4100826103480972798980996909196526199327733122181)
Р=(228426539485900338090938878090464611548638254406, 1202278174553095231135389060209649902535727110543).
6.2. Генерируют точку R'=eP+sG:
еР=(4556848179595887141400726723891321438602307875189, 2883779289574756983177387955618073719731329543379);
sG=(1360352815531577166684912233134001496389816081366, 3543269787247235781900897404104279341644752005600);
R'=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
R'
6.3. Генерируют МДЧ А по формуле А=x mod δ, где дополнительное МДЧ δ=7118198218659321028989011:
А=5079008233076932087473789.
7. Формируют второе проверочное МДЧ В путем копирования МДЧ е:
В=е=5079008233076932087473789.
8. Сравнивают первое А и второе В проверочные МДЧ.
1
2
3
1
2
3
Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной, т.е. относится к принятым ЭД, представленных МДЧ Н, Н и Н, причем первый пользователь подписал ЭД, представленный МДЧ H, второй пользователь - ЭД, представленный МДЧ Н, а третий пользователь - ЭД, представленный МДЧ Н.
Пример 2. Реализация заявляемого способа по п.3 формулы изобретения.
В данном примере используется ЭК, секретные и открытые ключи пользователей такие же, как и в примере 1. В примере используется ЭК, определяемая следующими параметрами:
а=5521767865737634555390416300599776622347333359784, b=9717196 и р=5521767865737634555390416300599776622347333359787.
Данная ЭК содержит количество точек, равное простому числу V=5521767865737634555390416228783886913339823841723, т.е. любая ее точка имеет порядок q, равный значению V, т.е. q=V.
Рассмотрим коллектив из трех пользователей. При формировании и проверке подлинности ЭЦП. Подписью является пара МДЧ е и s, выполняют следующую последовательность действий.
1. Генерируют ЭК с параметрами, указанными выше.
2. Формируют секретные ключи в виде случайных МДЧ
1
k=8182108890892890101467333434019 - ключ первого пользователя;
2
k=3952504539403758278808581024791 - ключ второго пользователя;
3
k=9763160941600092631935520658071 - ключ третьего пользователя.
1
2
3
3. Формируют открытые ключи в виде точек ЭК P, P, Р, для чего
3.1. Генерируют точку G:
G=(4058138998817699569976678358233335958495037969465, 768568926336036825718495218916308682494116144160).
1
2
3
i
i
3.2. Генерируют точки P, P, Р по формуле P=kG, где i=1, 2, 3:
1
Р=(2406767665928158899446906165821747218883574602371, 562377648521692290689031507205008060205345636991);
2
P=(348708108378027085357389414044825237922683510732, 1402026191996080196399482770468472598076052599809);
3
Р=(4307166077833519301063322533024162005091025020313, 5280296312549156028148905914215570655514986217509).
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=8925999026871145131520337612117778680659192576033.
5. Формируют ЭЦП Q в виде пары МДЧ е и s, для чего выполняют следующие действия.
1
2
3
5.1. Первый, второй и третий пользователи генерируют случайные МДЧ t, t и t соответственно:
1
t=2090880922625982683584460167862382379;
2
t=5360383526856663700583896205266418341;
3
t=7677118810723142352012317453400887449.
1
2
3
i
i
5.2. Затем первый, второй и третий пользователи генерируют точки R, R и R соответственно по формуле R=tG:
1
R=(4533360075292446608850664400364711592205136618460, 1175061337062232179584348686477324762101164050095);
2
R=(1958279223827902047379336465285895435330140185477, 8836508908256232955144234242970494318564852573);
3
R=(5038616028852959877509554081789667436853794753557, 209613157933044677924551688484534713038841468913).
1
2
3
5.3. Генерируют точку R по формуле R=R+R+R:
R=(2597097970263610863546069436833994580002105418569, 3304915040104400813802374282473985550015521973383).
R
R
5.4. Формируют первое МДЧ е электронной цифровой подписи по формуле е=xH mod δ, где x - абсцисса точки R и δ - вспомогательное простое МДЧ (δ=7118198218659321028989011):
е=4927124871592959793329711.
1
2
3
i
i
i
5.5. Первый, второй и третий пользователи генерируют МДЧ s, s и s соответственно по формуле s=(t-ek) mod q, где q'=N и i=1, 2, 3:
1
s=359849983424274307716254877984953159149283598626;
2
s=2228471503399271451844174588034195792013686207551;
3
s=3321295738385055881020248326363803564813773402448.
1
2
3
5.6. Генерируют второе МДЧ s электронной цифровой подписи по формуле s=s+s+s mod q:
s=387849359470967085190261563599065602636919366902.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующую последовательность действий.
1
2
3
6.1. Формируют коллективный открытый ключ в виде точки Р по формуле Р=Р+Р+P:
8. Сравнивают первое А и второе В проверочные МДЧ.
Сравнение показывает, что параметры МДЧ А и В совпадают. Совпадение значений А и В означает, что коллективная ЭЦП является подлинной, т.е. относится к принятому ЭД, представленному МДЧ Н, и сформирована тремя пользователями, по открытым ключам которых был сформирован коллективный открытый ключ, использованный для проверки подлинности подписи.
Пример 3. Реализация заявляемого способа по п.4 формулы изобретения.
Этот пример представляет вариант реализации заявляемого способа с использованием вычислений по простому модулю. Приводимые в примере МДЧ записаны для краткости в виде десятичных чисел, которые в вычислительных устройствах представляются и преобразуются в двоичном виде, т.е. в виде последовательности сигналов высокого и низкого потенциала. При формировании и проверке подлинности коллективной ЭЦП, формируемой двумя пользователями (Подписью является пара чисел R и S) выполняют следующую последовательность действий.
2
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого числа z, т.е. р=Nz+1, где N - четное число:
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Первый и второй пользователи генерируют случайные числа
1
2
5.3. Первый и второй пользователи формируют общий элемент R коллективной подписи по формуле R=RR mod p:
R=1510852283605141265167548142888441887806196045589.
5.4. Генерируют вспомогательное МДЧ Е по формуле Е=RH mod δ, где дополнительное простое МДЧ δ=35488784369499179:
Е=28456867839200835.
1
2
5.5. Первый и второй пользователи формируют значения S и S путем выполнения операций, задаваемых формулой :
1
2
1
2
5.6. Формируют элемент S коллективной подписи путем перемножения значений S и S, т.е. по формуле S=SS mod p:
S=841916762955684770115713396295806018405812798449.
z
6. Формируют первое проверочное МДЧ А по формуле А=S mod p:
A=3706556715611998607017386135859762149957976034058.
7. Формируют второе проверочное МДЧ В, для чего выполняют следующие действия.
1
2
7.1. Вычисляют коллективный открытый ключ, соответствующий первому и второму пользователям, по формуле Р=PP mod p:
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, которая означает, что документ, представленный МДЧ Н, подписан как первым, так и вторым пользователями.
Это доказывается теоретически следующим образом. Для ЭЦП, сформированной с использованием правильного значения секретного ключа, мы имеем:
т.е. для коллективной ЭЦП, сформированной с использованием секретных ключей первого и второго пользователей в соответствии с процедурами примера 5, уравнение проверки подписи выполняется.
Пример 4. Реализация заявляемого способа по п.5 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает сокращенного размера ЭЦП при использовании вычислений по простому модулю. В данном примере генерируют ЭЦП, в которой одно из МДЧ, составляющих подпись (Е, S) имеет уменьшенную длину, что позволяет сократить общий размер подписи.
2
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого числа z, т.е. р=Nz+1, где N - четное число:
1
2
3
2. Формируют секретные ключи в виде случайных МДЧ k, k и k:
1
2
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ P и P соответственно по формуле :
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (Е, S), для чего выполняют следующие действия:
5.1. Первый и третий пользователи генерируют случайные числа
1
2
где α=1 и α=3.
1
2
5.2. Первый и третий пользователи формируют значения  и  путем выполнения операций, задаваемых формулой  где j=1, 2, α=1 и α=3:
12
5.3. Первый и второй пользователи формируют общее значение R по формуле
R=1510852283605141265167548142888441887806196045589.
5.4. Генерируют первое МДЧ коллективной подписи в виде МДЧ Е, вычисляемого по формуле Е=RH mod δ, где дополнительное простое МДЧ
1
2
5.5. Первый и второй пользователи формируют значения  и  путем выполнения операций, задаваемых формулой  где j=1, 2, α=1 и α=3:
5.6. Формируют второе МДЧ S коллективной подписи путем перемножения значений  и  т.е. по формуле
S=841916762955684770115713396295806018405812798449.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующие действия.
1
2
6.1. Вычисляют коллективный открытый ключ, соответствующий первому и третьему пользователям, по формуле  где j=1, 2, α=1 и α=3:
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована первым и третьим пользователями, которым соответствует коллективный открытый ключ, равный произведению их открытых ключей, взятому по модулю р. Подлинность коллективной ЭЦП, принадлежащей первому и третьему пользователям, означает, что документ, представленный МДЧ Н, подписан как первым, так и третьим пользователями.
Пример 5. Реализация заявляемого способа по п.6 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает сокращение двух МДЧ, составляющих ЭЦП, при использовании вычислений по простому модулю. Для сокращения примера рассматривается формирование коллективной ЭЦП в виде двух МДЧ е и S, относящейся к двум пользователям, однако аналогичным образом можно сформировать и проверить коллективную ЭЦП, относящуюся к произвольному числу пользователей.
1. Формируют простое число, такое что р - 1 содержит квадрат большого простого множителя q, т.е. р=N'q+1, где N'- четное число:
1
2
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ Р и P соответственно, для чего выполняют следующую последовательность действий:
3.1. Генерируют дополнительное МДЧ g по формуле  где α - случайно выбираемое число, α=174658:
g=1092542652057354083616996599448449105489307509155.
q
Полученное дополнительное МДЧ g имеет порядок q, т.е. для него выполняется условие g mod p=1.
3.1. Генерируют по формуле
4. Принимают ЭД, представленный, например, следующим МДЧ Н (в качестве которого может быть взята, в частности, хэш-функция от ЭД):
Н=73568790119017231823457.
5. Формируют ЭЦП в виде пары чисел (R, S), для чего выполняют следующие действия:
5.1. Первый и второй пользователи генерируют случайные числа
1
2
5.2. Первый и второй пользователи формируют значения R и R путем выполнения операций, задаваемых формулой
12
12
1
2
5.3. Первый и второй пользователи формируют общее значение R по формуле R=RR mod p:
12
R=46124962342862671563301241127072281251944012875.
12
5.4. Генерируют элемент Е коллективной подписи в виде МДЧ, вычисляемого по формуле Е=R H mod δ, где дополнительное простое МДЧ
δ=35488784369499179:
E=1310719285759554.
1
2
i
i
i
5.5. Первый и второй пользователи формируют значения S и S, путем выполнения операций, задаваемых формулой S=ek+t mod q:
1
1
1
S=ek+t mod q=728310863573296830603;
2
2
2
S=ek+t mod q=56086667770983024235244.
1
2
1
2
5.6.Формируют элемент S коллективной подписи путем сложения значений S и S, т.е. по формуле S=S+S mod q:
S=56814978634556321065847.
6. Формируют первое проверочное МДЧ А, для чего выполняют следующие действия.
1
2
6.1. Вычисляют коллективный открытый ключ, соответствующий первому и второму пользователям, по формуле Р=PP mod p:
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована двумя пользователями, которым соответствует коллективный открытый ключ, равный произведению открытый ключей этих пользователей, взятому по модулю р. Подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, означает, что документ, представленный МДЧ Н, подписан как первым, так и вторым пользователями.
В примере 5 проверка подлинности ЭЦП фактически осуществляется по формулам
-E
S
E'=yg mod p, A=E'H mod δ, B=E и А=В.
Корректность процедур формирования и проверки подписи, задаваемых примером 5, доказывается для произвольных размеров МДЧ, использованных в этом примере, следующим образом:
т.е. для коллективной ЭЦП, сформированной с использованием секретных ключей первого и второго пользователей в соответствии с процедурами примера 5, уравнение проверки подписи выполняется.
Пример 6. Реализация заявляемого способа по п.7 формулы изобретения.
Данный пример представляет вариант реализации заявляемого способа, который обеспечивает формирование коллективной ЭЦП в виде двух МДЧ е и S, относящейся к двум различным электронным документам.
1. Формируют простое число, такое что p - 1 содержит квадрат большого простого множителя q, т.е. р=N'q+1, где N'- четное число:
1
2
3. Формируют открытые ключи первого и второго пользователей в виде МДЧ Р и P соответственно, для чего выполняют следующую последовательность действий:
3.1. Генерируют дополнительное МДЧ g по формуле  где α - случайно выбираемое число, α=174658:
1
2
1
2
8. Сравнивают (например, поразрядно) параметры первого и второго проверочных МДЧ А и В. Сравнение показывает, что параметры МДЧ А и В совпадают, что указывает на подлинность ЭЦП, т.е. принятая ЭЦП относится к принятому ЭД, представленному МДЧ Н, и сформирована двумя пользователями, которым соответствует коллективный открытый ключ, равный произведению открытый ключей этих пользователей, возведенных по модулю р в степень Н и H соответственно. Подлинность коллективной ЭЦП, принадлежащей первому и второму пользователям, означает, что документ, представленный МДЧ Н, подписан первым пользователем, а документ, представленный МДЧ Н, подписан вторым пользователем.
Примеры 1-6 экспериментально подтверждают корректность реализации заявляемого способа, что дополняет приведенные выше математические доказательства корректности описанных конкретных реализаций заявленного способа формирования и проверки ЭЦП, заверяющей ЭД.
Таким образом, показано, что заявляемый способ может быть положен в основу стойких систем ЭЦП, обеспечивающих уменьшение размера коллективной ЭЦП.
Приведенные примеры и математическое обоснование показывают, что предлагаемый способ формирования и проверки подлинности ЭЦП работает корректно, технически реализуем и позволяет достичь сформулированного технического результата.
Приложение 1
Толкование терминов, используемых в описании заявки
1. Двоичный цифровой электромагнитный сигнал - последовательность битов в виде нулей и единиц.
2. Параметры двоичного цифрового электромагнитного сигнала: разрядность и порядок следования единичных и нулевых битов.
3. Разрядность двоичного цифрового электромагнитного сигнала - общее число его единичных и нулевых битов, например, число 10011 является 5-разрядным.
4. Электронная цифровая подпись (ЭЦП) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от подписанного электронного документа и от секретного ключа. Проверку подлинности ЭЦП осуществляют с помощью открытого ключа, который зависит от секретного ключа.
5. Электронный документ (ЭД) - двоичный цифровой электромагнитный сигнал, параметры которого зависят от исходного документа и способа его преобразования к электронному виду.
6. Секретный ключ - двоичный цифровой электромагнитный сигнал, используемый для формирования подписи к заданному электронному документу. Секретный ключ представляется, например, в двоичном виде как последовательность цифр «0» и «1».
7. Открытый ключ - двоичный цифровой электромагнитный сигнал, параметры которого зависят от секретного ключа и который предназначен для проверки подлинности цифровой электронной подписи.
8. Хэш-функция от электронного документа - двоичный цифровой электромагнитный сигнал, параметры которого зависят от электронного документа и выбранного метода ее вычисления.
9. Многоразрядное двоичное число (МДЧ) - двоичный цифровой электромагнитный сигнал, интерпретируемый как двоичное число и представляемый в виде последовательности цифр «0» и «1».
Z
10. Операция возведения числа S в дискретную степень А по модулю n - это операция, выполняемая над конечным множеством натуральных чисел {0, 1, 2, …, n-1}, включающем n чисел, являющихся остатками от деления всевозможных целых чисел на число n, результат выполнения операций сложения, вычитания и умножения по модулю n представляет собой число из этого же множества [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972, - 167 с.]; операция возведения числа S в дискретную степень Z по модулю n определяется как Z-кратное последовательное умножение по модулю n числа S на себя, т.е. в результате этой операции также получается число W, которое меньше или равно числу n-1; даже для очень больших чисел S, Z и n существуют эффективные алгоритмы выполнения операции возведения в дискретную степень по модулю [см. Молдовян А.А., Молдовян Н.А., Гуц Н.Д., Изотов Б.В. Криптография: скоростные шифры. - СПб: БХВ-Петербург, 2002, - с.58-61 или Б.Шнайер. Прикладная криптография. - М., изд-во «Триумф», 2002, - с.278-280] и электронные устройства, осуществляющие эту операцию с большой скоростью [У.Диффи. Первые десять лет криптографии с открытым ключом // ТИИЭР. 1988, т.76, № 5, с.67-68]; выполнение операции возведения числа S в дискретную степень Z по модулю n обозначается как W=Smod n, где W - число, являющееся результатом выполнения данной операции.
11. Функция Эйлера от натурального числа n - это число чисел, являющихся взаимно простыми с n и не превосходящими n [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972, - 167 с.; Бухштаб А.А. Теория чисел. - М.: Просвещение, 1966, - 384 с.].
1
2
12. Показатель q по модулю n числа а, являющегося взаимно простым с n - это минимальное из чисел γ, для которых выполняется условие  т.е. q=min{γ, γ, …} [Виноградов И.М. Основы теории чисел. - М.: Наука, 1972, - 167 с.].
-1
13. Операция деления целого числа А на целое число В по модулю n выполняется как операция умножения по модулю n числа А на целое число B, которое является обратным к В по модулю n.
14. Порядок числа q по модулю n числа а - это показатель q по модулю n числа a (см. п.12).
15. Эллиптическая кривая (ЭК) - это совокупность пар МДЧ, которые удовлетворяют соотношению вида
где коэффициенты а и b и модуль р определяют конкретный вариант ЭК. Над ЭК определены операция сложения пар МДЧ и операция умножения пары МДЧ на произвольное целое число. Указанные пары МДЧ записываются в виде (х, y), где х называется абсциссой точки, а y - ординатой. Операции, определенные над точками ЭК, выполняются как операции над координатами точек ЭК. В результате вычисляется пара МДЧ, которая является координатами новой точки, являющейся результатом операции. Точки ЭК называются равными, если равны их обе координаты х и y. Детальное описание ЭК можно найти в широко доступных книгах: [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)].
A
A
B
В
16. Операция сложения двух точек А и В с координатами (x, y) и (x, y) соответственно выполняется по формулам:
C
A
C
A
C
A
2
x=k-x mod p и y=k(x-x)-y mod p,
где  если точки А и В не равны, и  если точки А и В равны.
17. Операция умножения точки А на натуральное число n определяется как многократное сложение токи А:
nA=А+А+…+А (n раз).
Результатом умножения любой точки ЭК на нуль определяется точка, называемая бесконечно удаленной точкой и обозначаемой буквой О. Две точки А=(х, y) и -А=(х, -y) называются противоположными. Умножение на целое отрицательное число -n определяется следующим образом: (-n)А=n(-A). По определению принимают, что сумма двух противоположных точек равна бесконечно удаленной точке О [Б.Я.Рябко, А.Н.Фионов. Криптографические методы защиты информации. М., Горячая линия - Телеком, 2005, - 229 с. (см. с.97-130)].
18. Выполнение операций на точками ЭК осуществляется в вычислительных устройствах как действия над двоичными цифровыми электромагнитными сигналами, осуществляемыми по определенными правилам, определяемым через операции над МДЧ.
19. Порядком точки А ЭК называется наименьшее натуральное число q, такое что qA=О, т.е. такое, что результатом умножения точки А на число q является бесконечно удаленная точка.