Научная статья на тему 'Анализ поточных шифров с помощью решения системы алгебраических уравнений'

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

CC BY
313
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛЮЧ / ПОТОЧНЫЙ ШИФР / БАЗИС ГРЕБНЕРА / РЕГИСТР СДВИГА С ЛИНЕЙНОЙ ОБРАТНОЙ СВЯЗЬЮ

Аннотация научной статьи по математике, автор научной работы — Чиликов А. А., Хузина Э. И.

Исследован метод алгебраической атаки поточных шифров на основе решения системы алгебраических уравнений. Метод применен к поточному шифру, построенному по схеме одноразового блокнота. Рассмотрены типы генераторов ключевого потока, необходимых для построения поточного шифра. Ключевой поток представляет собой псевдослучайную последовательность бит, которую комбинируют с исходным сообщением для получения шифротекста. Описан алгебраический способ нахождения ключа ключевого потока. Разработана программа, формирующая ключевой поток и систему уравнений, с целью анализа поточного шифра. Найдены максимальные параметры поточного шифра, анализ которого можно осуществить программными средствами при известных нескольких первых элементах ключевого потока, его функциях выхода и изменения состояния памяти.

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

Текст научной работы на тему «Анализ поточных шифров с помощью решения системы алгебраических уравнений»

НАУЧНОЕ ИЗДАНИЕ МЕТУ ИМ. Н. Э. БАУМАНА

НАУКА и ОБРАЗОВАНИЕ

Эл № ФС77 - 48211. Государственная регистрация №0421200025. ХББМ 1994-0408

электронный научно-технический журнал

Анализ поточных шифров с помощью решения системы алгебраических уравнений

# 03, март 2013

Б01: 10.7463/0313.0546388

Чиликов А. А., Хузина Э. И.

УДК 003.26

Россия, МГТУ им. Н.Э. Баумана chilikov@passware.com x47y47z47@mail.ru

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

Согласно результатам исследований [6] при значениях параметров ключевого потока больше чем 4, атаки поточных шифров становятся неэффективными. В данной работе проведен анализ ключевого потока поточного шифра с помощью решения системы алгебраических уравнений при известных некоторых данных и найдены максимальные параметры генератора ключевого потока, при которых поточный шифр поддается анализу программными средствами.

Криптосистема или шифр - это кортеж из пяти элементов (Р,С, К,Е^), таких что [3]:

- Р - конечное множество исходных текстов;

- С - конечное множество шифротекстов;

- К - конечное множество символов ключевого потока;

- Е : КХР->С алгоритм кодирования;

- D : КХС->Р алгоритм декодирования;

Для любого К € К, выполняется Э(К,Е(К,Р)) = Р для всех Р € Р.

Поточные шифры преобразуют исходный текст в шифротекст по одному биту за операцию. Разновидность поточного шифра - схема одноразового блокнота. Для схемы одноразового блокнота Р = С = К = {0,1}п, при П > 1, алгоритм кодирования Ек(Р) = К®Р, где 0- операция покомпонентного ХОИ, алгоритм декодирования БК(С) = К0С. Доказано, что схема одноразового блокнота обладает абсолютной криптографической стойкостью, если Киспользуется один раз и выбран из {0,1}п [2]. Таким образом, если злоумышленник знает только С, он не сможет получить какую-либо информацию о Р или К, даже при наличии неограниченных времени, памяти и вычислительных ресурсов.

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

Г енератор ключевого потока состоит из следующих компонентов [2]:

- внутренне состояние;

- К - конечное множество возможных внутренних состояний;

- функция обновления У: К-> К;

- конечное множество Ъ, называемое алфавитом ключевого потока;

- функция выхода f : К -> Ъ.

Внутреннее состояние Бо € К инициализируют ключом (или начальным состоянием), затем выполняют следующие операции:

- выходной бит Zt € Ъ вычисляется как Zt = Д^);

- внутреннее состояние обновляется Бш — У^).

Такт - это период времени, в течение которого выполняются две вышеперечисленные операции. В такте t производится выходной бит Zt и St меняется на Бш.

Поточный шифр,основанный на генераторе ключевого потока - это совокупность кортежа (Р, С, К, Ъ, Е, О) и генератора ключевого потока, где [6]:

Р - конечное множество, называемое алфавитом исходного текста;

С - конечное множество, называемое алфавитом шифротекста;

К - конечное множество возможных ключей;

Ъ - конечное множество, называемое алфавитом ключевого потока;

Е : ЪХР->С алгоритм кодирования;

О : ЪХС->Р алгоритм декодирования.

Генератор ключевого потока использует ключ К € К для генерации последовательности Zо, Zl, Z2, ...,называемой ключевым потоком произвольной длины, где Zt € Ъ для всех t > 0. Для каждогоZ € Ъ, выполняется О^,Е^,Р)) — Р для всех

