Книга шифров. Тайная история шифров и их расшифровки



страница5/32
Дата24.08.2017
Размер4,62 Mb.
1   2   3   4   5   6   7   8   9   ...   32

Рис. 9 Приписка к письму Марии, добавленная Томасом Фелиппесом. Ее можно расшифровать с помощью номенклатора (рис. 8).

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

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

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

Вскоре после получения письма с припиской Бабингтону понадобилось выехать за границу, чтобы организовать вторжение, и он должен был зарегистрироваться в ведомстве Уолсингема для получения паспорта. Это был прекрасный момент, чтобы схватить изменника, но чиновник Джон Скадемор никак не ожидал, что тот, кого усиленно разыскивают по всей Англии, появится на пороге его кабинета. Скадемор, у которого в этот момент никого не оказалось под рукой, пригласил ничего не подозревающего Бабингтона в ближайшую таверну, стараясь потянуть время, пока его помощник соберет отряд солдат. Немногим позже ему в таверну принесли записку, в которой сообщалось, что для ареста все готово. Однако Бабингтон все же успел взглянуть на нее и, небрежно сказав, что заплатит за пиво и еду, поднялся, оставив на столе свою шпагу и куртку как свидетельство того, что через минуту вернется; вместо этого выскользнул из задней двери и бежал, вначале в рощу Сент-Джона, а затем в Харроу. Чтобы скрыть свою аристократическую внешность, он коротко обрезал волосы и окрасил кожу соком грецкого ореха. Целых десять дней ему удавалось ускользать от рук полиции, но к 15 августа Бабингтон и его шесть друзей были схвачены и препровождены в Лондон. По всему городу триумфально звонили церковные колокола, торжествуя победу. Их смерть была ужасной и мучительной. По словам историка Елизаветы Уильяма Камдена, «им отрезали половые органы, еще у живых вытащили внутренности, так чтобы они могли все это видеть, и четвертовали».

А тем временем, 11 августа Марии Стюарт и ее свите было разрешено совершить прогулку верхом в окрестностях Чартли Холла, что было весьма необычно, поскольку ранее это запрещалось. Едва лишь Мария пересекла вересковые пустоши, как увидела нескольких приближающихся всадников, и тотчас же ей почудилось, что это люди Бабингтона, прискакавшие, чтобы дать ей свободу. Но вскоре стало ясно, что они прибыли, чтобы арестовать ее, не освободить. Мария была вовлечена в заговор Бабингтона и была обвинена согласно «Act of Association» — закону, принятому Парламентом в 1585 году и прямо предназначенному для признания виновным любого человека, участвующего в заговоре против Елизаветы. Суд проходил в замке Фотерингей, жалком и убогом месте в центре невыразительной болотистой равнины Восточной Англии.

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

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

Суд состоялся на второй день; Мария продолжала отрицать, что она хоть что-то знала о заговоре Бабингтона. Когда суд окончился, она оставила судей решать ее судьбу, заранее простив им уже предрешенный приговор. Десятью днями позже в Вестминстере собралась Звездная палата и вынесла вердикт, что Мария виновна в том, что «с 1 июня измышляла сама и одобряла измышленные другими планы, ставящие себе целью извести или убить священную особу нашей владычицы, королевы Английской». Они настаивали на смертной казни, и Елизавета утвердила смертный приговор.

8 февраля 1587 года в большом зале замка Фотерингей собралось три сотни зрителей, чтобы посмотреть на казнь. Уолсингем был полон решимости не допустить, чтобы Марию считали мученицей, и распорядился сжечь колоду, одежду Марии и все связанное с казнью, дабы избежать появления каких бы то ни было святых мощей. Он также планировал провести в последующую неделю пышное траурное шествие в честь своего зятя, сэра Филиппа Сиднея. Сидней, популярная и героическая личность, погиб в Нидерландах, сражаясь с католиками, и Уолсингем рассчитывал, что величественный парад в его честь ослабит симпатию к Марии. Однако Мария в не меньшей степени стремилась к тому, чтобы ее последнее появление выглядело жестом неповиновения, возможностью вновь подтвердить приверженность католической вере и вдохновить своих последователей.

Рис. 10 Казнь Марии, королевы Шотландии.

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

После этого она сама очень спокойно легла на колоду, вытянула руки и ноги, крикнув напоследок три или четыре раза «In manus tuas domine»[10]; один из палачей, слегка придерживая ее одной рукой, дважды нанес удар топором, пока не отсек ей голову, но сзади остался неперерубленным небольшой хрящ; в это время она издала слабый звук, и больше ее лежащее тело не шевелилось… Ее губы открывались и закрывались еще почти четверть часа после того, как голова была отрублена. Затем один из палачей, дернув одну из ее подвязок, внезапно обнаружил маленькую собачку, которая ползала под ее одеждами, которую нельзя было отнять от хозяйки кроме как силой и которая потом не могла покинуть ее мертвое тело, а пришла и легла между ее головой и телом.

2 Нераскрываемый шифр

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

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

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

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

Здесь, например, у нас есть два возможных шифралфавита, и мы можем зашифровать сообщение, используя поочередно то один, то другой. Так, чтобы зашифровать слово hello, мы зашифруем первую букву с помощью первого шифралфавита, так что h превратится в А, вторую же букву мы зашифруем, используя второй шифралфавит, при этом е станет F. Для зашифровывания третьей буквы мы вернемся опять к первому шифралфавиту, а чтобы зашифровать четвертую букву, мы вновь обратимся ко второму шифралфавиту. Благодаря этому, первая l будет зашифрована как Р, а вторая l превратится в А. Последняя буква, о, зашифровывается первым шифралфавитом и преобразуется в D. Окончательный вид шифртекста: AFPAD. Основное преимущество системы Альберти заключается в том, что одинаковые буквы в открытом тексте не обязательно останутся одинаковыми в шифртексте, поэтому повторяющиеся l в слове hello зашифровываются различным образом. Точно так же повторяющиеся А в шифртексте являются различными буквами открытого текста, сначала h, а потом l.

Несмотря на то что Альберти совершил самый значительный за более чем тысячу лет переворот в криптографии, он не сумел довести свою идею до целостной системы. Решать эту задачу, основываясь на первоначальной идее Альберти, предстояло уже другим, вначале Иоганну Тритемию, немецкому аббату, родившемуся в 1462 году, затем Джованни Порта, итальянскому ученому, родившемуся в 1535 году, и, наконец, Блезу де Виженеру, французскому дипломату, родившемуся в 1523 году. Виженер познакомился с трудами Альберти, Тритемия и Порта, когда его в двадцать шесть лет послали на два года в Рим с дипломатической миссией. Вначале интерес Виженера к криптографии был чисто практического свойства и связан с дипломатической службой. Но затем, когда ему исполнилось тридцать девять лет, он решил, что накопил уже достаточно денег, чтобы оставить службу, отказаться от карьеры и сосредоточиться на исследованиях. И только потом он детально проверил идеи Альберти, Тритемия и Порта, создав на их основе новый шифр.

Рис. 11 Блез де Виженер

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

Таблица 3 Квадрат Виженера.

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

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

Если отправитель, чтобы зашифровать сообщение, пользуется только одним из шифралфавитов, то это фактически будет простым шифром Цезаря, который является исключительно нестойким видом шифрования, так что сообщение может быть без труда дешифровано противником, перехватившим его. В шифре же Виженера для зашифровывания различных букв сообщения применяются различные строки квадрата Виженера (различные шифралфавиты). Другими словами, отправитель может зашифровать первую букву с помощью ряда 5, вторую букву с помощью ряда 14, третью букву с помощью ряда 21 и так далее.

Получателю сообщения, чтобы расшифровать его, следует знать, какая из строк квадрата Виженера использовалась для зашифровывания каждой из букв, поэтому должна быть задана система переходов между строками. Это обеспечивается с помощью ключевого слова. Чтобы показать, как применяется ключевое слово с квадратом Виженера для зашифровывания короткого сообщения, зашифруем следующую фразу divert troops to east ridge с помощью ключевого слова WHITE. Прежде всего ключевое слово буква за буквой записывается над сообщением, и его повторяют до тех пор, пока каждой букве в сообщении не будет сопоставлена буква ключевого слова. Далее приступим к созданию шифртекста, что делается следующим образом. Чтобы зашифровать первую букву, d, определим вначале букву ключа над ней, W, которая, в свою очередь задает строку в квадрате Виженера. Именно строка, начинающаяся с буквы W, — двадцать вторая строка, — и является шифралфавитом, который будет использован для нахождения буквы, которой будет заменена буква d открытого текста. Посмотрим, где столбец с буквой d в первой строке пересекается со строкой, начинающейся с буквы W; это будет буква Z.

