Шаг 1: Вопрос
Напишите процедуру, выполняющую простое шифрование путем поворота каждого байта открытого текста на различное количество позиций в разных направлениях. Например, в следующем массиве, представляющем ключ шифрования, отрицательное значение указывает на поворот влево, а положительное значение указывает на поворот вправо. Целое число в каждой позиции указывает величину вращения:
key BYTE −2, 4, 1, 0, −3, 5, 2, −4, −4, 6
Ваша процедура должна проходить через текстовое сообщение и выравнивать ключ по первым 10 байтам сообщения. Поверните каждый байт открытого текста на величину, указанную соответствующим значением массива ключей. Затем выровняйте ключ по следующим 10 байтам сообщения P и повторите процесс. Напишите программу, которая проверяет вашу процедуру шифрования, вызывая ее дважды с разными наборами данных.
Шаг 2: Программа
Шаг 3: Вывод
Открытый текст: зашифрованное сообщение
Источник: Кип Р. Ирвин. 2014. Язык ассемблера для процессоров x86 (7-е изд.). Prentice Hall Press, США.