Marcenary
@Marcenary

Как шифровать и расшифровывать с помощью Сети Фейстеля?

У меня есть задание написать программу которая шифрует текст с помощью сети Фейстеля с определенными параметрами.
4 потоками по схеме типа 3.
Функция F для схемы Типа 3 реализует сложение с ключом в каждом раунде с последующим циклическим сдвигом результата на 2 разряда влево.
Размер блока (бит) 64
Раундов 4.
Я пытался реализовать метод не программно, но я его не понимаю. Зашифровал 1 блок и понял что уже не верно посчитал ключ. В общем я не могу понять как действовать, особенно расшифровка.
Feistel_type3.svg
65e4866feb087578757276.png
65e4867dbbb96188321227.png
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@Maxim_Q
Сеть Фейстеля - это один из классических методов блочного шифрования. Вот как шифруют и расшифровывают данные с использованием сети Фейстеля:

Шифрование:

Входные данные разделяются на блоки одинакового размера.
Каждый блок делится на две части.
Одна из частей подается на вход функции подстановки (F-функции), а другая часть идет на вход ключу и затем проходит через операцию XOR с выходом функции подстановки.
Результат XOR складывается с другой частью блока.
После этого части блока меняются местами.
Этот процесс повторяется определенное количество раундов.
На выходе получается зашифрованный блок.

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

Процесс расшифрования похож на шифрование, но использует обратный порядок ключей.
Зашифрованный блок делится на две части.
Одна часть подается на вход F-функции, а другая часть проходит через операцию XOR с выходом F-функции и результатом XOR.
Результат сложения идет в качестве входа F-функции на этом же раунде.
Этот процесс повторяется для каждого раунда в обратном порядке.
На выходе получается исходный блок данных.
Суть сети Фейстеля заключается в том, что она использует те же самые операции как для шифрования, так и для расшифрования, но с обратным порядком ключей.

Лучше не в Excel это делать, а найти готовый пример под ваш язык программирования.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы