Эпоха Возрождения на Западе
Между 800 и 1200 годами н. э., когда для арабских ученых наступил период выдающихся интеллектуальных достижений, Европа прочно увязла в Темных веках. В то время как аль-Кинди описывал изобретение криптоанализа, европейцы все еще постигали основы криптографии. Единственными в Европе институтами, в которых поощрялось изучение тайнописи, были монастыри, где монахи исследовали Библию в поисках скрытого в ней значения; заманчивость этих поисков была такова, что они продолжаются и по сей день (см. Приложение C).
Средневековые монахи были заинтригованы тем фактом, что в Ветхом Завете имелись явные признаки использования криптографии. В нем, к примеру, встречаются куски текста, зашифрованного с помощью атбаша, — традиционной формы шифра замены в иврите. Принцип зашифровывания здесь следующий: берется буква, определяется, какой она является по счету от начала алфавита, после чего заменяется буквой, которая стоит на том же самом месте, но только считая от конца алфавита. Для английского языка это означает, что a, стоящая в начале алфавита, заменяется буквой Z, стоящей в конце алфавита, b заменяется на Y и так далее. Название атбаш само намекает на замену, которая используется в этом шифре: слово атбаш состоит из первой буквы алфавита иврита; алеф, за которой
следует последняя буква в алфавите тав, далее идет вторая буква, бет, а за ней — вторая буква от конца шин. Примеры атбаша даны в книге пророка Иеремии, глава 25, стих 26 и глава 51 стих 41, где слово «Вавилон» заменено словом «Сесах» («Шешах»); первая буква слова Babel (Вавилон) — бет, вторая буква алфавита иврита, заменяется на шин, вторую букву от конца; второй буквой слова Babel[8] также является бет, и поэтому она тоже заменяется на шин; последняя буква слова Babel — ламед, двенадцатая буква алфавита иврита, и она заменяется на каф, двенадцатую букву от конца алфавита.
Атбаш и другие подобные библейские шифры предназначались, по-видимому, для придания таинственности, а не для того, чтобы скрыть смысл, но и этого оказалось достаточно, чтобы пробудить интерес к серьезному занятию криптографией. Европейские монахи начали заново открывать уже забытые шифры замены, придумали новые шифры и со временем сумели повторно приобщить цивилизацию Запада к криптографии. Первая известная европейская книга, в которой рассказывается об использовании криптографии, была написана в тринадцатом веке английским францисканским монахом и энциклопедистом Роджером Бэконом.
В «Тайных опытах и недействительности магии» приведены семь способов того, как хранить сообщения в секрете, и дается предупреждение: «Дурак тот, кто пишет о тайне каким-либо способом, но не так, чтобы скрыть ее от простонародья».
К четырнадцатому веку криптографией стали пользоваться повсеместно; алхимики и ученые использовали ее, чтобы хранить свои открытия в секрете. Джеффри Чосер, несмотря на то что он гораздо более известен своими литературными достижениями, являлся также астрономом и криптографом, и именно в его работах можно найти один из самых известных примеров первого в Европе использования зашифровывания. В своем трактате «Об астролябии» он дал несколько дополнительных замечаний, озаглавленных «Экватор планет», в которых содержалось несколько зашифрованных разделов. При зашифровывании по способу Чосера буквы незашифрованного текста заменялись символами, например, b заменялась на ?. На первый взгляд зашифрованный текст, состоящий не из букв, а из непонятных символов, казался более сложным, но, по сути, это эквивалентно обычной замене буквы на букву. Принцип зашифровывания и степень стойкости точно такие же.
К пятнадцатому веку европейская криптография превратилась в целую отрасль, развивающуюся стремительными темпами. Возрождение искусства и науки в эпоху Ренессанса «вскормило» криптографию, а бурный рост политических интриг вынуждал обеспечивать секретность переписки. Идеальной средой для криптографии была, в частности, Италия. Она, наряду с тем, что являлась душой Возрождения, состояла из независимых городов-государств, каждый из которых старался перехитрить другие и добиться над ними преимущества. Был расцвет дипломатии; от каждого государства ко дворам других направлялись послы. Каждый посол получал указания от своего правителя о том, какую внешнюю политику он должен проводить. В свою очередь послы отсылали своим правителям все сведения, которые они собирали. Ясно, что имелась веская причина для зашифровывания посланий, идущих в обоих направлениях. В связи с этим в каждом государстве были учреждены шифровальные ведомства, а при каждом после находился секретарь-шифровальщик.
В это же самое время, когда криптография становилась обычным дипломатическим инструментом, на Западе все было готово к появлению криптоанализа как науки. Дипломаты еще только овладевали искусством ведения секретной переписки, как уже появились отдельные лица, которые старались эту секретность уничтожить. Вполне возможно, что в Европе криптоанализ был изобретен независимо от других, но существует вероятность и того, что он был завезен из арабского мира.
Открытия, сделанные мусульманами в естественных науках и в математике, оказали огромное влияние на возрождение науки в Европе, так что среди завезенных знаний вполне мог оказаться и криптоанализ.
По всей видимости, первым крупным европейским криптоаналитиком был Джованни Соро, назначенный на должность венецианского секретаря-шифровалыцика в 1506 г. Репутация Соро была известна во всей Италии, и дружественные государства пересылали в Венецию перехваченные сообщения для проведения их криптоанализа. Даже из Ватикана, пожалуй, второго по активности центра криптоанализа, направляли Соро попадающие в их руки сообщения, которые, как им представлялось, дешифровать было невозможно. В 1526 году папа Климент VII послал ему два зашифрованных письма, и оба они вернулись успешно дешифрованными. И когда одно из зашифрованных личных писем папы было перехвачено флорентийцами, папа направил его копию Соро в надежде, что тот его успокоит, сказав, что дешифровать его невозможно. Соро объявил, что он не смог взломать шифр папы, дав понять, что и флорентийцы также не смогут дешифровать его. Возможно, однако, что это была уловка, чтобы успокоить криптографов Ватикана и внушить им ложное чувство безопасности — Соро просто не хотел показать слабость папского шифра, поскольку это только подтолкнуло бы Ватикан к созданию более стойкого шифра, шифра, который Соро, может, и не сумел бы раскрыть.
И другие дворы Европы также стали приглашать на службу искусных криптоаналитиков, таких как Филибер Бабу, который был криптоаналитиком короля Франции Франциска I. Бабу приобрел репутацию невероятно упорного человека, который способен работать круглые сутки неделями напролет, чтобы раскрыть перехваченное сообщение. К несчастью для Бабу, это дало возможность королю вступить в длительную любовную связь с его женой. К концу шестнадцатого века, с появлением Франсуа Виета, который получал особое удовлетворение от взлома испанских шифров, французы повысили свое мастерство по дешифрованию сообщений. Испанские криптографы, которые выглядели простодушными по сравнению со своими противниками в Европе, не могли поверить, когда узнали, что их сообщения становились известны французам. Испанский король Филипп II даже обратился с прошением в Ватикан, заявив, что единственным объяснением успешности применения криптоанализа Виета является то, что он — «сатана, вступивший в сговор с дьяволом». Филипп убеждал, что Виет должен предстать перед судом кардиналов из-за своих дьявольских дел, но папа, который знал, что его собственные криптоаналитики уже не первый год вскрывали испанские шифры, отверг прошение испанцев. Новость о прошении вскоре стала известна криптоаналитикам различных стран, и испанские криптографы оказались посмешищем всей Европы.
Ситуация с испанцами наглядно характеризовала состояние противоборства между криптографами и криптоаналитиками. Это был переходный период, когда криптографы все еще полагались на одноалфавитный шифр замены, в то время как криптоаналитики уже начали применять частотный анализ, чтобы взломать этот шифр. Криптографам еще только предстояло узнать все могущество частотного анализа, а пока что они продолжали верить в одноалфавитную замену, не представляя, в какой степени такие криптоаналитики, как Соро, Бабу и Виет, были способны прочесть их сообщения.
Между тем государства, которые получили предупреждение о слабости одноалфавитного шифра замены, стремились создать более стойкий шифр, который смог бы защитить их сообщения от раскрытия криптоаналитиками неприятеля. Одним из простейших приемов повышения стойкости одноалфавитного шифра замены является использование «пустых» знаков — символов или букв, которые не заменяли реальные буквы, а являлись просто пустыми, ничего не обозначающими символами. Например, можно заменить каждую букву открытого текста числами от 1 до 99, из которых 73 ничего не означают и могут случайным образом появляться с разной частотой в зашифрованном тексте. «Пустые» знаки не представляют никакой сложности для получателя, кому предназначено данное сообщение, кто знает, что эти символы не следует принимать во внимание. Однако наличие таких знаков будет сбивать с толку противника, перехватившего сообщение, потому что они усложняют атаку с применением частотного анализа. Ради повышения стойкости криптографы иногда сознательно перед зашифровыванием сообщения писали слова неправильно. Thys haz thi ifekkt off diztaughting thi ballans off fnkwenseas — усложняет криптоаналитику возможность применения частотного анализа. Однако получатель данного сообщения, если он знает ключ, сможет расшифровать его, после чего в его распоряжении окажется неверно написанный, но все же вполне понятный текст.
К попыткам усилить одноалфавитный шифр замены относится и введение кодовых слов. Термин код имеет очень широкое значение в обыденной речи, и он часто употребляется для описания любых способов, используемых для тайной передачи информации. Однако, как было упомянуто в Введении, в действительности он имеет весьма специфическое значение и применяется только для определенного вида замены. До сих пор мы рассматривали шифр замены, посредством которого каждая буква заменяется на другую букву, число или символ.
Однако замену можно осуществлять на гораздо более высоком уровне, когда каждое слово представляется другим словом или символом — это и будет код. Например:
Исходное сообщение = убить короля сегодня вечером. Закодированное сообщение = D-?-28
Формально код определяется как замена, выполняемая на уровне слов или фраз, в то время как шифр определяется как замена на уровне букв. Поэтому термин зашифровать означает «сделать сообщение секретным с помощью шифра», в то время как закодировать означает «сделать сообщение секретным с помощью кода». Аналогично термин расшифровать/дешифровать применяется для рассекречивания зашифрованного сообщения, а раскодировать/декодировать — для рассекречивания закодированного сообщения. Термины зашифровать и расшифровать/дешифровать более общие и охватывают засекречивание и рассекречивание, выполняемое как с помощью кодов, так и с помощью шифров. На рисунке 7 показана краткая сводка этих определений. В целом я буду придерживаться этих определений, но когда смысл ясен, я могу воспользоваться, например, таким термином, как «криптографический анализ», чтобы описать процесс, который на самом деле является «взломом шифра» — последний термин может быть формально более точным, но первый является более употребимым.
На первый взгляд представляется, что коды обеспечивают более высокую степень стойкости, чем шифры, так как слова гораздо менее уязвимы для частотного анализа, чем буквы. Чтобы дешифровать одноалфавитный шифр, вам потребуется установить точные значения каждой из всего лишь 26 букв, а чтобы взломать код, вам потребуется определить точные значения сотен и даже тысяч кодовых слов. Однако если мы более внимательно рассмотрим коды, мы увидим, что они, по сравнению с шифрами, обладают двумя существенными с практической точки зрения недостатками. Во-первых, после того как отправитель и получатель согласуют 26 букв в шифралфавите (ключ), они смогут зашифровать любое сообщение, но чтобы добиться той же гибкости при применении кода, им придется проделать кропотливую работу по заданию кодового слова для каждого из тысяч возможных слов незашифрованного текста. Кодовая книга будет состоять из сотен страниц и напоминать словарь. Другими словами, составление кодовой книги — это изрядная задача, держать же ее при себе представляет значительное неудобство.
Рис. 7 Наука тайнописи и ее основные направления.
Во-вторых, последствия того, что противник завладеет кодовой книгой, поистине ужасающи. Все закодированные сообщения сразу же станут известны противнику. Отправители и получатели должны будут заново пройти через кропотливый процесс создания совершенно новой кодовой книги, а затем этот объемистый новый том необходимо будет передать всем в коммуникационной сети, то есть секретно доставить его всем послам во всех странах. Сравните: если противнику удастся завладеть ключом шифра, то сравнительно несложно составить новый шифралфавит из 26 букв, который можно запомнить и легко передать.
Даже в шестнадцатом веке криптографы хорошо осознавали присущие кодам слабости и вместо них больше полагались на шифры, или, иногда, на номенклаторы. Номенклатор — это система шифрования, основанная на шифралфавите, который применяется для зашифровывания большей части сообщения, плюс небольшой набор кодовых слов. К примеру, номенклаторная книга могла бы состоять из титульного листа с шифралфавитом и со списком кодовых слов на второй странице. Несмотря на добавление кодовых слов, номенклатор ненамного надежнее, чем просто один шифр, поскольку основная часть сообщения может быть дешифрована с помощью частотного анализа, а смысл оставшихся зашифрованными слов может быть определен по контексту.
Лучшие криптоаналитики не только совладали с номенклатором, они способны были также справиться и с сообщениями с неправильно написанными словами, и с сообщениями с «пустыми» знаками. Короче говоря, они могли вскрыть большинство зашифрованных сообщений. Благодаря квалификации и умению криптоаналитиков, раскрытые секреты шли непрерывным потоком; они влияли на принятие решений властителями и повелительницами, определяя тем самым ход истории в Европе в критические моменты.
Никогда влияние криптоанализа не проявилось так драматично, как в случае Марии Стюарт, королевы Шотландии. Исход судебного процесса над ней всецело зависел от поединка между ее шифровальщиками и дешифровальщиками королевы Елизаветы. Мария была одной из наиболее заметных фигур шестнадцатого столетия — королева Шотландии, королева Франции, претендент на английский трон — и все же ее судьба зависела от листочка бумаги, содержавшегося на нем сообщения и от того, будет или нет оно дешифровано.