Р € Р.

Получатель и отправитель взаимодействуют следующим образом:

- получатель и отправитель обмениваются секретным ключом К € К по секретному каналу, секретный канал используют для передачи всех необходимых данных;

- пусть Р — (ро, Р1Р2,...) - исходный текст, где Pt € Р. Отправитель использует К и генератор ключевого потока для создания ключевого потока Zо, Zl, Z2,. и кодирует Р в шифротекст С — (^, ^С^...), где ^ — Ezt(pt), затем посылает С получателю через общедоступный канал;

- получатель, зная секретный ключ, формирует у себя ключевой поток Zо, Zl,Z2,.;

- получатель, используя ключевой поток Zо, Zl,Z2,. декодирует pt — Dzt(ct).

Пусть Б - конечное поле; регистр сдвига с линейной обратной связью (РСЛОС) длины П содержит внутреннее состояние размерности П и функцию обратной связи

В каждом такте определенный элемент внутреннего состояния становится выходным битом и внутреннее состояние изменяется на новое с помощью Л. Пусть Бо — ^о,..., 2п) € Бп является начальным состоянием и

Ь(х1,., Хп) — (х2,., Хп, Л(хь... , Хп)) [2]. Схематичный вид РСЛОС представлен на рисунке 1. В каждый такт выполняются две операции[3]:

- на выход подается определенный элемент;

- изменение St на St+l с помощью функции Ь:

ФункциюL можно идентифицировать с матрицей:

ПриэтомЗ1+1 = Б^ЬЬ, атакжеБі — Бо • ЬЬ1. Матрица ЬЬ называется матрицей обратной связи [2].

Рисунок 1 - РСЛОС.

В качестве генератора ключевого потока при создании поточного шифра использован (1,т)-комбайнер. Пусть Б - конечное поле, (1,т)-комбайнер состоит из следующих шести компонентов [2]:

- Б РСЛОС с длинами Пі,... ,П$ и матрицами обратной связи Ьі,... ,Ьз;

внутреннее состояние Б € БШХ Бп, где п — П1+.+Пб; матрица Ь, размером пхп, над полем Б, определена как

- матрица проекций Р, размером Пх1, над полем Б;

- функция изменения состояния памяти ¥ : Б^Б1 —— БШ;

- функция выхода f : Б^Б1 — Б.

Если Ш > 1, тогда комбайнер называется комбайнером с памятью, а при Ш — о -простым комбайнером.

Внутреннее состояние (1,ш)-комбайнера инициализируем значением:

Бо — (Оо, К) € БШхБп, гдеОо € БШ - биты памяти, К — (Код,..., Ко,б) € Бп -начальные состояния s РСЛОС, где Код - начальное состояние Ьго РСЛОС. Содержание РСЛОС обновляется с помощью матрицы Ь [2].

Во многих случаях используют только некоторые значения в состояниях РСЛОС для вычисления следующего элемента ключевого потока и следующего состояния памяти, определяемые матрицей проекции. Только значения из К • Ь1 • Р вовлечены в вычисления на такте t. Обозначим К: — К • Ь1 • Р и назовем К1- вход (1,ш)-комбайнера. Обновление состояния памяти происходит через — ¥(Оь К), а

элемент ключевого потока вычисляется как Zt — Д^, К:). Функция обновления Т(Б:) — Т(О:, К • Ь1) — (¥(О1, К • Ь1 • Р), К • Ь1+1) [2]. Схематичный вид (1,ш)-комбайнера показан на рисунке 2.

Рисунок 2 - (1,ш)-комбайнер.

Найдем первоначальное состояние (ключ) (1,ш)-комбайнера. Пусть К: € Б1 -вход функции выхода f в такте 1 и ^) - ключевой поток. Функция Бъ : Бг 1 —— Б при Ъ € Бг называется Ъ-функцией, когда при з;:,..., 21+г-1 — Ъ, Бъравно нулю на соответствующих входах К^..., К+г-1. То есть

zt+г-l) — Ъ —> (Кь- • ^ К1+г-1) — о [3].

Если злоумышленник знает значения 2^,... .. ,2^2+г-1,. ^ш,- • • ^ы+гЧ, то

используя перечисленные данные, он может составить следующую систему уравнений из Ъ-функций [2]:

Каждое К и о: можно выразить через К и Оо, в результате, получаем, систему с неизвестными, обозначающими биты в Бо, решая которое, можно определитьБо, то есть найти ключ ключевого потока.

Далее приведем определения и теоремы из [1], необходимые для нахождения решений системы уравнений (1); к[Х1,...,Хп] - множество всех полиномов от переменных Х1,..., Хп с коэффициентами над полем кс операциями сложения и умножения полиномов. Подмножество I множества к[Х1,...,Хп] называется идеалом, если выполнены следующие условия:

