В расшифровке шифров и кодов. Криптография: шпионские игры

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

1. Самым важным зашифрованным посланием древней культуры острова Крит стал - изделие из глины, найденное в городе Фест в 1903 году. Обе его стороны покрыты иероглифами, нанесенными по спирали. Специалисты сумели различить 45 видов знаков, но из них лишь несколько опознаны как иероглифы, которые использовались в додворцовом периоде древней истории Крита.

2. Линейное письмо А также было найдено на Крите и названо в честь британского археолога Артура Эванса. В 1952 году Майкл Вентрис расшифровал линейное письмо B, которое использовалось для шифровки микенского языка - самого древнего из известных вариантов греческого. Но линейное письмо A разгадано лишь частично, при этом разгаданные фрагменты написаны на каком-то не известном науке языке, не связанном ни с одним из известных языков.
(дополнительные материалы.)

3. Криптос - скульптура, которую американский ваятель Джеймс Сэнборн установил на территории штаб-квартиры ЦРУ в Лэнгли, штат Вирджиния, в 1990 году. Зашифрованное послание, нанесенное на нее, до сих пор не могут разгадать.

4. Шифр, нанесенный на китайский золотой слиток . Семь золотых слитков были в 1933 году предположительно выданы генералу Ваню в Шанхае. На них нанесены картинки, китайские письмена и какие-то зашифрованные сообщения, в том числе латинскими буквами. Они, возможно, содержат свидетельства подлинности металла, выданные одним из банков США. Содержание китайских иероглифов свидетельствует, что стоимость золотых слитков превышает 300 млн долларов.

5. - три зашифрованных сообщения, которые, как предполагается, содержат сведения о местонахождении клада из двух фургонов золота, серебра и драгоценных камней, зарытого в 1820-х годах под Линчбергом, что в округе Бедфорд, штат Виргиния, партией золотоискателей под предводительством Томаса Джефферсона Бейла. Цена не найденного доныне клада в пересчете на современные деньги должна составлять около 30 млн долларов. Загадка криптограмм не раскрыта до сих пор, в частности, спорным остается вопрос о реальном существовании клада. Одно из сообщений расшифровано - в нем описан сам клад и даны общие указания на его местоположение. В оставшихся нераскрытыми письменах, возможно, содержатся точное место закладки и список владельцев клада. ()

6. Рукопись Войнича , которую часто называют самой таинственной в мире книгой. В рукописи использован уникальный алфавит, в ней около 250 страниц и рисунки, изображающие неведомые цветы, обнаженных нимф и астрологические символы. Впервые она появилась в конце XVI века, когда император Священной Римской империи Рудольф II купил ее в Праге у неизвестного торговца за 600 дукатов (около 3,5 кг золота, сегодня более 50 тысяч долларов). От Рудольфа II книга перешла к дворянам и ученым, а в конце XVII века исчезла. Манускрипт вновь появился примерно в 1912 году, когда его купил американский книготорговец Вилфрид Войнич. После его смерти рукопись была передана в дар Йельскому университету. Британский ученый Гордон Рагг считает, что книга - искусная мистификация. В тексте есть особенности, не свойственные ни одному из языков. С другой стороны, некоторые черты, например, длина слов, способы соединения букв и слогов, похожи на существующие в настоящих языках. "Многие считают, что все это слишком сложно для мистификации, чтобы выстроить такую систему, какому-нибудь безумному алхимику потребовались бы годы", - говорит Рагг. Однако Рагг показывает, что добиться такой сложности можно было легко, используя шифровальное устройство, придуманное примерно в 1550 году и названное сеткой Кардана. В этой таблице символов слова создаются передвижением карточки с прорезанными в ней отверстиями. Благодаря пробелам, оставленным в таблице, слова получаются разной длины. Накладывая такие решетки на таблицу слогов манускрипта, Рагг создал язык, которому присущи многие, если не все, особенности языка рукописи. По его словам, на создание всей книги хватило бы трех месяцев. ( , википедия)

