Раздел III. Методы и средства криптографии и стеганографии
УДК 003.26.09
JI.K. Бабенко, Е.А. Маро
АЛГЕБРАИЧЕСКИЙ КРИПТОАНАЛИЗ УПРОЩЕННОГО АЛГОРИТМА ШИФРОВАНИЯ RIJNDAEL*
В работе проведено исследование методов алгебраического криптоанализа. Получены системы уравнений для различных размеров таблиц нелинейных преобразований замены упрощенного алгоритма шифрования Rijndael, а также выпол-
XL. -ван алгоритм генерации и решения системы уравнений для преобразований замены. Проведен анализ полученных нелинейных систем и выполнена оценка трудоем-XL .
Алгебраический криптоанализ; XL метод; нелинейные преобразования замены; линеаризация нелинейных систем; метод исключения Гаусса; криптографиче-.
L.K. Babenko, E.A. Maro ALGEBRAIC CRYPTANALYSIS OF SIMPLIFIED RIJNDAEL ALGORITHM
The research of algebraic cryptanalysis method was carried out in this work. Systems of the equations for tables of various sizes of nonlinear transformations of substitution for simplified model of Rijndael algorithm are received, also we solve a one of this systems by a XL method. During this work we produced a program, which has realised a generation and solving of system of equations describing nonlinear transformations of substitution. We analysed a nonlinear systems of equations and calculated a value of complexity of XL method for three blocks of substitution.
Algebraic cryptanalysis; XL method; nonlinear transformations of substitution; linearization nonlinear systems; Gauss elimination method; a cryptographic key.
Криптоанализ долгое время основывался на статистических подходах. Таким статистическим методам криптоанализа как линейный и дифференциальный для осуществления атаки требуется большое количество открытых текстов и шифро-текстов. Кроме того, современные алгоритмы шифрования разрабатывались с учетом обеспечения стойкости к подобного рода атакам. Актуальность алгебраиче-
*
Работа поддержана грантом РФФИ № 09-07-00245-а.
ских методов криптоанализа базируется на возможности взлома с их помощью алгоритмов шифрования при наличии у криптоаналитика всего одной пары открытый текст/шифротекст. Также важно отметить, что данные методы применимы к стойким современным шифрам, таким как алгоритмы шифрования Rijndael, Serpent.
В данной работе проведена разработка и исследование XL метода алгебраи-.
,
нелинейных преобразований, а именно для S-блоков замены. Сущность данного метода заключается в получении уравнений, описывающих нелинейные преобра-S- ,
и получением ключа шифрования. Данный метод криптоанализа относится к атакам с известным открытым текстом, поэтому в ходе работы использовалась одна пара открытый текст/шифротекст. В результате осуществления атаки криптоаналитик вычисляет секретный ключ.
Алгебраические методы криптоанализа состоят из следующих этапов:
- составление нелинейной системы уравнений, описывающей преобразования в S-блоках;
- .
Рассмотрим подробнее первый этап алгебраического криптоанализа. Для шифров, подобных Rijndael, при составлении уравнений используется таблица S- . , -
ведения двух переменных. Тогда уравнения, описывающие работу S-блоков, имеют вид [1]:
Ъа..х.х + Ъв yy + ХУ x.y + Ъ8.х. + 2y.y +V=^
ij i j ij i j ij 1 j 11 i i
где xixj - комбинация входных битов S-блока; yiyj - комбинация выходных битов S-блока; xiyj - комбинация входных и выходных битов; xi yi - S- ;
- , 0 1.
При получении уравнений нужно рассмотреть все возможные комбинации данных одночленов. В случае, когда число бит на входе S-блоков равно s, получа-, , ,
2s
t= +2s+1 и включает в себя входные и выходные значения S-блока (2s), все их
( 2s^i
возможные произведения I и коэффициент Г|. Число всех возможных комби-
2t.
S- -
, S- . -
S- 2s t ,
. 1. S-
, -
дения соответствующих элементов.
1
S-
Входные значения S-блока Выходные значения S- S-
Все воз- мож- ные вход ные значе - ния S-блока (от 0 до 2s) Xs Xl ys Уі XsXs-l X2X1 ysys-l У2У1 xsys Х1У1 T1
0 0 1 1 1
1 1 О 1 1
Для проверки комбинаций на соответствие таблице истинности следует осуществить построковую подстановку значений одночленов из таблицы и выполнить операцию сложения по модулю 2. Таким образом, для каждой комбинации выполняется подстановка и сложение для всех возможных входных значений S-блока (2s раз). Результаты суммирования сравниваются с нулем. Если для всех строк таблицы истинности равенство оказывается верным, то уравнение, заданное данной
, S- ,
его следует отобрать для составления искомой системы. Далее необходимо провести анализ уравнений и выбрать для формирования системы уравнения, содержащие минимальное число нелинейных элементов. Предлагаемый в работе метод формирования системы будет раскрыт ниже на примере конкретного S-блока.
Второй этап алгебраического криптоанализа заключается в решении нели.
нелинейных систем булевых уравнений. Наиболее эффективными, как показывает , , -ной системы. В данной работе исследован XL метод алгебраического .
XL метод (extended Linearization) предложен Nicolas Courtois, Alexander Klimov, Jacques Patarin и Adi Shamir в работе [2].
Пусть имеется нелинейная система, содержащая m уравнений и 2s переменных. XL метод базируется на умножении каждого уравнения 1.. .m на произведения переменных степени меньшей или равной D-2. Рассмотрим вычисление параметра D алгоритма XL атаки. При умножении исходных уравнений системы на
2s
одночлены степени <(D-2) получаем примерно R ■
D-2
m новых уравнении.
Общее число одночленов, встречающихся в этих уравнениях, составляет Т =
f2s
KDJ
Так как система будет решаться способом линеаризации, то есть путем замены всех нелинейных одночленов на новые переменные, необходимо чтобы число
уравнений было больше числа одночленов R =
\
2s
D-2
m >
= T . -
чаем, что m >
2s
D
2s
D-2
2 2 2s
^ (2s) /D . Следовательно, D ~—j=. При этом
4m
должно выполняться условие D>2, иначе не будет получено новых уравнений, так как степень отобранных для умножения уравнений одночленов, определяемая раз-D-2, .
Алгоритм XL метода состоит из двух шагов:
- Multiply: умножение каждого уравнения исходной системы на произведение переменных в степени < D-2.
- Linearize: замена каждого одночлена в степени < D на новую переменную и применение метода исключения Г аусса.
, D,
D-2.
Затем произвести умножение уравнений и добавить к исходной системе полученные в результате умножения новые уравнения. Для решения системы каждый нелинейный элемент (вида xixj или xiyj, или yiyj) в этих уравнениях заменяется новой переменной ug. В результате система становится линейной относительно новых , . нахождения решения линейной системы необходимо, чтобы количество уравнений было не меньше, чем число новых неизвестных. Чаще всего для решения линейной системы используется метод исключения Гаусса. После нахождения решений линейной системы уравнений относительно новых переменных выполняется вычисление решений первоначальной нелинейной системы путем решения систем специального вида (xiyj = ug или xixj= ug, или yiyj= ug,) для каждого полученного решения линейной системы [3].
Трудоемкость атаки определяется трудоемкостью нахождения решений системы линейных уравнений методом исключения Гаусса, пренебрегая трудоемкостью решения систем специального вида. Трудоемкость алгебраической атаки методом XL составляет (T3).
XL
алгоритма шифрования Rijndael, схема которого представлена на рис. 1. Размер шифруемого блока данных и размер ключа шифрования для данного алгоритма 12 .
виде состояний. Пусть имеется 12-битовое значение 100 010 011 101, тогда со-
(100 011^
стояние записывают в виде . В алгоритме шифрования параллельно
используются четыре S-блока размерами 3x3 бита.
В начале алгоритма шифрования выполняется сложение по модулю два вход. , x, -
, S- , S- ,
происходит нелинейное преобразование согласно заданной таблице замены. Заме-S- :
/
x 0 1 2 3 4 5 б 7
y 7 б 0 4 2 5 1 3
Начальный ключ (кп) •
Открыты 1 - Г 4 текст (а] Г
* ^ 1 7 г
Б-блоки
* *
Линейная часть
г
7 г
Раундовый ключ (кг)
Шифротекст (г)
Рис. 1. Уменьшенный алгоритм шифрования Ш]п(1ае1
Выходы Б-блоков (у) конкатенируются, после чего выполняются линейные преобразования шифра: операция ShiftRow, заключающаяся в обмене значений строк состояния, и операция М1хСо1итш, осуществляющая перемешивание .
Заключительным шагом алгоритма служит сложение по модулю два значения, полученного после выполнения линейных операций, и раундового ключа. В результате происходит зашифрование открытого текста. Обозначим шифротекст через ъ.
Рассмотрим получение нелинейной системы уравнений. Для исследуемого примера число одночленов t равно 22, для генерации уравнений используются следующие одночлены {XI, Х2, Хз, У1, У2, Уз, Х1Х2, Х1Х3, х^з, у^2, У1Уз, У2У3, х^1, х^2, х^з, Х^1, Х2У2, Х^з, Х^1, Х^2, Х^з, Г)}.
Всего можно сгенерировать 222=4 194 з04 комбинации одночленов. Составим таблицу истинности. Для исследуемого Б-блока таблица истинности задается
. 2.
2
Таблица истинности для 8-блока
х з X X 1 з > > г X 1 X з > з з > з > з з X > г X з > г X »>• г X > X з > 1 > 1 1 1 з > з >
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1
1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1
1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1
4 194 з04
были составлены 16 з8з уравнения, верные для всех возможных входных значений Б-блока. Обозначим найденные уравнения «Система 1».
Для формирования искомой нелинейной системы желательно использовать уравнения с минимальным числом квадратных одночленов. Проанализируем по. , 16 з8з 10
содержат единственный квадратный элемент (элемент вида хэд, х^ или у^). Эти уравнения составляют часть искомой системы уравнений, описывающей работу Б-блока. Обозначим отобранные 10 уравнений как «Система 2»:
хз + Х1 + уз + у1 + хзу2 =0; хз + у2 + у1 + х1у2 =0; хз + х1 + уз + у2 + у1 + узу2 =0; х1 + уз + у2у1 =0; х2 + х1 + уз + у2 + у1 + хзх2 + 1 =0; х2 + у2 + хзх1 + 1 =0; хз + х2 + х1 + у1 + х2х1 + 1 =0; х2 + х1 + уз + у2 + у1 + х2 у1 + 1 =0; х2 + у2 + х1 у1 + 1 =0; х2 + х1 + уз + у2 + узу1 + 1 =0.
При анализе приведенных выше 10 уравнений видно, что они содержат не все квадратные элементы. Отсутствуют элементы хзуз, хзуь х2уз, х2у2 и х^з. Таким , .
Искомая нелинейная система уравнений должна содержать максимальное число возможных нелинейных (квадратных) одночленов для наиболее полного задания преобразований, выполняемых в Б-блоке замены. Следовательно, необходимо получить уравнения, содержащие недостающие одночлены. При этом также требуется, чтобы уравнения содержали минимальное число нелинейных элементов. В работе [4] предложен следующий способ получения таких уравнений. В уравнениях «Системы 1» производится обнуление всех уже встречавшихся квадратных одночленов, путем сложения по модулю 2 уравнения, содержащего недос-
, « 2»,
.
«Системы 1» приняли нулевое значение, а оставшиеся уравнения содержат недостающие одночлены. В результате получены 15 уравнений:
х2 + х1 + уз + у2 + у1 + хзуз + хзу1 + 1 =0; хз + х1 + у2 + у1 + хзуз + х2уз =0; хз + х2 + уз + хзу1 + х2уз + 1 =0; х2 + у2 + хзуз + х2у2 + 1 =0; х1 + уз + у1 + хзу1 + х2у2 =0; хз + х2 + х1 + у1 + х2уз + х2у2 + 1 =0; хз + уз + у2 + хзуз + хзу1 + х2уз + х2у2 =0; х2 + х1 + у2 + хзуз + х1уз + 1 =0;
уз + у1 + хзу1 + х1уз =0; хз + х2 + у1 + х2уз + х1уз + 1 =0; хз + х1 + уз + у2 + хзуз + хзу1 + х2уз + х1уз =0;
х1 + х2у2 + х1уз =0;
х2 + уз + у2 + у1 + хзуз + хзу1 + х2у2 + х1уз + 1 =0;
хз + у2 + у1 + хзуз + х2уз + х2у2 + х1уз =0; хз + х2 + х1 + уз + хзу1 + х2уз + х2у2 + х1уз + 1 =0.
Для дальнейшего анализа оставим уравнения, содержащие минимальное число нелинейных элементов. В данном случае отбросим уравнения, содержащие более двух квадратных элементов, то есть уравнения под номерами 7,11,1з, 14,15. Осталось 10 уравнений («Система з»):
х2 + х1 + уз + у2 + у1 + хзуз + хзу1 + 1 =0; хз + х1 + у2 + у1 + хзуз + х2уз =0; хз + х2 + уз + хзу1 + х2уз + 1 =0; х2 + у2 + хзуз + х2у2 + 1 =0; х1 + уз + у1 + хзу1 + х2у2 =0; хз + х2 + х1 + у1 + х2уз + х2у2 + 1 =0; х2 + х1 + у2 + хзуз + х1уз + 1 =0;
уз + у1 + хзу1 + х1уз =0; хз + х2 + у1 + х2уз + х1уз + 1 =0; х1 + х2у2 + х1уз =0.
Для формирования системы, содержащей все квадратные элементы, необяза-« 2» , -ты. Достаточно добавить 4 уравнения «Системы з», отобранные таким образом, что один квадратный элемент встречается в каждом из них, а остальные не повто-.
обозначим Сх, где х - номер уравнения «Системы з». Можно составить 5 вариантов группировки уравнений:
1 вариант: хзуз + хзу1 + С1 = 0 хзуз + х2уз + С2 = 0 хзуз + х2у2 + С4 = 0 хзуз + х1уз + С7 = 0
2 : хзу1 + хзуз+ С1 = 0 хзу1 + х2уз + Сз = 0 хзу1 + х2у2 + С5 = 0 хзу1 + х1уз + С8 = 0
3 :
х2уз + хзуз + С2 = 0 х2уз + хзу1+ Сз = 0 х2уз + х2у2 + С6 = 0 х2уз + х1уз + С9 = 0
4 :
хзуз + х2у2 + С4 = 0 хзу1 + х2у2 + С5 = 0 х2уз + х2у2 + С6 = 0 х2у2 + х1уз + С9 = 0
5 :
хзуз + х1уз + С7 = 0 хзу1 + х1уз + С8 = 0 х2уз + х1уз + С9 = 0 х2у2 + х1уз + С10 = 0
При составлении искомой нелинейной системы уравнений можно использовать любой из пяти вариантов группировки уравнений. В работе используется пя-:
х2 + х1 + у2 + хзуз + х1уз + 1 =0;
уз + у1 + хзу1 + х1уз =0; хз + х2 + у1 + х2уз + х1уз + 1 =0; х1 + х2у2 + х1уз =0.
4 « 2», -
лучим систему уравнений, описывающую работу Б-блоков:
хз + хі + уз + у1 + Хзу 2 = 0;
хз + у 2 + Уі + хіУ2 = 0;
хз + хі + Уз + У2 + Уі + У3У2 = °;
хі + Уз + У2У1 = 0;
х2 + хі + Уз + У2 + Уі + хзх2 + 1 = °;
х2 + У2 + хзх1 + 1 = 0;
хз + х2 + х1 + У1 + х2х1 +1 = 0;
х2 + х1 + Уз + У2 + У1 + х2У1 + 1 = °;
х2 + У2 + х1 У1 + 1 =0;
х2 + х1 + Уз + У2 + УзУ1 +1 = °;
х2 + х1 + У2 + хзУз + х1Уз + 1 = °;
Уз + У1 + хзУ1 + х1Уз = 0;
хз + х2 + У1 + х2Уз + х1Уз + 1 =0;
х1 + х2У2 + х1Уз = °.
Б-
2x2 и 4x4:
х 0 1 2 з
в(х) з 2 0 1
(1)
х 0 1 2 з 4 5 6 7 8 9 10 11 12 1з 14 15
в(х) 10 4 з 11 8 14 2 12 5 7 6 15 0 1 9 1з
Б- (1) 2 2 7 :
х2 + у 2 + х 2у2 + 1 = 0
х1 + у 2 + у1 + х2 у 2 = 0
х2 + х1 + у1 + х2 у2 + 1 = 0 ;
у1 + х2 х1 + у 2у 1 = 0
х2 + у 2 + х2 х1 + х2 у1 + 1 = 0
х2 + у1 + х2 х1 + х1 у 2 + 1 = 0
х1 + у2 + у1 + х2 х1 + х1 у1 = 0.
Для Б-блока(2) размером 4x4 получена система из 21 уравнения:
1 + х^2 + х^з + х2хз + х^4 + хзх4 + уху2 + уз + у4 = 0;
х2 + х1х2 + хз + х1хз + х2хз + х4 + х1х4 + х2х4 + у2 + у1уз + у4 = 0;
1 + х1 + х2 + х^2 + хз + х^з + х^4 + уху2 + уз + у4 = 0;
х1 + х2 + х1х2 + хз + х1хз + х2хз + х4 + у2 + уз + у4 + у1у4 = 0;
х^ + х2хз + х4 + х^х4 + хзх4 + у 1 + у2 + у2у4 = 0;
1 + хз + х1хз + х2хз + х1х4 + х2х4 + у2 + уз + узу4 = 0;
х1 + х2 + х^2 + хз + х^з + х2хз + х4 + х^4 + х1у1 + у2 + уз + у4 + х4у4 = 0; 1 + х2хз + х4 + х^4 + х2х4 + у 1 + х^2 + уз + у4 = 0;
х^2 + хз + х^з + хзх4 + у; + у2 + уз + х^з + у4 = 0;
1 + х1 + х2 + х^х2 + х4 + х^4 + х2х4 + у4 + х^ + х4у4 = 0;
• 1 + хз + х2хз + х4 + х1х4 + хзх4 + у1 + х2у1 + у2 + уз + х4у4 = 0;
х1 + х2 + х^2 + х4 + х1х4 + хзх4 + х2у2 + уз + х4у4 = 0;
х1 + х2 + хз + х1хз + х2хз + х4 + х2х4 + у2 + уз + х2уз + у4 = 0;
1 + х1хз + х2хз + х4 + х2х4 + у1 + уз + у4 + ^4 + х4у4 = 0
1 + хз + х2хз + х1х4 + х2х4 + хзу1 + у 2 + уз + х4у4 = 0;
1 + х2 + х1х2 + х2хз + х2х4 + хзх4 + хзу2 + уз + у4 = 0;
х2 + х1хз + х2хз + х4 + хзх4 + у1 + хзуз + х4у4 = 0;
1 + х1 + х2 + х1х2 + х2хз + х2х4 + хзх4 + у1 + у2 + хзу4 + х4у4 = 0;
1 + хз + х2хз + х4 + х^4 + хзх4 + х4у1 + у2 + уз = 0;
х1х2 + хз + х1хз + х4 + х2х4 + у1 + у2 + х4у2 + у4 + ^4 = 0;
х2 + х^ + хз + х1хз + х2хз + х4 + х^ + у 2 + х4уз + у 4 + х4у4 = 0.
В табл. з приведены численные характеристики нелинейных системы уравнений для трех Б-блоков замены.
Таблица 3
Численные характеристики нелинейных систем уравнений, полученных
для трех 8-блоков
Размер Б-блока в битах - нений в системе Количество переменных Количество квадратных элементов Трудоемкость ХЬ метода
2х2 7 4 6 26
ЗхЗ 14 6 15 213
4х4 21 8 28 217
Рассмотрим решение нелинейной системы для Б-блока размером 3x3. Исходная система содержит 14 уравнений с 6 переменными. По формуле вычисления
: 1,6 , но по условию Б>2,
2$ 6
коэффициента Б алгоритма ХЬ имеем В >^= = —==
■\]ш ->/14
поэтому используем параметр Б=3. Следовательно, систему уравнений нужно умножить на все одночлены первой степени (так как Б-2=1), а именно, на переменные {х3, х2, х1, у3, у2, у1}. При умножении получено И=2^ш=84 новых уравнений. В исходной системе присутствовали квадратные элементы, значит, после умножения максимальная степень одночленов будет равна трем. Всего в уравнениях используются 28=6 переменных, следовательно, число одночленов в новой системе
будет равно V =
25
V3,
25
2
+ 2$ = 41. При дополнении исходной системы новыми
уравнениями, получаем систему из 98 уравнений с 41 одночленом:
хі +У3 +У2У1 =0;
х3 +У2 +Уі +Х1У2 = 0;
УзУі +У1 +хзУ1 +х1У3У1 =°;
хзУ1 +х2У1 +У1 + х 2 у з У1 +х1УзУ1 +У1 =0;
Х1У1 + х 2 У 2 У1 +х1УзУ1 =0.
Для возможности решения системы методом линеаризации необходимо, чтобы она содержала, по крайней мере столько же линейно-независимых уравнений, сколько одночленов в ней встречается.
Все квадратные и кубические элементы в данной системе в соответствии с алгоритмом метода ХЬ заменяем на новые переменные. При приведении системы уравнений по алгоритму Гаусса к треугольному виду часть из 98 уравнений превратились в тождества, а именно приняли вид 0=0. Треугольная матрица для ре. 2.
В результате выполнения обратного хода алгоритма исключения Гаусса, вычислено решение линейной системы уравнений.
После возврата к первоначальным переменным и решения специальной системы уравнений, получено, что исходная нелинейная система уравнений, описывающая выполняемые в Б-блоках преобразования, имеет решение: х3=1; х2=1; х1=0; У3=0; у2=0; у1=1.
Таким образом, были найдены значения входов и выходов Б-блоков. Далее, основываясь на схеме алгоритма шифрования, можно выполнить следующие :
- входное значение Б-блока представить в виде суммы по модулю 2 открытого текста и начального ключа: х=а+кп;
- выходное значение Б-блока записать как результат суммы по модулю
2 шифротекста и раундового ключа: у= 2+кг.
1, О, О, 0,1,1, О, О, НО, о, О, О, Ц О, О, 0,0,01 1,0, 0,0,0, 0,0, 0.0,0, О, О, а о, О, О, О, О, О, О, а 0,0 О, 1,0, 0,1,0, 0,0, 0.0,0, 0,0, 0.0,1, 0,0, 1, 1,0, 0,0,0, 0,0, 0.0,0, 0,0, о 0,0, 0,0,0, 0,0, о 0,1 О, 0,1, О, О, О, 0,0, а о, О, 0,1,0 0,1,0,0, о 1,0, 0,0,0, 0,0, 0.0,0, О, О, о о, О, О, О, О, О, О, о 0,0 О, 0,0, 1,0,0, 0,0, а 0,0, 1,1, ЦО, 1,0,0, О. 1,0, 0,0,0, 0,0, 0.0,0, 0,0, а 0,0, 0,0,0, 0,0, а 0,0 О, 0,0, 0,1,0, 0,0, 0^0,0, 1,0, 1, 0,0, 0,0,0^ 1,0, 0,0,0, о, о, с; о, о, о, о, с; 0,0, 0,0,0, 0,0, 0,0 О, О, О, 0,0,1, 0,0, а 0,0,1,0,0, 1,0, 0,0, а 0,0, 0,0,0, 0,0, 1, 0,0, 0,0, а 0,0, 0,0,0, 0,0, а о, о О, 0,0, 0,0,0, 1,0, а 0,0, 0,0, а 1,1, 0,0,1,1,0, 0,0,0, 0,0, 1, 0,0, 0,0, а о, 0, 0,0,0, 0,0, а 0,0 О, 0,0, 0,0,0, 0,1, а 0,0, 0,1, 1, 1,1, 0,0, 1, 1,0, 0,0,0, 0,1, 1, 0,0, 0,0, а о, 0, 0,0,0, 0,0, а 0,0 О, 0,0, 0,0,0, 0,0,1, 0,0, 0,0,1,1,0, 0,0,1,1,0, 0,0,0, 0,1, 1, 0,0, 0,0, а о, 0, 0,0,0, 0,0, а 0,0 О, О, О, 0,0,0, 0,0, а 1,0, 0,0, 1, 0,0, 1,0, 0^0,0, 0,0,0, 0,0, а 0,0, 0,0, а о, 1, 0,0,0, 0,0, а 0,0 о, о, о, о, о, о, о,о,о, о, 1,0,1, і, 0,0,1,0, о, 0,0,0,1,0, о,о, о, о,о, о, о, а, о, і, о, о, о, о, о, а, о,о О, 0,0, 0,0,0, 0,0, а о, 0,1,1,1, 0,0,1,0, Ц 0,1, 0,1, о, о, 0, а о, 0, 0,0, а о, 1, 0,0,0, 0,0, а о, о О, О, О, 0,0,0, 0,0, а 0,0, 0,1,1, 0,0,1,1, Ц 0,0, 0,1,1, 0,0, а 0,0, 0,0, а о, 1, О, О, О, 0,1, а 0,0 О, 0,0, 0,0,0, 0,0, а о, 0, 0,0,1, 0,0,1,1, Ц 0,0, 0,1,1, 0,1, а 0,0, 0,0, а о, 1, 0,0,0, 0,1, а О, о О, 0,0, 0,0,0, 0,0, а о,0, 0,0, а 1,1,1,1,1,1,0, 0,1,1, 0,0, а 0,0, 0,0, а 0,1, 1,0,0, 0,1, а 0,0
О, 0,0, 0,0,0, 0,0, 0^0,0, 0,0, Ц 0,1, 1,0, 0^0,0, 0,1,1, 0,0, 1, 0,1, 0,0, 0,1, 1,0,0, 0,1, 0,0 О, О, О, О, О, О, О, О, Ц О, О, О, О, Ц 0,0,1,1, о, 0,0, 0,1,1, 0,0, 1, 0,0, 0,0, а 0,1, 1,0,1, 0,1, а о, о
О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а 0,0, 0,1, Ц 1, о, 0,0,1, 0,0, 1, о, 0, 0,0, а о, 1, 1,0,1, 0,1, а О, о О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а 0,0, 0,0,1, 0,1, 0,1,0, 0,0, 1, 0,0, 0,0, а о, 1, 1,0,1, 0,0, а о, о О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а О, О, О, О, Ц 1,0, 0,1, о, 0,0, 1, 0,1, 0,0, а о, 1, 1,0,1, 0,0, а о, о
О, 0,0, 0,0,0, 0,0, О, О, О, О, О, О, 0,0, 0,0, 0^ 0,1, 0,0,0, 0,1, 1, 0,1, о, о, с; 0,1, 1,0,1, о, о, о, о„ о о, 0,0,0,0,0, о,о, о, о,о, о,о, о, о,о, о,о, о, о,о, 1,0,0,0,0, і, о, і, 0,0, а, о, і, 1,0, і, 0,0, а, о,о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, 0,1,1, о, 0, а о, 0, 0,0, а о, 1, 0,0,0, 0,1, а о, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, 0,0,1, 0,1, а 0,1, 0,0, а о, 1, 0,0,1, 0,0, а о, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, о, о, 0,1,0, 1, о, 0, 0,0, а о, 0, 1,0,0, 0,0, а о, о О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а 0,0, 0,0, а о, о, о, о, 0, 0,1, а о, 1, о, 0, а о, 1, 0,0,1, 0,1, а о, о
О, 0,0, 0,0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0,0, 0,0, 1, 1,1, 0,0, 0,1, 1,0,1, 0,1, 0,0
О, О, О, О, О, О, 0,0, О, О, О, 0,0, а О, О, 0,0,1} 0,0, 0,0,0, 0,0, а 1,1, 0,0, а 0,1, 1,0,1, 0,1, 1, о, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, о, о, о, о, 0, а 0,1, 0,0, а о, 0, 1,0,0, 0,1, 1, 1, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, о, о, о, о, 0, а о, 0, 1,0, а о, 0, 1,0,0, 0,0, 1, о, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, 0, 0,0, 0,0, а о, о, о, о, о, о, 0, а о, 0, 0,1, а о, 0, 0,0,1, 0,1, а 1, о
О, 0,0, 0,0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0,0, О, О, с; 0,0, 0,0, 1, 0,1, 0,0,1, 0,1, 1,0
О, 0,0, 0,0,0, 0,0, 0, 0,0, 0,0, 0, 0,0, 0,0, 0, 0,0, 0,0,0, 0,0, 0, 0,0, 0,0, а, 1,1, 1,0,1, 0,1, 1, 1,0 О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а О, О, О, О, Ц 0,0, 0,0,0, 0,0, а 0,0, 0,0, а о, 1, 1,0,1, 0,1, 1, 1, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, о, о, о, о, 0, а о, 0, 0,0, а о, 0, 1,1,1, 0,1, 1, 1, о О, 0,0, 0,0,0, 0,0, а о, О, О, О, а о, о, о, о, ц о, о, о, о, о, о, 0, а о, 0, 0,0, а о, 0, 0,1,1, 1,1, 1, 1, о О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а 0,0, 0,0, а о, о, о, о, о, о, 0, а о, о, о, 0, а о, 0, 0,0,1, 1,1, а 1, о
О, 0,0, 0,0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0, 0^0,0, 0,0,0, О, О, с; 0,0, 0,0, 0,0, 0,0,0, 1,0, 1,0
О, О, О, О, О, О, 0,0, 0^ О, О, 0,0, а О, О, 0,0,1} 0,0, 0,0,0, 0,0, а 0,0, 0,0, а 0,0, 0,0,0, 0, 1, а 1,1 О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а О, О, О, О, Ц 0,0, 0,0,0, 0,0, а 0,0, 0,0, а о, 0, 0,0,0, 0,0, 1, 1, о О, 0,0, 0,0,0, 0,0, а о, 0, 0,0, а О, О, О, О, Ц 0,0, 0,0,0, 0,0, а 0,0, 0,0, а о, 0, 0,0,0, 0,0, а 1, о
Рис. 2. Треугольная матрица системы уравнений для Б-блока размером 3x3
Из данных замен выразим начальный и раундовый ключи через известные открытый текст, шифротекст, входы и выходы Б-блоков:
кп=а+х,
кг=г+у.
По условию атаки криптоаналитику доступна одна пара открытый текст/шифротекст. Задан открытый текст а=010 101 001 110 и соответствующий ему шифротекст 2=111 011 100 101. Тогда вычисление ключей выполняется сле-:
кп0=а0+х=010+110=100, кп1=а1+х=101+110=011, кп2=а2+х=001+110=111,
кпз=аз+х=110+110=000;
кГ0=20+у=111+001=110, кГ1=^1+у=011+001=010, кГ2=22+у=100+001=101,
кгз=гз+у=101+001=100.
Начальный ключ kn равен 100 011 111 000, а раундовый kr 110 010 101 100.
В работе была выполнена проверка полученных значений ключа. Для этого производилось зашифрование открытого текста на вычисленных ключах и последующее сравнение полученного шифротекста со значением, заданным в начале криптоанализа. На основании проведенных расчетов, можно сделать вывод о правильности вычисления ключей.
, , -зования замены в S-блоках, оказалось достаточным рассмотрение только входных (xj) и выходных (у;) значений блока замены и их произведений вида х;эд, X;Xj и yyj.
В данной статье предложен алгоритм получения нелинейной системы уравнений, описывающей преобразования замены в S-блоках. Показано применение данного алгоритма для конкретных таблиц замены S-блоков размерами 2x2, 3x3 и 4x4 бита. Исследован XL метод алгебраического криптоанализа. Для трех таблиц замены вычислены трудоемкости реализации метода XL. Выполнен криптоанализ упрощенного алгоритма шифрования Rijndael, использующего четыре S-блока
3 3 . ,
выполнена проверка правильности их вычисления.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Nicolas T. Courtois. How Fast can be Algebraic Attacks on Block Ciphers./ Nicolas T. Courtois // Cryptology ePrint Archive, Report 2006/168, 2006.
2. Courtois N., Klimov A., Patarin J., Shamir A. Efficient algorithms for solving overdefined systems of multivariate polynomial equations / N. Courtois, A. Klimov, J. Patarin, A. Shamir // EUROCRYPT, 2000. - P. 392-407.
3. . ., . . . / . . , . . -
кин. - М.: Издательский дом «Солон-Р», 2002. - 511 с.
4. . . /
Е.А. Маро // Материалы I Всероссийской молодежной конференции по проблемам информационной безопасности ПЕРСПЕКТИВА - 2009. - Таганрог: Изд-во ТТИ ЮФУ, 2009. - С. 259 - 265.
Бабенко Людмила Климентьевна
Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет»
. .
E-mail: [email protected].
347928, г. Таганрог, ул. Чехова, 2, корпус "И".
Тел.: 8 (8634) 312-018.
Кафедра безопасности информационных технологий; профессор.
Babenko Lyudmila Klimentevna
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of
Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
Block “I”, 2, Chehov str., Taganrog, 347928, Russia.
Phone: 8 (8634) 312-018.
The Department of Security of Information Technologies; professor.
Маро Екатерина Александровна
Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет»
. .
E-mail: [email protected].
347928, . , . , 2, " ".
Тел.: +7 (961) 27-23-100.
Кафедра безопасности информационных технологий; аспирант.
Maro Ekaterina Aleksandrovna
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
Block “I”, 2, Chehov str., Taganrog, 347928, Russia.
Phone: +7 (961) 27-23-100.
The Department of Security of Information Technologies; post-graduate student.
УДК 681.3.067
Д.П. Рублёв, О.Б. Макаревич, В.М. Федоров
МЕТОД СТЕГАНОГРАФИЧЕСКОГО ВСТРАИВАНИЯ СООБЩЕНИЙ
В АУДИОДАННЫЕ НА ОСНОВЕ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ*
Предлагается стеганографтеский метод встраивания бинарных сообщений в аудиоданные, основанный на модификации вейвлет-коэффициентов, предназначенный для сокрытия двоичных данных в оцифрованных речевых сообщениях. Встраивание осуществляется модуляцией коэффициентов вейвлет, -образованию формата хранения аудиоданных в форматы с потерей качества.
Стеганография; вейвлет-преобразование; корреляция; робастные стего-.
D.P. Rublev, O.B. Makarevich, V.M. Fedorov STEGANOGRAPHICAL METHOD FOR MESSAGES EMBEDDING TO AUDIODATA BASED ON THE WAVELET-TRANSFORM
We propose a steganographical method of binary messages embedding to audio data based on wavelet coefficient modifying, which is intended to hide binary data in digitized speech messages. Embedding in performed via wavelet coefficients modulation which allows to achieve robustness to lossy compression schemes
Steganography; wavelet transform; correlation; robust stegosystems.
В связи с широким распространением сетевых средств передачи мультиме-
, , IP
, -стем. Применение в составе стегосистемы методов стеганографии, использующих модификацию наименее значимых бит (НЗБ) исходных мультимедиа-данных ог-, -ведётся с применением того или иного метода сжатия, основанного на психофизиологической модели восприятия человека, то есть варианта сжатия с потерями.
, -пространённых источников мультимедиа-трафика, то в зависимости от области
* Работа выполнена при поддержке гранта РФФИ № 09-07-00242-а