Как устроена энигма

Только война

Никакой политики, пропаганды, национальностей, троллей и прочего барахла.

Как работала шифровальная машина “Энигма”

Вашему вниманию обзорный материал (скажем так, без деталей) про принцип работы достаточно известной шифровальной машины “Энигма”.

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

Как же она работала?

Шифр замены

Для начала, следует знать, что такое «Шифр замены». Это обычная замена одних букв на другие. Т.е. в таком шифре вместо буквы «А» используется, например «T», вместо «B» — «S» и т.п.

Взламывается такой шифр достаточно просто. При наличии более-менее длинного зашифрованного сообщения, можно произвести частотный анализ и сопоставить его частоте употребления букв в языке. Т.е. если в зашифрованном шифром замены сообщении много букв «Т» — то это явный признак того, что за этой буквой скрывается какая-то гласная (например, «А» или «О» т.к. обычно именно эти буквы наиболее часты в языке).

Энигма представляла собой как бы динамический шифр Цезаря. Т.е. изначально на барабаных выставлялось некое начальное значение (этакий random seed), которое и являлось ключом. Далее, при наборе букв, каждая буква шифровалась шифром цезаря, а потом, этот шифр менялся на другой.

Смена шифра обеспечивалась с помощью роторов.

Роторы представляли собой диски, у которых было по 26 контактов с каждой стороны, соединенных внутри ротора определенным (случайным) образом. Именно проходя через ротор, сигнал преобразовывался из буквы «А» в букву «Т» и т.д.

Роторов было несколько и они поворачивались после набора каждого символа (на манер барабанного счетчика).

Кроме того, была еще коммутационная панель, в которую можно было вставлять провода, которые попарно меняли буквы. Т.е. воткнув провод одним концом в гнездо «А», а другим — в «Е», вы меняли эти буквы местами.

Принцип работы можно понять посмотрев на принципиальную схему:

Количество роторов варьировалось в разные годы и для разного назначения (например, во флоте использовались Энигмы с большим количеством роторов).

Для усложнения взлома операторы кодировали частоупотребимые слова (названия) каждый раз по-разному. Например, слово «Minensuchboot» могло быть написано как «MINENSUCHBOOT», «MINBOOT», «MMMBOOT» или «MMM354»

Аксессуары.

Как к любому популярному устройству, к Энигме существовало большое количество аксессуаров (да-да, это началось уже тогда). Например, были авто-печатающие устройства (в обычной версии кодирование производилось загорающимися лампочками, значения которых должен был записывать оператор).

Кроме того, были дистанционные печатающие устройства (на проводах, конечно же). Чтобы оператор, вбивающий зашифрованное сообщение в машину, не имел доступа к расшифрованному.

Информационная безопасность времен Второй мировой: взлом «Энигмы»

Про немецкую шифровальную машину «Энигма» слышали, наверное, все. Не в последнюю очередь благодаря тому, что ее историю любят писатели и сценаристы, а ко взлому ее шифра причастен отец современного компьютера Алан Тьюринг.

Во время войны он, как и многие другие математики (а также лингвисты, египтологи, шахматисты и даже составители кроссвордов), работал в так называемой Правительственной школе кодов и шифров, расположившейся в имении Блетчли-парк в Англии и являвшейся операционным и интеллектуальным центром работы по перехвату и расшифровке коммуникаций противника.

Шифровальная машина «Энигма»

В двух словах история выглядит примерно так: «Энигма» была самой совершенной на тот момент шифровальной машиной, которая позволяла защищать коммуникации флота и армии нацистской Германии таким образом, что взлом представлялся неразрешимой задачей. Однако польским и британским криптоаналитикам удалось найти способ расшифровывать сообщения «Энигмы», что дало коалиции существенное преимущество в войне, по мнению Черчилля и Эйзенхауэра — решающее.

Подробно о том, как работала «Энигма», можно прочитать здесь, а в этом ролике можно даже посмотреть, как она работает:

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

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

Чем поучительна история «Энигмы» для нас сегодня? Сама по себе машина с точки зрения современных представлений о защите информации практического интереса уже не представляет, однако многие из уроков истории «Энигмы» актуальны и сегодня:

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

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

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

4. Человеческий фактор играет огромную роль даже в высокотехнологичных системах. Неизвестно, удалось бы взломать «Энигму», если бы не различные мелкие ошибки и послабления, которые позволяли себе ее операторы. К человеческому фактору, по-видимому, надо отнести и упорство, с которым немецкое командование искало иные объяснения неожиданной прозорливости союзников, вместо того чтобы допустить мысль о компрометации «Энигмы».

5. Информационное превосходство — обоюдоострое оружие. Чуть ли не самой сложной задачей для командования союзников стало использование данных, полученных из расшифровки сообщений «Энигмы», таким образом, чтобы не раскрыть противнику сам факт доступа к зашифрованным сообщениям. Иногда это решалось с помощью специальных операций по созданию альтернативных объяснений успеха (пролет самолета разведчика перед нападением на конвой, слив информации о якобы имевшемся ценном источнике агентурных данных), иногда приходилось просто отказываться от каких-то шагов (пришлось допустить бомбардировку Ковентри немецкой авиацией, как если бы о ее подготовке ничего не было известно).

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

5 по-прежнему актуальных уроков, которые можно извлечь из взлома «Энигмы» во время Второй мировой

Ну а если для вас «Энигма» — это просто захватывающая история, то можно посоветовать посмотреть фильмы «Энигма» (по сценарию Тома Стоппарда) или «Игра в имитацию» (биографическая картина об Алане Тьюринге) или почитать роман «Криптономикон» Нила Стивенсона. Кроме того, можно найти симуляторы этой машины — вот, например, версия, сделанная просто в Excel.

Шифровальная машина Энигма. Устройство и реализация

Дубликаты не найдены

Ссылки из поста:

Ссылка на мою машину: http://bulgakoff. tk/enigma/
Алгоритм шифрования на Хабре: http://habrahabr.ru/post/217331/
Описание раскладок роторов и рефлекторов: http://users.telenet.be/d.rijmenants/en/enigmatech.htm
О машине на Википедии: https://ru.wikipedia.org/wiki/Энигма

Кого заинтересовала криптография и машины — вот хорошее видео, о котором писал в посте

В ссылке лишний пробел после точки и перед tk, поэтому без исправления вручную ссылка не работает.

И все же каждый раз понимаю, что война принесла в наш мир кучу вещей. Это гинеальное изобретение. Даже имея на руках машинку и полностью разобрав алгоритм ее работы расшифровать шифровку без вводных данных становится практически невозможным. С текущими мощностями вычислительной техники это вполне возможно сделать, а тогда дешифровка послания без вводных данных практически невозможна. Это гениально!

Отличная статья, спасибо автору. Фильмец придется посмотреть.

ABC — это роторы на момент начала ввода или конца?

@bulgakoff08 , пост уже довольно давний, но надеюсь, ответите. На чем сие написано? (В чем вообще можно сделать простенький графический интерфейс? Сам я никогда не выходил из черного «экрана»).

Написано на JavaScript, сам интерфейс ничто иное, как веб-страница на HTML. Как раз такое сочетание я и выбрал из-за того, что очень легко сделать желаемую мордашку и повесить на нее нужные действия по клику. Если нужно, могу дать все исходники, мне не жалко 🙂 Да там в принципе и ссылка в конце поста еще валидная.

Не увидел сразу, спасибо!

@bulgakoff08 , Здравствуйте, возник вопрос : Почему при механическом перемещении первого ротора на позицию «G» идёт переключение второго ротора на следующую позицию. Можете пояснить почему так происходит? Ведь для переключения второго ротора нужно чтобы первый прошёл полный круг или я чего-то не понимаю.

Здравствуйте, Вы правильно понимаете, что переключение следующего ротора происходит лишь по прошествии полного круга предыдущего. Просто механически реализовано так, что паз, за который цепляется выступ для переключения находится на позиции букв G и R первого и второго роторов соответственно (если правильно помню, пост давний, как видите) Потому началом круга роторов следует считать не букву А. Если Вас заинтересовало, могу актуализировать ссылки в посте, чтоб пощелкать «в живую»

Алгоритм Энигмы

В данном сообществе я нашел много статей про известную шифровальную машинку «Enigma», но нигде из них не описывался подробный алгоритм ее работы. Наверняка многие скажут, что это не нуждается в афишировании, — я же надеюсь, что кому-нибудь да будет полезно об этом узнать. С чего все началось? Во времена Первой мировой войны большой популярностью пользовался шифр Playfair. Его суть заключалась в том, что буквы латинского алфавита записывались в квадрат 5х5, после чего буквы исходного алфавита разбивались по парам. Далее, используя квадрат в качестве ключа, эти биграммы заменяли на другие по определенному алгоритму. Преимущество данного шифра было в том, что он не требовал дополнительных устройств, и, как правило, к тому моменту, когда сообщение расшифровывали, оно уже теряло актуальность. Еще одним способом тайнописи был шифратор Джефферсона.

Сие устройство состояло из определенного количества дисков, нанизанных на единую ось (обычно, дисков было 36). Каждый из них делился на 26 частей, каждая из которых обозначало букву. Буквы на дисках были расставлены в случайном порядке. Оператор путем вращения дисков набирал нужное сообщение, а затем переписывал другую строчку. Человек, принявший данное сообщение, должен был обладать точно таким же устройством с точно такой же расстановкой букв. И тот и другой способы были относительно неплохими для тех времен, но учитывая, что человечество вступило уже в XX век, возникла необходимость механизации процесса шифрования. В 1920 году голландский изобретатель Александр Кох изобрел первую роторную шифровальную машинку. Затем, на нее получили патент немецкие изобретатели, которые усовершенствовали ее и выпустили в производство, под названием «Enigma» (от греч. – загадка). Таким образом, эта машинка приобреталась многими фирмами, которые желали сохранить в тайне свои переписки. В этом и состояла вся гениальность Энигмы – все знали алгоритм шифрования, но никто не мог подобрать нужный ключ, так как число возможных комбинаций превосходило 15 квадриллионов. Если хотите узнать, каким образом Энигму взламывали, советую прочитать книгу Саймона Сингха «Книга шифров». Подытоживая все вышесказанное, хочу сказать, что шифр Энигмы являлся некой смесью шифратора Джефферсона и шифра Цезаря.

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

На рисунке представлена иллюстрация нажатия клавиши «А» с последующей дешифрацией в букву «G». После ввода буквы крайний правый ротор перемещался вперед, меняя тем самым ключ. Так каким же образом одна букву заменялась на другую? Как я уже говорил, для Энигмы было разработано восемь различных роторов. Внутри каждого из них было установлено 26 различных коммутаций. Здесь представлена подробная спецификация на каждый из них. Например, если на вход первого ротора поступала буква «N», то на выходе должна быть только «W» и никакая другая буква больше. Попади это буква на второй ротор, она бы уже преобразовалась в «T» и т.д. То есть, каждый ротор выполнял четко поставленную задачу в плане коммуникации. А какую же роль играли кольца? Рассмотрим следующий пример. Установим роторы III, II и I, а порядок колец «C», «U» и «Q».

Нажмем на клавишу «A». Крайний правый ротор повернется вперед на один шаг, то есть, буква «Q» перейдет в «R». Ротор посередине также повернется вперед на букву «V», но об этом я расскажу чуть позже. Итак, наша буква «А» начинает путешествие с первого отсека, в котором установлен ротор I и на котором выставлена уже буква «R». Уже перед тем как попасть на первый ротор буква претерпевает свое первое преобразование, а именно: сложение с буквой «R» по модулю 26. Фактически, это шифр Цезаря. Если пронумеровать все буквы от 0 до 25, то буква «А» будет как раз таки нулевой. Значит, результатом сложения будет буква «R». Далее, мы с вами знаем, что в первом отсеке ротор I, а в его конструкции заложено, что буква «R» всегда переходит в «U». Теперь на очереди второй отсек с ротором II. Опять, перед попаданием на второй ротор, теперь уже буква «U» меняется по несколько иному алгоритму: к ней прибавляется разница значений последующего ротора и предыдущего. Поясню. На втором роторе ожидает нас буква «V», а на предыдущем, — «R», их разница равна четырем буквам, и именно они прибавляются к нашей букве «U». Поэтому, на второй ротор поступает буква «Y». Далее по таблице находим, что во втором роторе букве «Y» соответствует «O». Далее опять смотрим разницу букв «C» и «V», — она равна семи. Значит, букву «O» сдвигаем на семь позиций и получаем «V». В роторе III «V» переходит в «M». Перед тем как попасть на рефлектор, из нашей буквы вычитается буква «C», преображая ее в букву «K». Далее происходит отражение. Если вы заметите, то в каждом роторе образуются большие циклические группы, например: (A – E – L – T – P – H – Q – X – R – U), а в рефлекторе они разбиты по парам: (A — Y)(B — R)(C — U) и т.д. Это сделано для того, чтобы потом это возможно было расшифровать. Предположим, что установлен рефлектор B, в котором «K» заменяется на «N» (и наоборот). Половина пути пройдена. Теперь мы опять прибавляем значение буквы «С», получив тем самым букву «P». Здесь наоборот, в строке третьего ротора находим «P» и смотрим, в при нажатии какой буквы она бы появилась. Это буква «H». Преобразование в третьем роторе закончено. Теперь из этой буквы вычитается разница букв «C» и «V», то есть семь. Получаем букву «A». Во втором роторе она переходит саму в себя, поэтому оставляем ее без изменений. Далее, вычитаем разницу букв «V» и «R», то есть четверку и получаем букву «W». В первом роторе её обратно преобразование отображается в букву «N». Остается только вычесть из нее букву «R» и получим искомую букву «W». Как видите, алгоритм работы машинки оказался не таким сложным каким казался. Для усовершенствования шифра немцы внедрили коммутационную панель, которая позволяла попарно менять местами буквы. Если мы соединим буквы «Q» и «W», то при вводе той же «A» мы получили бы «Q», так как по факту должна быть «W», но она заменена буквой «Q». Вот прилагаемая схема действия.

Осталось лишь рассказать про смещения роторов относительно друг друга. Правый ротор поворачивался всегда при нажатии клавиши на один шаг. Например, для ротора I эта позиция равна букве «R». Именно поэтому в нашем примере второй ротор повернулся: первый ротор прошел через букву «R». Далее, пройдя через определенную позицию, правый ротор приводил в движение левый на один шаг. В более усовершенствованных моделях левый ротор прокручивался два, а то и три раза.

В завершение скажу, что здесь собраны некоторые материалы по взлому Энигмы, которые могут быть полезны. Надеюсь, что данная статья кому-нибудь пригодится.

На eBay выставили на продажу шифровальную машину времен Второй мировой войны

По словам специалистов, машина устроена сложнее, чем знаменитая «Энигма»

Москва. 29 мая. INTERFAX.RU — Старинная шифровальная машина, которую нацисты использовали во время Второй мировой войны была найдена в сарае в графстве Эссекс в Великобритании, сообщает «Би-би-си».

Волонтеры из Национального музея компьютеров, расположенного в легендарном Блетчли-парке — там во время войны находилось главное шифровальное подразделение Великобритании, — обнаружили шифровальную машину «Лоренц» на интернет-аукционе eBay.

В описании лота было ошибочно указано, что это телетайп, и продавец просил за него всего 9,5 фунта (менее 1 тысячи рублей).

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

«Она выглядит как электромотор в черном корпусе», — объяснил один из волонтеров.

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

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

Теперь энтузиасты надеются собрать ее целиком и попытаться воссоздать процесс шифровки, а затем и дешифровки.

«Кому нужна математика?»

Математика — царица наук, но многие ли знают, решение каких прикладных задач ей по плечу? На этот вопрос отвечает простая и увлекательная книга Нелли Литвак и Андрея Райгородского «Кому нужна математика?». В этой книге описываются различные разделы прикладной математики, от логистики до математики онлайн-рекламы. Мы решили познакомить читателей N + 1 с фрагментом главы, посвященной криптографии.

Глава 6. Секретные числа

Массовый обмен шифровками

Классическая музыка по радио прервалась, и голос диктора стал зачитывать цифры, которые Штирлиц быстро записывал в аккуратные колонки. Диктор называл цифры привычно сухо и четко. «Для него эти цифры всего лишь цифры», — подумал Штирлиц. Когда сообщение закончилось, Штирлиц взял с полки томик Шиллера, открыл на нужной странице и начал превращать цифры в слова. «Центр — Юстасу…» Сообщение передавалось по открытому радиоканалу, но прочитать его мог только Штирлиц, потому что только он знал, как расшифровать переданные цифры. Шифрование — это не что иное, как сокрытие информации от посторонних.

Шифрование в том или ином виде существует много тысячелетий. Однако в середине XX века произошла своего рода революция. Если раньше шифровками пользовались, как правило, представители государственных спецслужб (или, если угодно, сами спецслужбы и даже государства), то к 70-м годам XX века стало ясно, что совсем скоро шифрование понадобится самым обычным людям, причем не изредка, а буквально каждый день. Это связано с лавинообразным развитием технологий, плоды которых доступны каждому: компьютеры, сотовые телефоны и тому подобное.

Каждый раз, когда вы вводите свой пароль или номер кредитной карты на сайте, вы отправляете личную конфиденциальную информацию по открытым каналам интернета. У многих к этим каналам есть доступ, например у вашего интернет-провайдера. В принципе перехватить ваше сообщение может даже компьютерщик-любитель с обычным ноутбуком и подходящим для этой цели программным обеспечением. Конфиденциальность информации обеспечивается именно тем, что она передается в виде шифровки. Вы можете легко узнать сайты, на которых действует протокол безопасной передачи данных: в этом случае веб-адрес начинается с https://. HTTP — обычный протокол передачи данных по интернету. А дополнительная буква S происходит от английского слова secure (безопасный) и означает, что данные будут передаваться в зашифрованном виде.

Каким образом зашифровывается и расшифровывается ежедневный гигантский поток конфиденциальной информации? Естественно, математика, как всегда, опережала технологии и стояла у их истока. Задачами шифрования занимается криптография — очень активная и интересная область математики и информатики.

Ключ к шифру

В зашифрованном сообщении каждая буква заменяется какой-либо другой буквой, числом или знаком. Например, возьмем самый простой шифр. Будем зашифровывать каждую букву следующей буквой алфавита. Вместо А напишем Б, вместо Б — В и так далее, а вместо Я — А. Например, слово ПРИВЕТ будет выглядеть так: РСЙГЁУ

