Группы векторов для алгоритмов электронной цифровой подписи

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

Сер. 10. 2009. Вып. 1

УДК 681.3

Н. А. Молдовян

ГРУППЫ ВЕКТОРОВ ДЛЯ АЛГОРИТМОВ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ*)

1. Введение. Из известных в настоящее время алгебраических систем, используемых для построения алгоритмов электронной цифровой подписи (ЭЦП), наибольшую производительность процедур формирования и проверки подлинности ЭЦП при заданном уровне стойкости обеспечивают конечные группы точек эллиптической кривой (ЭК), хотя выполнение групповой операции над точками ЭК требует осуществления операции инверсии в конечном поле, над которым задана ЭК [1, 2]. Актуальным для практики является дальнейшее повышение производительности алгоритмов ЭЦП, что может быть достигнуто применением конечных групп с групповой операцией, свободной от операции инверсии.

В настоящей работе представлен способ построения конечных групп m-мерных векторов, координаты которых - элементы конечного поля (простого GF (p) или расширенного GF(pd), где p - простое число и d € {2, 3,4 ...}), с групповой операцией, свободной от операции инверсии. При этом обеспечивается значение простого порядка построенной группы, примерно равное (т — 1)|р| и (m — 1)d|p|, где \р\ - битовая длина числа р, при применении полей GF(p) и GF(pd) соответственно, за счет чего обеспечивают уменьшение размера открытого ключа и повышение производительности алгоритмов ЭЦП.

2. Группы векторов над конечным полем GF (р). К прототипу приведенных ниже алгебраических структур относятся целые числа Гаусса вида a + bi (а и b - целые числа; см. [3, с. 74]). Рассмотрим конечное множество m-мерных векторов ae + bi +    + cj (e, i, ..., j - базисные вектора), которые будем представлять также и в виде набора координат (a,b, ...,c), являющихся элементами конечного поля GF(р). Операцию сложения векторов определим как сложение одноименных координат, а операцию умножения векторов - по правилу умножения многочленов с учетом того, что умножение базисных векторов выполняется по некоторым табличным правилам, задающим результат умножения для всех пар базисных векторов в виде базисного вектора или базисного вектора, умноженного на специально выбираемый коэффициент растяжения, в качестве которого используется элемент поля GF (р). Например, при т = 2 умножение базисных векторов выполняется в общем случае по правилу e  i = i  e = i, e  e = e и i  i = ee (e € GF (p) - параметр, задающий конкретный вариант операции умножения двухмерных векторов). При т = 3 общие правила умножения базисных векторов, обеспечивающие свойство коммутативности и ассоциативности операции умножения векторов, представлены в табл. 1, где e и ц - коэффициенты растяжения,

Молдовян Николай Андреевич — доктор технических наук, профессор, главный научный сотрудник Научного филиала ФГУП НИИ «Вектор». Количество опубликованных работ: более 250. Научные направления: информационная безопасность, криптография. E-mail: nmold@cobra.ru.

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 08-07-00096-а).

© Н. А. Молдовян, 2009

е, ц € {0,1, 2,... ,р — 1}. При т > 3 все возможные варианты задания правил умножения базисных векторов трудно представить в одной таблице. В общем случае такие правила следует задавать с учетом компромисса между следующими моментами:

1) умножение векторов должно обладать свойством ассоциативности, а в частных случаях и свойством коммутативности;

2) в получаемой алгебраической структуре должны содержаться группы большого простого порядка, размер которого близок к значению т|р|;

3) количество умножений в поле ОЕ(р), необходимых для выполнения операции умножения двух векторов, следует минимизировать;

4) в получаемой циклической группе векторов сложность задачи дискретного логарифмирования (нахождение целочисленной степени х, такой что заданный элемент группы У равен Ох, где О - генератор группы) должна быть достаточно высокой.

Таблица 1. Умножение базисных векторов в конечном трехмерном пространстве

е 3

Є е j

г ej /і€Є

3 J ^€Є ^1

Рассмотрим случай m = 2. В зависимости от значения е заданная нами алгебраическая структура есть конечное поле или конечная группа. Нейтральный элемент по умножению - это вектор (Іє + Gi), а по сложению - вектор (Ge + Gi). Поле двумерных векторов получается в случае, когда для каждого ненулевого вектора существует обратный вектор. Если вектор xe + yi - это обратный элемент по отношению к вектору ae + bi, то должно выполняться следующее:

