ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2008 Математические методы криптографии № 2(2)
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7
О ПРИМЕНЕНИЯХ КВАЗИГРУПП В КРИПТОГРАФИИ М.М. Глухов
Академия криптографии РФ, г. Москва E-mail: [email protected]
Приводится краткий обзор опубликованных результатов по рассматриваемому вопросу, в том числе по применению квазигрупп для построения схем аутентификации, шифрования и однонаправленных функций.
Ключевые слова', квазигруппа, латинский квадрат, код аутентификации, шифр, однонаправленная функция.
1. Схемы аутентификации
Первые известные нам работы с явным указанием на применение квазигрупп, или латинских квадратов, в криптографии относятся к построению кодов аутентификации, или А-кодов (см. [1, 2 - 7, 13, 14, 24 - 25, 27]). Во всех этих работах обсуждается и модифицируется схема, предложенная в работе [3]. Опишем основную конструкцию этой схемы по работе [7]. В ней в качестве сообщений рассматриваются слова длины, кратной m, в q-ичном алфавите Q, а в качестве подписи к сообщению s длины mt - слово a1 ...am длины m в том же алфавите, образованное следующим образом. Слово s разбивается по некоторому правилу на t слов s(1), ..., s(t) длины m, и по слову s(i) вырабатывается буква a, с помощью квазигруппы (Q, *), которая является ключом. А именно, если s(i) = s1 ...sm, то буква at находится по формуле
ai = (.((s1 * s2) * s3) *.) * sm.
Пользуясь лишь определением квазигруппы, легко показать, что произведение (.((s1 * s2) * s3) * ...) * sm принимает в качестве значений каждый элемент из Q одно и то же число раз. Отсюда следует, что при равномерном распределении вероятностей на множестве сообщений построенный А-код имеет минимальную вероятность успешной имитации, равную 1/qm. Особо рассматривается практически наиболее интересный, двоичный, случай, когда q = 2k. Приводится естественная модификация схемы в случае, когда длина сообщений не кратна m. Исследуется также вариант, в котором алфавит подписи имеет большую мощность по сравнению с алфавитом сообщений.
В [4] анализируется возможность восстановления сообщения или ключевой квазигруппы в указанной схеме по ряду сообщений с определенными совпадениями букв в сообщениях и подписях. Рассматриваются два метода. В первом из них слова s(1), ..., s(t) являются отрезками слова-сообщения s, во втором - предполагается, что сообщение имеет длину q2, t полагается равным q, а слова s(1), ..., s(t) образуются с использованием сообщения s и квазигруппы (Q, *). Указываются условия, при которых в первом случае возможно восстановление открытого текста и даже ключевой квазигруппы. Схема второго типа является более стойкой к рассмотренной атаке.
В работе [4] рассматривается также вопрос об эквивалентности ключей, который сводится к рассмотрению определенных автотопий квазигруппы (Q, *).
В [1] описанная выше схема аутентификации претерпевает дальнейшее усложнение с точки зрения образования слов s(1), ., s(t). В ней рассматривается лишь случай, когда порядок q алфавита есть степень двойки, t = q2, сообщение s имеет длину q2 и представляется в виде квадратной матрицы М порядка q. По ключевой квазигруппе (Q, *) строится система из q/2 попарно ортогональных квазигрупп, изотопных квазигруппе (Q, *). С использованием матрицы М и таблиц Кэли имеющихся (q/2) +1 квазигрупп и строится последовательность слов s(1), ..., s(t). Авторы высказывают гипотезу, что построенная ими схема в некотором смысле является оптимальной.
2. Шифры
Более общий подход к использованию квазигрупп для шифрования был предложен в работах [14, 19]. В [14] вводится так называемое квзигрупповое преобразование множества Q+ всех конечных наборов букв конечного алфавита Q (Quasigroup String Processing). Оно определяется следующим образом. Сначала по за-
данной квазигруппе (0, *) и любому ее элементу (лидеру) а определяется преобразвание Еа(1) множества 0+:
Еа(1)(Х1, . .., Хк) = (У1, . .., у), (1)
где у1 = а * хь у+1 = у,- * х,+1, г = 1, ..., к-1. Затем берется композиция п таких преобразований, соответствующих квазигруппам (0, *,) и выбранным лидерам а,, г = 1, ..., п. Итоговое преобразование обозначается в виде Е("” . Преобразование Еа(1) обратимо, и обратное к нему преобразование £а(1) определяется следующим
ап,•••,а1
образом:
Да(1)(Х1, ..., Хк) = (У1, ..., Ук),
где у1 = а \ х1, у+1 = х,\ х,+1, г = 1, ..., к-1. Отсюда легко находится обратное преобразование и для Е"п .
п »•••»а1
Оно обозначается в виде Б("” . Предлагается использовать преобразование Е("” для шифрования ин-
а1,•••,ап ап,•••,а1
формации. При этом в качестве ключей предлагается использовать операции *, .
В работах [14, 19] изучаются свойства соответственно преобразований Е("” и Б("” и делается вывод
ап ,•••,^1 ап ,• ••,а1
о том, что указанные преобразования обладают некоторыми нужными для криптографии качествами. В частности, при любых фиксированных (0, *,), а, , с,, г = 1, ., п, уравнение
Е(а1.,ах (Х1, ., Хк) = (С1, ., Ск) (2)
имеет единственное решение относительно неизвестных х1, ..., хк; по соотношению (2) при известных
а1, ., ак, х1, ., хк, с1, ., ск для нахождения ключей (*,) необходимо произвести столько проб, сколько суще-
ствует наборов из п—1 квазигрупповых операций; выходные последовательности обладают хорошими статистическими свойствами, а именно: при любом заданном вероятностном распределении букв во входных последовательностях предельные распределения я-грамм в выходных последовательностях длины к являются равномерными при к^х и я < п.
В ряде работ квазигрупповые преобразования слов используются для построения поточных шифров, криптографическая стойкость которых основана на сложности решения таких задач, как факторизация целых чисел или дискретное логарифмирование в конечных полях. Рассмотрим один из таких шифров, предлагаемый и анализируемый в работе [16]. Он получается путем комбинирования шифра типа Эль-Гамаля и поточного квазигруппового шифра. Приведем его подробное описание.
Шифр типа Эль-Г амаля хорошо известен. В качестве поточного квазигруппового шифра берется шифр в алфавите 0 = Zp* с функциями шифрования Е^” а и расшифрования Б"” а из [14, 19], которые обозна-
ап »•••»а1 а1 »•••»ап
чаются здесь в виде Еа и Еа-1 при а = (а1, ., а„). Предполагается, что они определены для случая, когда все квазигруппы (0, *,) совпадают с одной и той же квазигруппой (0, *).
В [16] указывается также и способ получения квазигрупповой операции * на 0. Она определяется следующим образом. Для произвольного Ке{1, ...,р-2} задается отображение/К: 0^0 по формуле
/(/) = (1/(1 + (К + у')(шоё ^-1)))(шоё р)
и полагается
г */ = г ■ /к(/')(шоёр).
Нетрудно проверить, что отображение /к является подстановкой, а группоид (0, *) - квазигруппой с левой обратной операцией
г \/ = ((г ■ /^1(шоёр)) - 1 - К)(шоё р-1) при условии, что вместо 0 берется р-1.
Предлагаемый алгоритм имеет две части. В нем установление связи, выработка и передача ключей осуществляется с помощью шифра Эль-Гамаля, а шифрование исходного открытого сообщения и его расшифрование - с помощью квазигруппового шифра. В итоге получается существенный выигрыш в скорости по сравнению с известными асимметричными шифрами.
Проблема стойкости для первой части шифра решается точно так же, как для шифра Эль-Гамаля. Поэтому автор анализирует стойкость лишь второй части шифра, а именно: рассматривается задача нахождения числа К, определяющего квазигруппу (0, *), и лидеров а, е 0, г = 1, ., к, по открытому тексту и соответствующему ему шифртексту. Показано, что эта задача сводится к решению системы полиномиальных уравнений над полем Zp при большом простом числе р. Вид такой системы зависит от числа к используемых лидеров. При к = 1 и к = 2 получаются соответственно системы уравнений 2-й и 3-й степеней, и они могут быть эффективно решены. При к > 2 получаются системы уравнений более высоких степеней. В общем случае эта задача является -трудной. В рассматриваемом случае возникающие системы уравнений имеют определенную специфику, и задача их решения остается открытой.
Отметим еще, что в рассматриваемой работе для получения квазигрупповой операции, или, что то же самое, латинского квадрата, на Ър указывается на способ, предложенный в [22].
В работе [22] предлагается использовать квазигруппы для построения преобразований типа «Все или ничего» («All-Or-Nothing Transformation», сокращенно AONT). Такие преобразования введены в 1997 г. Р. Рай-вестом с целью повышения стойкости блочных шифров с постоянной длиной блоков к методам, использующим свойства открытого текста.
Преобразование Т последовательности сообщений (блоков) m = (m1, ..., ms) в последовательность m' = (m1',., mt'), t > s, является преобразованием типа AONT, если Т обратимо, Т и Т4 эффективно вычислимы (т.е. вычислимы за полиномиальное время) и невозможно получение какой-либо информации о любом блоке m,, если неизвестен хотя бы один блок mj .
В качестве AONT Райвест предложил так называемое пакетное преобразование, которое может быть описано следующим образом.
Дана входная последовательность сообщений m = (m1, ., ms), в которой m, - отрезок из b бит, i = 1, ., s.
1. Выбираем случайно ключ К для пакетного преобразования в блочном шифре.
2. Вычисляем последовательность m' = (m1' , ., ms+1') по правилу
m{ = m, ® EK(i), i = 1, ., s; ms+1' = K ® h1 ® . ® hs, h, = EK - (mi ® i), i = 1, ., s, где K' - фиксированный открытый ключ, а EK - функция зашифрования рассматриваемого блочного шифра при реальном ключе К.
Легко видеть, что пакетное преобразование обратимо, т.е. по m' однозначно находятся К и m. При этом если хотя бы один из блоков m, неизвестен, то невозможно вычислить К, а потому и любой блок m,.
В отличие от сообщения m последовательность m' называют псевдосообщением. Предполагается, что далее псевдосообщение шифруется обычным образом. Таким образом, пакетное преобразование является предварительным преобразованием открытого сообщения. Оно не уменьшает криптографическую стойкость основного шифра и в то же время не позволяет найти исходное открытое сообщение при любом неполном дешифровании псевдосообщения. В последующие годы преобразования такого типа и их использование в криптографии рассматривались и обсуждались многими авторами (см., например, [2, 22, 26, 27]).
Следует иметь в виду, что методы шифрования с использованием АОМГ имеют и недостатки, а именно: АОМГ размножают ошибки и отрицательно влияют на скорость шифрования. По сути дела в схеме Райвеста пакетное преобразование требует не меньше времени, чем последующее шифрование псевдосообщения. Для борьбы с первым недостатком предлагается использовать корректирующие коды и хорошие каналы связи. Для уменьшения второго недостатка в работе [22] предлагается использовать новый способ построения псевдосообщения, основанный на комбинировании AONT и квазигруппового шифрования. С этой целью авторы предлагают следующий способ быстрого получения квазигрупп (латинских квадратов) порядка n = p-1, где р - простое число. В работе рассматривается случай n = 256, р = 257, и квазигруппа строится на множестве Q = {1, ..., 256}.
Сначала выбирается случайная перестановка (а11, ..., а1и) чисел из Q, которая принимается за первую строку латинского квадрата и таблицы Кэли нужной квазигруппы, затем строятся остальные строки по правилу
aj = i ' ay (modp), i = 2, ., n; j = 1, ., n.
Очевидно, что в итоге получится латинский квадрат и таблица Кэли квазигруппы (Q, *).
Далее по сообщению u = (м1 ... uk), где и, - байты, являющиеся двоичными записями чисел из Q с условием, что 256 представляется байтом нулей, строится псевдосообщение v = (v1 ... vk) следующим образом. Случайно выбирается произвольный элемент a1 е Q, называемый лидером, и полагается
v1 = a1 * u1, V;+1 = v, * U;+1, i = 2, ., k.
После этого полученное псевдосообщение расширяется путем добавления перед ним лидера a1 и первой строки квазигруппы. Далее расширенное псевдосообщение шифруется обычным образом.
Из построения расширенного псевдосообщения видно, что по нему однозначно восстанавливается исходное открытое сообщение. При этом используется левая обратная операция для операции *. Кроме того, видно также, что описанное предварительное преобразование открытого текста является преобразованием типа «Все или ничего».
3. Однонаправленные функции
Вернемся к вопросу об использовании квзигрупповых преобразований. В работе [29] предлагается использовать квазигрупповые преобразования для построения однонаправленных функций и подстановок. С этой целью автор выбирает квазигруппу (Q, *) и определяет два преобразования
r, : Q ^, i = 1, 2,
с использованием введенного ранее преобразования ей = Еа (см. (1)). А именно, для набора А = (ao, ..., aN-1) определяются:
R1(A) = %(...(eai (eao (A)))...),
Ri(Ä) = %^ (...(ea (ea¡) (Rl (A))))...).
Автор доказывает, что если исходная квазигруппа не коммутативна и не ассоциативна, то для нахождения прообраза в преобразованиях R1, R2 при использовании лишь таблицы Кэли квазигруппы Q понадобится соответственно O(q[N/2]) и 0(qN) квазигрупповых операций. Исходя из этого, автор считает введенные функции серьезными кандидатами в однонаправленные функции. Преобразование R2 используются также для построения других, более сложных, кандидатов в однонаправленные функции.
В работе [9] предлагается и исследуется вариант построения сжимающих хэш-функций итеративного типа с использованием в боксах так называемых мультиподстановок на множестве Е2, где
Е = F” = {eo, ei, ..., et}, t = 2k-1,
F2 - поле из двух элементов. Предлагаемые функции, обозначаемые автором в виде gk,s, являются равновероятными отображениями 2(-й степени множества Е в его 2(-1-ю степень.
Функция gk,s определяется с использованием 2k-1(s + 1) боксов By, i = 0, 1, ..., 2k-1-1, j = 0, 1, ..., s, объединенных определенным образом в сеть, состоящую из s +1 ярусов по 2k-i боксов в каждом ярусе. В ярус с номером j входят боксы B¡j со значениями
i = io + 2ii + ... + 2k 1ik-i при ij = 0.
Боксы B¡0 - входные, боксы Bis - выходные. Каждый бокс осуществляет подстановку на множестве Е2.
Множество Е разбивается на два подмножества Н и М, где Н = {е,: i0 = 0} - множество хэш-входов, М = {е;: i0 = 1} - множество входов-сообщений. На вход бокса By подаются элементы ei е Н и е^ е М, отличающиеся лишь цифрами j-х разрядов. Предполагается, что на выходе блока By получается также пара из Нх М, компоненты которой поступают соответственно на блоки By+1 и B^-y+ь В итоге все входы-сообщения (а также и все хэш-входы) будут сниматься на каждом ярусе с разных блоков.
Далее, путем итерации преобразования gk,s авторы определяют искомую хэш-функцию hk,s следующим образом. Сообщение М в битах дополняется некоторым образом до числа бит, кратного m2k-1, и представляется в виде М = М1М2 ... М„, где M¡ - набор длины m2k-1. Теперь фиксируется начальное значение хэш-входа Н0 и вычисляются
Hi = gk,s(H-1, M), i = 1, ., n, и в качестве значения хэш-функции hk,s (M) берется Нп.
В [8] исследуются свойства построенных таким образом хэш-функций в случае, когда в качестве боксов By используются так называемые мультиподстановки множества Е2.
Под мультиподстановкой авторы понимают биективное отображение В: Е2 ^ Е2, при котором В(а, b) = (B1(a, b), B2(a, b)) и функции В1, В2 являются подстановочными по каждому переменному. Это равносильно тому, что функции B1(a, b), B2(a, b) задают ортогональные квазигруппы на множестве Е. В этом случае авторы указывают алгоритмы решения уравнения
h(H, M) = H'
относительно М при известных Н, Н' и нахождения коллизий. Находят верхние оценки сложности и выражают надежду, что эти оценки близки к нижним.
Для построения пар ортогональных квазигрупп авторы рекомендуют использовать ортоморфизмы групп. В частности, доказана теорема о том, что отображение Lc: Е2 ^ Е2, при котором
Lc(a, b) = (a ® b, а ® be ® Rn(b)), где R - сдвиг вектора на 1 бит вправо, является мультиподстановкой тогда и только тогда, когда для любого
iе {1, ..., m} среди векторов Rnt(e), t = 1, 2, ..., m, найдутся векторы с различными i-ми координатами.
ЛИТЕРАТУРА
1. Bakhtiari S, Safavi-Naini R., Pieprzyk J. A message Authentication Code based on Latin Squaresc // Proc. Australasian on Information Security and Privacy. 1997. Р. 194 - 203.
2. Canda V., van Trung T. A New Mode of Using All-Or-Nothing Transforms // Codes and Cryptography. 2001. P. 1 - 6.
3. Carter S, Wegman M.N. Universal Class of Hash Function // J. Computer and System Sciences. 1979. V. 18. No. 2. P. 143 -154.
4. Dawson E., Donovan D, Offer A. Quasigrops, isotopism and authentication schemes // The Australasian journal of combinatorics. 1996. V. 13. P. 75 - 88.
5. Denes J., Keedwell A.D. Latin Squares. New Developments in the Theory and Applications. Amsterdam: Nord-Holland Publishing Co., 1981.
6. Denes J., Petroczki P. A digital encrypting communication systems // Hungarian Patent. 1990. No. 201437А.
7. Denes J., Keedwell A.D. A new Authentication Scheme based in Latin Squares // Discrete Mathematics. 1992. V. 106/107. P. 157 - 162.
8. Vandenay S. On the Need for Multipermutations: Cryptoanalysis of MD4 and SAFER // Proc. Fast Software Encryption. 1994. P. 286 - 297.
9. Schnorr C.P., Vandenay S. Black box cryptoanalysis of hash networks based on multipermutations // Lecture Notes in Computer Science. 1995. V. 950. P. 47 - 57.
10. Koscielny C. A metod of constructing quasigroup-based stream-ciphers // Appl. Math. and Comp. Sci. 1996. V. 6. P. 109 -121.
11. KrawczykH. LFSR-based and Authentication // 1994, EUROCRYPT-94. P. 129 - 139.
12. KrawczykH. New Hash Function for Message Authentication // 1995, EUROCRYPT-95. P. 301 - 310
13. Markovski S., Gligoroski D., Andova S. Using quasigroups for one-one secure encoding //Proc. VIII Conf. Logic and Comp. Sci. “LIRA 97”, Novi Sad, 1997. P. 157 - 162.
14. Markovski S., Gligoroski D., Bakeva V. Quasigroup String Processing: Part 1 // Proc. of Maked. Academ. of Sci. and Arts for Math. And Tech. Sci. XX. 1 - 2. 1999. P. 13 - 28.
15. Denes J. and Owens P.J. Some new latin power sets not based on groups // J. Combin. Theory, ser A. 1999. V. 85. P. 69 -82.
16. Gligoroski D. Stream cipher based on quasigroup string transformation in Zp // Universitet “St. Cyril and Methodious”, Faculty of Natural Sciences, Institute of Informatics, P.O. Box 162, Scopje, Republic of Macedonia. ArXiv:cs.CR/0403043 v2 22Apr 2004. [email protected]
17. Gligoroski D., Markovski S., Bakeva V. Quasigroup and Hash Functions // Discr. Math. And Appl. Proc. of the 6th ICDMA, Bansko. 2001. P. 43 - 50.
18. Gligoroski D., Markovski S., Bakeva V. On infinite Class of strongly Collision Resistant Hash Functions “EDON-F” with Variable Length of Output // Proc. 1st International Conference on Mathematics and Informatics for Industry. Thessaloniki, Greece, 2003.
19. Markovski S., Kusacatov V. Quasigroup String Processing: Part 2 // Proc. of Maked. Academ. of Sci. and Arts for Math. and Tech. Sci. XXI, 1 - 2. 2000. P. 15 - 32.
20. Markovski S., Gligoroski D., Stojcevska B. Secure two-way on-line communication by using quasigroup enciphering with almost public key // Novi Sad J. Mathematics. 2000. P. 30.
21. Markovski S. Quasigroup String Processing and Application in Cryptography // Invited talk. Proc. 1st International Conference on Mathematics and Informatics for Industry. Thessaloniki, Greece, 2003.
22. Marnas S.I., Angelis L., Bleris G.L. All-Or-Nothing Transform using quasigroups // Proc. 1st Balkan Conference in Informatics. 2003. P. 183 - 191.
23. Rogaway P. Bucket Hashing and its Application to Fast Message // 1995, CRYPTO-95. P. 30 - 42.
24. Shoup V. On Fast and Provably Sequre Message Authentication based on Universal Hashing // 1996, CRYPTO-96. P. 313 -338.
25. Stinson D.R. Universal Hashing and Authentication Codes. Design // Codes and Cryptography. 1994. V. 4. P. 369 - 380.
26. Stinson D.R. Something about All-Or-Nothing (Transform). Design // Codes and Cryptography. 2001. P. 133 - 138.
27. Taylor R. Near optimal Unconditionally Sequre Authentication // 1994, EUROCRYPT-94. P. 245 - 255.
28. Wegman M.N., Carter S. New Hash Functions and their Use in Authentication and Set Equality // J. Computer and System Sciences. 1981. V. 22. P. 265 - 279.
29. Gligoroski D. Candidate One-Way Functions and One-Way Permutations Based on Quasigroup String Transformations // 2005, [email protected]