Краткий теоретический материал по xor-шифрованию
Алгоритм xor-шифрования является одним из самых простых линейных симметричных алгоритмов шифрования.
Работа алгоритма заключается в последовательном цикличном кодировании символов входной последовательности с символами шифр-ключа с помощью операции сложения по модулю 2 (⊕), иными словами — исключающего ИЛИ (XOR).
ci = ai ⊕ ki mod Lkey,
где
ai — символы входной последовательности,
Lkey — длина шифр-ключа, а
ki — символы шифр-ключа.
В случае, если длина ключа
Lkey = 1, то алгоритм вырождается в метод алфавитной замены каждой буквы алфавита на одну и ту же другую букву.
Для обеспечения стойкости алгоритма необходимо использовать «случайный» ключ длины, равной длине кодируемого сообщения.
Более того, в идеале, нельзя одним и тем же ключом кодировать несколько сообщений.
Ключ необходимо генерировать каждый раз заново.
Но такое условие затрудняет использование алгоритма, так как требует скрытой передачи получателю длинного шифр-ключа, уникального для каждого передаваемого сообщения.