Skip to content
Назад в блог

От ручных шифров до AES: как менялась модель защиты

7 мин. чтения
От ручных шифров до AES: как менялась модель защиты

Атбаш, шифр Цезаря, Enigma и AES часто ставят в один исторический ряд, словно каждый следующий метод просто сложнее предыдущего. На самом деле между ними менялась сама задача. Ручной шифр должен был задержать читателя, который перехватил письмо; машинный шифр уже противостоял организованной службе перехвата, а современный алгоритм обязан выдерживать публичный анализ, автоматические атаки и ошибки передачи данных. История криптографии поэтому рассказывает не только о формулах, но и о том, как росла модель угроз.

Фиксированная замена скрывала текст, но не создавала большой секрет

В масоретском тексте Книги Иеремии встречается название «Шешах», которое традиционно связывают с Вавилоном через обращение еврейского алфавита. Первая буква меняется с последней, вторая с предпоследней, а название метода складывается из первых пар такого соответствия: Алеф-Тав-Бет-Шин. Библейская энциклопедия называет этот приём Атбашем, но одновременно отмечает, что причина его появления в тексте неясна. В той же главе Вавилон упомянут открыто, поэтому уверенно описывать Атбаш как тайный канал древних писцов было бы лишним упрощением.

У Атбаша нет выбираемого ключа: соответствие букв всегда одно и то же. Подобный текст может озадачить неподготовленного читателя, однако знание правила сразу раскрывает всё сообщение. В современном смысле это скорее фиксированное преобразование, чем средство конфиденциальности.

О шифре Цезаря известно из другого позднего источника. В 56-й главе биографии Юлия Цезаря Светоний писал, что в конфиденциальных письмах тот менял порядок букв так, чтобы вместо A читатель подставлял D. Это соответствует сдвигу на три позиции. Свидетельство появилось во II веке нашей эры, намного позже жизни Цезаря, но именно оно связало имя полководца с целым семейством сдвиговых шифров.

С математической точки зрения секретом здесь служит величина сдвига: E(x) = (x + n) mod m, где m обозначает размер алфавита. Пространство ключей слишком мало, поэтому достаточно перебрать все варианты. Более того, одинаковые буквы всегда превращаются в одинаковые, и частотный рисунок языка сохраняется. Увеличивать число символов без изменения этого принципа было бессмысленно, поэтому следующий важный шаг состоял в смене алфавита по ходу сообщения.

Повторяющийся ключ спрятал частоты, но оставил период

Шифр, который сегодня называют Виженером, берёт ключевое слово и использует его буквы как последовательность разных сдвигов. Одинаковая буква открытого текста может получить разные представления, поэтому обычная таблица частот уже не даёт прямого ответа. Однако популярное имя скрывает сложную атрибуцию. Повторяющийся буквенный ключ описал Джован Баттиста Беллазо в книге La cifra del Sig. Giovan Battista Bellaso 1553 года, тогда как Блез де Виженер в трактате 1586 года особенно развивал принцип autokey. Эту разницу подтверждает обзор криптографической истории NSA, поэтому называть современную схему личным изобретением Виженера неточно.

Повторение ключа создало новую слабость. Если одинаковые фрагменты открытого текста попадают под одинаковый участок ключа, в шифротексте могут повториться соответствующие группы. Расстояния между ними помогают оценить период, после чего текст делят на несколько последовательностей, каждая из которых снова напоминает обычный сдвиговый шифр. Фридрих Касиски публично описал такой подход в книге Die Geheimschriften und die Dechiffrir-Kunst 1863 года.

В 1920 году Уильям Фридман опубликовал индекс совпадений, статистику, которая измеряет вероятность встретить две одинаковые буквы при случайном выборе позиций. Для равномерного алфавита из c символов базовое значение близко к 1/c; естественный язык даёт другой результат, поскольку буквы встречаются неравномерно. Простая подстановка лишь переименовывает символы и сохраняет их количества, а многоалфавитный шифр меняет наблюдаемое распределение. Если разложить текст по предполагаемому периоду, правильная длина ключа часто снова проявляет языковую структуру. Историческая шкала NSA датирует первую публикацию Фридмана именно 1920 годом.

Эти методы не определяют шифр с абсолютной уверенностью. Значение зависит от языка, состава алфавита и длины образца, а повтор может возникнуть случайно. Они полезны как совокупность улик, а не как автоматическое доказательство.

Enigma механизировала смену алфавитов

Роторная машина Enigma делала то, что вручную выполнять слишком медленно: после каждого нажатия клавиши электрический путь через роторы менялся, поэтому следующая буква шифровалась уже другим соответствием. Артур Шербиус разработал раннюю машину в 1918 году, после чего коммерческие и военные версии постепенно усложнялись. К началу Второй мировой войны секрет включал порядок и начальные позиции роторов, соединения коммутационной панели и регулярно меняющиеся настройки.

Расхожее изложение, в котором Enigma взломал Алан Тьюринг, пропускает необходимую первую половину истории. Мариан Реевский получил первый решающий результат в польском Бюро шифров в конце 1932 года, а вместе с Ежи Ружицким и Генриком Зыгальским разработал способы восстановления меняющихся ключей. Польская сторона передала свои методы, листы Зыгальского, криптологическую бомбу и копии машины британцам и французам в июле 1939 года. История польского Агентства внешней разведки подробно фиксирует эту последовательность; в Блетчли-парке Тьюринг, Гордон Уэлчман и большая команда развили полученную основу для новых версий машины и военного масштаба перехвата.

Успех нельзя свести к тезису «нашлось достаточно вычислительной мощности». Криптоанализ соединял математическую модель машины, разведывательные материалы, предсказуемые фрагменты сообщений, ошибки процедур и специализированные устройства перебора. Enigma показала, что сложный механизм оценивают вместе с правилами его использования.

DES сделал длину ключа публично проверяемым пределом

С появлением массовых компьютеров шифр должен был работать с битами, иметь точную открытую спецификацию и обеспечивать совместимость разных реализаций. В 1977 году американское National Bureau of Standards приняло DES как федеральный стандарт. Он преобразовывал 64-битные блоки в 16 раундах и использовал 56 независимых бит ключа, ещё 8 бит 64-битного представления предназначались для контроля чётности.

DES долго сопротивлялся известным методам анализа конструкции, но его ключевое пространство оставалось конечным и измеримым. В июле 1998 года машина EFF DES Cracker нашла ключ конкурсного сообщения за 56 часов. В январе 1999 года та же машина вместе с distributed.net сократила результат до 22 часов 15 минут. Демонстрация не означала, что внезапно сломалась раундовая функция DES; она показала, что 2^56 вариантов уже доступны специализированному оборудованию.

AES выбрали открытым конкурсом, но одного AES недостаточно

В 1997 году NIST начал открытый процесс выбора замены DES. Сообщество анализировало 15 допущенных алгоритмов, затем пять финалистов, а в октябре 2000 года NIST выбрал Rijndael Джоана Даймена и Винсента Реймена. В 2001 году алгоритм стал стандартом FIPS 197. Публичность конкурса имела принципиальное значение: доверие строилось не на секретности конструкции, а на опубликованной спецификации, независимом анализе, эффективности и возможности одинаково реализовать алгоритм в разных средах.

AES всегда обрабатывает 128-битный блок и поддерживает ключи на 128, 192 или 256 бит. Соответственно используются 10, 12 или 14 раундов. Для AES-256 после начального AddRoundKey следуют 13 раундов с SubBytes, ShiftRows, MixColumns и AddRoundKey, а четырнадцатый раунд пропускает MixColumns. Эта деталь важна, потому что фраза «каждый раунд состоит из четырёх одинаковых шагов» неверна.

Блочный шифр сам по себе ещё не описывает защиту сообщения произвольной длины. Нужен режим работы, правила для nonce и способ проверки целостности. GCM по NIST SP 800-38D является режимом аутентифицированного шифрования: он скрывает данные и создаёт authentication tag, поэтому изменение шифротекста или неверный ключ приводят к ошибке проверки. Критическое условие состоит в том, что nonce нельзя повторять с тем же ключом. Без корректного режима, свежих параметров и управления ключами даже надёжный AES не превращает систему в надёжную автоматически.

Пять схем показывают переход от фиксированной замены Цезаря и повторяющегося ключа к роторам Enigma, сети DES и AES-GCM с проверкой целостности

Что Encryption Toolbox показывает на практике

Encryption Toolbox объединяет четыре разных типа работы, но интерфейс не должен стирать различия между ними. Cipher Identifier сначала ищет структурные признаки Morse, Base64, hexadecimal, JWT, ADFGX и других форматов, затем использует индекс совпадений, частоты, повторы и читаемость возможных расшифровок. Результат является эвристическим рейтингом. Его процент нельзя читать как статистически откалиброванную вероятность, а короткие или многократно преобразованные строки могут получить неверного лидера.

Multi Encoder прогоняет сообщение через доступные кодировки, символьные алфавиты, классические шифры и односторонние преобразования. Для обратимых вариантов он выполняет декодирование и отмечает точный round trip; отдельная отметка показывает ожидаемую потерю регистра, пробелов или пунктуации. Base64, hexadecimal, Morse и хэши при этом не становятся шифрованием только потому, что находятся рядом с шифрами.

Cipher Workbench предназначен для изучения классических методов. В нём можно менять ключи и алфавиты, сравнивать семейство Виженера, Playfair, Polybius, Bifid, ADFGX, перестановки и простые подстановки, а для некоторых методов запускать перебор. Эти операции полезны для обучения и головоломок, но не обеспечивают современную конфиденциальность.

