1. Главная
  2. Библиотека
  3. Программирование
  4. Напишите программы шифрования и расшифрования произвольных файлов методом перестановки битов в каждом блоке из 8 байтов. П...

Напишите программы шифрования и расшифрования произвольных файлов методом перестановки битов в каждом блоке из 8 байтов. Перестановку задают таблицы из симметричного алгоритма «DES», приведённые в п. 2.1.4. Если для последнего блока не хватит байтов

«Напишите программы шифрования и расшифрования произвольных файлов методом перестановки битов в каждом блоке из 8 байтов. Перестановку задают таблицы из симметричного алгоритма «DES», приведённые в п. 2.1.4. Если для последнего блока не хватит байтов»
  • Программирование

Условие:

22. Напишите программы шифрования и расшифрования произвольных файлов методом перестановки битов в каждом блоке из 8 байтов. Перестановку задают таблицы из симмет-ричного алгоритма «DES», приведённые в п. 2.1.4. Если для последнего блока не хватит байтов открытого текста, то нужно последний байт открытого текста повторить столько раз, сколь-ко байтов не хватило. После этого в файл добавить число (от 0 до 7), соответствующее количеству добавленных байтов, чтобы при расшифровании от них избавиться.

Решение:

Ниже приведён один из вариантов решения задачи. В первую очередь поясним общий алгоритм и затем покажем пример реализации (на языке C/C++). Решение делится на две программы – для шифрования и для расшифрования, которые работают с блоками по 8 байт (64 бита). ────────────────────────────── 1. Анализ задачи • Для шифрования файла необходимо обрабатывать его блоки по 8 байт. При обработке каждого блока выполняется перестановка битов согласно таблицам DES (см. п. 2.1.4). Обычно в алгоритме DES используются так называемые начальная (Initial Permutation, IP) и конечная перестановка (Final Permutat...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет