Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТКИОК.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.35 Mб
Скачать
  1. Алгоритмы криптографического преобразования данных стандарта des, aes, гост 28147-89.

DES. Схема

ГОСТ 28147-89

В криптосистеме ГОСТ 28147- 89 режим электронной кодовой книги назван

режимом простой замены. Применяется для шифрования ключевой

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

различным полям.

Режим включения режим сцепления блоков шифротекста обеспечивает две зависимости. Первая возникает при зашифровании Ci шифротекста, от всех предшествующих блоков открытого текста {Xi}. Вторая зависимость - при расшифровании каждого блока открытого текста от текущего и предшествующего ему блоков шифротекстов. Схема режима сцепления блоков шифротекста:

В шифре ГОСТ 28147-89 режим обратной связи по шифротексту

носит название режим гаммирования с обратной связью. Данная схема позволяет шифровать сразу n/r - блоков открытого текста и обладает свойством самосинхронизации.

Эффект размножения ошибок влияет n / r блоков шифротекста.

AES

Advanced Encryption Standard (Rijndael)–симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит).

  1. Атака на алгоритмы шифрования методом «грубой силы». Атаки класса «встреча посередине».

Полный перебор (или метод «грубой силы»,brute force) — метод решения математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных вариантов.

Устойчивость к brute-force атаке определяет используемый в криптосистеме ключ шифрования. Так, с увеличением длины ключа сложность взлома этим методом возрастает экспоненциально. В простейшем случае шифр длиной в N битов взламывается, в наихудшем случае, за время, пропорциональное 2N. Среднее время взлома в этом случае в два раза меньше и составляет 2N-1. Существуют способы повышения устойчивости шифра к «brute force», например запутывание (обфускация) шифруемых данных, что делает нетривиальным отличие зашифрованных данных от незашифрованных.

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

Начальные условия. Даны открытый (незашифрованный) и шифрованный тексты. Криптосистема состоит из h циклов шифрования. Цикловые ключи независимы и не имеют общих битов. Ключ K системы представляет собой сочетание из h-цикловых ключей k1,k2 ... kh

Задача. При известных открытом и шифрованном текстах найти ключ K.

Решение. Обозначим преобразование алгоритма как Ek(a)=b, где a-открытый текст, а b-шифротекст. Его можно представить как композицию Ek1Ek2..Ekh(a)=b, где Eki - цикловое преобразование на ключе ki. Каждый ключ ki представляет собой двоичный вектор длины n, а общий ключ системы - вектор длины n*h.

1. Заполнение памяти. Перебираются все значения k'=(k1,k2..kr), т.е первые r цикловых ключей. На каждом таком ключе k' зашифровываем открытый текст a - Ek' (a)=Ek1Ek2..Ekr(a)=S (т.е. проходим r циклов шифрования вместо h). Будем считать S неким адресом памяти и по этому адресу запишем значение k'. Необходимо перебрать все значения k'.

2. Определение ключа. Перебираются все возможные k"=(kr+1,kr+2...kh). На получаемых ключах расшифровывается шифротекст b - E-1k"(b)=E-1kh..E-1kr+1(b)=S' . Если по адресу S' не пусто, то достаем оттуда ключ k' и получаем кандидат в ключи (k',k")=k.

Однако нужно заметить, что первый же полученный кандидат k не обязательно является истинным ключом. Да, для данных a и b выполняется Ek(a)=b, но на других значениях открытого текста a' шифротекста b', полученного из a' на истинном ключе, равенство может нарушаться. Все зависит от конкретных характеристик криптосистемы. Но иногда бывает достаточно получить такой "псевдоэквивалентный" ключ. В противном же случае после завершения процедур будет получено некое множество ключей {k',k"...}, среди которых находится истинный ключ. Если рассматривать конкретное применение, то шифротекст и открытый текст могут быть большого объема и представлять собой достаточно большое число блоков для блочного шифра. В данном случае для ускорения процесса можно зашифровывать и расшифровывать не весь текст, а только его первый блок (что намного быстрее) и затем, получив множество кандидатов, искать в нем истинный ключ, проверяя его на остальных блоках.