Это очень простой шифр, потому что каждая буква всегда зашифровывается одной и той же буквой, и взломать его — пара пустяков. Достаточно угадать одно слово в сообщении . Например, мы догадались, что сообщение начинается со слова «привет», и вот в нашем распоряжении уже шифры для шести букв: П, Р, И, В, Е и Т. С их помощью мы можем угадать другие слова, пока наконец не расшифруем весь алфавит. Именно так расшифровал секретные послания Шерлок Холмс в рассказе «Пляшущие человечки».

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

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

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

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

Алан Тьюринг и «Энигма»

Фильм «Игра в имитацию» (2020) — именно об этой потрясающей истории . К сожалению, в нем не объясняется, как устроена «Энигма» и как Тьюринг взломал этот шифр. Наш рассказ хотя бы частично восполнит эти упущенные подробности. Мы воспользуемся видео Кембриджского университета. Очень рекомендуем посмотреть их, чтобы увидеть «Энигму» в действии (первое и второе).

«Энигма» совсем небольшая, по размеру сравнима с печатной машинкой. Снаружи она состоит из клавиатуры и панели, на которой расположены буквы с подсветкой. Если нажать букву на клавиатуре, скажем A, то на панели высветится другая буква, например Q. Это означает, что в шифровке в этом месте вместо А появится Q. Внутри у машины три вращающихся диска, и их положение меняется после набора каждой буквы. Диск повернулся, провода соединились по-другому, и когда мы в следующий раз нажимаем А, на панели высвечивается уже не Q, а, скажем, G.

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

158 962 555 217 826 360 000

возможных изначальных установок. Каждые сутки ровно в полночь они менялись. Новое изначальное положение дисков, новые пары букв на панели. Перебрать все комбинации за 24 часа было совершенно нереально. Шифр считался неуязвимым.

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

Перехватить документ с установками хоть и было непросто, но иногда удавалось, а потом месяц заканчивался и разгадать шифр опять не представлялось возможным.

Алан Тьюринг и его команда совершили настоящий прорыв. Они научились разгадывать шифр каждое утро всего за 20 минут! Мы только вкратце объясним, как им это удалось.

Прежде всего в шифре было слабое место. Буква никогда не превращалась сама в себя. Это стало хоть какой-то зацепкой. Важным оказалось и предположение, что сообщения утром начинаются с чего-то однотипного, например с прогноза погоды. По-немецки wetterbericht. Зная, что буква не превращается сама в себя, мы можем найти слово в начале шифровки, которое в принципе может обозначать wetterbericht. Теперь нужно отыскать такую изначальную установку, чтобы шифр совпал с расшифровкой.

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

Для ускорения процесса Алан Тьюринг сделал две существенные вещи. Во-первых, он понял, что если пара букв оказалась неправильной, то и все другие пары, следовавшие из нее, тоже неправильные. А значит, их уже не надо проверять. Во-вторых, он построил огромную машину, которая с помощью электрического тока позволяла исключить все неправильные пары одновременно. Оставалось только повторить операцию для каждой позиции дисков, а на это уходило всего 20 минут.

Интересно, что принцип решения Тьюринга заключался не в том, чтобы найти правильный вариант, а в том, чтобы исключить неправильные варианты и сделать это максимально быстро! Это была огромная работа и колоссальное достижение, сильно повлиявшее на ход Второй мировой войны.

Заметим, кстати, что в математике есть понятие «машина Тьюринга», но это вовсе не та машина, которая вычисляла ключ «Энигмы». «Машина Тьюринга» — абсолютно абстрактная концепция, формально описывающая работу компьютера. Это очень важная фундаментальная концепция в математике и информатике, но она выходит за рамки нашей книги.

Подробнее читайте:
Литвак, Нелли. Кому нужна математика? Понятная книга о том, как устроен цифровой мир / Нелли Литвак, Андрей Райгородский. — М. : Манн, Иванов и Фербер, 2020. — 192 с.

Как находят скрытое и расшифровывают тайное

Сенсация: в Бристольском университете якобы смогли прочесть самую таинственную рукопись мира — манускрипт Войнича. «Огонек» разобрался, как находят скрытое и расшифровывают тайное.

Британский лингвист Герард Чешир удивил мир: он утверждает, что смог прочесть легендарный манускрипт Войнича. Речь про иллюстрированный кодекс XV века, найденный книготорговцем Уилфридом Войничем и состоящий из 240 страниц загадочного текста с астрономическими знаками, растениями, сосудами и людьми. Правда, утверждается, что это вовсе не шифр, а текст на давно утраченном — протороманском — языке. Сам манускрипт представляет собой справочник по разным вопросам (в частности, по медицине и истории), составленный доминиканскими монахами для Марии Кастильской, королевы Арагона. Вся рукопись целиком пока не прочитана, но Герард обещает завершить начатое: еще в апреле он представил первые результаты на суд коллег и общественности в журнале Romance Studies. Остается дождаться реакции — такие сенсационные заявления звучат не в первый раз.

