"Взломщики кодов" - читать интересную книгу автора (Кан Дэвид)

О происхождении вида

«Мы с Дато гуляли в папских садах в Ватикане и переходили от одной темы к другой, изумляясь человеческой изобретательности, пока Дато не выразил своего неподдельного восхищения людьми, которые могут использовать то, что называют шифрами», – написал Леон Альберти в начале своего 25-страничного трактата, являющегося самой старинной из сохранившихся на Западе рукописей по криптоанализу.

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

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

Среди друзей Альберти был и секретарь Папы Леонардо Дато, который во время той памятной прогулки по ватиканским садам перевел разговор на криптоанализ.

«Вы всегда интересовались секретами бытия, – сказал Дато. – Что вы думаете о дешифровальщиках? Вы не пробовали свои силы в этом занятии?»

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

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

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

Альберти пообещал Дато подумать над его просьбой, и в результате в 1466 г. на свет появился трактат по криптоанализу. Он начинается с описания характерных особенностей латинского языка:

«Сначала я рассмотрю вопрос о количестве букв и те явления, которые зависят от количественных закономерностей. Здесь гласные претендуют на первое место… Без гласной нет и слога. Поэтому, если вы возьмете страницу какого-либо стихотворного или прозаического латинского текста и отдельно подсчитаете в строках гласные и согласные, то вы наверняка убедитесь, что гласных очень много… Если все гласные на одной странице будут насчитывать, скажем, 300 букв, то количество всех согласных, вместе взятых, составит около 400 букв. Я заметил, что среди гласных буква „О“ хотя и встречается не менее часто, чем согласные, но реже других гласных… Когда в конце слова согласные следуют за гласной, этой конечной согласной всегда будет „Т“, „S“ и „X“, к которой может быть добавлена „С“.

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

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

Порта родился в Неаполе в 1535 г. Его воспитанием занимался образованный дядя. Уже в возрасте десяти лет Джованни сочинял очерки на латинском и итальянском языках. После путешествия по Европе он возвратился в Неаполь для завершения образования. Порте было всего лишь 28 лет, когда он опубликовал книгу под названием «О тайной переписке». Ее первые два раздела посвящены криптографии, а в оставшихся двух излагаются основы криптоанализа и рассматриваются лингвистические особенности, которые помогают при вскрытии шифров. Книга Порты содержит первое в Европе описание того, как следует вскрывать шифр простой замены, когда шифртекст не разделен на слова или разделен неправильно. Порта также предвосхитил всех других авторов, описав то, что считается вторым по значимости приемом в современном криптоанализе:

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

В своей книге Порта также дал один мудрый совет, который и сегодня полезен криптоаналитику в той же степени, в какой он был уместен в Италии эпохи Возрождения:

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

А далее Порта делится с читателем своим собственным практическим опытом работы:

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

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

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

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

Затем Порта модифицировал разработанный им метод, чтобы дешифровать другую сложную многоалфавитную криптограмму. Она была составлена в соответствии с принципом, изложенным в 1553 г. итальянцем Джованни Белазо. Тот опубликовал брошюру под названием «Шифр синьора Джованни Белазо», в которой предложил использовать легко запоминаемый ключ. Буквы такого ключа последовательно выписывались над буквами открытого текста. Ключевая буква, которая стояла в паре с данной буквой открытого текста, указывала на шифралфавит, который следовало использовать для ее зашифрования.

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

«Поскольку… между первыми тремя „М“ и этими же тремя буквами, повторенными в 13-м слове, находится 51 буква, я прихожу к выводу, что ключ повторен три раза, и правильно считаю, что он содержит 17 букв».

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

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

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

Время и место написания «Трактата о шифрах», неудача его автора с многоалфавитностью и работа на испанского короля позволяют сделать предположение, что это был криптоаналитик по имени Мартин, который фигурировал в другом инциденте, показавшем, насколько редким и случайным было вскрытие многоалфавитного шифра. Французский кардинал Рец поведал в своих «Мемуарах», как 8 августа 1654 г. он сбежал из замка в городе Нанте после двух лет заключения по политическим мотивам. Он, между прочим, писал о шифрах:

«У нас… был один шифр, который мы называли невскрываемым, так как нам всегда казалось, что никто не сможет проникнуть в его тайну, не зная согласованного между нами слова. Мы настолько доверяли ему, что никогда не боялись писать свободно и пересылать самые важные и самые конфиденциальные сведения с обычным курьером. Именно этим шифром я написал, что 8 августа совершу побег… Принц13, у которого был один из лучших дешифровальщиков в мире, его звали, кажется, Мартином, пользовался этим шифром вместе со мной… Он сказал мне, что, по признанию Мартина, шифр был невскрываемым… Впоследствии с ним справился Ги Жоли14, который, хотя и не был профессиональным дешифровальщиком, сумел найти ключ и сообщил мне о нем…»

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

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

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

«Через пять или шесть недель она спросила меня, расшифровал ли я эту рукопись с описанием процесса превращения. Я ответил, что расшифровал. Однако мадам д'Юрфе скептически заметила:

– Без ключа? Простите, но я считаю это невозможным.

– Не хотите ли вы, мадам, чтобы я назвал ваш ключ?

– Сделайте одолжение.

Затем я назвал ей слово – НАВУХОДОНОСОР15 – и увидел ее удивление. Она заявила мне, что это невозможно, ибо она считала себя единственным обладателем этого слова, которое она держала в памяти и никогда не записывала.

Я мог бы сказать ей правду о том, что те же самые предположения, которые помогли расшифровать рукопись, дали мне возможность найти и это слово. Но, повинуясь какому-то капризу, я сказал ей что мне открыл его мой гений. Это выдуманное признание привязало мадам д'Юрфе ко мне. В тот день я стал господином ее души и не замедлил злоупотребить своей властью. Вспоминая об этом, я каждый раз испытываю чувство горечи и стыда…»

Однако «чувство горечи и стыда» не помешало ему изумить даму фокусом с ключевым словом «НАВУХОДОНОСОР», а через некоторое время распрощаться с ней, «унося с собой ее душу, ее сердце, ее ум и все хорошие чувства, которые она оставила». Кто же был этот криптоаналитик? Джакомо Казакова16.

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

Что касается человека, который в середине XIX века произвел переворот в криптоанализе, то о нем известно только то, что содержится в его послужном списке. В течение почти всей своей служебной карьеры Фридрих Казиский был офицером 33-го пехотного полка. Он родился 29 ноября 1805 г. в местечке Шлохау в Западной Пруссии, которое теперь называется Члухув и находится на территории Польши. В возрасте 17 лет Казиский поступил в полк. Через три года он был произведен в офицеры и получил чин лейтенанта, в котором прослужил 14 лет. Старшим лейтенантом он пробыл недолго, а затем получил звание капитана и должность командира роты, на которой находился 9 лет. Казиский вышел в отставку в 1852 г. в звании майора. В 1863 г. в Берлине вышла в свет его небольшая книга «Искусство тайнописи и дешифрования», ознаменовавшая начало новой эпохи в криптоанализе. Однако в то время она почти не вызвала откликов, и Казиский утратил интерес к криптоанализу. Он сделался рьяным любителем-антропологом, принимал активное участие в раскопках древних могил и писал о своей работе в научные журналы. Казиский умер 22 мая 1881 г., даже не догадываясь о том, что произвел настоящую революцию в криптоанализе.