Вкладка AES использует браузерный Web Crypto API. Пароль преобразуется в 256-битный ключ через PBKDF2-SHA256 с 200 000 итераций и случайной 16-байтовой солью; AES-GCM получает случайный 12-байтовый IV, а Web Crypto по умолчанию добавляет 128-битный authentication tag. Результат собирается как salt || IV || ciphertext+tag и кодируется в Base64. В коде инструмента нет отправки введённого текста или пароля на сервер.

У этого формата есть практические границы. Слабый пароль остаётся слабым, PBKDF2 не является memory-hard функцией, число итераций фиксировано, а в результате нет версии формата и параметров для будущей миграции. Инструмент также не принимает associated data и рассчитан на текст, поэтому его следует воспринимать как локальную утилиту для совместимых между собой сообщений, а не как замену проверенному протоколу, менеджеру секретов или программе шифрования файлов.

Похожие инструменты

Частые вопросы

Можно ли считать Атбаш самым древним известным шифром?

Атбаш является одним из древнейших известных способов систематической замены букв. Слово «Шешах» в Книге Иеремии традиционно читают как «Вавилон», полученный обращением еврейского алфавита, но это не документирует полноценную систему секретной переписки и не объясняет мотив использования. Поэтому точнее говорить о древнем примере криптографической замены, а не о бесспорно первом шифре.

Откуда известно о шифре Цезаря?

Светоний во II веке нашей эры писал, что в конфиденциальных письмах Юлий Цезарь заменял каждую букву четвёртой по счёту, то есть использовал сдвиг на три позиции. Это позднее свидетельство, а не сохранившаяся инструкция самого Цезаря, поэтому источник следует называть прямо.

Кто на самом деле придумал шифр Виженера?

Систему с повторяющимся ключевым словом, которую сегодня обычно называют шифром Виженера, описал Джован Баттиста Беллазо в 1553 году. Блез де Виженер в трактате 1586 года развивал другие многоалфавитные методы и особенно принцип autokey. Привычное название закрепилось позже и исторически неточно.

Кто взломал Enigma?

Первый решающий математический прорыв сделал Мариан Реевский в польском Бюро шифров в 1932 году, после чего он работал вместе с Ежи Ружицким и Генриком Зыгальским. В июле 1939 года Польша передала методы и копии машины британским и французским специалистам. В Блетчли-парке работу продолжила большая команда, включая Алана Тьюринга и Гордона Уэлчмана.

Почему DES заменили на AES?

У DES эффективный ключ длиной 56 бит, и к концу 1990-х специализированное оборудование продемонстрировало практический полный перебор этого пространства. NIST провёл открытый конкурс нового 128-битного блочного шифра с ключами длиной 128, 192 и 256 бит; победивший Rijndael был стандартизирован как AES в 2001 году.

Чем AES отличается от AES-GCM?

AES преобразует отдельные 128-битные блоки и сам по себе не определяет, как безопасно обработать длинное сообщение. GCM является режимом работы: он использует AES для конфиденциальности и одновременно вычисляет authentication tag для проверки целостности. Для безопасности GCM нельзя повторять nonce с тем же ключом.

Может ли Cipher Identifier точно определить шифр?

Нет. Он распознаёт характерные алфавиты и форматы, а затем ранжирует кандидатов по статистическим признакам. Короткий текст, нестандартный алфавит, несколько преобразований подряд или случайные данные легко дают неоднозначный результат, поэтому процент в интерфейсе является эвристической оценкой, а не вероятностью.

Автор

Fullstack Engineer

В коммерческой разработке с 2011 года — больше 15 лет. Автор двух SaaS-продуктов: TeleGo.io и LingvoHabit.com. Статьи здесь выросли из реальной клиентской и продуктовой работы.

Подробнее об автореНаписать в Telegram

Похожие статьи

NUMBER BASE CONVERTER
NUMBER BASE CONVERTER · '26

Как компьютер представляет числа: биты, hex и IEEE 754

Почему одно число записывают как 45, 101101 и 2D, откуда взялись двоичная, восьмеричная и hex-системы и чем IEEE 754 отличается от них.

#Number Base Converter #IEEE 754 #двоичная система #шестнадцатеричная система #дополнительный код #римские цифры #ивритская гематрия #греческие цифры #история математики
5 мин. чтения
ИСТОРИЯ ФОРМАТИРОВАНИЯ КОДА
ИСТОРИЯ ФОРМАТИРОВАНИЯ КОДА · '26

Почему разработчики до сих пор спорят о форматировании

Краткая история соглашений о форматировании и точные границы beautify/minify для HTML и CSS в нашем локальном браузерном инструменте.

#история форматирования кода #Prettier #indent style #K&R vs Allman #код-стайл #табы против пробелов
2 мин. чтения
GZIP VS BROTLI
GZIP VS BROTLI · '26

Как патенты на LZW привели к gzip, а веб к Brotli

История gzip, DEFLATE и Brotli, устройство двух форматов сжатия и практический выбор между размером результата, скоростью кодирования и совместимостью.

#GZip vs Brotli #история сжатия данных #Jean-loup Gailly #Brotli Google #Deflate алгоритм #LZ77 Huffman
5 мин. чтения