Сергей Владимиров, автор труда по защите информации, ученый (МФТИ)

Впрочем, вне зависимости от того, чем закончится история с манускриптом Войнича, можно смело констатировать: криптография сегодня на пике моды. В информационном поле то и дело всплывают новости о расшифровке таинственных посланий, а с экранов не сходят сериалы о специалистах-шифровальщиках. Сразу два таких сериала (отечественный «Шифр» и британский «Код убийства») напомнили о военной (и послевоенной) истории криптографии. С одной из самых известных легенд того времени — взлома немецкой шифровальной машины «Энигмы» — мы и начали разговор с ученым (МФТИ), автором труда по защите информации Сергеем Владимировым .

— Вы наверняка знаете про то, как британцы взломали «Энигму», кинематографисты не устают снимать фильмы на эту тему. Достижение и правда столь выдающееся?

— Как вам сказать… Некоторые считают, что благодаря взлому «Энигмы» длительность Второй мировой войны сократилась на пару лет. Напомню, что немцы использовали эту роторную машину для шифрования и расшифровки секретных сообщений, причем такие аппараты существовали и у американцев, и у нас. Однако история, конечно, приобрела всемирную известность благодаря своим масштабам: количество шифровок «Энигмы» исчислялось тысячами.

Приоритет в ее расшифровке принадлежит полякам — трем специалистам из «Бюро Шифров» — подразделения польской военной разведки. Сама «Энигма», по сути, представляла собой плохой полиалфавитный шифр, плохой в том смысле, что ключи соседних букв были связаны по определенным правилам — в механическом устройстве невозможно по-другому. Но если поляки занимались в основном ручной расшифровкой, то британцы из Блетчли-парка создали электромеханические машины, помогавшие взломать немецкий код. В том числе для взлома шифров они собрали первый в мире компьютер, вот почему эту историю трудно переоценить. К сожалению, науки у нас развиваются в тени войн. Первая мировая война — это механическая криптография и криптоаналитика (взлом шифров.— «О» ), Вторая мировая — это Блетчли-парк и «Энигма».

— С «Энигмой» понятно. А что бы вы назвали главным событием в истории криптографии?

— Пожалуй, создание криптографии на открытых ключах, которая используется до сих пор. Это произошло уже в 1970-х. Понимаете, классическая симметричная криптография имеет дело с одним ключом, или кусочком информации, нужным для шифрования и последующей расшифровки. Допустим, таким ключом может быть цифра (в случае сдвига шифра по алфавиту, как в шифре Цезаря) или целая книга. Этот принцип не менялся тысячелетиями и остается актуален до сих пор. Однако в криптографии на открытых ключах нашли новый подход: теперь для шифрования нужен один ключ, а для расшифровки другой. Для нас, криптографов, это, конечно, была настоящая революция.

Текст на затылке

— Давайте ненадолго вернемся в прошлое. Когда люди впервые начали шифроваться и главное — что пытались скрыть?

— Насколько мне известно, самый ранний пример шифров — это древнеиндийский аналог русского «Домостроя», с разделом о женском календаре. Календарь был зашифрован, чтобы его не могли прочесть мужчины. Так что история криптографии насчитывает уже несколько тысяч лет.

— Насколько сложны были шифры древности?

— Судите сами: в знаменитом шифре Цезаря, изобретенном им самим, буквы «сдвигались» на определенное число по алфавиту. Выбирался ключ (например, число 3), а дальше вместо А ставилась третья буква — В, вместо Б — Г и так далее. Когда варвары видели зашифрованный таким образом текст, они думали, что это просто неизвестный им язык. Но долго этот шифр не продержался: его быстро научились «взламывать».

Анализируй это

«Огонек» попросил Сергея Владимирова составить специально для нашего журнала несколько простых криптографических задач. Вот они — теперь каждый может примерить на себя роль дешифровщика

Интересно, что первые криптоаналитики появились еще раньше, одним из них был Аристотель. Он догадался, как взломать шифр, созданный с помощью скиталы. Напомню: скитала представляла собой палку, на которую тонкой лентой наматывался папирус. Далее вдоль палки на намотанную ленту писался текст, и когда папирус снимался — текст сразу становился не читаем. Просто набор букв. Это еще называется геометрическим шифром, когда мы меняем не сами буквы, а их положение в тексте. Так вот Аристотель взял конус, намотал на него ленту с шифром и просто стал сдвигать ее вдоль конуса, пока не получил читабельный текст.

— Остроумно. Похоже на соревнование брони и снаряда: чем лучше броня, тем бронебойнее снаряды…

