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