1. о € I;

2. если£, § € I, тоf + § € I;

3. еслиf € Iиh € к[Х1,... ,Хп], тоh•f € I.

Идеал, порожденный функциями f и §,обозначается через <£, §>.

Обозначим моном через X Х1 '■■■'Хп з где (X — (а1, ... , ап)£ Zn>o-n-векторы показателей степеней. Так каксуществует взаимно однозначное соответствие

■Vя = -уа ^ ■ ■ -уап

между мономами л Л1 ■■■ ли и п-наборами показателей степеней

а — (а1, . , ап) € Ъп>0, то упорядочение, которое мы определим на Ъп>0, определит и

упорядочение на множестве мономов: если а>вв Ъп>о, то будем говорить, что %а > Хв.

Определим градуированное обратное лексикографическое упорядочение на Ъп>о, пусть

а, в € Ъп>0, тогда говорим, что а>в, если

п п

-I*

1=1 1=1

или |а|—|в| и самая правая ненулевая координата вектора а-в € Ъп>оотрицательна.

Упорядочение мономов называется линейным, если для любой пары мономов%а и Хв выполняется ровно одно из следующих соотношений: ха > Xе, Ха — Xе, Ха < Xе.

При умножении монома на полином может нарушиться порядок членов, вследствие этого могут возникнуть трудности в алгоритме деления в к[Х], так как произведение старшего члена полинома на моном может не быть старшим членом произведения. Поэтому требуется, чтобы упорядочение мономов обладало следующим

а в у а у в у

дополнительным свойством: если X > X , а X - произвольный моном, тоХ X > XX . В терминах векторов показателей степеней, это означает, что если а > в в Ъ1 >0 , то для любого у € Ъп>0 а + у>в+у.

Мономиальным упорядочением на к[Х1,.,Хп] называется любое бинарное отношение > на Ъп>о, обладающее следующими свойствами:

- > - линейное упорядочение на Ъп>о;

- если а > в и у € Ъп>0 , то а + у > в+у;

- > вполне упорядочивает Ъп>0, т.е. любое непустое подмножество в Ъп>0 имеет минимальный элемент по отношению к >.

- _ \ - ненулевой полином в к[ХЬ...,Хп], и > мономиальное

упорядочение, аа € к:

■ ЬТ (£) ' старший: член полинома £ где максимум берется по отношению к >;

Пусть задано мономиальное упорядочение;конечное подмножество

0 — ^і,...^} элементов идеала 1называется базисом Гребнера идеала, если<ЬТ(§і),..., ЬТ(&)> — <ЬТ(1)>.

(§1,. ,§8}тогда и только тогда является базисом Гребнера идеала I, если старший член любого элемента из I делится на хотя бы один из ЬТ(§і),., ЬТ(§8).

Редуцированным базисом Гребнера полиномиального идеала называется его базис Г ребнера О, такой, что

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

- ЬС(р)—і для всех р Є О;

- никакой моном никакого р Є О не принадлежит <ЬТ(О-(р})>.

Пусть дана система уравнений над полем Fq:

Теорема[5].

Пусть дан идеал, составленный из уравнений над полем Fq из системы (2):

1 — < £і,... Л, Х^ - Хі, X2q - Х2,., Xпq - Хп >.

Для любого упорядочения редуцированный базис Гребнера имеет вид:

- (Хі - X і, Х2 - Х2,., Хп - Хп}, где (х і, Х2,., Хп) - решение системы уравнений (2)

- {l} , если система (2) не имеет решений.

Таким образом, найдя редуцированный базис Гребнера системы (l), составленной из Z - функций, находим её решение, т.е. ключ ключевого потока (начальное состояние (!,ш)-комбайнера). При декодировании, зная ключ ключевого потока и соотношения для формирования ключевого потока, генерируем ключевой поток, выполняем операцию XOR над шифротекстом и ключевым потоком и определяем исходное информационное сообщение.

Разработанное программное средство базируется на С++, формирует систему алгебраических уравнений. Для нахождения редуцированного базиса Гребнера в данной работе использована программа Reduce, пакет BiBas программы Reduce вычисляет редуцированный базис Гребнера идеала из многочленов в поле F2 [4].

В таблице 1 приведены максимальные значения параметров l, m (l,m)-комбайнера, при которых возможно провести анализ поточного шифра с помощью созданной программы и программы Reduce. Анализ проводился при известных значениях первых нескольких бит ключевого генератора, соотношениях для формирования РСЛОС, функциях выхода и изменения состояния памяти (l,m)-комбайнера (в поле F2).

Таблица 1 - Результаты исследования

Параметры 1,т (1,т) -комбайнера Результат нахождения значений элементов Бо

(2,1) 1

(2,2) 1

(2,3) 1

(2,5) 1

(2,11) 1

(2,12) о

(3,0) 1

(3,1) 1

