Пишем свой генератор случайных чисел, который будет инициализироваться ключом(числом). Например лин. конгруэнтный метод, с заданными параметрами.
Шифрование:
В цикле генерируешь числа с своего генератора и "складываешь" с открытым
текстом, например побайтово. Получается шифротекст.
Под "складываешь" я имел ввиду сложение по модулю(для побайтового шифрования, модуль будет 256)
Дешифрование
Опять берем наш генератор, с теми же параметрами как и при шифровании(если знаем ключ).
И вычитаем из шифротекста, побайтово числа, которые выдает наш генератор. На выходе получается дешифрованный текст
Объяснение:
Пишем свой генератор случайных чисел, который будет инициализироваться ключом(числом). Например лин. конгруэнтный метод, с заданными параметрами.
Шифрование:
В цикле генерируешь числа с своего генератора и "складываешь" с открытым
текстом, например побайтово. Получается шифротекст.
Под "складываешь" я имел ввиду сложение по модулю(для побайтового шифрования, модуль будет 256)
Дешифрование
Опять берем наш генератор, с теми же параметрами как и при шифровании(если знаем ключ).
И вычитаем из шифротекста, побайтово числа, которые выдает наш генератор. На выходе получается дешифрованный текст
Объяснение: