История криптографии: от древних греков до наших дней
Эксплойт
Мы каждый день сталкивается с криптографией, часто не осознавая или не обращая на это внимание. Вводя пароль, что бы воспользоваться устройством или сервисом, мы зашифровываем или расшифровываем информацию. Биткоины, электронные подписи, цифровые ключи и огромное количество других технологий так же базируются на криптографии.
В наше время она повсюду, но как все начиналось?
Я собираюсь написать несколько статей рассказывающих историю криптографии и описать основные шифры, которые использовало человечество с VII века до н.э. и до наших дней.
Древние шифры
Один из старейших шифров родом из Спарты, легендарного греческого города-государства. Легендарного в первую очередь из-за специфического государственного строя и воинственности. Именно постоянные конфликты и необходимость передавать секретную приказы от царей к полям сражений, сделали спартанцев изобретателями одного из первых шифров и первого в истории инструмента для шифрования.
Скитала
Этот инструмент — скитала. Впервые его упоминает Архилох — древнегреческий поэт, живший в VII веке до нашей эры. Скитала — изобретение невероятно простое, но эффективное. Оно состоит из цилиндра и ленты. Лента делалась из кожи или пергамента.

Что бы зашифровать сообщение ленту обматывали вокруг цилиндра, писали сообщение, разматывали ленту и готово.

Когда лента размотана прочитать сообщение становится сложно. В таком виде ее отправляли получателю, и даже если ее перехватывали по пути, смысл послания оставался скрыт.
Получатель же, без труда мог восстановить первоначальное сообщение, для этого он просто снова наматывал ленту на цилиндр с таким же диаметром.
Что бы понять, как именно это работает и что происходит с буквами сообщение, давайте рассмотрим пример. Допустим мы шифруем приказ о наступлении и используем цилиндр, как на первой картинке. Легко посчитать, что он имеет 8 продольных граней. Это значит что на один виток полоски будет помещаться 8 букв. Напишем послание. Вот что получилось:

Здесь колонки это витки, а строки — продольные грани. Как видно, сообщение легко читается. Размотаем ленту.
Теперь сообщение прочитать не так просто.Есть также версия, что скитала использовалась не для зашифровывания сообщений, а для подтверждения, что сообщение было написано именно определенным человеком (прототип современной электронной подписи!). Ленту с символами наматывали на скиталу, если получался читаемый текст, значит сообщение было написано человеком с идентичной скиталой. Поделать расположение символов на ленте, не имея скиталы с нужным диаметром очень сложно.
Два вида шифров
Описанной выше способ шифрования относится к — шифрам перестановки. Так как мы не добавляем, не убираем и не изменяем символы сообщения, мы просто меняем их местами.
Второй вид — шифры замены. Буквы сообщение заменяются на другие буквы или символы. Ярчайшем его представителем является шифр Цезаря. О нем в следующей статье.