(3,5) 1

(3,7) 1

(3,8) о

(4,3) 1

(4,4) о

(5,0) i+p+s+1 — о, o+a+d+1 — о остальные элементы найдены точно

(5,1) о

(7,0) y+i+p+s+f — 0,u+o+a+d+g — о. остальные элементы найдены точно

(8,0) 0

Значение «1» в столбце «Результат нахождения значений элементов So» таблицы

1 означает, что найдены все элементы в So, значение 0 - не найден ни один элемент в

So.

Таким образом, с помощью разработанной программы и программы Reduce найдено первоначальное состояние (1,т)-комбайнера (ключ для построения ключевого потока поточного шифра). В результате проведения ряда программных экспериментов по анализу ключевого потока поточного шифра установлено, что наибольшие значения

параметров 1, т (1,т)-комбайнера, при которых можно найти программными способами (а именно с помощью разработанной программы на языке C++ и программы Reduce) его начальное состояние S0 при известных значениях первых нескольких бит ключевого генератора в поле F2, соотношениях для формирования РСЛОС, функциях выхода и изменения состояния памяти (1,т)-комбайнера (в поле F2) равны:

1=2, т=11,

1=3, т=7,

1=4, т=3,

при 1=5,т=0 и при при 1=7,т=0 можно сделать вывод о некоторых элементах

S0.

При больших параметрах, чем указанные выше, анализ поточных шифров при вышеперечисленных известных данных с помощью системы алгебраических уравнений неэффективен.

Список литературы

1. Кокс Д., Литл Дж., О’Ши Д. Идеалы, многообразия и алгоритмы. Введение в вычислительные аспекты алгебраической геометрии и коммутативной алгебры : пер. с англ. М.: Мир, 2000. 687 с.

2. Arrnknecht F. A1gebraic attacks on certain strearn ciphers: Inauguraidissertation zur Eriangung des akadernischen Grades eines Doktors der Naturwissenschaften / Universitat Mannheirn. Mannheirn, 2006.

3. Courtois N. A1gebraic attacks on cornbiners with rnernory and severa1 outputs. Korea: ICISC, 2004.

4. Documentation Reduce. Режим доступа: http://www.reduce-

aigebra.com/packages.htm (дата обращения 20.01.2013).

5. Shannon C. Cornrnunication theory of secrecy systerns // Be11 Systems Techn. Journa1. 1949. Vol. 28, № 4. pp. 656-719.

6. Stinson D. Cryptography. Theory and Practice. USA: CRC Press, Inc., 1995. 434 p.

SCIENCE and EDUCATION

EL № FS77 - 48211. №0421200025. ISSN 1994-0408

Analysis of stream ciphers by solving a system of algebraic equations

# 03, March 2013

DOI: 10.7463/0313.0546388

Chilikov A.A., Huzina E.I.

Bauman Moscow State Technical University, 105005, Moscow, Russian Federation

chilikov@passware.com

x47y47z47@mail.ru

The authors research the method of algebraic attack on stream ciphers based on solution of algebraic equations. The method is applied to a stream cipher constructed according to the disposable pad scheme. The authors consider types of key stream generators needed to construct stream ciphers. The key stream is a pseudo-random bit sequence which is combined with the original message to get the ciphertext. The algebraic method of finding the key of the key stream is described in the article. A program that generates a key stream and a system of equations to analyze the stream cipher was developed. The authors found maximum parameters of the stream cipher, the analysis of which can be carried out by software in several first elements of the key stream, its output function and changes of memory state.

Publications with keywords: stream cipher, Groebner basis, linear feedback shift register Publications with words: stream cipher, Groebner basis, linear feedback shift register

References

1. Cox D.A., Little J., O'Shea D. Ideals, Varieties, and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra. 2nd ed. Springer, 1997. (Ser. Undergraduate Texts in Mathematics). (Koks D., Litl Dzh., O’Shi D. Idealy, mnogoobraziia i algoritmy. Vvedenie v vychislitel'nye aspekty algebraicheskoi geometrii i kommutativnoi algebry. Moscow, Mir, 2000. 687 p.)

2. Armknecht F. Algebraic attacks on certain stream ciphers. Inauguraldissertation zur

Erlangung des akademischen Grades eines Doktors der Naturwissenschaften. Universitat Mannheim, Mannheim, 2006. (in German)

3. Courtois N. Algebraic attacks on combiners with memory and several outputs. Korea, ICISC, 2004.

4. Documentation Reduce. Available at: http://www.reduce-algebra.com/packages.htm , accessed 20.01.2013.

5. Shannon C. Communication theory of secrecy systems. Bell Systems Techn. Journal, 1949, vol. 28, no. 4, pp. 656-719.

6. Stinson D. Cryptography. Theory and Practice. USA, CRC Press, Inc., 1995. 434 p.

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