Блок задач

1. Базовые навыки

Темы
Сложность 4

Задача «XOR-шифратор/дешифратор файлов»

Реализовать шифратор/дешифратор файлов на базе простого XOR-алгоритма.

Поскольку алгоритм является симметричным, повторная шифрация файла приведет к его расшифровке.

  • crypt infile outfile — шифрация/дешифрация infile, результат записывается в outfile.

Суть алгоритма

  1. Пользователь вводит ключ (пароль).
  2. Байты файла подвергаются следующей трансформации:
o[n] = i[n] ^ key[n % m],

где o[n]n-й результирующий байт выходного файла, i[n]n-й байт входного файла, m — длина ключа, key — сам ключ.