Гаусса. Оптимизация заключается в том, чтобы не менять столбцы, которые менялись на нескольких предыдущих итерациях; тем самым базисы, фиксируемые на итерациях, становятся более независимыми, что немного повышает вероятность найти вектор ошибки е.
2) На очередной итерации алгоритма Бернштейна — Ланг — Петерса ищется вектор ошибки е в виде линейной комбинации ровно 2p векторов базиса. Некоторым образом выбираются линейные комбинации из 2p векторов базиса, которые образуют векторы-кандидаты. Если вес какого-то вектора-кандидата равен t, то это и есть искомый вектор е. Для проверки необходимо вычислить веса всех векторов-кандидатов. Бернштейн, Ланг и Петерс предлагают считать вес каждого вектора, пока он не превысит t (дальше считать бессмысленно). Оптимизация заключается в том, чтобы отбросить все векторы-кандидаты, у которых среди первых a координат больше чем b координат принимают значение 1. Для остальных осуществить проверку так же, как её делают Бернштейн, Ланг и Петерс. Здесь a и b — новые параметры алгоритма. Смысл оптимизации заключается в следующем: на раннем этапе будет отброшено очень много неподходящих векторов-кандидатов, в то время как подходящий вектор-кандидат может быть отброшен с очень маленькой вероятностью.
Для представленного алгоритма ожидаемое количество битовых операций, необходимых для дешифрования сообщения, закодированного с помощью кодов Гоппы (1024,524,50), равно 260’1. Это на 27,5 % меньше, чем для алгоритма Бернштейна — Ланг — Петерса, самого быстрого из существующих алгоритмов неструктурной атаки на криптосистему Мак-Элиса. Тем самым осуществлено ещё большее приближение к теоретической оценке количества битовых операций при дешифровании сообщения.
ЛИТЕРАТУРА
1. McEliece R. J. A public-key cryptosystem based on algebraic coding theory // DSN Progress Report. January and February 1978. No. 42-44. P. 114-116.
2. Finiasz M. and Sendrier N. Security bounds for the design of code-based cryptosystems // Asiacrypt’2009. LNCS. 2009. V. 5912. P. 88-105.
3. Bernstein D. J., Lange T., and Peters C. Attacking and defending the McEliece cryptosystem // Post-Quantum Cryptography: Second International Workshop, PQCrypto 2008. Cincinnaty, OH, USA. October 17-19, 2008. P. 31-46.
УДК 519.17, 004.056.2, 004.056.53
О ВЕРОЯТНОСТНЫХ ХАРАКТЕРИСТИКАХ СЛУЧАЙНЫХ ГРАФОВ, ПОРОЖДАЕМЫХ АЛГОРИТМАМИ ПОИСКА КОЛЛИЗИЙ КРИПТОГРАФИЧЕСКИХ ХЭШ-ФУНКЦИЙ
Г. А. Карпунин
Описывается теоретико-графовая модель некоторых алгоритмов поиска коллизий хэш-функций SHA-1 и RIPEMD, и в данной модели выводится точная формула средней трудоёмкости этих алгоритмов.
Ключевые слова: криптографические хэш-функции, коллизии, случайные графы.
В алгоритмах поиска коллизий некоторых хэш-функций семейства MDx (см., например, SHA-1 [1] и RIPEMD [2, 3]), встречается процедура A, которую можно смоделировать случайным процессом Г^. Данный случайный процесс строит корневое
дерево G максимальной глубины N. При этом некоторые из вершин дерева G оказываются помеченными как плодоносящие, и только плодоносящие вершины могут иметь потомков. Процесс Г^ считается успешным, если он построит дерево G глубины ровно N и последняя вершина на глубине N, которую сформирует процесс, окажется помеченной как плодоносящая.
У процесса ГN имеется два набора параметров {pk}k=N и {nk}fc=N, где 0 ^ pk ^ 1 и nk G N. Формально процесс rN({pk}k=N; {nk}k=N) описывается с помощью следующей рекурсивной процедуры. На вход процессу подается корневая вершина R. Сначала процесс с вероятностью pn помечает её как плодоносящую. Если R оказалась непомеченной, то процесс завершает неуспешно свою работу и в качестве построенного графа возвращает лишь непомеченный корень R. Если же R оказалась помеченной как плодоносящая, то процесс строит её первого потомка R1 и передает его в качестве корневой вершины производному процессу rN-1({pk}k=N-1; {nk}fc=N-1). Если производный процесс завершился успешно, то и процесс rN({pk}k=N; {nk}k=N) также завершается успешно, иначе он строит второго потомка R2 и для него снова запускает производный процесс Г N-1({pk }fc=N_1; {nk }fc=N_ 1). Всего может быть построено максимум nN потомков R1,... , RnN. Если для каждого из них производный процесс завершился неуспешно, то и процесс ({pk}k=N; {nk}k=N) также завершается неуспешно. Пограничный процесс Г о (p0; 0) никаких потомков не строит, он просто помечает с вероятностью p0 корневую вершину как плодоносящую.
Обозначим через Pi вероятность успешного завершения процесса ^({p^}^=^; {nk}k=j). Несложно показать, что для вероятностей Pi выполняется следующее рекуррентное соотношение:
pi = pi(1 — (1 — pi-1)ni), (1)
при этом из определения очевидно, что Р0 = p0. C помощью формулы (1) можно вычислить вероятность успеха Pn процедуры A.
На практике [1-3] алгоритмы поиска коллизий запускают процедуру A несколько раз до первого успеха и в качестве меры эффективности всего алгоритма берётся его средняя трудоёмкость, которая равна величине ET(A)/PN, где T(A) — трудоёмкость процедуры A. В качестве меры трудоёмкости процедуры A, в свою очередь, служит мощность множества вершин V(G) построенного графа G. Таким образом, практически важной величиной является отношение EV(G)/Pn , для вычисления и оценки которого доказана теорема 1.
Теорема 1. Имеют место следующие соотношения:
EVM = ^ I * lim n i = N1.
Pn i=0 Pi fcnX>=0 Pi i=0 pi
Из теоремы 1 следует, что для минимизации средней трудоёмкости алгоритмов поиска коллизий, использующих процедуру A, параметры n^ необходимо выбирать как можно больше, если на них нет других ограничений.
ЛИТЕРАТУРА
1. De Canniere C. and Rechberger C. Finding SHA-1 characteristics: general results and
applications // ASIACRYPT-2006. LNCS. 2006. V.4284. P. 1-20.
2. Wang X., LaiX., Feng D., et al. Cryptanalysis of the hash functions MD4 and RIPEMD II EUR0CRYPT-2005. LNCS. 2005. V.3494. P. 1-18.
3. Ермолаева Е. З., Карпунин Г. А. Оценки сложности поиска коллизий для хэш-функции RIPEMD II Прикладная дискретная математика. Приложение. 2012. №5. С. 43-44.
УДК 519.713
ОБ ОБРАТИМОСТИ КОНЕЧНЫХ АВТОМАТОВ С КОНЕЧНОЙ ЗАДЕРЖКОЙ
Д. А. Катеринский
Построены экспериментальные оценки доли обратимых, слабо обратимых и сильно обратимых конечных автоматов с конечной задержкой, из которых следует, что эта доля мала (до 3 %) для автоматов с близкими мощностями их алфавитов состояний и выходных символов и велика (более 80 %) для автоматов, у которых выходной алфавит в 4 раза мощнее входного и в 2 раза — внутреннего.
Ключевые слова: конечные автоматы, слабая обратимость, обратимость, анализ обратимости, синтез обратных автоматов, доля обратимых автоматов.
Рассмотрены автоматы, обратимые с нулевой задержкой, и автоматы, слабо или сильно обратимые с конечной задержкой. В первых функция выходов инъективна в каждом состоянии, во вторых входная последовательность восстанавливается с задержкой по выходной последовательности и начальному состоянию, а в третьих — только по выходной последовательности. Для каждого типа обратимости известны тест обратимости и алгоритм построения обратного автомата [1,2].
В работе сообщается о программной реализации этих тестов и алгоритмов и об экспериментальных оценках доли обратимых автоматов всех типов. Полученные оценки приведены на рис. 1, где на оси абсцисс отмечена доля обратимых автоматов, на оси ординат — значения параметров автоматов, для которых проводилось исследование: т, п и к —мощности соответственно входного, внутреннего и выходного алфавитов автомата. В каждой точке оценки построены усреднением результатов вычислений для 104 примеров случайных автоматов. Результаты для доли обратимых автоматов с нулевой задержкой совпадают с теоретическими, вычисленными по формуле
_ (ОТ • т!)“.
Из рис. 1 видно, что:
1) доля обратимых автоматов мала (менее 3%), если мощности входного, внутреннего и выходного алфавитов близки друг к другу или мощности внутреннего и выходного алфавитов меньше мощности входного алфавита;
2) доля обратимых автоматов высока (более 80 %), если мощность выходного алфавита много больше (более чем в 4 раза) мощности входного алфавита и больше (хотя бы в 2 раза) мощности внутреннего алфавита.