(ae + bi)(xe + yi) = (ax + єЬу)є + (ay + bx)i = Іє + Gi (mod p),

где стоящая справа скобка (mod p) указывает на то, что операции с координатами векторов выполняются по модулю p. Из последнего выражения легко получить характеристическое уравнение

a2 — еЬ2 = G mod p.

Для любого вектора, координаты которого не удовлетворяют характеристическому уравнению (1), существует единственный обратный вектор (элемент). Для всех векторов, координаты которых удовлетворяют характеристическому уравнению, обратных элементов не существует. Следовательно, если значение е - квадратичный невычет (т. е. поле GF(p) не содержит элемента, квадрат которого равен е), то характеристическое уравнение не выполняется ни для какого вектора (a, b), кроме (0,0). Это означает, что

2

в данном случае мы имеем поле двухмерных векторов с числом элементов, равным p . Мультипликативная группа такого поля имеет порядок П = p2 — І.

Если величина е - квадратичный вычет по модулю p, то характеристическое уравнение выполняется для каждого b Є І, 2,...,p — І при двух различных значениях a. В этом случае мы имеем дело с группой двухмерных векторов. Вычитая из множества всех ненулевых двухмерных векторов количество векторов вида Ьл/ее + 6І и — Ьл/ее + 6І, для которых нет обратных элементов, получим значение порядка группы П:

П = p2 — 2(p — І) — І = (p — І)2.

Пример 1. Для p = 101 и е = 32 (квадратичный невычет по mod 101) вектор 93e + 24i имеет порядок ш = 10200 и является генератором мультипликативной группы поля GF(1012). Для p = 101 при е = 31 (квадратичный вычет по mod 101) имеем нециклическую группу порядка О = 10000, в которой порядки w(Z) векторов Z не превосходят значение штах = ш(2е + 3i) = 100.

В случае m = 3 тип алгебраической структуры конечного множества векторов определяется из анализа характеристического уравнения третьей степени, возникающего из условия существования векторов xe + yi + zj, обратных по отношению к ненулевым векторам ae + bi + cj, которое в общем случае, заданном табл. 1, предстает в виде

a3 — 3ерЬс • a + е2рЬ3 + ер2с3 = 0 mod p.

Анализ характеристического уравнения (2) на основе формул Кардано [4] приводит к следующим случаям.

Случай 1. Пусть значение p таково, что 3 Ip — 1. Тогда только для О = (p — 1)2(p +1) векторов существуют обратные значения и они образуют группу, причем эксперимент показывает, что максимальное значение порядка векторов из нее равно ш = (p— 1)(p+1).

Случай 2. Пусть 3|p — 1 и каждое их произведение е2 р и ер2 есть кубичный невычет в поле GF(p) (это может быть, например, в случае, когда е - кубичный вычет, а р -кубичный невычет, или наоборот). Тогда существует единственная пара значений Ь и с, а именно (0,0), для которой имеется решение a = 0 характеристического уравнения. Это означает, что в данном случае для каждого ненулевого вектора имеется обратное значение и совокупность всех трехмерных векторов образует поле GF (p3), мультипликативная группа которого имеет порядок

o = /-i = 3

Выбирая соответствующим образом простой модуль p, можно добиться того, что множитель 3-1(p2 + p +1) в правой части соотношения (3) будет простым значением. Подгруппа этого порядка является циклической и представляет значительный интерес для построения алгоритмов ЭЦП.

Случай 3. Каждое из произведений е2 р и ер2 - кубичный вычет по модулю p (это может быть, например, когда е и р - кубичные вычеты либо когда оба коэффициента е и р являются кубичными невычетами, для которых отношение е/р mod p есть кубичный вычет). Из p3 элементов конечного трехмерного векторного пространства имеется О = (p — 1)3 векторов, для которых существуют обратные значения и которые образуют группу, причем эксперимент показал, что максимальное значение порядка векторов из нее равно Штах = (p — 1).

Случай 4. При е = 0 и р = 0, или при е = 0 и р = 0, или при е = 0 и р = 0 имеем вырожденное характеристическое уравнение a3 = 0 mod p с единственным решением a = 0 для всех пар значений Ь и с. Для этого случая в векторном пространстве содержится группа порядка О = p2(p — 1), причем штах = p(p — 1) - максимальное значение порядка векторов из этой группы (эксперимент).

