1. Главная
  2. Библиотека
  3. Программирование
  4. Преобразование состоит из двух шагов: 1) XOR каждого си...
Разбор задачи

Преобразование состоит из двух шагов: 1) XOR каждого символа с ключом, который меняется от позиции к позиции: k_i = (BASE + i * STEP) mod 256 2) перестановка байт: обмен соседних пар (01, 23,...). var BASE = 90; // 0x5A var STEP = 31; // 0x1F Эталонный — задача №700693

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Информационная безопасность программных продуктов
Преобразование состоит из двух шагов: 1) XOR каждого символа с ключом, который меняется от позиции к позиции: k_i = (BASE + i * STEP) mod 256 2) перестановка байт: обмен соседних пар (01, 23,...). var BASE = 90; // 0x5A var STEP = 31; // 0x1F Эталонный — задача №700693

Условие:

Преобразование состоит из двух шагов:
1) XOR каждого символа с ключом, который меняется от позиции к позиции:
k_i = (BASE + i * STEP) mod 256
2) перестановка байт: обмен соседних пар (0<->1, 2<->3, ...).

var BASE = 90; // 0x5A
var STEP = 31; // 0x1F

Эталонный отпечаток правильной кодовой фразы.
var FINGERPRINT = [10, 44, 196, 247, 142, 190, 92, 119, 20, 54, 216, 207, 159, 161,
88, 104, 28, 21, 203, 230, 134, 169, 124, 111, 2, 35, 250, 227, 174, 205, 129];

надо расшифровать кодовую фразу

Решение:

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

Дано:

  • Алгоритм шифрования:
    1. XOR с ключом ki=(BASE+i⋅STEP)(mod256)k_i = (BASE + i \cdot STEP) \pmod{256}.
    2. Перестановка соседних пар (swap).
  • Параметры: BASE=90BASE = 90, STEP=31STEP = 31.
  • Массив (зашифрованный): FINGERPRINT=[10,44,196,247,142,190,92,119,20,54,216,207,159,161,88,104,28,21,203,230,134,169,124,111,2,35,250,227,174,205,129]FINGERPRINT = [10, 44, 196, 247, 142, 190, 92, 119, 20, 54, 216, 207, 159, 161, 88, 104, 28, 21, 203, 230, 134, 169, 124, 111, 2, 35, 250, 227, 174, 205, 129].

Решение:

Чтобы расшифровать данные, нужно:

  1. Выполнить обратную перестановку...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

В каком порядке необходимо применять обратные операции для расшифровки сообщения, если исходное шифрование состояло из XOR с ключом, зависящим от позиции, а затем перестановки соседних пар байт?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

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