Шифр Вернама работает следующим образом: 2
- Исходный текст разбивается на последовательности битов. 2
- Для каждой последовательности битов открытого текста выбирается соответствующий бит ключа. 2
- Выполняется побитовое «исключающее ИЛИ» (XOR) над битами открытого текста и битами ключа. 2 Полученный результат — это зашифрованный текст. 2
- Расшифровка шифра Вернама осуществляется аналогичным образом. 2 Для неё необходимо воспользоваться ключом, ранее задействованным при шифровании. 2
Шифр Вернама считается абсолютно надёжным, потому что даже при наличии всех возможных вычислительных ресурсов невозможно вычислить исходный ключ и расшифровать сообщение без знания этого ключа. 1
Это обусловлено несколькими факторами:
- Исключающее ИЛИ (XOR) с случайными ключами. 1 Каждый бит исходного сообщения XORится с соответствующим битом случайного ключа. 1 Это создаёт шумоподобный характер шифра, делая его непредсказуемым и трудным для анализа. 1
- Сильная ключевая пространственная структура. 1 Ключи генерируются случайным образом и имеют огромное количество вариантов, что делает перебор всех возможных ключей неосуществимым из-за огромного пространства ключей. 1
- Отсутствие шаблонов и зависимостей. 1 Так как ключи генерируются случайным образом, нет никаких шаблонов, по которым можно было бы анализировать шифр. 1 Каждый бит зависит только от своего бита ключа и соответствующего бита сообщения. 1
- Высокая длина ключа. 1 Для каждого бита входных данных требуется свой бит ключа. 1 Это делает перебор ключей практически невозможным, особенно при использовании достаточно длинных ключей. 1