Пример 2. При m = 3, p = 2577803303 (m Ip — 1), р = 1 и е = 123456789 для вектора Z = 2е + 3i + 5j значение порядка равно w(Z) = (p — 1)(p + 1) = 6645069868957709808. Этот порядок является максимальным по всему множеству векторов, образующих нециклическую группу. Максимальная величина простого порядка циклической подгруппы равна 28513 (это делитель числа p +1), генератором такой подгруппы является, например, вектор Z = (984943627,1489754402,1854832478).

Пример 3. При т = 3, р = 2268699751 (т\р — 1), р = 1 (кубичный вычет) и є = 123456789 (кубичный невычет) множество векторов образует расширенное поле ОЕ (р3), мультипликативная группа которого имеет порядок О = р3 — 1 = 1676994351894653554990661750, а вектор Оа = 251е + 437І + 568^ является генератором этой группы. Вектор Од = 749364856е + 1849697147І + 2031031219] - генера-

р3-1

тор подгруппы с максимальным значением простого порядка, равным д = „^(р-1) = 1715666187485387251. тР

Пример 4. При т = 3, р = 2268699751 (т\р — 1), р = 1 и є = 1802485313 = 12173 (кубичный вычет) множество векторов образует нециклическую группу порядка О = (р — 1)3, а вектор Z = (251, 437, 568) имеет порядок ) = штах = (р — 1) = 2268699750.

Анализ случаев т = 2 и т = 3 выявил следующую общую закономерность, которая была подтверждена экспериментально для т = 4, 5,..., 53. Для того чтобы множество т-мерных векторов образовало конечное расширенное поле ОЕ(рт), следует выбирать поле ОЕ (р) такое, что число р — 1 в своем разложении содержит в качестве множителя число т, а в таблице правил умножения базисных векторов использовать коэффициенты растяжения, которые для всех т'\т (т' = 1) непредставимы в виде хт , где х Є ОЕ (р). Для построения алгоритмов ЭЦП случай формирования конечных векторных полей представляет существенный интерес, поскольку здесь при простом значении т можно обеспечить образование циклической подгруппы максимального простого порядка, равного

О' =

1

рт-1 + р’т—2 +

+ р +1

т(р — 1) т

Чтобы правая часть (4) была равна простому значению, следует выбирать специальные простые числа р. Эксперимент показал, что для всех наиболее интересных для синтеза алгоритмов ЭЦП случаев размерностей т (т € {3, 5, 7,11,13}) и длин модуля р (160 ^ (т — 1) |р| ^ 1024) существует достаточно большая доля простых чисел р, таких что

рт-1 +рт-2+—+р+1

Е---------!—1 также является простым числом.

т ^

В описанных ниже алгоритмах ЭЦП используются мультипликативные группы пятимерных векторов с групповой операцией, определенной по табл. 2, где 0 ^ е ^ р — 1 есть коэффициент растяжения, и параметрами, приведенными в примере 5 (мы даем один из возможных вариантов таких таблиц для случая т = 5; при т ^ 4 существует большое число вариантов, которое резко увеличивается с ростом т; эти варианты отличаются распределением базисных векторов и коэффициентов растяжения, причем в таблице могут присутствовать два и более коэффициентов, например р и е в табл. 1).

Таблица 2. Правила умножения базисных векторов для случая т = 5

~е ~г У к ~и

е е j к и

г ек ей ее

3 j ек ей ее і

к к ей ее j

и и ее J к

Пример 5. При т = 5, р = 277761005920591 (т. е. т\р — 1) и

= 11223344556789 (невычет 5-й степени) имеем поле ОЕ (р5) пятимерных

векторов, порядок мультипликативной группы которого О

р — 1. Макси-

мальное значение простого порядка циклической подгруппы д = ъ{р-л) =

1190460804289966035104354349286057475944323186306423838381. Вектор Gn = 1е +

3i + 7j + 11k + 13u является генератором мультипликативной группы, а вектор Gq = 13943548957481е + 275403047659738i + 245766508403232j + 21327802452366k + 155546973909559u - генератором указанной циклической подгруппы.