7. Шифр Дорабелла , составленный в 1897 году британским композитором сэром Эдвардом Уильямом Эльгаром. В зашифрованном виде он отправил письмо в город Вульвергемптон своей подруге Доре Пенни, 22-летней дочери Альфреда Пенни, настоятеля собора святого Петра. Этот шифр остается неразгаданным.

8. До недавнего времени в списке присутствовал и чаошифр , который не смогли раскрыть при жизни его создателя. Шифр изобрел Джон Ф. Байрн в 1918 году, и в течение почти 40 лет безуспешно пытался заинтересовать им власти США. Изобретатель предложил денежную награду тому, кто сможет раскрыть его шифр, но в результате никто за ней не обратился. Но в мае 2010 года члены семьи Байрна передали все оставшиеся от него документы в Национальный музей криптографии в Мэрилэнде, что привело к раскрытию алгоритма.

9. Шифр Д"Агапейеффа . В 1939 году британский картограф русского происхождения Александер Д"Агапейефф опубликовал книгу по основам криптографии Codes and Ciphers, в первом издании которой привел шифр собственного изобретения. В последующие издания этот шифр включен не был. Впоследствии Д`Агапейефф признался, что забыл алгоритм раскрытия этого шифра. Подозревают, что неудачи, постигшие всех, кто пытался расшифровать его работу, вызваны тем, что при зашифровке текста автор допускал ошибки. Но в наше время появилась надежда, что шифр удастся раскрыть с использованием современных методов - например, генетического алгоритма.

10. Таман Шуд . 1 декабря 1948 года на побережье Австралии в Сомертоне, что под Аделаидой, было найдено мертвое тело мужчины, одетого в свитер и пальто, несмотря на характерно жаркий для австралийского климата день. Документов при нем не обнаружили. Попытки сравнить отпечатки его зубов и пальцев с имеющимися данными на живых людей также ни к чему не привели. Патологоанатомическое освидетельствование выявило противоестественный прилив крови, которой была наполнена, в частности, его брюшная полость, а также увеличение внутренних органов, но никаких инородных веществ в его организме при этом найдено не было. На железнодорожной станции одновременно нашли чемодан, который мог принадлежать погибшему. В чемодане лежали брюки с секретным карманом, в котором нашли вырванный из книги кусок бумаги с напечатанными на нем словами Taman Shud . Следствие установило, что клочок бумаги был вырван из очень редкого экземпляра сборника "Рубаи" великого персидского поэта Омара Хайяма. Сама книга была обнаружена на заднем сидении автомобиля, брошенного незапертым. На задней обложке книги были небрежно набросаны пять строк заглавными буквами - смысл этого послания разгадать так и не удалось. По сей день эта история остается одной из самых таинственных загадок Австралии.


теги записи: ,

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

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

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

Стеганография

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

Стеганография является простейшим шифром. Типичными ее примерами являются проглоченные записки, покрытые ваксой, или сообщение на бритой голове, которое скрывается под выросшими волосами. Ярчайшим примером стеганографии является способ, описанный во множестве английских (и не только) детективных книг, когда сообщения передаются через газету, где малозаметным образом помечены буквы.

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

ROT1 и шифр Цезаря

Название этого шифра ROTate 1 letter forward, и он известен многим школьникам. Он представляет собой шифр простой замены. Его суть заключается в том, что каждая буква шифруется путем смещения по алфавиту на 1 букву вперед. А -> Б, Б -> В, ..., Я -> А. Например, зашифруем фразу «наша Настя громко плачет» и получим «общб Обтуа дспнлп рмбшеу».

Шифр ROT1 может быть обобщен на произвольное число смещений, тогда он называется ROTN, где N - это число, на которое следует смещать шифрование букв. В таком виде шифр известен с глубокой древности и носит название «шифр Цезаря».

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

Транспозиционные или перестановочные шифры

Данные виды шифра простой перестановки более серьезны и активно применялись не так давно. В Гражданскую войну в США и в Первую мировую его использовали для передачи сообщений. Его алгоритм заключается в перестановке букв местами - записать сообщение в обратном порядке или попарно переставить буквы. Например, зашифруем фразу «азбука Морзе - тоже шифр» -> «акубза езроМ - ежот рфиш».

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

Азбука Морзе

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

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

Моноалфавитная замена

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

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

Известно, что Мария I, королева Шотландии с 1561 по 1567 г., использовала очень сложный шифр моноалфавитной замены с несколькими комбинациями. И все же ее враги смогли расшифровать послания, и информации хватило, чтобы приговорить королеву к смерти.

Шифр Гронсфельда, или полиалфавитная замена

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

Алгоритм шифрования ADFGX

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

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y I N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

Алгоритм составления квадрата ADFGX следующий:

  1. Берем случайные n букв для обозначения столбцов и строк.
  2. Строим матрицу N x N.
  3. Вписываем в матрицу алфавит, цифры, знаки, случайным образом разбросанные по ячейкам.

Составим аналогичный квадрат для русского языка. Например, создадим квадрат АБВГД:

А Б В Г Д
А Е/Е Н Ь/Ъ А И/Й
Б Ч В/Ф Г/К З Д
В Ш/Щ Б Л Х Я
Г Р М О Ю П
Д Ж Т Ц Ы У

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Фраза К О М П А К Т Н Ы Й Ш И Ф Р
Шифр бв гв гб гд аг бв дб аб дг ад ва ад бб га

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

Шифр Виженера

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

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

Теперь по как по координатной плоскости, ищем ячейку, которая является пересечением пар букв, и получаем: К + П = Ъ, А + А = Б, С + Р = В и т. д.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Шифр: Ъ Б В Ю С Н Ю Г Щ Ж Э Й Х Ж Г А Л

Получаем, что "касперович смеется" = "ъбвюснюгщж эйхжгал".

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

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

Коды

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

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

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

"Энигма"

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

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

Взломать "Энигму" активно пытались в течение всей военной кампании Гитлера. В Англии в 1936 г. для этого построили один из первых вычислительных аппаратов (машина Тьюринга), ставший прообразом компьютеров в будущем. Его задачей было моделирование работы нескольких десятков "Энигм" одновременно и прогон через них перехваченных сообщений нацистов. Но даже машине Тьюринга лишь иногда удавалось взламывать сообщение.

Шифрование методом публичного ключа

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

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

Рассмотрим простой пример. Пусть публичным ключом будет 905. Его делителями являются числа 1, 5, 181 и 905. Тогда секретным ключом будет, например, число 5*181. Вы скажете слишком просто? А что если в роли публичного числа будет число с 60 знаками? Математически сложно вычислить делители большого числа.

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

Стойкость шрифта

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

На сегодняшний день не существует единых стандартов, по которым можно было бы оценить стойкость шифра. Это трудоемкий и долгий процесс. Однако есть ряд комиссий, которые изготовили стандарты в этой области. Например, минимальные требования к алгоритму шифрования Advanced Encryption Standart или AES, разработанные в NIST США.

Для справки: самым стойким шифром к взлому признан шифр Вернама. При этом его плюсом является то, что по своему алгоритму он является простейшим шифром.

определить неизменяемые части. Забегая вперед, можно привести в качестве примера шифрмашину "Энигма" (см. главу 9), которая содержала несколько колес; внутри этих колес были провода; распайка проводов внутри колес не менялась, но ежедневно изменялся порядок расположения колес внутри самой машины. Таким образом, распайка проводов являлась неизменяемой частью, а порядок колес - переменной. Взлом системы - это самая трудоемкая часть работы; она может продолжаться несколько недель или даже месяцев и потребовать применения математических методов, поиска и использования ошибок операторов и даже сведений, добытых шпионами.

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

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

Коды и шифры

Хотя слова код ишифр часто употребляются нестрого, мы проведем разграничение между этими понятиями. Вкоде часто встречающиеся элементы текста (которые могут состоять из одной или более букв, чисел или слов) обычно заменяются четырьмя или пятью буквами или числами, которые называютсякодовыми группами и берутся изкодовой книги . Для особенно часто употребительных выражений или знаковкодовая книга может предлагать несколькокодовых групп . Это делается для того, чтобы криптограф мог варьировать ими с целью затруднить их идентификацию. Так, например, в четырехзначном цифровом коде для слова "понедельник" могут быть три альтернативные кодовые группы - к примеру, 1538, либо 2951, либо 7392. Коды мы рассмотрим в главе 6.

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

ошибочно называют "кодом Энигма", безусловно является вовсе не кодом , а

шифрмашиной.

Исторически сложилось так, что вплоть до сравнительно недавнего времени в криптографии преобладали две основные идеи, и многие системы шифрования (в том числе почти все из описанных в первых одиннадцати главах этой книги) были основаны на одной из них или на обеих сразу. Первая идея сводилась к тому, чтобы перетасовать буквы алфавита (как обычно тасуют колоду карт) с целью получить нечто, что можно рассматривать как случайный порядок, перестановку или анаграмму букв. Вторая идея состоит в том, чтобы преобразовать буквы сообщения в числа (например, положив A=0, B=1, ..., Z=25), и затем прибавлять к ним (число за числом) другие числа, называемые гаммой , которые, в свою очередь, могут быть буквами, преобразованными в числа. Если в результате сложения получается число, большее чем 25, вычтем из него 26 (этот способ называетсясложением по модулю 26). Результат затем преобразуется обратно

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

Любопытно отметить, что шифр Юлия Цезаря, каким бы незамысловатым он ни был, можно считать примером и того, и другого типа. В первом случае наше "тасование колоды" эквивалентно простому перемещению последних трех карт в начало колоды, так что все буквы смещаются вниз на три позиции, а X, Y и Z оказываются в начале. Во втором случае гаммой является число 3, повторенное бесконечное число раз. Нельзя себе и представить ничего "слабее" такого гаммы.

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

в словарь как в кодовую книгу, определенно не следует рекомендовать. Это известно каждому, кто пытался изучать иностранный язык. *) С другой стороны, иногда вполне резонно воспользоваться малоизвестным языком для передачи сообщений, актуальность которых ограничена во времени. Рассказывают, например, что во время второй мировой войны в американских войсках в Тихом океане в качестве телефонистов иногда использовали солдат из индейского племени навахо, чтобы те передавали

*) Вспоминаю, как некий школьник писал сочинение на французском языке о том, как в средние века один путешественник приезжает ночью в гостиницу и стучится в дверь. В ответ он слышит "What Ho! Without." ("Какого чёрта! Убирайся!" -прим. перев. ). Это выражение школьник перевел на французский дословно, подставив французские слова: "Que Ho! Sans." (получилось "Что за хо! Без." -прим. перев. ).Учитель французского языка, прочитав это, потерял на мгновение дар речи, а потом заметил; "Вы, наверно, нашли эти слова в словаре, который раздают бесплатно с мешками сахара".

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

Другой способ скрыть содержание информации - использовать некую персональную скоропись. Этим методом еще в средние века пользовались авторы личных дневников - например, Самюэль Пепис (Samuel Pepys). Такие коды нетрудно вскрыть, если записей в дневнике достаточно. Регулярные повторения некоторых символов (к примеру, знаков, обозначающих дни недели) служат хорошим подспорьем для прочтения некоторых слов и выражений. Примером более основательного труда может послужить дешифрование древней микенской письменности, известной как "линейное письмо Б", где знаки соответствовали слогам древнегреческого языка; заслуга дешифрования этого вида письменности принадлежит Майклу Вентрису*) (см. ).

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

Оценка стойкости системы шифрования

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

(1)криптоаналитику известны только шифрованные тексты;

(2)криптоаналитику известны шифрованные тексты и исходные открытые тексты к ним;

(3)криптоаналитику известны как шифрованные, так и открытые тексты, которые он сам подобрал.

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

*) Линейное письмо Б (Linear B) - одна из наиболее древних систем греческой письменности. Обнаружено на глиняных табличках в Кноссе (о. Крит) и в Пилосе. Расшифрована Майклом Вентрисом (1922-1956), английским архитектором и лингвистом (прим. перев. ).

криптоаналитик умеет читать. Такие ситуации, относящиеся к случаям серьёзного нарушения правил защиты информации, происходят весьма часто. Третья ситуация возникает, главным образом, когда криптограф, желая оценить стойкость созданной им системы, предлагает своим коллегам, играющим роль противника, вскрыть его шифр и позволяет им продиктовать ему тексты для зашифрования. Это - одна из стандартных процедур проверки новых систем. Очень интересной задачей для криптоаналитика - составить тексты так, чтобы после их зашифрования получить максимум информации о деталях системы. Структура этих сообщений зависит от того, как именно производится зашифрование. Вторая и третья ситуации могут также возникнуть, если у криптоаналитика есть шпион в организации криптографа: именно так обстояло дело в 30-х годах прошлого века, когда польские криптоаналитики получили открытые и шифрованные тексты сообщений, зашифрованных на немецкой шифрмашине "Энигма". Система шифрования, которую невозможно вскрыть даже в такой ситуации (3), является действительно стойким шифром. Это именно то, к чему стремится криптограф, и чего страшится криптоаналитик.

Коды, обнаруживающие и исправляющие ошибки

Другой класс кодов предназначен для обеспечения безошибочной передачи информации, а не для сокрытия еесодержания . Такие коды называютсяобнаруживающими и исправляющими ошибки , они являются предметом широкомасштабных математических исследований. Эти коды с самых первых дней существования компьютеров используются для защиты от ошибок в памяти и в данных, записанных на магнитную ленту. Самые первые версии этих кодов, такие, например, как коды Хэмминга, способны обнаружить и исправитьединичную ошибку в шестиразрядном символе. В качестве более позднего примера можно привести код, который использовался на космическом корабле "Маринер" для передачи данных с Марса. Созданный с учетом возможного значительного искажения сигнала на его долгом пути к Земле, этот код был способен корректировать до семи ошибок в каждом 32-разрядном "слове". Простым примером кода другого уровня,обнаруживающего , но неисправляющего ошибки, является код ISBN (International Standard Book Number - Международный Стандартный Книжный Номер).Он состоит из десяти знаков (десяти цифр либо девяти цифр с буквой X на конце, которая обозначает число 10), и позволяет осуществить проверку на отсутствие ошибок в номере ISBN. Проверка выполняется следующим образом: вычислим сумму

(первая цифра) 1+(вторая цифра) 2+(третья цифра) 3+...+(десятая цифра) 10.

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


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

Шаги

Коды

Стандартные коды

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

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

    Книга кода

    Полицейское кодирование

    Шифры

    Шифрование, основанное на дате

    1. Выберите дату. Например, это будет день рождения Стивена Спилберга 16-го декабря 1946 года. Напишите эту дату, используя цифры и косые черты (12/18/46), затем уберите черты, чтобы получить шестизначное число 121846, которые вы можете использовать для передачи зашифрованного сообщения.

      Присвойте каждой букве цифру. Представьте, что сообщение «Мне нравятся фильмы Стивена Спилберга». Под сообщение вы напишите ваше шестизначное число снова и снова до самого конца предложения: 121 84612184 612184 6121846 121846121.

      Зашифруйте ваше сообщение. Напишите буквы слева направо. Передвиньте каждую букву обычного текста на количество единиц, указанных под ней. Буква «М» сдвигается на одну единицу и становится «Н», буква «Н» сдвигается на две единицы и становится «П». Обратите внимание, что буква «Я» сдвигается на 2 единицы, для этого вам необходимо перескочить на начало алфавита, и становится «Б». Ваше итоговое сообщение будет «Нпё хфёгбущг ъйныфя чукгмсё тсйуексеб».

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

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

    Шифрование при помощи числа

    1. Выберите с вашим другом секретное число. Например, число 5.

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

      • Моепр
      • икрыт
      • иерас
      • крыто
    2. Чтобы создать шифр возьмите буквы сверху вниз и запишите их. Сообщение будет «Миикокереррыпыатртао».

      Для расшифровки вашего сообщения ваш друг должен посчитать общее количество букв, разделить его на 5 и определить, есть ли неполные строки. После этого он/она записывает эти буквы в колонки, так чтобы было 5 букв в каждом ряду и одна неполная строка (если есть), и читает сообщение.

    Графический шифр

    Перестановка Цезаря

    Секретные языки

    Путаный язык

    Звуковой код

    Тарабарский язык

    • Прячьте ваш код в том месте, о котором знают только отправитель и получатель. Например, развинтите любую ручку и положите ваш код внутрь нее, соберите ручку обратно, найдите место (например, подставка под карандаши) и сообщите получателю место и тип ручки.
    • Шифруйте также и пробелы, чтобы запутать код еще больше. Например, вы можете использовать буквы (Е, Т, А, О и Н работают лучше всего) вместо пробелов. Они называются пустышками. Ы, Ъ, Ь и Й будут выглядеть слишком явными пустышками для опытных взломщиков кодов, поэтому не используйте их или другие выделяющиеся символы.
    • Вы можете создать свой собственный код, переставляя буквы в словах в случайном порядке. «Диж яемн в крапе» - «Жди меня в парке».
    • Всегда отправляйте коды агентам с вашей стороны.
    • При использовании турецкого ирландского вам не нужно специально использовать «эб» перед согласной. Вы можете использовать «иэ», «бр», «из» или любую другую неприметную комбинацию букв.
    • При использовании позиционной кодировки, не стесняйтесь добавлять, удалять и даже переставлять буквы с одного места на другое, чтобы сделать дешифровку еще более трудной. Убедитесь, что ваш партнер понимает, что вы делаете, или все это будет бессмысленным для нее/него. Вы можете разбить текст на части так, чтобы было три, четыре или пять букв в каждой, а затем поменять их местами.
    • Для перестановки Цезаря вы можете переставлять буквы на любое количество мест, которое вы хотите, вперед или назад. Только убедитесь что правила перестановок одинаковы для каждой буквы.
    • Всегда уничтожайте расшифрованные сообщения.
    • Если вы используете свой собственный код, не делайте его слишком сложным, чтобы остальные не смогли его разгадать. Он может оказаться слишком сложным для расшифровки даже для вас!
    • Используйте азбуку Морзе. Это один из самых известных кодов, поэтому ваш собеседник быстро поймет, что это.

    Предупреждения

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

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

Изучение криптографии в обеих её ипостасях (шифровка и дешифровка) позволяет научиться находить связь между шифрованным, запутанным, непонятным посланием и смыслом, который в нём таится. Проходя исторический путь от шифра Юлия Цезаря до RSA-ключей, от розеттского камня до эсперанто, мы учимся воспринимать информацию в непривычном нам виде, разгадываем загадки, привыкаем к многовариантности. И главное – учимся понимать: как разных, непохожих на нас людей, так и математико-лингвистические механизмы, которые лежат в основе каждого, абсолютно каждого послания.

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

Трепещут на ветру флаги, ржут разгорячённые кони, бряцают доспехи: это Римская империя обнаружила, что в мире ещё есть кто–то, кого они не завоевали. Под командованием Гая Юлия Цезаря находится огромная армия, которой надо быстро и точно управлять.

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

Но вот захвачен посланник, злоумышленник разворачивает записку… и ничего не понимает! «Наверное, – чешет он в затылке, – это на каком–то неизвестном языке…». Рим торжествует, его планы в безопасности.

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

Алфавит как бы «сдвинут» на одну букву, правда? Поэтому этот шифр ещё называют «шифром сдвига» и говорят «используем шифр Цезаря со сдвигом 10» или «со сдвигом 18». Это значит, что надо «сдвинуть» нижний алфавит не на 1, как у нас, а, например, на 10 – тогда у нас вместо «а» будет «й», а вместо «у» – «э».

Сам Цезарь использовал этот шифр со сдвигом 3, то есть его таблица шифрования выглядела вот так:

Точнее, она бы так выглядела, если бы Цезарь жил в России. В его случае алфавит был латинский.

Такой шифр достаточно легко взломать, если вы профессиональный шпион или Шерлок Холмс. Но он до сих пор подходит для того, чтобы хранить свои маленькие секреты от посторонних глаз.

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

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

Что такое «взломать код»? Это значит – придумать способ его разгадать, не зная ключа и смысла шифра. Шифр Цезаря тоже когда-то был взломан – так называемым «методом частотного анализа». Посмотрите на любой текст – гласных в нём гораздо больше, чем согласных, а «о» гораздо больше, чем, например, «я». Для каждого языка можно назвать самые часто и редко используемые буквы. Надо только найти, какой буквы больше всего в зашифрованном тексте. И скорее всего это будет зашифрованная «о», «е», «и» или «а» – самые часто встречающиеся буквы в русских словах. А как только ты знаешь, какой буквой обозначили, например, «а», ты знаешь, и на сколько «сдвинут» шифрованный алфавит, а значит, можешь расшифровать весь текст.

Когда разгадку кода Цезаря узнал весь мир, криптографам пришлось придумать что-нибудь помощнее. Но, как часто бывает, люди не стали изобретать что–то совсем новое, а усложнили уже имеющееся. Вместо того, чтобы шифровать все буквы по одному и тому же сдвинутому алфавиту, в тайных посланиях их стали использовать несколько. Например, первую букву шифруем по алфавиту со сдвигом 3, вторую – со сдвигом 5, третью – со сдвигом 20, четвертую – снова со сдвигом 3, пятую – со сдвигом 5, шестую – со сдвигом 20 и так далее, по кругу. Такой шифр называют полиалфавитным (то есть многоалфавитным). Попробуйте, так ваш шифр уже может разгадать только тот, кто посвящён в тайны криптографии!

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

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

Мы можем разделить все зашифрованные буквы на две группы: буквы, зашифрованные со сдвигом 5 (1, 3, 5, 7, 9, 11, 13, 15, 17, 19) и буквы, зашифрованные со сдвигом 3 (2, 4, 6, 8, 10, 12, 14, 16, 18, 20). И внутри каждой группы искать, какие буквы встретились нам чаще остальных – так же, как в шифре Цезаря, только мороки побольше.

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

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

В криптографии сообщение, которое надо передать, называется «открытым текстом», а зашифрованное сообщение – «шифрованным текстом». И правило, по которому текст зашифрован, называется «ключом шифра».

Незаметно подкрался XX век. Человечество всё больше надеется на машины: поезда заменяют повозки, радио появляется почти в каждом доме, и уже встали на крыло первые самолеты. И шифровку тайных планов в конце концов тоже передают машинам.

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

theromanroad.files.wordpress.com

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

Всё дело в том, что польский ученый Мариан Реевский однажды подумал о том, что раз придумали машину для шифровки сообщений, то можно придумать и машину для расшифровки, и первый свой образец называл «Бомба». Не из-за «взрывного» эффекта, как можно было бы подумать, а в честь вкусного, круглого пирожного.

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

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

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

Никто не знал, что же значат все эти иероглифы. Что египтяне имели в виду, рисуя птиц и скарабеев. Но в один счастливый день французская армия обнаружила в Египте «Розеттский камень».

На этом камне была надпись – одна и та же, на древнегреческом, египетском буквенном (демотический текст) и египетском иероглифическом. Историки того времени хорошо знали древнегреческий, поэтому что же написано на камне они узнали быстро. Но главное, что, зная перевод, они смогли раскрыть тайны древнего египетского языка. Демотический текст был расшифрован достаточно быстро, а вот над иероглифами историки, лингвисты, математики, криптографы ломали голову долгие годы, но в конце концов всё-таки разгадали.

И это была большая победа криптографов – победа над самим временем, которое надеялось спрятать от людей их историю.

Но среди всех этих разгаданных шифров есть три особенных. Один – это метод Диффи – Хеллмана. Если маленькое сообщение зашифровать этим методом, то, чтобы его расшифровать, надо взять все компьютеры в мире и занять их этим на много-много лет. Именно он используется сегодня в Интернете.

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

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

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

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