Как спрятать один шифртекст в другом
Как спрятать один шифртекст в другом
Антон и Борис несколько месяцев обменивались шифрованными сообщениями. Контрразведка перехватила все эти сообщения, но так и не смогла прочесть ни единого слова. Контрразведчикам надоело коллекционировать переписку Антона и Бориса, не зная ее содержания, и они решили арестовать подозрительную парочку. Первый же допрос начался словами: "Где ключи к шифру?" "К какому такому шифру?!" — в один голос воскликнули Антон и Борис, но тут же осеклись и побледнели, заметив на столе у следователя зловещего вида клещи, покрытые пятнами то ли ржавчины, то ли крови.
Антон и Борис смогли бы выкрутиться из создавшегося положения, если бы шифровали каждое свое сообщение так, чтобы оно допускало два различных расшифрования в зависимости от используемого ключа. Свое настоящее секретное сообщение Борису Антон мог бы зашифровать на одном ключе, а вполне невинный открытый текст — на другом. Теперь, если от Антона потребуют ключ к шифру, он отдаст подставной ключ, который позволит прочесть невинное сообщение, а другой ключ сохранит в тайне.
Самый простой способ сделать это потребует использования одноразового блокнота. Пусть Р — секретный открытый текст, D — невинный открытый текст, С — шифрованный текст, К — настоящий ключ, а К — подставной ключ. Антон шифрует Р:
Р Å К = С
Поскольку у Бориса имеется копия ключа К, он может без проблем расшифровать сообщение Антона:
С Å К = Р
Если контрразведчики попытаются заставить Антона и Бориса выдать используемый ими ключ, то вместо К они могут сообщить в контрразведку:
К '= С Å D
В результате контрразведчики смогут прочитать невинный открытый текст:
С Å К ' = D
Так как Антон и Борис пользуются одноразовым блокнотом, то К является полностью случайным и доказать, что К является подставным ключом, практически невозможно (не прибегая к пыткам).
Антон мог бы зашифровать Р не с помощью одноразового блокнота, а пользуясь любым из своих самых любимых криптографических алгоритмов и ключом К. Сложив С с фрагментом какого-либо общеизвестного произведения (например, с отрывком из второй главы "Идиота") по модулю 2, Антон получит К'. Теперь если к Антону пристанут злые "дяденьки" из контрразведки, он предъявит им С вместе с К' и скажет, что К' — это одноразовый блокнот для С и что он просто захотел попрактиковаться н криптографии, зашифровав для этой цели отрывок из первой попавшейся книги. И пока контрразведчики не получат в свое распоряжение ключ К, доказать, что Антон занимался чем-то противозаконным, они не смогут.