Пример 6. При m = 5, p = 277761005920591 (т. е. m\p — 1) и е = 28153056843 = 1235 (вычет 5-й степени) имеем группу векторов, максимальное значение порядка которых равно ш = p — 1. Например, для Z = 1е + 2i + 3j + 4k + 5u w(Z) = 2268699750.

3. Группы векторов над конечным полем GF(pd). По аналогии с заданием векторных полей и групп над простым конечным полем GF (p) легко задать аналогичные алгебраические структуры над конечными полями типа GF(pd). При этом положения, аналогичные всем основным положениям, установленным для формирования конечных полей и групп векторов для случая полей GF(p), имеют силу и при использовании полей GF (pd). Наиболее важными для рассматриваемого применения конечных векторных пространств представляются положения, определяющие случаи задания конечных векторных полей GF (pdm), содержащих мультипликативную подгруппу порядка

От = pdm — 1,

который при соответствующем выборе величины p и простых значений d и m включает достаточно большой простой делитель, которому отвечает циклическая подгруппа поля GF(pdm). При сравнительно больших значениях d и малых величинах p максимальный простой порядок подгрупп в векторных полях GF(pdm) не превышает значение максимального простого порядка в векторных полях GF (p'm), заданных над простым полем GF(p'), при одинаковых размерах векторов, т. е. при dm\p\ = m\p'I. Несмотря на это, для случая аппаратной реализации наиболее перспективным представляется использование векторных полей, заданных над расширенным полем GF(2d), операции в котором эффективно реализуются аппаратными средствами. При этом обеспечиваются значительное снижение стоимости реализации и существенное повышение быстродействия (при заданном размере длины векторов). Для программной реализации алгоритмов ЭЦП предпочтительными являются векторные поля, заданные над простым конечным полем.

4. Общая схема построения алгоритмов ЭЦП. Подписывающий формирует свой открытый ключ Y в виде вектора Y = Gx, где G - вектор, являющийся генератором циклической группы векторов Г, имеющей достаточно большой порядок q (|q| ^ 160 бит). Например, в качестве Г может быть использована циклическая подгруппа, описанная в примере 5. Формирование подписи к сообщению M выполняется следующим образом:

1) выбрать случайное значение k < q и рассчитать вектор R = Gk;

2) используя некоторую криптографически стойкую хэш-функцию Fh, вычислить хэш-код h от сообщения с присоединенным к нему вектором R: h = Fh (M, R) - первый (рандомизирующий) элемент ЭЦП;

3) определить второй элемент ЭЦП: s = xh +1 mod q.

Проверка подлинности подписи (h, s) состоит в следующем:

1) вычисляется вектор R' = Yq-hGs;

2) рассчитывается значение h' = Fh(M, R');

3) сравниваются величины h' и h; если h' = h, то ЭЦП признается подлинной.

Группа Г может быть задана на множестве векторов, координаты которых являются элементами конечного простого поля GF(p) или конечного расширенного поля

GF(pd), для значений p и d, определяемых требованиями к алгоритму ЭЦП по стойкости, производительности и сложности реализации.

Представляет интерес построение протокола коллективной подписи по способу, в основе которого лежит формирование общего рандомизирующего элемента ЭЦП для коллектива подписывающих [5].

Пусть z пользователей являются владельцами открытых ключей Yi,Yi, ...,Yz, где Yj = Gxj и j = 1, 2,..., z, и желают подписать документ M. Все их подписи могут быть объединены в единую подпись, размер которой не зависит от m и равен длине подписи одного пользователя, с помощью следующего протокола.

1. Каждый j-й пользователь генерирует случайное число kj < q. Затем он вычисляет число Rj = Gkj, которое рассылает остальным пользователям из данной группы.

2. Все пользователи рассчитывают значение R = RR2...Rz, а затем первый элемент коллективной подписи h = Fh(M, R).

3. Каждый из рассматриваемой группы пользователей определяет свою долю подписи по формуле Sj = Xjh + tj mod q и предоставляет ее остальным.

4. Все пользователи вычисляют число s = si + S2 + ... + sm mod q, которое является вторым элементом коллективной подписи.

