УДК 681.3
Л. В. Гортинская, Е. С. Дернова, Д. Н. Молдовян, П. А. Молдовяну
ПОСТРОЕНИЕ КОНЕЧНЫХ ГРУПП ВЕКТОРОВ ДЛЯ СИНТЕЗА АЛГОРИТМОВ ЦИФРОВОЙ ПОДПИСИ
Рассматривается задача построения конечных коммутативных и некоммутативных групп да-размерных векторов, содержащих подгруппы простого порядка большого размера, а также построения алгоритмов цифровой подписи на их основе.
Ключевые слова: конечные группы т-размерных векторов, электронная цифровая подпись, криптографические алгоритмы.
Введение. Для придания юридической силы электронным документам применяется электронная цифровая подпись (ЭЦП). Алгоритмы, используемые при создании ЭЦП, основаны на вычислительно сложных задачах с применением конечных алгебраических структур с ассоциативной операцией [1, 2]. При построении схем ЭЦП наиболее часто используется задача дискретного логарифмирования (ЗДЛ) в мультипликативных группах большого простого порядка, содержащихся в конечных простых полях Галуа порядка р, ОЕ(р), или расширенных — ОГ(рт). При этом в качестве простого поля &Р(р) используется кольцо Zp, где р — простое число большого размера, а в качестве расширенного GF(p™) — конечные поля многочленов (т — натуральное число). Для обоих типов полей были предложены методы решения ЗДЛ, имеющие субэкспоненциальную сложность, в соответствии с ними для обеспечения достаточной стойкости алгоритмов ЭЦП требуется использовать поля ОЕ(р) и GF(p™) размером порядка 1024 бит и более, что ограничивает производительность процедур.
Более высокую производительность обеспечивают алгоритмы ЭЦП, основанные на применении конечных групп точек эллиптической кривой (ЭК), групповой операцией в которых является операция сложения (композиции) точек. Для решения ЗДЛ на эллиптической кривой известны только методы, имеющие экспоненциальную сложность, благодаря чему возможно использовать ЭК с точкой (х, у), длина х—у лежит в пределах 160—320 бит. Однако возрастание производительности в случае применения ЭК ограничено тем, что операция композиции точек в качестве составного элемента включает вычисление обратных значений в конечном поле, над которым задана ЭК [3—5].
Недавно в качестве примитивов алгоритмов ЭЦП были предложены конечные коммутативные группы и поля, формируемые в векторных пространствах, в которых определяется специальная операция умножения [6]. В этой работе показано, что при соответствующих параметрах конечное векторное пространство является конечным полем, содержащим подгруппы достаточно простого порядка, размер которого близок к размеру порядка группы. однако вопрос формирования нециклических подгрупп векторов, содержащих подгруппы большого простого порядка, остался открытым. Также не был рассмотрен вопрос формирования некоммутативных конечных групп векторов, представляющих интерес для синтеза алгоритмов ЭЦП.
В настоящей работе рассматривается построение нециклических групп векторов, содержащих подгруппы большого простого порядка, а также некоммутативных конечных групп векторов. Интерес к конечным группам векторов обусловлен тем, что в них сложность ЗДЛ представляется более высокой, поскольку элементы задачи не могут быть представлены в виде степеней некоторого фиксированного элемента.
Определение операции умножения в конечном векторном пространстве. Конечное векторное пространство представляет собой множество элементов (векторов) вида
ае + Ы + ... + сгде а, Ь, ..., с — координаты, являющиеся элементами конечного простого поля ОГ(р); е, 1, ... ] — базисные векторы, которые могут быть представлены также в виде набора координат (а, Ь, ..., с). Операция сложения векторов может быть представлена следующей формулой:
(ае + Ь1 + ... + с]) + (хе + у1 + ... + zj) = (а + х)е + (Ь + у) + ... + (с + z)j.
В настоящей работе рассматривается задача построения мультипликативных групп векторов, различающихся видами операции умножения. Все варианты операции умножения определяются в соответствии с работой [6] по общему правилу умножения каждой компоненты первого вектора-сомножителя на каждую компоненту второго вектора-сомножителя с сохранением в общем случае порядка следования перемноженных компонент. Произведения двух базисных векторов заменяются на вектор уу, где у е ОЕ(р) и V е {е, 1, ..., ] }. Конкретному виду операции умножения свойствен конкретный вид такой подстановки. Формальное представление умножения следующее:
(ае + Ь1 + ... + с]) (хе + у1 + ... + zj) = ахее + ауе1 + ... + аzej + ... + Ьх1е + Ьу11 + ... + Ьzij + ... + сх]е + су]1 + ... + czjj, где каждое из произведений ее, е1, ej, 1е, И, ..., ij, ..., je, ji, ..., jj следует заменить на значение уу, задаваемое таблицей умножения базисных векторов (ТУБВ). Конкретный вариант этой таблицы определяется конкретным вариантом операции умножения да-мерных векторов. После выполнения указанной подстановки получается некоторая сумма однокомпонентных векторов. Синтез ТУБВ выполняется таким образом, чтобы операция умножения векторов была ассоциативной и коммутативной для формирования коммутативных групп векторов или некоммутативной — для формирования некоммутативных групп векторов.
Таблицы умножения базисных векторов. В данной работе рассматривается построение мультипликативных групп в векторном пространстве, заданном не над Zp, а над конечным кольцом Z„, где п = кр, к — простое число. При этом операции сложения и умножения координат векторов и коэффициентов растяжения, фигурирующие в определении операции умножения векторов, рассматриваются в кольце Zn.
Для случаев т = 5 и 7 правила умножения базисных векторов могут быть заданы табл. 1 и 2. Данные ТУБВ определяют для произвольных комбинаций значений коэффициентов растяжения в, д, т, X е Zn операцию умножения, обладающую свойствами ассоциативности и коммутативности.
_Таблица 1
Операция умножения е 1 j к и
е е 1 к и
1 1 еХ.] едк еХи едтХе
] j едк вди едтХе дт1
к к еХи едтХе тХ1 тХ.]
и и едтХе ДТ1 тХ.] дтк
Таблица 2
Операция умножения е 1 ] к и у w
е е 1 ] к и у w
1 1 Хе.] Хек теи Хеу Xеw тХеде
] ] Хек теи теу Xвw тХеде тдк
к к тви теу теw тХеде тд1 тд.]
и и Хеу Xеw тХеде Хду Хд.] Хдк
у у Xвw тХеде тд1 Хд.] Хдк тди
w w тХедте тдк тд.] Хдк тди тду
Синтез коммутативных групп, содержащих подгруппы с большим размером простого порядка. Рассмотрим подмножество {Z} да-мерных ненулевых векторов, координаты которых являются элементами кольца Zn, где n = kp, p >> k, причем значение коэффициента при базисном векторе не делится на k, д=т-А,= 1, число k делит число в. Операцию умножения векторов зададим по общей схеме с использованием табл. 1, 2. Легко видеть, что такая операция умножения, выполняемая над двумя векторами из рассматриваемого подмножества, дает в результате вектор, принадлежащий этому же множеству. Мощность рассматриваемого подмножества равна
#{Z} = p(k - i)(kp)m- 1, ^ 1
где p(k - 1) — число возможных значений первой координаты, а (kp)m — число возможных комбинаций значений остальных координат. Совокупность всех векторов Z, для которых существует обратный вектор Z-1, будет образовывать группу, порядок которой равен
Q = #{Z} - #{N},
где {N} — совокупность всех векторов, принадлежащих подмножеству {Z}, для которых не существует обратных значений. Определим мощность {N}. Векторы, для которых нет обратных значений, имеют следующий вид:
N = (q1 p, q2p, ..., qmp),
где q1 e {1, 2, ..., k - 1} и q2, q3, ..., qm e {0, 1, 2, ..., k - 1} (нулевой вектор не входит в подмножество {Z}). Легко показать, что для таких векторов отсутствуют обратные значения. Действительно, из определенной операции умножения непосредственно вытекает, что у вектора V = NX для произвольного вектора X каждая из координат делится на p, следовательно, V не может быть единичным вектором (1, 0, 0, ..., 0). Число векторов N равно #{N} = (k - 1)k™ - 1, следовательно, порядок рассматриваемой группы векторов не превышает Q = p(k - 1)(kp)m - 1 - (k - 1)km - 1 = (k - 1)km - 1(pm - 1).
Это значение достигается, если т делит p - 1, а в является невычетом степени т по модулю p. Покажем, что это действительно так. Рассмотрим некоторый вектор Z = (a, b, ..., c), принадлежащий множеству {Z}. Перейдем от вектора Z к вектору Z ' = (a, b' ..., c), где a' = a mod p, b' = b modp, ..., c' = c mod p. Вектор Z ' принадлежит при заданных условиях к векторному полю GF(pm) [6]. Поскольку Z ' ^ ( 0, 0, ..., 0), то в векторном поле GF(pm) относительно неизвестного вектора X ' существует решение уравнения Z 'X ' = E, где E = (1,0,...,0). Координаты вектора X ' = (х , y', .., z) удовлетворяют системе сравнений следующего вида: fn(a',b',...,c ')х ' + fu(a',b',...,c ')y ' +... + fln(a',b',...,c ')z ' = 1, : f2X(a', b',..., c ') х ' + f22(a', b',..., c ') y ' +... + f2m (a', b',..., c ') z ' = 0,
fnl(a', b',..., c ') х ' + fm 2 (a', b',..., c ') y ' +... + fmm (a', b',..., c ') z ' = 0.J
В данной системе коэффициенты fti при неизвестных х',y', ..., z' определяются коэффициентами растяжения и координатами вектора Z '. Известно, что если обе части сравнения и модуль делятся на одно и то же целое число, то обе части сравнения и модуль можно разделить на это число, получив в результате эквивалентное сравнение (см. [7], теорема 128). Заменив в этой системе сравнений a' на a, b' на b, ..., c' на c и умножив левую и правую части каждого сравнения и модуль на число t, получим систему сравнений, эквивалентную исходной. В векторном множестве {Z} полученной системе соответствует векторное уравнение ZX = E' , где E ' = (t,0,.,0) = tE. Очевидно, что вектор X = ^', ty', .., tz') = tX ' является решением последнего уравнения, которое можно представить в виде tZX ' = tE, откуда следует ZX' = E, т.е. X ' является вектором, обратным Z. Таким образом, при m\(p - 1) и в, являющемся невычетом степени т по модулю p, всем векторам множества {Z}, кроме векторов вида N, можно поставить в соответствие единственный обратный вектор, что и требовалось
доказать. Теоретически определенное значение О = 1)^ т - 1(рт - 1) подтверждается вычислительным экспериментом.
При простом значении т, таком, что т | (р - 1), значение р можно выбрать таким образом, что множитель q = т~х(рт -1 + рт -1 +...+р + 1), содержащийся в разложении числа рт - 1, будет простым. Некоторые конкретные варианты таких значений р приведены в табл. 3 (знак „\\" обозначает перенос записи числа на другую строку). Таким образом, построенная нами группа векторов содержит подгруппу простого порядка длиной |q| в двоичном представлении: |q| = (т - 1)р| - |т| « (т - 1)р|. Для построения алгоритмов ЭЦП требуется использовать подгруппы простого порядка q размером не менее > 160 бит. Для этой цели следует выбрать простое числор размером р| при условии
1 q | - | т | | q |
\Р I ^
(бит).
т -1 т -1
Для синтеза алгоритмов ЭЦП удобно использовать кольца размерностью т е {3, 5, 7, 11, 13, 17, 19}. При выборе конкретных значений т и к следует учитывать требования к производительности алгоритмов ЭЦП, вариант реализации и обеспечиваемый уровень стойкости. Для синтеза ТУБВ, соответствующих случаям т = 3, 11, 13, 17, 19, можно воспользоваться результатами работ [6, 8].
_Таблица 3
m Р q = m-1(pm -1 + pm-1 +...+p + 1)
5 731 347 069 147 286 084 350 321 693 088 102 651 075 474 527 140 170 997 913 161
5 50 676 921 106 512 713 6 595 396 132 044 187 165 178 914 150 733 683 078 979 644 173 924 260 \\ 305 243 710 080 341
7 186 419 693 41 971 136 855 362 349 259 612 655 092 913 923 374 434 953 935 443
11 34 919 2 695 444 645 954 794 709 894 042 480 955 311 929 186 425 401
13 8693 186 245 641 178 891 833 068 301 313 943 899 460 753 528 874 501
Построение некоммутативных групп векторов. Некоммутативные группы векторов, заданных над простым полем GF(p) и имеющих размерность m = 4, были построены путем задания операции умножения по табл. 4. В построенных группах для произвольных ненулевых значений коэффициентов A, B и C максимальное значение порядка векторов равно
^max = p(p - 1)(Р + 1).
Таблица 4
Операция умножения e i j k
e e i i k
i i -ACe Ak -Cj
-Ak -ABe Bi
k k Cj -Bi -BCe
Для синтеза алгоритмов ЭЦП представляет интерес выбор простого числа р, при котором р + 1 = 2q, а также использование циклической подгруппы порядка q. Например, при р = 87 049 239 434 461, А = 1, В = 2 и С = 3 вектор О = (12 051 687 713 738, 12 743 450 807 620, 58 233 746 685 306, 75 018 447 720 758) имеет простой порядок q = 43 524 619 717 231.
Синтез алгоритмов ЭЦП на основе циклических подгрупп достаточно большого простого порядка, содержащихся в группах многомерных векторов, может быть выполнен по аналогии с алгоритмами [9, 10], построенными с учетом сложности задачи дискретного логарифмирования в конечном простом поле. Рассмотрим возможный вариант обобщенной схемы ЭЦП, предположим, что в нем используется циклическая группа векторов Г, имеющая достаточно большой порядок q > 160 бит). Например, в качестве Г может быть использована подгруппа максимального простого порядка, содержащаяся в векторной группе, заданной над кольцом Zn, где п = кр, к = 8693 и р = 50 676 921 106 512 713 (см. табл. 3), или под-
группа порядка q в некоммутативной группе, построенной в предыдущем разделе. При указанных параметрах кольца Zn в группе векторов содержится подгруппа простого порядка, размер которой превышает 200 бит.
Подписывающий формирует свой открытый ключ Y в виде вектора Y = Gx, где G — вектор, являющийся генератором группы Г. Формирование подписи к сообщению M выполняется следующим образом:
1) выбрать случайное число k < q и вычислить вектор R = Gk;
2) используя некоторую криптографически стойкую хэш-функцию Fh, вычислить хэш-код h от сообщения M с присоединенным к нему вектором R: h = Fh(M, R). Значение h будет первым элементом ЭЦП;
3) вычислить второй элемент ЭЦП: s = xh + t mod q.
Проверка подлинности подписи (h, s) состоит в следующем:
1) вычисляется вектор R' = Yq-h G s;
2) вычисляется значение h' = Fh(M, R' );
3) сравниваются значения h' и h; если h' = h, то ЭЦП признается подлинной.
Заключение. Построены конечные коммутативные нециклические группы векторов,
содержащие подгруппы простого порядка большого размера, и конечные некоммутативные группы, перспективные для применения в алгоритмах ЭЦП и открытого распределения ключей. Для случаев пяти- и семимерных векторов предложены таблицы умножения базисных векторов, содержащие четыре независимых коэффициента растяжения. Особенностью построенных коммутативных групп является то, что координаты векторов являются элементами конечного кольца Zkp. При соответствующем выборе конкретных значений p в нециклической группе содержится подгруппа простого порядка длиной (m - 1)p| - |m| бит. Некоммутативная группа построена для случая четырехмерных векторов, заданных над простым конечным полем. На основе построенных групп векторов могут быть разработаны алгоритмы ЭЦП, обладающие высокой производительностью.
Для дальнейших исследований интерес представляет разработка некоммутативных групп векторов для случаев m = 6, 8 и 16 и синтез криптоалгоритмов с открытым ключом на основе сложности вычисления сопрягающего элемента [11] в некоммутативных конечных группах векторов.
Работа поддержана грантом РФФИ № 08-07-00096-а.
СПИСОК ЛИТЕРАТУРЫ
1. Венбо Мао. Современная криптография. Теория и практика. М.—СПб—Киев: Изд. дом „Вильямс", 2005. 763 с.
2. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке СИ. М.: ТРИУМФ, 2002. 816 с.
3. Болотов А. А., Гашков С. Б., Фролов А. Б., Часовских А. А. Элементарное введение в эллиптическую криптографию. Алгебраические и алгоритмические основы. М.: КомКнига, 2006. 324 с.
4. Болотов А. А., Гашков С. Б., Фролов А. Б. Элементарное введение в эллиптическую криптографию. Протоколы криптографии на эллиптических кривых. М.: КомКнига, 2006. 274 с.
5. KoblitzN. A Course in Number Theory and Cryptography. Berlin: Springer-Verlag, 2003. 236 p.
6. Молдовян Н.А. Алгоритмы аутентификации информации в АСУ на основе структур в конечных векторных пространствах // Автоматика и телемеханика. 2008. № 12. С. 163—177.
7. Бухштаб А. А. Теория чисел. М.: Просвещение, 1966. 384 с.
8. Молдовян Д. Н., Молдовяну П. А. Задание умножения в полях векторов большой размерности // Вопросы защиты информации. 2008. № 3(82). С. 12—17.
9. Молдовян Н. А. Практикум по криптосистемам с открытым ключом. СПб: БХВ-Петербург, 2007. 298 с.
10. Menezes A. J., Van Oorschot P. C., and Vanstone S. A. Handbook of Applied Cryptography. Boca Raton, FL: CRC Press, 1997. 780 p.
11. Ko K. H., Lee S. J., Cheon J. H., Han J. W., Kang J.-S., Park Ch. New Public Key Cryptosystems Using Braid Groups // Advances in cryptology — CRYPTO 2000. Proc. Springer-Verlag LNCS. 2000. Vol. 1880. P. 166—183.
Лидия Вячеславовна Гортинская Евгения Сергеевна Дернова
Дмитрий Николаевич Молдовян Петр Андреевич Молдовяну
Сведения об авторах
Научно-исследовательский институт „Вектор", Санкт-Петербург; старший научный сотрудник; E-mail: [email protected] аспирант; Санкт-Петербургский государственный электротехнический университет „ЛЭТИ", кафедра автоматизированных систем обработки информации и управления; E-mail: [email protected] Санкт-Петербургский институт информатики и автоматизации РАН; младший научный сотрудник; E-mail: [email protected] Научно-исследовательский институт „Вектор", Санкт-Петербург; начальник службы главного метролога; E-mail: [email protected]
Рекомендована НИИ „Вектор"
Поступила в редакцию 12.10.09 г.