Bombe

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Одна машина Bombe одновременно эмулировала действия нескольких десятков машин Enigma. Каждый из быстро вращающихся барабанов, сфотографированных на макете в музее Bletchley Park, повторял действия роторов Enigma.
Дешифровальная машина «Бомба»
Восстанавливаемая Bombe в Блетчли-парке, 2004 год

Turing Bombe — электронно-механическая машина для расшифровки кода «Энигмы».

Первое устройство для расшифровки кода Энигмы, — «криптологическая бомба», — было создан польскими математиками накануне Второй мировой войны. На основе этой разработки и при непосредственной поддержке её создателей в Англии был сконструирован более «продвинутый» агрегат[Прим. 1].

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

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

Рабочая отреставрированная машина "Бомба" в музее Блетчи - Парк. Данная машина эквивалентна 36 рабочим шифровальным машинам "Энигма"

Первая Bombe была запущена 18 марта 1940 года. Машина Turing Bombe состояла из 108 вращающихся электромагнитных барабанов и ряда других вспомогательных блоков. Она была 10 футов (3,0 м) длиной, 7 футов (2,1 м) высотой, 2 футов (0,61 м) шириной и весила 2,5 тонны. Серийно выпускалась до сентября 1944 года, когда ход войны сделал ненужным увеличение их количества. Для каждого возможного значения ключа, заданного положениями роторов, машина выполняла сверку с известным открытым текстом[Прим. 2].

Всего в «Блетчли-Парк» было установлено 210 машин типа Bombe, что позволило ежедневно расшифровывать до 3 тысяч сообщений. Это внесло существенный вклад в военные усилия Британии, в особенности в борьбу с подводными лодками в Атлантике. В числе полученной информации были и сведения о подготовке вторжения в СССР. Несмотря на риск раскрытия источника, сведения были переданы советскому правительству. Однако Сталин не придал этой информации должного значения[1].

Однако «Энигма» применялась немцами лишь для переговоров по радио на оперативно-тактическом уровне. Для кодирования переговоров высшего руководства применялся другой код — «Лоренц»[Прим. 3]. Этот код был намного сложнее и для его расшифровки понадобились другие методы и средства.

После войны Черчилль, из соображений секретности, приказал уничтожить все материальные следы программы Ultra, в том числе и машины Bombe.

Британские любители истории спустя более 60 лет восстановили одну машину Turing Bombe, несмотря на наличие подробных чертежей и объяснений (полный комплект собирался 2 года), они потратили на это 10 лет.

Машина «Энигма»[править | править вики-текст]

Машина "Энигма" состоящая из трех роторов

Эни́гма (от др.-греч. αἴνιγμα — загадка) — портативная шифровальная машина, использовавшаяся для шифрования и дешифрования секретных сообщений. Более точно, Энигма — целое семейство электромеханических роторных машин, применявшихся с 20-х годов XX века.

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

Три ротора от машины "Энигма"

Используя должным образом данную машину, можно получить очень высокую степень безопасности. Шифратор «Энигмы» состоит из 3-5 роторов с 26 электрическими контактами. При нажатии кнопки на клавиатуре, электрический ток протекал через записывающий барабан на правом конце скремблера, затем через набор роторов в отражающий барабан, который возвращал сигнал обратно через роторы и записывающий барабан.

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

Электрическая схема Энигмы, показывающая, куда течёт ток, когда буква «A» шифруется буквой «D»

Для объяснения принципа работы машины приведена диаграмма выше. Диаграмма упрощена: на самом деле механизм состоял из 26 лампочек, клавиш, разъёмов и электрических схем внутри роторов. Ток шёл от источника питания (часто это была батарея) (1) через переключатель (2) в коммутационную панель (3). Коммутационная панель позволяла перекоммутировать соединения между клавиатурой (2) и неподвижным входным колесом (4). Далее ток проходил через разъём (3), в данном примере неиспользуемый, входное колесо (4) и схему соединений трёх (в армейской модели) или четырёх (в военно-морской модели) роторов (5) и входил в рефлектор (6). Рефлектор возвращал ток обратно, через роторы и входное колесо, но уже по другому пути, далее через разъём «S», соединённый с разъёмом «D», через другой переключатель (9), и зажигалась лампочка.

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

Принцип работы «криптологической бомбы»[править | править вики-текст]

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

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

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

Расшифровка кода "Энигмы"[править | править вики-текст]

Во время Второй мировой войны Тьюринг работал в Блетчли-парке - британском криптографическом центре, где возглавлял одну из пяти групп, Hut 8, занимавшихся в рамках проекта «Ультра» расшифровкой закодированных немецкой шифровальной машиной «Энигма» сообщений. Вклад Тьюринга в работы по криптографическому анализу алгоритма, реализованного в «Энигме», основывался на более раннем криптоанализе предыдущих версий шифровальной машины, выполненных в 1938 году польским криптоаналитиком Марианом Реевским.