Следовательно, буква d в открытом тексте будет буквой Z в шифртексте.

Точно так же поступим, чтобы зашифровать вторую букву сообщения, i. Буквой ключа над i является Н, поэтому она зашифровывается по другой строке в квадрате Виженера, и новым шифралфавитом будет строка, начинающаяся с буквы Н, — седьмая строка. Чтобы зашифровать i, теперь посмотрим, где столбец с буквой i в первой строке пересекается со строкой, начинающейся с буквы Н; это будет буква Р.

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

Таблица 4 Квадрат Виженера с выделенными строками, которые определяются ключевым словом WHITE. Зашифровывание осуществляется переходом между пятью выделенными шифралфавитами, задаваемыми буквами W, Н, I, Т и Е.

Неоспоримым достоинством шифра Виженера является то, что он неуязвим для частотного анализа, о котором рассказано в главе 1. К примеру, криптоаналитик, применяющий частотный анализ к фрагменту шифртекста, обычно начинает с того, что определяет, какая буква чаще всего встречается в шифртексте — в нашем случае это Z, а затем делает предположение, что она является и наиболее часто встречающейся буквой в английском языке, е. На самом деле буква Z является тремя различными буквами: d, r и s, но не е. Несомненно, что для криптоаналитика это создает сложности. То, что буква, которая несколько раз появляется в шифртексте, может представлять собой различные буквы открытого текста, создает для криптоаналитика огромные затруднения. Равно как и то, что буква, которая появляется несколько раз в открытом тексте, может быть представлена различными буквами в шифртексте. Например, буква о, которая дважды встречается в слове troops, заменяется двумя различными буквами, и оо преобразуется в HS.

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

«Трактат о шифрах», который был опубликован в 1586 году, явился венцом работы Виженера. По иронии судьбы это произошло в тот самый год, когда Томас Фелиппес взломал шифр Марии, королевы Шотландии. Если бы только секретарь Марии прочел этот трактат, он бы узнал о шифре Виженера, и Фелиппес тщетно бы старался дешифровать сообщения Марии Бабингтону, а жизнь Марии могла бы быть спасена.

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

От отвергнутого Виженера к человеку в железной маске

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

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

Среди различных кандидатов на такой шифр был поразительно эффективный омофонический шифр замены. Здесь каждая буква заменяется различными подставляемыми символами, причем количество возможных подставляемых символов для какой-либо буквы пропорционально частотности этой буквы. К примеру, частота появления буквы а в английских текстах составляет около 8 процентов, поэтому мы поставим в соответствие этой букве восемь символов. Всякий раз, как в открытом тексте появится буква а, она будет заменена в шифртексте одним из восьми выбираемых случайным образом символов, так что к концу зашифровывания частотность каждого символа в зашифрованном тексте будет составлять примерно 1 процент.

Для сравнения, частотность буквы b составляет всего 2 процента, поэтому этой букве будут соответствовать только два символа. Каждый раз, как в открытом тексте появляется буква b, для ее замены будет выбираться один из двух символов, и к концу зашифровывания частотность каждого символа в зашифрованном тексте также будет составлять около 1 процента. Данный способ назначения каждой букве различного количества символов, заменяющих эти буквы, проводится для всего алфавита, пока мы не доберемся до буквы z, которая появляется настолько редко, что для ее замены потребуется всего один символ. В примере, приведенном в таблице 5, подставляемыми символами в шифралфавите служат двузначные числа, и для каждой буквы в алфавите открытого текста имеется от одного до двенадцати подставляемых символов в зависимости от распространенности каждой из букв.

Мы можем считать, что все двузначные числа, которые соответствуют букве а открытого текста, фактически представляют собой один и тот же звук в шифртексте, то есть звук, соответствующий букве а. Поэтому в названии этого шифра — омофонический — homos по-гречески означает «тот же самый», a phonos — «звук». Смысл использования нескольких вариантов замены для часто встречающихся букв заключается в том, чтобы уравнять частотность появления символов в шифртексте.

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

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

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

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

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



Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   32


База данных защищена авторским правом ©grazit.ru 2017
обратиться к администрации

    Главная страница