Научная статья на тему 'Алгоритм восстановления открытого текста по шифртексту в криптосистеме Мак-Элиса'

Алгоритм восстановления открытого текста по шифртексту в криптосистеме Мак-Элиса Текст научной статьи по специальности «Математика»

CC BY
315
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОСИСТЕМА МАК-ЭЛИСА / НЕСТРУКТУРНЫЕ АТАКИ / АЛГОРИТМ БЕРНШТЕЙНА — ЛАНГ —ПЕТЕРСА / АЛГОРИТМ ШАБО — КАНТО / MCELIECE''S CRYPTOSYSTEM / BERNSTEIN — LANGE — PETERS''S ALGORITHM / NONSTRUCTURAL ATTACKS

Аннотация научной статьи по математике, автор научной работы — Калужин Александр Константинович, Чижов Иван Владимирович

Предлагается алгоритм неструктурной атаки на кодовую криптосистему Мак-Элиса с целью дешифрования сообщения, основывающийся на алгоритме Берн-штейна — Ланг — Петерса и работающий быстрее любого другого существующего алгоритма неструктурной атаки. Тем самым сделан ещё один шаг в приближении к нижней оценке сложности таких алгоритмов, доказанной М. Финиазом и Н. Сендрие.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Калужин Александр Константинович, Чижов Иван Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithm for recovering plaintext from ciphertext in Mceliece cryptosystem

An attack on McEiece cryptosystem is considered. In it a plaintext is recovered from a ciphertext by solving the encryption equation. The solution is get in two steps: finding the error vector and solving the system of linear equations. For finding the error vector, the Bernstein — Lange — Peters's algorithm is used together with some optimization techniques. The complexity of the offered attack on the cryptosystem based on Goppa (1024, 524, 50)-code equals 2 m' 1 bit operations that is 27,5% less than by means of Bernstein — Lange — Peters's algorithm itself.

Текст научной работы на тему «Алгоритм восстановления открытого текста по шифртексту в криптосистеме Мак-Элиса»

ЛИТЕРАТУРА

1. Bilgin B., Nikova S., Nikov V., et al.Threshold implementations of all 3x3 and 4x4 S-boxes //

CHES 2012. LNCS. 2012. V. 7428. P. 76-91.

УДК 056.55

АЛГОРИТМ ВОССТАНОВЛЕНИЯ ОТКРЫТОГО ТЕКСТА ПО ШИФРТЕКСТУ В КРИПТОСИСТЕМЕ МАК-ЭЛИСА

А. К. Калужин, И. В. Чижов

Предлагается алгоритм неструктурной атаки на кодовую криптосистему Мак-Элиса с целью дешифрования сообщения, основывающийся на алгоритме Бернштейна — Ланг — Петерса и работающий быстрее любого другого существующего алгоритма неструктурной атаки. Тем самым сделан ещё один шаг в приближении к нижней оценке сложности таких алгоритмов, доказанной М. Финиазом и

Н. Сендрие.

Ключевые слова: криптосистема Мак-Элиса, неструктурные атаки, алгоритм Бернштейна — Ланг —Петерса, алгоритм Шабо — Канто.

Рассматриваются неструктурые атаки на криптосистему с открытым ключом Мак-Элиса [1] с целью дешифрования сообщения. По сути, решается уравнение m-G+е = с, где m и e неизвестны, а wt(e) = t. При этом m — исходное сообщение, G — порождающая матрица кода (открытый ключ), e — вектор ошибки, с — вектор, который подвергается дешифрованию. Найдя вектор ошибки е, мы решим систему полностью, так как вектор m находится из системы линейных уравнений. Все наилучшие алгоритмы неструктурной атаки на систему Мак-Элиса (Штерна, Шабо — Канто и Бернштейна — Ланг — Петерса) основываются на одной идее: итеративно генерируются различные базисы кода и решается задача в предположении, что вектор ошибки e можно выразить через 2р (р — параметр алгоритмов) некоторых из зафиксированных векторов базиса.

В 2009 г. М. Финиаз и Н. Синдреир в работе [2] доказали нижнюю теоретическую оценку ожидаемого количества битовых операций, необходимых для дешифрования сообщения в криптосистеме Мак-Элиса. Для кодов Гоппы (1024,524,50) (стандартные параметры криптосистемы Мак-Элиса) эта оценка равна 259,9. Оценка идеальна и недостижима (в силу предположений при доказательстве). В то же время ожидаемое количество битовых операций, необходимых для дешифрования сообщения, закодированного с помощью этого кода, составляет:

1) для алгоритма Штерна - 266,21;

2) для алгоритма Шабо — Канто - 264,1;

3) для алгоритма Бернштейна — Ланг — Петерса - 260,55.

То есть существующие алгоритмы уже вплотную приблизились к идеальной оценке ожидаемого количества битовых операций.

В работе представляется модификация алгоритма Бернштейна — Ланг — Петерса [3], которая уменьшает как ожидаемое количество итераций, так и ожидаемое количество битовых операций, выполняемых на одной итерации. Достигается это посредством следующих двух оптимизаций.

1) В алгоритме Бернштейна — Ланг — Петерса на каждой итерации фиксируется некоторый базис кода. Он получается из базиса кода, зафиксированного на предыдущей итерации, путём обмена местами с из первых к столбцов матрицы с с столбцами среди оставшихся, с дальнейшим применением модифицированного преобразования

Гаусса. Оптимизация заключается в том, чтобы не менять столбцы, которые менялись на нескольких предыдущих итерациях; тем самым базисы, фиксируемые на итерациях, становятся более независимыми, что немного повышает вероятность найти вектор ошибки e.

2) На очередной итерации алгоритма Бернштейна — Ланг — Петерса ищется вектор ошибки e в виде линейной комбинации ровно 2р векторов базиса. Некоторым образом выбираются линейные комбинации из 2р векторов базиса, которые образуют векторы-кандидаты. Если вес какого-то вектора-кандидата равен t, то это и есть искомый вектор e. Для проверки необходимо вычислить веса всех векторов-кандидатов. Бернштейн, Ланг и Петерс предлагают считать вес каждого вектора, пока он не превысит 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, которую можно смоделировать случайным процессом Г^. Данный случайный процесс строит корневое

i Надоели баннеры? Вы всегда можете отключить рекламу.