— Совершенно верно! Например, довольно долго использовались моноалфавитные шифры (когда текст заменяется на другой согласно одному правилу, побуквенно), такой шифр применяла Мария Стюарт в своей секретной переписке. Правда, она использовала модернизированный вариант: шифровала одни и те же буквы разными символами… Однако ее переписку все равно смогли перехватить и расшифровать, а Мария поплатилась за это головой. Так что, когда моноалфавитные шифры стали совсем ненадежными, мир перешел на полиалфавитные (допустим, для четных букв используется одно правило шифрования, а для нечетных — другое). Но к началу XX века криптоаналитики научились взламывать большинство шифров. Главное, что нужно было угадать,— на сколько групп разбит нужный шифр, а затем «ломать» каждую из них. Наконец, настоящий прорыв случился в середине ХХ века — с появлением шифрования на открытых ключах. Если до этого криптография была своего рода искусством, то затем началась эра науки — математики.

— Надо было брать пример с Ленина, он, как известно, вообще писал молоком…

— А это уже стеганография, или искусство скрытого письма. Когда речь не столько про шифр, сколько про то, чтобы скрыть некий текст. Стеганографию тоже применяли в далекой древности, правда, необычно: на бритой голове раба писали сообщение, дожидались, пока волосы у него отрастут, и отправляли к адресату. Желательно, чтобы раб при этом еще был немым и не мог выдать своего секрета.

Самый надежный шифр

— Вернемся к шифрованию. Я навскидку назову так и не взломанные шифры: манускрипт Войнича, послания американского маньяка Зодиака… Почему их так и не смогли «расколоть»?

— А были ли связные тексты за этими шифрами? Например, в случае с манускриптом Войнича некоторые ученые уверены, что это просто случайный набор символов. Мистификация.

Как устроена квантовая криптография

Я не утверждаю, что это именно так. Но тут встают и чисто математические сложности. Например, для полноценной расшифровки нужен большой объем текста, если его не хватает, ничего не получится. Или еще одна интересная проблема — соотношение длины ключа и длины текста. Если в манускрипте Войнича один ключ на всю книгу, тогда расшифровка возможна. Если же на каждой странице использовался свой ключ — дело безнадежное. Наконец, помните, что это просто игра: никаких экономических или военных плюсов расшифровка этого манускрипта не принесет, а значит, вполне вероятно, что за него не брались всерьез.

— Выходит, шифр, который нельзя расшифровать, все же существует?

— Конечно! Например, шифроблокноты, их до сих пор используются дипломатами. Это такие блокноты, которые прошиты с четырех сторон особыми нитками. На каждой странице — цифры, они являются ключом. Когда нужно зашифровать текст, берутся цифры с первой страницы, текст с их помощью зашифровывается, а затем страница срывается и сжигается. После шифровка пересылается адресату. У адресата есть точно такой же шифроблокнот с таким же ключом на нужной странице. С его помощью он и расшифровывает сообщение. Все! Идея шифроблокнота в том, что длина ключа, с помощью которого зашифровано сообщение, равна длине текста. При этом если ключ выбран случайно, то текст невозможно взломать при условии, что каждая буква шифруется по отдельности и никакой ключ не используется два раза. Такое не взломает даже квантовый компьютер. Точнее, способ взлома все-таки есть — его еще называют «метод утюга и паяльника». Но это уже другая история.

Один из основателей современной криптографии, американский математик Клод Шеннон, некогда придумал способ измерить то, насколько шифр надежен, с помощью теории вероятности. Так вот Шеннон доказал, что шифроблокнот — абсолютно надежный шифр. Никакими математическими методами его не взломать.

Ключи эпохи интернета

— А насколько современная криптография приблизилась к таким вот идеальным шифрам?

— Можно сказать, подошла вплотную. Смотрите: сейчас криптография строится на двух китах — той самой симметричной криптографии и криптографии на открытых ключах. Ну, например, симметричная криптография — в основе современных госстандартов шифрования. Сам ключ сегодня представляет собой большую формулу (по сути, с десяток страниц текста, описывающего процесс шифрования). Но, конечно, криптографы думают над тем, как сделать этот ключ меньше и при этом столь же стойким к взлому. Это развитие идей американца Клода Шеннона: попытка придумать алгоритм, когда маленький ключ может так замешать и запутать текст, что его нельзя «прочитать».

— И где такое шифрование применяется?

— Да, в общем, везде, просто в разных видах. Ну, например, в сотовой связи, когда ваш телефон вырабатывает ключ для связи с сотовой вышкой. Или при подключении монитора к компьютеру — они общаются друг с другом по зашифрованному каналу (это было сделано для того, чтобы пираты не могли скопировать видеосигнал). Или автомобильный брелок…

— А шифрование на открытых ключах?