Проверка подлинности коллективной ЭЦП осуществляется по процедуре, записанной выше для обычной ЭЦП, за исключением того, что в качестве значения y используется коллективный открытый ключ Y = YiY2...Yz. Примеры других алгоритмов ЭЦП с иллюстрацией их работы численными примерами приведены в [6], где впервые был предложен способ формирования и проверки ЭЦП, основанный на операциях в группах векторов над конечными полями.

5. Заключение. Наиболее интересным моментом в предложенном способе задания операции умножения m-мерных векторов с координатами из конечного поля является введение в таблицу правил умножения базисных векторов коэффициентов растяжения. В случае m| p — 1 , выбирая определенные позиции таблицы, куда вносятся эти коэффициенты, и конкретные величины таких коэффициентов, можно придать множеству векторов свойства конечного расширенного поля GF (pm). Выбирая нечетные размерности m и специальные числа p, можно задать существование в векторном поле GF (pm) циклической подгруппы большого простого порядка, равного значению m-1(pm-i + pm-2 + • • • + p +1) заданного размера, диктуемого требуемым уровнем безопасности алгоритмов ЭЦП, основанных на операциях в этой подгруппе.

Другой важной ролью коэффициентов растяжения является повышение сложности задачи дискретного логарифмирования в конечных группах m-мерных векторов. Данный вопрос представляет самостоятельную объемную задачу, требующую существенных временных ресурсов и привлечения сил достаточно большого числа исследователей, специализирующихся в разных областях алгебры. Результаты таких работ дадут уточнение по требуемым размерам координат векторов и размерности последних, обеспечивающих требуемый уровень безопасности алгоритмов ЭЦП, и по зависимости этих параметров от выбора растягивающих коэффициентов.

При соответствующем выборе значений растягивающих коэффициентов для стойкости алгоритмов ЭЦП, равной 280 операций возведения в степень, можно использовать конечные циклические группы векторов длиной более 200 бит, заданные над конечным простым GF(p) или расширенным GF(pd) полем. В этом случае обеспечивается возрастание производительности алгоритмов ЭЦП в 5-10 раз, чем при применении ЭК. Такие перспективы оправдывают дальнейшие трудоемкие исследования сложности задачи дискретного логарифмирования в предлагаемых алгебраических структурах.

В случае аппаратной реализации, благодаря возможности существенного распараллеливания операций перемножения координат векторов, значительный выигрыш в производительности достигается даже при больших значениях размера векторов (1024 бит и более), когда уровень безопасности выше 280 сомнений не вызывает.

Автор благодарит Е. С. Дернову , Л. В. Гортинскую и Д. Н. Молдовяна за участие в данном исследовании, ценные замечания и дискуссии, а также за помощь в проведении вычислительных экспериментов.

Summary

Moldovyan N. A. Vector groups for digital signature algorithms.

To provide higher performance of the digital signature algorithms (DSA) the groups formed in finite vector spaces are introduced as cryptographic primitive. The addition and multiplication operations over the m-dimension vectors, coordinates of which are elements of some finite field, are defined so that finite groups and fields of vectors are formed. The multiplication is specified using the tables of multiplying basis vectors in which the expansion coefficients are introduced. Special selection of the expansion coefficient values provides the formation of the vector fields. It is shown that the introduced vector groups and fields are prospective as cryptographic primitive providing significant performance increase of the DSA. Some variants of the DSA are described.

Key words: vector groups, vector finite field, digital signature.

Литература

1. Болотов А. А., Гашков С. Б., Фролов А. Б., Часовских А. А. Элементарное введение в эллиптическую криптографию. М.: КомКнига, 2006. 324 с.

2. Koblitz N. A. Course in Number Theory and Cryptography. Berlin: Springer-Verlag, 2003. 236 p.

3. Ван дер Варден Б. Л. Алгебра /Пер. с нем. А. А. Бельского. СПб.; М.; Краснодар: Лань, 2004. 623 c.

4. Курош А. Г. Курс высшей алгебры. М.: Наука, 1971. 431 c.

5. Молдовян Н. А. Вычисление корней по простому модулю как криптографический примитив // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2008. Вып. 1. С. 101-106.

6. Молдовян Н. А., Молдовян Д. Н. Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ. Патентная заявка РФ № 2007147826 от 25 декабря 2007 г.

Статья рекомендована к печати проф. Н. В. Егоровым.

Статья принята к печати 7 октября 2008 г.