Криптографические примитивы на полупрямых произведениях групп
Автор: Григорьев А.А., Дудкин П.В.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика, вычислительная техника и упровление
Статья в выпуске: 1 (33) т.9, 2017 года.
Бесплатный доступ
Исследуется новый класс криптографических примитивов, опирающихся на опе- рацию возведения в степень в некоммутативных группах. Широкий класс некомму- тативных групп дает известная конструкция полупрямого произведения. Анализ этой конструкции выявляет специфику структуры степени элемента в полупрямом произве- дении групп. Эта специфика приводит к схеме генерации секретных ключей, подобной известной схеме Диффи-Хеллмана. Предложено два конкретных протокола генерации ключей. В одном из них используется расширение мультипликативной группы про- стого поля посредством некоторой циклической подгруппы ее группы автоморфиз- мов. Во втором - конструкция некоммутативной группы порядка �3 как полупрямого произведения циклических групп порядков �2 and �. Обсуждается сложность атак на предложенные схемы генерации ключей.
Криптография, генерация ключей, полупрямое произведение
Короткий адрес: https://sciup.org/142186170
IDR: 142186170
Текст научной статьи Криптографические примитивы на полупрямых произведениях групп
1. Схема генерации ключей Диффи–Хеллмана
Пусть две стороны A и B , соединенные каналом связи, хотят стать обладателями секретного ключа K , недоступного какой-либо третьей стороне. Для этого они предварительно выбирают и публикуют большое простое число p и некоторый элемент ξ из мультипликативной группы Z p ∗ поля Z p чисел по модулю p .
Сторона A случайно выбирает большое натуральное l , вычисляет число L = ^1 и передает его стороне B . Сторона B выбирает случайное r и передает стороне A число R = £ r . По завершении обмена L ^ R стороны получают возможность вычислить общий ключ K :
R = ( £ r ) l = K = ( £ l ) r = L r .
Для того чтобы третья сторона, перехватившая сообщения L = £ l и R = £ r , cмогла вычислить ключ K , она должна найти хотя бы один из случайных показателей l, r , то есть решить задачу вычисления дискретного логарифма l = log ^ L или r = log ^ R .
2. Полупрямые произведения
Пусть даны две группы N и H и пусть H ^ Aut ( N ) - гомоморфизм группы H в группу автоморфизмов группы N . Иными словами, пусть каждому элементу h Е H поставлен с соответствие автоморфизм ^ h ( n ) : N ^ N , так что ^ һ 1 ( ^ һ 2 ( n )) = ^ һ 1 h 2 ( n ). Нейтральному элементу e Е H отвечает при этом тривиальный автоморфизм группы N : ^ e ( n ) = n .
Полупрямое произведение G = N x v H , [3], вводится как множество пар ( n,h ) , n Е N,h Е H , с групповой операцией
( n i ,h i )( n 2 ,h 2 ) = ( n 1 ^ һ 1 ( n 2 ) ,h 1 h 2 ) .
Ассоциативность так введенного умножения легко проверяется. Нейтральным элементом группы G = N x v H является пара ( e, e ) нейтральных элементов N и H . Обратным к ( n, h ) является элемент ( ^ h - i ( n - 1 ) , h - 1 ). Наборы ( n, e ) , n Е N и ( e, h ) , h Е H , образуют подгруппы, изоморфные N и H . Пересечение этих подгрупп состоит из единственного нейтрального элемента ( e, e ). Легко показать, что (е , h )( n, e )( e, h ) - 1 = ( ^ һ ( n ) , e ), так что подгруппа N нормальна в G (инварианта относительно внутренних автоморфизмов), а действие на N внутреннего автоморфизма, отвечающего элементу ( e, h ), совпадает с действием ^ һ .
Если гомоморфизм H ^ Aut ( N ) тривиален - ставит в соответствие всем элементам H тривиальный автоморфизм группы N , полупрямое произведение сводится к декартову произведению G = N х H с операцией
( n 1 , h 1 )( n 2 , h 2 ) = ( n 1 n 2 , h 1 h 2 ) .
В противном случае в G существует нетривиальный внутренний автоморфизм, так что эта группа заведомо некоммутативна.
Группу G = N x^ H называют расширением N посредством группы H. Расширению отвечает точная последовательность морфизмов e ^ N ^ G ^ H ^ e, где левый морфизм – это вложение группы N, образом которого является нормальная подгруппа группы G, а правый морфизм отображает фактор-группу по этой нормальной подгруппе на группу H. В конструкции расширения участвуют три группы (сами группы N,H и группа Aut(N) автоморфизмов N) и один гомоморфизм H ^ Aut(N), который отображает H на некоторую подгруппу Aut(N). Конструкция становится более прозрачной, если в качестве H выбрана непосредственно некоторая подгруппа Aut(N), в частности, вся эта группа: H = Aut(N). Тогда в конструкции оказываются задействованными только N и H С Aut (N).
В любом случае построение полупрямого произведения требует знания группы Aut ( N ) автоморфизмов группы N , избранной для расширения. Проблема описания структуры групп автоморфизмов до конца решена для конечных коммутативных групп. Всякая такая группа является декартовым произведением циклических групп, а описание группы автоморфизмов циклической группы сводится к характеризации набора ее примитивных элементов: всякий автоморфизм переводит примитивный элемент в примитивный, и наоборот, всякое отображение примитивного элемента на примитивный продолжается до автоморфизма порождаемой ими группы.
Изучим структуру операции возведения в степень в полупрямом произведении групп: ( n, h ) s , ( n,h ) Е N х ф H . Имеем
( n, h ) 2 = ( n, h )( n, h ) = ( n^ h ( n ) , h 2 ) ,
(n, h)3 = (n^h(n), h2)(n, h) = (n^h(n)^һ2 (n), h3), и так далее до
( n, h ) S = ( n^h ( n ) ^h 2 (n ) ...^һ (s-1) (n) ,hs) = (n(s) ,hs), где n (s) = n^h (n ) ^h 2 (n ) . ,.^h (s- 1) ( n ) .
Видно, что при возведении в степень элемента ( n,h ) Е N х ^ H его компоненты n Е N и h Е H преобразуются по-разному. Компонент h просто возводится с степень s , как и в кольце Z n . А вот степень n ( s ) компонента n вычисляется как произведение элементов группы N , входящих в орбиту элемента n относительно последовательного действия отображения ^ y ( n ). Число элементов в этой орбите в общем случае равно периоду элемента ^ һ в группе Aut ( N ). Если этот период велик, то степень y = n ( s ) оказывается произведением s различных элементов группы N , так что задача вычисления дискретного логарифма s = log n ( y ) существенно усложняется. Это и дает основание предполагать, что адекватный выбор структуры полупрямого произведения позволит предложить односторонние функции, более стойкие по сравнению с обычным дискретным логарифмом в модульном кольце.
3. Генерация ключей на полупрямых произведениях
Пусть в публичном доступе находится элемент ( n, h ) полупрямого произведения G = N x v H . Как и ранее, сторона A выбирает случайное l и вычисляет ( n, h ) l = ( n ( l ) , hl ) = ( L, hl ), где
L = n ( l ) = n^ h ( n ) ^ һ 2 ( n ) . ..^ h ( i — i) ( n ) .
Элемент L передается стороне B . Сторона B выбирает случайное r , вычисляет ( n,h ) r = ( n ( r ) ,h r ) = ( R,h ),
R = n ( r ) = n^ h ( n ) ^ h 2 ( n ) ... ^ h ( r — i) ( n )
и передает R стороне A . Теперь стороны A и B оказываются в состоянии вычислить общий ключ K . На стороне A вычисление проводится по схеме
(n, h)l+r = (n, h)l (n, h) r = (L, h)(R,...) = (L^hi (R),...) = (K,...), а на стороне B несколько иначе:
( n, h ) r + 1 = ( n, h ) r ( n, h ) l = ( R, h r )( L,... ) = ( R^ h r ( L ) ,... ) = ( K,... ) .
Существенно, что недостающие на сторонах элементы h r ,h l в вычислениях не используются. Общим для двух сторон ключом становится элемент K = L^ y ( R ) = R^ y ( L )•
Чтобы вычислить ключ K по результатам перехвата L , R , необходимо знать хотя бы один из показателей l, r , а их нахождение по известным n ( l ) , n ( r ) эквивалентно вычислению дискретного логарифма в полупрямом произведении.
4. Простой пример
Выберем в качестве N циклическую мультипликативную группу Z p ∗ поля Z p и пусть ξ – ее примитивный элемент с периодом p — 1. Набор примитивных элементов Z p исчерпывается степенями ^ k с показателями к , взаимно простыми с ( p — 1). Каждому такому к отвечает автоморфизм ^ k ( x ) = x k , который переводит элемент ^ в ^ k . В качестве H возьмем циклическую подгруппу Aut ( Z p ), порожденную автоморфизмом ^ k ( x ). Степень ( n, k ) s элемента ( n,k ) , n Е Z p ,^ k Е Aut ( Z p ) имеет вид: ( n ( s ) , ^ k s ), где
2 (ss - 1) ks - 1
y = n ( s ) = nn k n k .. .n = n k - 1 .
Видно, что для вычисления дискретного логарифма s = log n ( y ) требуется не только найти показатель m , такой что y = n m , но и найти затем число s , такое что m = k— 1 . А это эквивалентно двукратному решению задачи вычисления дискретного логарифма.
5. Некоммутативная группа порядка p3
Существуют в точности две некоммутативные группы порядка p 3 [3]. Одна из них является полупрямым произведением циклической группы N = C p 2 порядка p 2 на циклическую группу H = C p порядка p . Вторая получается как полупрямое произведение группы N = C p х C p - декартова произведения двух групп C p на ту же группу H = C p . Более предпочтительной с позиций криптографии представляется первая группа, содержащая элементы периода p 2 . Периоды всех элементов второй группы составляют p .
Группа автоморфизмов C p 2 изоморфна декартову произведению C p х C p- 1 и содержит подгруппу, изоморфную C p . Так что вложение группы H = C p в группу автоморфизмов группы N = C p 2 конструируется естественным образом.
Циклическую группу C p 2 можно реализовать как подгруппу мультипликативной группы Z p 3 кольца Z p 3 . Группа Z p 3 циклическая порядка p 2 ( p — 1). В ней существует подгруппа порядка p 2 , порожденная степенями некоторого элемента Е Е Z p 3 порядка p 2 . Итак, пусть
N = { 1 = Е 0 ,Е 1 ,Е 2 , . . . Ер 2 - 1 ,ЕР 2 = Е 0 = 1 } , Е е Z p 3 , E p 2 = 1 .
В этом представлении отображение аддитивной группы H = C p в группу автоморфизмов группы N = C p 2 строится элементарно: элементу h Е C p поставим в соответствие автоморфизм V h ( E n ) = E n (1+ ph ) . Это соответствие действительно является гомоморфизмом, поскольку
V h 2 ( V h 1 ( E n )) = E n (1+ ph 1 )(1+ ph 2 ) = E n (1+ p ( h 1 + h 2 )) = V h 1 + h 2 ( E n ) .
Степень s элемента ( E,n ) в G = C p 2 x p C p вычисляется как
( E,h ) s = ( EE 1+ hp E 1+2 hp ...E 1+ h ( s- 1) p ,sn ) = ( E s + hp ,ns ) = ( E ( s ) ,ns ) .
Результатом становится следующая схема генерации ключей: публикуемые данные – простое p , элемент E Е Z p 3 порядка p 2 , число n Е Z p .
Сторона A выбирает случайное l , вычисляет L = E ( l ) и передает L на сторону B . Сторона B выбирает случайное r , вычисляет R = E ( r ) и передает R на сторону A .
Стороны вычисляют общий секретный ключ по схеме
K = LR (1+ npl ) = RL (1+ npr ) .
Для нахождения секретного ключа K по перехваченным L, R злоумышленнику придется решить уравнение у = e(s) = Es+hp S2
относительно показателя s в кольце Z p 3 . Для этого требуется вначале решить задачу вычисления дискретного логарифма m = log ^ ( y ) в кольце Z p 3 , а затем решить уравнение m = s + hp s ( s 2 1) по модулю p 2 относительно показателя s . Сложность создает здесь как добавление второго этапа, так и то, что вычисление дискретного логарифма производится в подгруппе порядка p 2 группы Z p 3 .
6. Заключение
Анализ полученных результатов показывает, что даже в случае рассмотренных здесь элементарных реализаций схема генерации ключей на полупрямых произведениях групп обеспечивает более высокую стойкость по отношению к атакам по сравнению со схемой Диффи–Хеллмана. Становится понятными также и слабое место предложенного подхода. Оно состоит в том, что при вычислении степени
n ( s ) = nV h ( n ) V h 2 ( n ) ... V h ( s - 1) ( n )
на самом деле используется лишь циклическая подгруппа группы Aut ( N ), порожденная степенями ^ h k = ^ Һ базового автоморфизма ^ һ , а сам этот автоморфизм в обоих примерах обладает простой структурой, что позволяет привести выражение для степени n ( s ) к форме n F ( s ) с относительно простой функцией F ( s ). Это усложняет атаку вычислением показателя s ровно на сложность обращения функции F ( s ). Такое усложнение вряд ли достаточно радикально, чтобы мотивировать решительный отказ от простой классической схемы.
Достижения большей стойкости требует усложнения структуры формулы степени n ( s ) . В этой связи интерес представляют расширения групп N , обладающих мощными группами автоморфизмов Aut ( N ), содержащими нетривиально вычисляемые отображения ^ һ , произведение степеней которых не удается привести к компактному виду.
Альтернативный путь может дать переход от вычисления степени ( n, h ) s к вычислению произведения ( n,h i )( n,h 2 ) ... ( n,h s ) с s различными элементами группы H . При этом в формуле для n ( s ) окажутся задействованными автоморфизмы, не являющиеся степенями базового. Возможность получения простой формулы для F ( s ) этим практически исключается, а вычисление общего ключа по схеме K = L^ h ( R ) = R^ h r ( L ) знания последовательности элементов, использованных удаленной стороной, не требует.
Список литературы Криптографические примитивы на полупрямых произведениях групп
- Габидулин Э.М., Кшевецкий А.С., Колыбельников А.И. Защита информации. М.: МФТИ, 2011.
- Diffie W., Hellman M.E., New Directions in Cryptography//IEEE Transactions on Information Theory 1976, IT-22, P. 644.
- Milne J.S. Group theory. 2011. www.jminline.org/matn
- Hankerson D., Menezes A., Vanstone S.A. Guide to Elliptic Curve Cryptography. Springer-Verlag, 2004.
- Kahrobaei D., Koupparis C., Shpilrain V. Public key exchange using matrices over group rings//Groups, Complexity, Cryptology. 2013. V. 5. P. 97.