Математика и криптография. Тайны шифров и логическое мышление - стр. 3
Это так называемый «шифр Цезаря». Именно в таком виде Юлий Цезарь использовал его для секретной переписки со своими командирами легионов. Да, в те далёкие времена этот шифр обеспечивал секретность. Но теперь и он не очень хорошо сохраняет тайну, поскольку те, кто хоть немного знает о криптоанализе, мгновенно взломают его (скоро и ты будешь таким человеком).
Наконец, буквы можно заменять на какие-нибудь экзотические значки; их даже можно выдумать самостоятельно. Здесь открывается широкий простор для фантазии. Например, то же слово «ШИФР» в этом случае можно написать бесконечным количеством способов:
и т. д. Придумать можно всё что угодно. Однако и в этом случае ни вид символов, ни их сложность не являются защитой – такой шифр можно взломать так же легко, как и в предыдущем варианте.Честно говоря, я бы вообще не называл это шифрованием. С точки зрения математика и программиста это просто смена кодировки. Мы просто используем другие обозначения для тех же самых букв. Это ни на что не влияет с точки зрения защиты сообщения. Подумай хорошенько: если букву «А» всегда заменять одним и тем же другим символом, букву «Б» – каким-то другим символом и так далее, то это отпугнёт только совсем неподготовленных людей, да и то – после первого испуга каждый сможет разобраться, в чём тут дело.
Другими словами, можно вывести такое правило:
Если заменить буквы на какие-либо иные символы, то секретность сообщения не изменится.
Давай посмотрим, как можно взломать такой шифр. Для этого есть несколько методов:
1. Частотный анализ символов. Что обозначает этот термин? Одни и те же буквы, какими бы значками они ни обозначались, всегда используются в одном и том же языке с одинаковой частотой. Сейчас ты читаешь этот текст (на русском языке); можно подсчитать количество разных букв, использованных в нем, а потом поделить эти количества на общее число букв. Получатся так называемые частоты букв. Так вот эти частоты практически всегда одинаковы для любых текстов, особенно больших.
2. Подбор и проверка сочетаний. Иногда можно успешно подобрать слова, если они заведомо используются в зашифрованном тексте. Например, если ты знаешь, что шпион передаёт в свой штаб информацию о новом виде вооружения, то наверняка в тексте найдётся название этого вооружения. «Внимание, штаб! Атакующая сторона намерена использовать рогатки». Если вы с друзьями и впрямь намерены использовать рогатки, то резонно предположить, что где-то в тексте есть это слово.
3. Наращивание объёма сообщений. Если шпион передаёт небольшие сообщения, то к ним сложно применить методы частотного анализа, а подбор сочетаний становится иногда делом бессмысленным. В этом случае надо набраться терпения и подождать новых сообщений, которые увеличат объём шифрованного текста. Тогда и можно будет применить оба предыдущих метода.