В начале 1940 года он разработал дешифровальную машину «Бомба», позволявшую читать сообщения люфтваффе. Принцип работы «Бомбы» состоял в переборе возможных вариантов ключа шифра и попыток расшифровки текста, если была известна часть открытого текста или структура расшифровываемого сообщения. Перебор ключей выполнялся за счёт вращения механических барабанов, сопровождавшегося звуком, похожим на тиканье часов, из-за чего «Бомба» и получила свое название. Для каждого возможного значения ключа, заданного положениями роторов (количество ключей равнялось примерно 1019 для сухопутной «Энигмы» и 1022 для шифровальных машин, используемых в подводных лодках), «Бомба» выполняла сверку с известным открытым текстом, выполнявшуюся электрически. Первая в Блетчли «Бомба» Тьюринга была запущена 18 марта 1940 года. Дизайн «Бомб» Тьюринга так же был основан на дизайне одноимённой машины Реевского.

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

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

Например, прогноз погоды всегда начинался со слов:

WETTERVORHERSAGEBISKAYA

Допустим, что шифротекст выглядит таким образом:

…QFZWRWIVTYRESXBFOGKUHQBAISEZ…

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

Q

F

Z

W

R

W

I

V

T

Y

R

E

S

X

B

F

O

G

K

U

H

Q

B

A

I

S

E

Z

W

E

T

T

E

R

V

O

R

H

E

R

S

A

G

E

B

I

S

K

A

Y

A




На этом примере видно, что буква S шифруется сама в себя.

Q

F

Z

W

R

W

I

V

T

Y

R

E

S

X

B

F

O

G

K

U

H

Q

B

A

I

S

E

Z

W

E

T

T

E

R

V

O

R

H

E

R

S

A

G

E

B

I

S

K

A

Y

A

Таким образом, если тексты правильно сопаставлены, мы знаем что R расшифровывается как W на первой позиции и так далее.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

R

W

I

V

T

Y

R

E

S

X

B

F

O

G

K

U

H

Q

B

A

I

S

E

W

E

T

T

E

R

V

O

R

H

E

R

S

A

G

E

B

I

S

K

A

Y

A

Fig 1-6 menu.gif

Взаимосвязь шифруемых букв может быть отражена на диаграмме.

Электрическая схема машины "Бомба"[править | править вики-текст]

Машина "Бомба" в рабочем состоянии. Верхние барабаны вращаются непрерывно и синхронно.

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

Сигнал Стоп вырабатывается в том случае, когда положение роторов принимает такое же положение как при шифровании. Вопрос заключается в том, при каких условиях происходят совпадение положений?

Тестовый регистр подключён к одному из кабелей, соответствующий наиболее часто появляющейся букве в меню. Каждой букве соответствует один провод, которые характеризуется двумя состояниями. И в то же время, тестовый регистр способен определять количество проводов, по которым течет ток.

Во время запуска машины «Энигма» напряжение подаётся на произвольной провод. Например провод а ставится в соответсвие кабелю E, то есть предполагаем, что букве A сопоставляется буква E, и наоборот. Через каждый провод подключенный к проводу а в кабеле E и провод e в кабеле A пойдет ток. Но предположим, что другой провод h перешел в активный режим. Более того, это означает, что буква H сопоставляется букве E, и наоборот. Но E не может быть сопоставлен одновременно двум буквам алфавита. Таким образом, изначальная гипотеза не верна.

Возникает другой вопрос: нужно ли нам проверять провод b в кабеле E для того, чтобы проверить связь букв B и E? Не нужно. Полный перебор занимал бы довольно много времени. Стоит отметить, что ключ менялся каждый день. Машина «Бомба» могла узнать ключ за пару часов работы.  В нашем примере, мы можем заметить, что ток пройдет через шифратор подключенный к A, E, H кабели к проводам подлюченные к другим кабелям.

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

Fig 4-2 1livewire.gif


[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Название устройства Bombe иногда ошибочно переводится на русский как «бомба». Между тем, бомба по-английски — bomb. Название Bombe по одной из версий получено от названия десерта из мороженного Bombe glacée, в виде шара или цилиндра. («One theory was that bomba was named after the ice cream, bombe glacee, which was being eaten when the machine was invented.» // Enigma: The Battle for the Code, By Hugh Sebag-Montefiore, 2002, ISBN 9780471437215)
  2. {{подст:АИ2|Количество вариантов равнялось примерно 1019 для сухопутной «Энигмы» и 1022 для морской}}.
  3. Lorenz был немецким названием кода, англичане называли его «Танни» (англ. tunny — тунец)

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]