Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф_Безопасность_ответы.doc
Скачиваний:
32
Добавлен:
21.09.2019
Размер:
2.29 Mб
Скачать

17. Использование одного преобразования для шифрования и дешифрования. Сеть Feistel и шифр Feistel: достоинства, функция раунда, примеры шифров с параметрами. Эквивалентные ключи: пример.

Шифрование и расшифрование осуществляются в той же последовательности, что и в случае простой таблицы Вижинера.

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

Для дешифрования используются те же правила умножения матрицы на вектор, только в качестве основы берется обратная матрица, а в качестве умножаемого вектора — соответствующее количество чисел шифрованного текста. Цифрами вектора-результата будут цифровые эквиваленты знаков исходного текста.

Сеть Фе́йстеля (конструкция Фейстеля) — один из методов построения блочных шифров. Сеть представляет собой определённую многократно повторяющуюся (итерированную) структуру, называющуюся ячейкой Фейстеля. При переходе от одной ячейки к другой меняется ключ, причём выбор ключа зависит от конкретного алгоритма. Операции шифрования и расшифрования на каждом этапе очень просты, и при определённой доработке совпадают, требуя только обратного порядка используемых ключей.

Фейстель описывает два различных блока преобразований (функций ) — блок подстановок (S-блок) и блок перестановок (P-блок). Можно показать, что любое двоичное преобразование над двоичным блоком фиксированной длины, сводятся к S-блоку, но на практике в силу сложности строения n-разрядного S-блока при больших n, применяют более простые конструкции.

Конструкция блочного шифра на основе сетей Фейстеля

Шифрование

Расшифрование

Простое описание

Шифрование

Рассмотрим случай, когда мы хотим зашифровать некоторую информацию, представленную в двоичном виде в компьютерной памяти (например, файл) или электронике, как последовательность нулей и единиц.

  • Вся информация разбивается на блоки фиксированной длины. В случае, если длина входного блока меньше, чем размер, который шифруется заданным алгоритмом, то блок удлиняется каким-либо способом. Как правило длина блока является степенью двойки, например: 64 бита, 128 бит. Далее будем рассматривать операции происходящие только с одним блоком, так как с другими в процессе шифрования выполняются те же самые операции.

  • Выбранный блок делится на два равных подблока — «левый» ( ) и «правый» ( ).

  • «Левый подблок»   видоизменяется функцией   в зависимости от раундового ключа  , после чего он складывается по модулю 2 с «правым подблоком»  .

  • Результат сложения присваивается новому левому подблоку  , который будет половиной входных данных для следующего раунда, а «левый подблок»   присваивается без изменений новому правому подблоку   (см. схему), который будет другой половиной.

  • После чего операция повторяется N-1 раз, при этом при переходе от одного этапа к другому меняются раундовые ключи (  на   и т. д.) по какому-либо математическому правилу, где N — количество раундов в заданном алгоритме.

Достоинства:

- Простота аппаратной реализации на современной электронной базе

- Простота программной реализации в силу того, что значительная часть функций поддерживается на аппаратном уровне в современных компьютерах (например, сложение по модулю 2, сложение по модулю , умножение по модулю , и т. д.)

- Хорошая изученность алгоритмов на основе сетей Фейстеля.

Все потенциальные ключи отношения эквивалентны, то есть обладают одинаковыми свойствами уникальности и минимальности.