— Спектр его применения тоже широк, но среди основных сфер — IT. В шифровании на открытых ключах, напомню, совсем другая основа — математика. Ну, например, взяли два больших простых числа, перемножили их и получили еще большее число. Теперь математическая проблема: как из этого восстановить простые числа? Например, число 15 легко раскладывается на 5 и 3. Но, когда у нас числа имеют размер в тысячи десятичных знаков, проблема с практической точки зрения уже становится нерешаемой.

Почему Россия не выучила уроки компьютерной эпохи и как от этого страдает экономика

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

— Правильно ли я понимаю, что блокчейн основан на той же технологии?

— Да, там используется криптография открытого ключа и немного симметричного шифрования. Например, чтобы перевести деньги с кошелька на кошелек, вы должны создать транзакцию и подписать ее своим открытым ключом.

Но если мы вспомним алгоритм майнинга биткойнов, то он несколько другой. Майнинг состоит в том, что вы перебираете числа одно за другим, применяете к ним криптографическую функцию и смотрите, что получилось на выходе. Как только на выходе получается число с определенным количеством нулей — ура! Вы откопали «монетку». Для чего здесь нужна криптографическая функция? Очень просто: для того, чтобы процесс нельзя было «провернуть» назад, узнать исходное число и майнить столько, сколько хочешь. Так вот здесь уже используется симметричное шифрование.

— Все равно как-то не верится, что все это нельзя взломать…

— Почему же нельзя. Бывают так называемые бэкдоры — лазейки, которые оставляют разработчики тех или иных криптографических средств. Например, печально известна микросхема Clipper для шифрования, которую пытались навязать всем американским разработчикам средств связи и защиты информации еще в 1990-х. Быстро выяснилось, что там была такая лазейка. Американцы встроили бэкдор и в свой стандарт генерации случайных чисел для криптографии. Его потом обнаружили и исключили, но осадочек остался.

— А что именно хотели получить наши спецслужбы в рамках знаменитого «пакета Яровой»? Речь там тоже шла о криптографии…

— Речь шла не о дешифровке, а о самом процессе передачи зашифрованной информации. Возьмем интернет.

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

Наше светлое криптобудущее

Квантовая криптография — перспективное направление, но с ней связано еще много нерешенных инженерных проблем

Фото: Shutterstock / REX / Fotodom

— Давайте перейдем к квантовым компьютерам. Говорят, они скоро смогут «расколоть» любой шифр. Не верите?

— Не в ближайшие лет пять точно. Чтобы квантовый компьютер смог расшифровать более или менее длинный код, зашифрованный открытым ключом, ему понадобится объем, скажем, в 2 тысячи кубитов (это элементы для хранения информации в квантовом компьютере.— «О» ). А сегодня успешно строят компьютеры примерно в 15 кубитов. Пока эта инженерная проблема не преодолена, квантовый компьютер неэффективен.

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

— Какие же тогда перспективы у криптографии? Как будем шифроваться в ближайшем будущем?

— В целом современная криптография переходит в прикладную область: создание не просто шифров, а правил их использования. Например, у вас есть сервер социальной сети, вы как пользователь пытаетесь к нему обратиться. Но где гарантия, что это не копия сервера, созданная злоумышленниками? Есть различные способы решения этой проблемы: допустим, организация доверенных серверов. Над этим и думаем.

Что же касается перспектив… К примеру, есть большой математический вызов: решение нелинейных уравнений в дискретном поле. Не буду сейчас вдаваться в подробности, но лишь отмечу, что, если их научатся быстро решать, симметричная криптография падет — такие шифры смогут легко взламывать.

Читайте так же:

  • Ив роше традиции хамама отзывы Восточное масло для душа «Традиции хаммама» Yves Rocher Tradition De Hammam Oriental Shower Oil glycerin,brassica campestris (rapeseed) seed oil,isopropyl […]
  • Как называется рвота после еды Почему тошнит после еды? Причины и лечение Многие задаются вопросом: "Почему тошнит после еды причины и каковы дополнительные симптомы заболеваний, вызывающих тошноту?". Ответы на эти […]
  • Мимика лица как называется Синонимы к слову «мимика» (а также близкие по смыслу слова и выражения) Делаем Карту слов лучше вместе Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать […]
  • Как называется дед мороз в других странах Новогодний легион: как называется Дед Мороз в других странах 30 главных соперников Деда Мороза. В разных странах главный зимний герой выглядит и зовется по-разному. Кто-то ждет подарков от […]
  • Как называется жилище казака на кубани Как называется жилище казака на кубани Тема: «Традиционное жилище народов Кубани» Учитель: Ярославцева Светлана Дмитриевна Цель: познакомить учащихся с традиционной постройкой жилья […]
  • Удлинитель для компьютера как называется Как правильно называется пилот для компьютера Сетевой фильтр Как устроены и работают сетевые фильтры? В бытовой домашней электросети, которая приходит в наши квартиры, имеется большое […]

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *