С древнейших времён люди стремились сохранить свои тайны и защитить важную информацию от посторонних глаз. Так появились шифры — особые способы превращать обычный текст в загадочные послания, понятные только избранным. В этой статье мы расскажем о пяти самых известных шифрах в истории, которые не только изменили ход событий, но и стали настоящими легендами в мире криптографии. Узнайте, как они работали, интересные факты и почему о них до сих пор говорят во всём мире!
Подписывайтесь на мой канал в Телеграмм, чтобы ничего не пропустить.
Ну или на канал в VK, если хотите видеть новые статьи у себя в ленте.
1. Шифр Цезаря
Что это:
Один из самых древних и простых шифров. Юлий Цезарь использовал его для секретной переписки: каждую букву в сообщении заменяли на букву, стоящую на несколько позиций дальше в алфавите (например, А → Г при сдвиге на 3).
Пример шифрования с использованием ключа k = 3:
Исходный алфавит: А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Шифрованный: Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В
Сообщение:
Привет
Шифруем:
П → Т
Р → У
И → Л
В → Е
Е → З
Т → Х
Итог:
ТУЛЕЗХ
Интересный факт:
Шифр легко взламывается простым перебором всех возможных сдвигов (в русском алфавите — 32 варианта). Уже в античности этот способ считался не слишком надёжным, но дал начало целой эпохе криптографии.
Кто взломал:
Шифр Цезаря был настолько простым, что его могли взломать даже современники Цезаря, используя частотный анализ (анализ частоты появления букв). Впервые этот метод описал арабский учёный Аль-Кинди в IX веке, и именно он считается первым, кто формально описал взлом простых подстановочных шифров, включая шифр Цезаря.
2. Шифр Виженера
Что это:
Шифр, который долгое время считался «неподдающимся взлому». Для шифрования используется ключевое слово, по которому каждая буква сообщения сдвигается на разное количество позиций.
Пример:
Сообщение:
ПРИВЕТ
Ключ: КОД
- Записываем ключ под сообщением, повторяя его:
П Р И В Е Т
К О Д К О Д - Считаем сдвиг (К=11, О=15, Д=4; если считать А=0, Б=1 и т.д.):
Кодируем:
П + 11 = Ъ
Р + 15 = Я
И + 4 = М
В + 11 = М
Е + 15 = У
Т + 4 = Ц
Итог:
ЪЯММУЦ
Ну или есть простой вариант закодировать используя tabula recta или квадрат (таблица) Виженера:
Достаточно найти буквы на пересечении.
Например пересечение П и К дает букву Ъ.
Интересный факт и кто взломал:
В XIX веке шифр Виженера называли «le chiffre indéchiffrable» — «неразгаданный шифр».
В 1863 году немецкий криптоаналитик Фридрих Касиски (Friedrich Kasiski) разработал метод, позволяющий определить длину ключа и взломать шифр с помощью анализа повторяющихся фрагментов. Его методика известна как «анализ Касиски».
3. Энигма
Что это:
Электромеханическая шифровальная машина, использовавшаяся нацистской Германией во Второй мировой войне. Каждый день менялись настройки машины, что делало число возможных комбинаций астрономическим.
Шифровальная машина "Энигма" состоит из следующих компонентов:
Буквы, введенные с клавиатуры (Tastatur), проходят через коммутационная панель (Steckerbrett), колесо ввода (ETW, Eintrittswalze), три или четыре ротора (Walze), отражатель (UKW, (UKW, Umkehrwalze), а затем в обратном направлении, зашифрованный результат выводится на ламповое табло (Lampenfeld). В каждой точке, включая ротор, буквы транскрибируются.
Входные колеса, роторы и отражатели имеют внутренние провода для преобразования 26 букв от "A" до "Z" в другие буквы, на которые затем подается напряжение для выполнения преобразования. Например, ротор "I" устройства Enigma I подключен, как показано ниже, так что буква "A" преобразуется в букву "E". Если буква "J" возвращается из рефлектора, она будет подключена в обратном направлении и преобразуется в букву "Z".
Вся проводка для Enigma I выглядит следующим образом
Пример шифрования с помощью Enigma I:
Роторы : UKW-A II I III
Кольцо : X M V (24 13 22)
Позиции : A B L (01 02 12)
Коммутационная панель : AM FI NV PS TU WZ
Текст до шифрования : SECRET
Текст после шифрования: LCGODU
В этом случае первая буква "S" преобразуется следующим образом и окончательно шифруется в букву "L".
S -> P : Коммутационная панель
P -> P : ETW
P -> L : III
L -> P : I
P -> W : II
W -> K : UKW-A
K -> Q : II
Q -> O : I
O -> L : III
L -> L : ETW
L -> L : Коммутационная панель
Шифровальная машина Enigma уникальна тем, что если вы повторно зашифруете зашифрованный текст с теми же настройками, вы получите открытый текст до шифрования. Поэтому ввод зашифрованного "L" в приведенном выше примере даст оригинальное "S".
L -> L : Коммутационная панель
L -> L : ETW
L -> O : III
O -> Q : I
Q -> K : II
K -> W : UKW-A
W -> P : II
P -> L : I
L -> P : III
P -> P : ETW
P -> S : Коммутационная панель
Пример:
Сообщение (на латинице так как кириллица не поддерживается):
PRIVET
Итог:
GLHMNK
Интересный факт:
Польские и британские криптоаналитики (в том числе знаменитый Алан Тьюринг) смогли взломать Энигму, что, по мнению некоторых историков, приблизило окончание войны. Для этого были созданы специальные вычислительные машины — прообразы современных компьютеров.
Кто взломал:
Первые успехи во взломе Энигмы были у польских криптоаналитиков Мариана Рейевского (Marian Rejewski), Ежи Рожицкого (Jerzy Różycki) и Генрика Зыгальского (Henryk Zygalski) в начале 1930-х годов. Позже британская команда в Блетчли-парке под руководством Алана Тьюринга (Alan Turing) и других учёных значительно усовершенствовала методы взлома.
4. Шифр Плейфера
Что это:
Диграфический шифр, в котором пары букв заменяются на другие пары по специальной таблице. Был популярен в XIX–XX веках, использовался британской армией.
Пример (на латинице):
Ключ: MONARCHY
Таблица (без повторяющихся букв):
Затем, руководствуясь следующими 4 правилами, зашифровываем пары символов исходного текста:
1. Если два символа биграммы совпадают (или если остался один символ), добавляем после первого символа «Х», зашифровываем новую пару символов и продолжаем. В некоторых вариантах шифра Плейфера вместо «Х» используется «Q».
2. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки.
3. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящиеся непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца.
4. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но соответствующие другим углам прямоугольника.
Для расшифровки необходимо использовать инверсию этих четырёх правил, откидывая символы «Х» (или «Q»), если они не несут смысла в исходном сообщении.
Сообщение:
PRIVET
Разбиваем на PR, IV, ET
PR шифруется как TO (подходит правило 4)
IV шифруется как FX (подходит правило 4)
ET шифруется как KL (подходит правило 4)
Итог:
TOFXKL
Давайте рассмотрим еще один пример.
Сообщение 2:
HELLO
Разбиваем на HE, LX (x добавляем согласно правилу 1), LX (x добавляем согласно правилу 1), OX (x добавляем согласно правилу 1)
HE шифруется как CF
LX шифруется как SU
LX -> SU
OX шифруется как AV
Итог 2:
CFSUSUAV
Интересный факт:
Шифр Плейфера был первым шифром, который реально использовался для военной переписки, а не только для личных писем. Взломать его сложнее, чем шифр Цезаря, но современные методы криптоанализа позволяют это сделать.
Кто взломал:
Впервые был взломан Чарльзом Бэббиджем (Charles Babbage) в XIX веке, хотя его работа не была опубликована. Позже, в 1863 году, Фридрих Касиски также описал методы взлома подобных шифров.
5. RSA — шифр с открытым ключом
Что это:
Один из самых известных современных шифров, лежащий в основе интернет-безопасности. Придуман в 1977 году Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом. Основан на сложности разложения больших чисел на простые множители.
Криптографические системы с открытым ключом используют так называемые односторонние функции, которые обладают следующим свойством:
Под односторонностью понимается не математически доказанная однонаправленность, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства, за обозримый интервал времени.
В основу криптографической системы с открытым ключом RSA положена сложность задачи факторизации произведения двух больших простых чисел. Для шифрования используется операция возведения в степень по модулю большого числа. Для дешифрования (обратной операции) за разумное время необходимо уметь вычислять функцию Эйлера от данного большого числа, для чего необходимо знать разложение числа на простые множители.
Пример:
Сообщение:
ПРИВЕТ
Открытый ключ (hex):
9f30b1f109e5c2bf0ac5a0fe5e59b6d14a6ccd634f09f5cd7f399996a0df04a6
7aad4761ca2f407ee31244e5a547f35ed66627a614162f28019d89b4d92b39a3
Закрытый ключ (hex):
4aad754c35f06ae3641241ec1226d3f46a8d8fec3e6fd5b7892f64359d5201c3
b8612cb36d2010549c81d41558ff860005ba273ad357cac719e92ac34fc50881
Результат шифрования (hex):
3c1b72769ac2d081dc5ecff23693c4b13aeff08496964562ee0c078b7a43855b
a5fbd97d5859ff0cf584346f072ec0e2ad4fec97009d02a1dca51c81bfbabe7a
Интересный факт:
На данный момент RSA считается надёжным, если используются достаточно длинные ключи.
Кто взломал:
На сегодняшний день RSA с достаточно длинными ключами не был взломан классическими методами. Известны случаи взлома слабых реализаций или коротких ключей, но сам алгоритм остаётся стойким. Однако с развитием квантовых компьютеров теоретически возможен его взлом в будущем.
Интересные факты
- Шифр Цезаря до сих пор используется в детских головоломках и квестах.
- Взлом Энигмы долгое время был засекречен, и только спустя десятилетия стало известно, какую роль он сыграл в истории.
- RSA — первый шифр, который позволил безопасно обмениваться данными через открытые каналы связи.
Вместо заключения
Шифры — это не только математика, но и настоящие детективные истории, в которых сталкиваются изобретательность шифровальщиков и упорство взломщиков. Каждый из этих шифров оставил свой след в истории и повлиял на развитие современных технологий безопасности.
Раз вы прочитали эту статью, скорее всего вам будет интересен весь раздел про Анонимность в сети.
Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?
Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика
Пишите в комментариях что еще было бы интересно рассмотреть более подробно.