ТРУДЫ МФТИ. 2017. Том 9, № 1 Информатика, вычисл. техника и управление 39
УДК 681.3
А. А. Григорьев, П. В. Дудкин
Московский физико-технический институт (государственный университет)
Криптографические примитивы на полупрямых произведениях групп
Исследуется новый класс криптографических примитивов, опирающихся на операцию возведения в степень в некоммутативных группах. Широкий класс некоммутативных групп дает известная конструкция полупрямого произведения. Анализ этой конструкции выявляет специфику структуры степени элемента в полупрямом произведении групп. Эта специфика приводит к схеме генерации секретных ключей, подобной известной схеме Диффи-Хеллмана. Предложено два конкретных протокола генерации ключей. В одном из них используется расширение мультипликативной группы простого поля Zp посредством некоторой циклической подгруппы ее группы автоморфизмов. Во втором - конструкция некоммутативной группы порядка р3 как полупрямого произведения циклических групп порядков р2 and р. Обсуждается сложность атак на предложенные схемы генерации ключей.
Ключевые слова: криптография, генерация ключей, полупрямое произведение. A. A. Grigoriev, P. V. Dudkin
Moscow Institute of Physics and Technology (State University)
Cryptographic primitives based on semidirect group
products
A new class of cryptographic primitive constructions based on exponentiation in noncommutative groups is discussed. A wide class of noncommutative groups is given by the classical construction of semidirect group product. Discussing semidirect products we reveal the form of an expression for a group element power. This form leads to key generation procedure analogues to the Diffie-Hellman scheme. Two concrete key generation protocols are given. One of them is based on an extension of the multiplicative group of the simple field Zp by some cyclic subgroup of its automorphism group. The other use is the construction of the noncommutative p3-group as a semidirect product of cyclic groups of orders p2 and p. The complexity of attacks on a proposed key generation procedures is given.
Key words: cryptography, key generation, semidirect product.
1. Схема генерации ключей Диффи-Хеллмана
Пусть две стороны А и В, соединенные каналом связи, хотят стать обладателями секретного ключа К, недоступного какой-либо третьей стороне. Для этого они предварительно выбирают и публикуют большое простое число р и некоторый элемент £ из мультипликативной группы Z* поля Zp чисел по модулю р.
Сторона А случайно выбирает большое натуральное I, вычисляет число Ь = и передает его стороне В. Сторона В выбирает случайное г и передает стороне А число К = . По завершении обмена Ь ^ К стороны получают возможность вычислить общий ключ К:
в1 = у=к=(еу=V.
Для того чтобы третья сторона, перехватившая сообщения Ь = и Я = £г, емогла вычислить ключ К, она должна найти хотя бы один из случайных показателей 1,г, то есть решить задачу вычисления дискретного логарифма I = ^^ Ь или г = ^^ К.
2. Полупрямые произведения
Пусть даны две группы N и Н и пусть Н ^ АиЬ(М) - гомоморфизм группы Н в группу автоморфизмов группы N. Иными словами, пусть каждому элементу к € Н поставлен с соответствие автоморфизм <рь(п) ■ N ^ N, так что ((Рн2(п)) = (Рк1к2(п). Нейтральному элементу е € Н отвечает при этом тривиальный автоморфизм группы N: <^е(п) = п.
Полупрямое произведение О = N х^ Н, [3], вводится как множество пар (п,к), п € И, к € Н, с групповой операцией
(П\,к\)(П2, Ь,2) = (П1^Н1 (П2),кф2).
Ассоциативность так введенного умножения легко проверяется. Нейтральным элементом группы С = N х ¡р Н является пара (е, е) нейтральных элементов N и Н. Обратным к (п, к) является элемент (^-1 (п-1), к-1). Наборы (п,е), п € N и (е,к), к € Н, образуют подгруппы, изоморфные N и Н. Пересечение этих подгрупп состоит из единственного нейтрального элемента (е,е). Легко показать, что (е, к)(п, е)(е, к)-1 = (^ь("п),е), так что подгруппа N нормальна в С (инварианта относительно внутренних автоморфизмов), а действие на N внутреннего автоморфизма, отвечающего элементу (е,к), совпадает с действием
Если гомоморфизм Н ^ АиЬ(М) тривиален - ставит в соответствие всем элементам Н тривиальный автоморфизм группы N, полупрямое произведение сводится к декартову произведению О = N х Н с операцией
(П1,к1)(«2 ,к2) = (П1П2,кф2).
В противном случае в С существует нетривиальный внутренний автоморфизм, так что эта группа заведомо некоммутативна.
Группу С = N х ¡р Н называют расширением N посредством группы Н. Расширению отвечает точная последовательность морфизмов
е ^ N ^ С ^ Н ^ е,
где левый морфизм - это вложение группы N, образом которого является нормальная подгруппа группы С, а правый морфизм отображает фактор-группу по этой нормальной подгруппе на группу Н. В конструкции расширения участвуют три группы (сами группы И,Н и группа АЫ(М) автоморфизмов N) и один гомоморфизм Н ^ АЫ(М), который отображает Н на некоторую подгруппу АиЬ(М). Конструкция становится более прозрачной, если в качестве Н выбрана непосредственно некоторая подгруппа АиЬ(М), в частности, вся эта группа: Н = АиЬ(М). Тогда в конструкции оказываются задействованными только N и Н С АЫ(М).
В любом случае построение полупрямого произведения требует знания группы АиЬ(М) автоморфизмов группы N, избранной для расширения. Проблема описания структуры групп автоморфизмов до конца решена для конечных коммутативных групп. Всякая такая группа является декартовым произведением циклических групп, а описание группы автоморфизмов циклической группы сводится к характеризации набора ее примитивных элементов: всякий автоморфизм переводит примитивный элемент в примитивный, и наоборот, всякое отображение примитивного элемента на примитивный продолжается до автоморфизма порождаемой ими группы.
Изучим структуру операции возведения в степень в полупрямом произведении групп: (п, ку, (п,к) € N х^ Н. Имеем
(п, к)2 = (п, к)(п, к) = (п<£ь(п), к2), (п,к)3 = (прн(п),к2)(п,к) = (п^н(п)^}12 (п),к3),
и так далее до
(п,к)а = (трн(п)<рн2(п) ...<рН(*-1)(п),ка) = (п(з),к8),
где
п(з) = п<рн(п)<рН2 (п) ...^ф-1) (п).
Видно, что при возведении в степень элемента (п,к) € N х^ Н его компоненты п € N и к € Н преобразуются по-разному. Компонент к просто возводится с степень 8, как и в кольце 2п. А вот степень компонента п вычисляется как произведение элементов группы N, входящих в орбиту элемента п относительно последовательного действия отображения п). Число элементов в этой орбите в общем случае равно периоду элемента ^ в группе АЫ(М). Если этот период велик, то степень у = оказывается произведением различных элементов группы N, так что задача вычисления дискретного логарифма в = !(Щп(у) существенно усложняется. Это и дает основание предполагать, что адекватный выбор структуры полупрямого произведения позволит предложить односторонние функции, более стойкие по сравнению с обычным дискретным логарифмом в модульном кольце.
3. Генерация ключей на полупрямых произведениях
Пусть в публичном доступе находится элемент (п, к) полупрямого произведения С = N х^ Н. Как и ранее, сторона А выбирает случайное I и вычисляет (п,к)1 = (п(1\к1) = (Ь,к1), где
Ь = П(1) = трН(п)<рН2 (п) . . . фн(1-1) (п).
Элемент Ь передается стороне В. Сторона В выбирает случайное г, вычисляет (п,к)г = (п(г),кг) = (К,кг),
К = П(г) = П^Н(П)^Ь2 (п) ... <£н(т-1) (п)
и передает К стороне А. Теперь стороны А и В оказываются в состоянии вычислить общий ключ К. На стороне А вычисление проводится по схеме
(п, к)1+ = (п, к)1 (п, к) = (Ь, к1)(К,... ) = (Ь<рН1 (К),... ) = (К,...),
а на стороне В несколько иначе:
(п, к)г+1 = (п, к)г (п, к)1 = (Я, к )(Ь,... ) = (Яр* (Ь),... ) = (К,...).
Существенно, что недостающие на сторонах элементы кг ,к1 в вычислениях не используются. Общим для двух сторон ключом становится элемент К = Ь^н (К) = (Ъ).
Чтобы вычислить ключ К по результатам перехвата Ь, К, необходимо знать хотя бы один из показателей I, г, а их нахождение по известным п(1\п(т^ эквивалентно вычислению дискретного логарифма в полупрямом произведении.
4. Простой пример
Выберем в качестве N циклическую мультипликативную группу поля и пусть £ -ее примитивный элемент с периодом р — 1. Набор примитивных элементов исчерпывается степенями £к с показателями к, взаимно простыми с (р — 1). Каждому такому к отвечает автоморфизм (х) = хк, который переводит элемент £ в .В качестве Н возьмем циклическую подгруппу АЫ^**), порожденную автоморфизмом ^(х). Степень (п,к)а элемента (п,к), п € € АЫ^*) имеет вид: (п(з\<рка), где
(ч) к к2 к(°-1) к3-1
У = п(а) = . . .п* = п к-1 .
Видно, что для вычисления дискретного логарифма в = !(Щп(у) требуется не только найти показатель т, такой что у = пт, но и найти затем число 8, такое что т = . А это эквивалентно двукратному решению задачи вычисления дискретного логарифма.
5. Некоммутативная группа порядка р3
Существуют в точности две некоммутативные группы порядка р3 [3]. Одна из них яв-
ляется полупрямым произведением циклической группы N = Ср2 порядка р2 на циклическую группу Н = Ср порядка р. Вторая получается как полупрямое произведение группы N = Ср х Ср - декартова произведения двух групп Ср на ту же группу Н = Ср. Более предпочтительной с позиций криптографии представляется первая группа, содержащая элементы периода р2. Периоды всех элементов второй группы составляют р.
Группа автоморфизмов Ср2 изоморфна декартову произведению Ср х Ср-1 и содержит подгруппу, изоморфную Ср. Так что вложение группы Н = Ср в группу автоморфизмов группы N = Ср2 конструируется естественным образом.
Циклическую группу Ср2 можно реализовать как подгруппу мультипликативной группы Z*3 кольца грз. Группа циклическая порядка р2(р — 1). В ней существует подгруппа порядка р2, порожденная степенями некоторого элемента £ € Zp3 порядка р2. Итак, пусть
N = {1 = е1, е2,... ер2-1, ер2 = = 1}, е € ^, = 1.
В этом представлении отображение аддитивной группы Н = Ср в группу автоморфизмов группы N = Ср2 строится элементарно: элементу Ъ € Ср поставим в соответствие автоморфизм <£ь(£п) = . Это соответствие действительно является гомоморфизмом, поскольку
^ (О) = е{1+р1г1К1+р,г2) = е(1+р('г1+'г2)) = цп).
Степень в элемента (^,п) в С — Ср2 Ср вычисляется как
(£,Ъ)3 = (((1+кР(1+2кР ...(1+к(з-1)Р,8п) = ((3+кр ^ ,пв) = (£{з),ш).
Результатом становится следующая схема генерации ключей: публикуемые данные -простое р, элемент £ € Zp3 порядка р2, число п € Zp.
Сторона А выбирает случайное I, вычисляет Ь = и передает Ь на сторону В. Сторона В выбирает случайное г, вычисляет К = и передает К на сторону А.
Стороны вычисляют общий секретный ключ по схеме
К = ЬК(1+пр1) = КЬ(1+прг\
Для нахождения секретного ключа К по перехваченным Ь, К злоумышленнику придется решить уравнение
у = = ^1
относительно показателя в кольце Zp3. Для этого требуется вначале решить задачу вычисления дискретного логарифма т = logg (у) в кольце Zp3, а затем решить уравнение
т = в + Ърпо модулю р2 относительно показателя ,в. Сложность создает здесь как добавление второго этапа, так и то, что вычисление дискретного логарифма производится в подгруппе порядка р2 группы Z*3.
6. Заключение
Анализ полученных результатов показывает, что даже в случае рассмотренных здесь элементарных реализаций схема генерации ключей на полупрямых произведениях групп обеспечивает более высокую стойкость по отношению к атакам по сравнению со схемой Диффи-Хеллмана. Становится понятными также и слабое место предложенного подхода. Оно состоит в том, что при вычислении степени
п(з) = трн(п)<рн2 (п)... ^-1) (п)
на самом деле используется лишь циклическая подгруппа группы Aut(N), порожденная степенями <рhk = ^ базового автоморфизма <ph, а сам этот автоморфизм в обоих примерах обладает простой структурой, что позволяет привести выражение для степени n(s) к форме nF(s) с относительно простой функцией F(s). Это усложняет атаку вычислением показателя s ровно на сложность обращения функции F(s). Такое усложнение вряд ли достаточно радикально, чтобы мотивировать решительный отказ от простой классической схемы.
Достижения большей стойкости требует усложнения структуры формулы степени n(s). В этой связи интерес представляют расширения групп N, обладающих мощными группами автоморфизмов Aut(N), содержащими нетривиально вычисляемые отображения произведение степеней которых не удается привести к компактному виду.
Альтернативный путь может дать переход от вычисления степени (п, h)s к вычислению произведения (n,hl)(n,h2) ... (n,hs) с s различными элементами группы Н. При этом в формуле для n(s) окажутся задействованными автоморфизмы, не являющиеся степенями базового. Возможность получения простой формулы для F(s) этим практически исключается, а вычисление общего ключа по схеме К = L<ßhi (R) = R(fihr (L) знания последовательности элементов, использованных удаленной стороной, не требует.
Литература
1. Габидулин Э.М., Кшевецкий А.С., Колыбельников А.И. Защита информации. М.: МФТИ, 2011.
2. Diffie W., Bellman M.E., New Directions in Cryptography // IEEE Transactions on Information Theory 1976, IT-22, P. 644.
3. Milne J.S. Group theory. 2011. www.jminline.org/matn
4. Bankerson D., Menezes A., Vanstone S.A. Guide to Elliptic Curve Cryptography. SpringerVerlag, 2004.
5. Kahrobaei D., Koupparis C., Shpilrain V. Public key exchange using matrices over group rings // Groups, Complexity, Cryptology. 2013. V. 5. P. 97.
References
1. Gabidulun E.M., Kshevetcky А.С., Kolybelnikov A.I. Protection of Information. М.: MIPT. 2011.
2. Diffie W., Bellman M.E., New Directions in Cryptography. IEEE Transactions on Information Theory 1976, IT-22, P. 644.
3. Milne J.S. Group theory. 2011. www.jminline.org/matn
4. Bankerson D., Menezes A., Vanstone S.A. Guide to Elliptic Curve Cryptography. SpringerVerlag. 2004.
5. Kahrobaei D., Koupparis C., Shpilrain V. Public key exchange using matrices over group rings. Groups, Complexity. Cryptology. 2013. V. 5. P. 97.
Поступила в редакцию 18.11.2016