Владимиp Жельников

Кpиптогpафия от папиpуса до компьютеpа

  -М., ABF, 1996

 

    ВВЕДЕНИЕ

 

    "Сограждане!" - начал он взволнованным голосом,  но  так  как

речь его была секретная, то весьма естественно, что никто  ее  не

слыхал.

 

                                          М. Салтыков-Щедрин.

                                       "История одного города "

 

Решительно  нет  никакой   возможности   понять   пути   развития

человеческого общества в  отрыве  от  его  жгучего  стремления  к

тайнам. Политики и военные, священники  и  торговцы,  писатели  и

ученые, шарлатаны и  аферисты  тысячелетиями  развивали  науку  о

секретах, доводя их создание  до  совершенства,  служили  тайнам,

насыщали свои потребности в них. Без тайн не может быть не только

государства, но даже  малой  общности  людей  -  без  них  нельзя

выиграть сражение  или  выгодно.  продать  товар,  одолеть  своих

политических  противников  в  жестокой  борьбе  за   власть   или

сохранить первенство в технологии. Тайны составляют основу науки,

техники и политики любой человеческой формации, являясь  цементом

государственности.

 

История хранит так много секретов,  что  просто  удивительно,  до

чего людям они необходимы. Служба безопасности пытается делить их

на ряд уровней:  от  для  служебного  пользования  до  совершенно

секретно и сугубо доверительно. Американский физик Ричард Фейнман

шутил, что при работе над созданием атомной бомбы  ему  наряду  с

документами, имеющими  пометку  ingest  after  reading,  то  есть

буквально съесть после прочтения, попадались иногда бумаги  и  со

штампом уничтожить до прочтения. Сколь  ни  высоконаучна  теория,

лежащая в основе такой классификации, она  сводится  к  заурядной

дискриминации групп людей, нарушая их  естественные  права.  Если

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

то степень секретности классифицировать абсурдно. Доклад  Хрущева

на XX съезде  партии  о  культе  личности  Сталина  представлялся

секретным  лишь  для  партаппарата,   но   не   для   большинства

обывателей, прекрасно знавших положение в обществе.

 

Секрет для каждого конкретного человека либо есть, либо его  нет.

Более того, вскрытие тайны аналитически не только  не  составляет

преступления, а являет торжество человеческого  разума  и  должно

приветствоваться, если делается  открыто,  из  лучших  побуждений.

Французы говорят: "Удел богов -  создавать  тайны,  а  королей  -

раскрывать". Действительно, покажите специалистам лишь один  узел

сложного  устройства,  и  они  реконструируют  полный  его   вид,

назначение и характеристики. Если биолога спросить, чем  питаются

черти, то  ответ  будет  однозначным:  "Рога  и  копыта  -  явные

признаки травоядных!"

 

Эта книга познакомит читателей с одним из величайших видов тайн -

наукой о шифрах или криптологией. Изобретенная тысячелетия  назад

письменность  обладает  свойством  вседоступности,   которое,   в

зависимости от  получателя  сообщения,  можно  рассматривать  как

полезное, или как вредное. Мы  обычно  рады  получить  письмо  от

знакомых, но бываем не в восторге, заметив, что конверт вскрыт  и

с  его  содержимым   кто-то   ознакомился.   Потому   параллельно

письменности, развивается секретное  письмо,  сиречь  по-гречески

криптография. Она предназначена спрятать смысл письма  от  просто

грамотных  людей  и  сделать  его  доступным  лишь   определенным

адресатам. Поскольку компьютер революционно расширил в  последние

годы  сферу  письменности,   то   почти   одновременно   возникла

потребность столь же большого  развития  криптографии.  Насколько

актуально ее использование сейчас - судите сами.

 

http://kiev-security.org.ua

САМЫЙ БОЛЬШОЙ В СЕТИ ОБЪЕМ ОНЛАЙН ИНФОРМАЦИИ ПО БЕЗОПАСНОСТИ на rus

 

 

 

От кого же придется защищать свои данные? Пословица  гласит:  "От

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

российская  внешняя  разведка  готова  отечественным   структурам

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

практике это может выглядеть таким образом. Россиянин ведет  свое

дело в США, а наша разведка, выкрав там его секреты, продаст их в

России совместной с американцами фирме. Теория  честного  жулика,

который в своем доме не ворует, в  данном  случае  порочна.  Наши

разведчики и их шпионы мирно  договариваются,  какими  секретами,

похищенными в  своих  странах,  они  согласны  обменяться  и  как

поделить вырученные от этого деньги.  Стремление  государственных

секретных  служб  ввести  свои  правила  шифрования   частных   и

коммерческих данных означает ни что иное,  как  желание  Старшего

Брата выведать их.

 

Автору  неизвестны  случаи,  котда  служба   внешней   российской

разведки оказала значимую помощь стратегическим разработкам. Люди

постарше вспомнят, как во время своего визита  в  США  Хрущев  на

банкете в Калифорнии целовался с неким  режиссером,  смущая  этим

российских  телезрителей.  Так   вот,   брат   этого   режиссера,

"секретный" физик Бруно Понтекорво в разгар холодной  войны  1950

года бежал в Россию из американского атомного центра  Лос-Аламос,

прихватив  элементы  технологии  производства  ядерного   оружия.

(Сейчас известно, что технологии создания водородной  бомбы  тоже

были украдены СССР из США  и  произвели  большое  впечатление  на

Сахарова, но не ускорили собственных разработок.) Но  большинство

разведчиков невысоко оценивают вклад шпионажа России  в  создание

ею атомной  и  водородной  бомб,  так  как  приближенные  формулы

расчетов из СССР оказались удобнее и точнее  американских.  Кроме

того,  наш  метод  обогащения  урана   по   разности   плотностей

соединений U235 и U238 был проще и эффективнее метода  собачников

из Лос-Аламоса, производящего обогащение урана за счет разницы  в

скоростях диффузии изотопов. В годы  холодной  войны  объем  краж

технологий  дошел  до  абсурда  -  американские   и   "корейские"

самолеты, обладая  идентичными  системами  СВОИ-ЧУЖОЙ,  не  могли

отличить друг друга по изображениям на экранах радиолокаторов.

 

Другого рода случай произошел в  начале  60-х,  когда  хрущевская

оттепель упразднила "железный занавес", отделявший  соцлагерь  от

буржуазного мира. Тогда разведки  беспокоил  вопрос  о  состоянии

разработок  жидкого  ракетного  топлива  у  врагов.  Поэтому  КГБ

устроило  международную  "научную"   конференцию   по   ракетному

топливу, строго-настрого запретив  своим  специалистам  приводить

конкретные факты о достижениях. Однако спецы из ЦРУ подло провели

наших, заявив: "Не будем задавать вопросов, но  сами  ответим  на

любые". По характеру заданных на  радостях  вопросов  они  многое

узнали  и  о  направлениях  российских  исследований,  и  об   их

состоянии, сократив тем самым свое отставание в  создании  мощных

баллистических ракет на пару лет. Теперь, если на одну чашу весов

положить "подарки" разведки, а на другую сумму секретов, уплывших

за кордон из-за двойной игры или промахов, то неизбежно последует

грустный вывод, что научный и экономический  шпионажи  аморальны,

принося  крупный  ущерб  даже  стране,  их  применяющей.  И  пока

существуют  разведки,  будет  угроза  раскрытия  конфиденциальных

данных.

 

Правительства всех стран мира  стремятся  лишить  людей  интимной

жизни:  письма  читаются,  телефоны   прослушиваются,   багаж   и

носильные вещи досматривается, за людьми наблюдают. Вместе с  тем

все больше наши частные сообщения идут  по  электронным  каналам.

Сначала были телефоны, потом  появились  факсы  и  наконец  вовсю

заработала  электронная  почта.   Сообщения   электронной   почты

особенно легко перехватывать или сканировать по ключевым  словам,

что широко делается как правительственными органами, так хакерами

и  просто  любопытными.   Международные   отправления   все   без

исключения читаются государственными службами.

 

Несомненные  предвестники  апокалипсиса,  как  взрыв   Чернобыля,

высыхание  Арала,  озоновые  дыры   и   братоубийственные   войны

затмевают в нашем  сознании  важность  сохранности  личных  тайн,

давно грозящую перерасти в проблему,  последствия  которой  могут

стать катастрофическими  уже  в  ближайшем  будущем.  Трогательно

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

писем, телеграмм и телефонных разговоров охраняется Конституцией,

должны понять: она лишь дает право на такую защиту,  но  охранять

сама не может.  У  московского  международного  почтамта  нередко

можно найти валяющиеся на тротуаре  вскрытые  письма,  так  и  не

дошедшие  до  получателя.  Известная  американская   киноактриса,

ознакомившись со своим досье в ФБР, воскликнула: "Боже, так я всю

жизнь купалась в стеклянной ванне на людном перекрестке!" Поэтому

когда США в 1994 году пытались  принять  за  стандарт  шифрования

Clipper, позволяющий правительству читать любые частные шифровки,

то более 50000  американцев  направили  по  электронной  почте  в

Вашингтон протесты.

 

Впрочем,   порой   некомпетентные   сотрудники,   отвечающие   за

безопасность, страшнее шпионов. Примером этого является известное

дело Prestel, имевшее  место  в  начале  80-х  годов,  когда  был

взломан  "электронный  почтовый  ящик"   герцога   Эдинбургского.

Администратор,   отвечающий   за   работу   системы    британской

электронной  почты  Prestel,  по  халатности  оставил  на  экране

дисплея свой  пароль  доступа  к  системе,  и  он  стал  известен

злоумышленникам.   Другой   казус,   вполне   объяснимый   низкой

компетентностью служб безопасности произошел,  когда  бельгийский

премьер-министр Вифред Мартене обнаружил, что  посторонние  через

компьютерную сеть  имеют  доступ  к  государственным  секретам  в

личных  файлах  членов  кабинета  министров.  Несколько   месяцев

электронная  почта  Мартенса,  включая  секретную  информацию  об

убийстве   британского   солдата   террористами   из   Ирландской

Республиканской Армии в Остенде, была доступна  любопытным.  Один

из взломщиков для саморекламы показал  газетному  репортеру,  как

просто ворваться в компьютер Мартенса, получив  доступ  к  девяти

свежим  письмам  и  шифру.  Более   того,   в   течение   часовой

демонстрации, он "столкнулся" с другим вором,  грабившим  тот  же

самый компьютер.

 

Кроме этой проблемы, есть и не менее важная сейчас, пусть не  для

личности,  но  для  страны  -  сохранность  данных  исследований,

разработок и стратегической управляющей информации в компьютерных

системах.  От  этого  напрямую  зависит  безопасность   общества.

Например,  злоумышленное  нарушение  работы  программ  управления

ядерных реакторов Игналинской АЭС  в  1992  году  по  серьезности

возможных последствий приравнивается к Чернобыльской  катастрофе.

Основная опасность "дьяволов компьютерной преступности" состоит в

том,  что  им,  как  правило,   успешно   удается   скрыть   свое

существование  и  следы  деятельности.   Можно   ли   чувствовать

опасность, если ЭВМ находится дома,  а  доступ  к  ней  ограничен

паролем? Однако  известен  случай,  когда  копирование  данных  с

такого компьютера сделал ребенок, не подозревавший ничего плохого

и рассчитывавший, запустив данную ему другом дискету, поиграть  в

новую оч-чень интересную игру.

 

Статистика    экономических    преступлений    западного     мира

демонстрирует их  перемещение  в  область  электронной  обработки

данных.  При  этом  лидирующее  положение  занимают  махинации  в

банках, которые сводятся к изменению  данных  с  целью  получения

финансовой выгоды. Новизна компьютерных  преступлений  состоит  в

том, что информация, представляющая активы фирм, теперь  хранится

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

виде, а в неосязаемой и  считываемой  только  машинами  форме  на

электронных устройствах хранения. Раскрывается лишь малая  толика

компьютерных   преступлений,   так   как   финансовые    компании

предпочитают  о  них  умалчивать,  чтобы  не  потерять  престижа.

Удивительно поэтому было заявление Сити банка, что  за  1994  год

выявлено около ста попыток электронных краж из России и  половина

из них окончилась  удачно,  нанеся  ущерб  на  десятки  миллионов

долларов. В связи с этим из прессы  стали  известны  имена  таких

петербуржцев, как Владимир Левин и  супруги  Корольковы  (Похоже,

что это были рядовые исполнители.).

 

Эксперты считают, что около 70% финансовых преступлений в  банках

совершают свои  сотрудники,  связанные  с  обработкой  данных  на

вычислительной  технике.  Цена  каждого  подобного  проникновения

составляет в США от десятков тысяч до  миллиона  долларов  и,  по

оценке  криминалистов,  убытки  от  незаконного  проникновения  в

финансовые  автоматизированные  системы  оцениваются  минимум   в

десятки миллионов долларов ежегодно. Кто знает,  чем  был  вызван

"черный понедельник", 10  октября  1987  года,  когда  компьютеры

многих бирж и  банков  Уолл-стрита  внезапно  стали  распродавать

акции, которые в то время следовало бы придержать?

 

За  примерами  легкости  потрошения  закрытых   для   посторонних

компьютеров  далеко  ходить  не  надо.  Для  демонстрации   своих

возможностей хакеры неоднократно взламывали секретные системы  на

глазах изумленных экспертов. Термин хакер (По-русски hacker ближе

всего к словам трудяга, поденщик, наемный рабочий.  Хакерами  еще

порой  называют  журналистов,  пишущих  скандальные   статьи   по

заказу.)   стал   впервые   использоваться    в    Массачусетском

технологическом   институте   в   начале    семидесятых    годов,

применительно   к   молодым   программистам   и   проектировщикам

аппаратных средств ЭВМ, которые в гаражах  и  подвалах  мастерили

первые персональные компьютеры  и  даже  пытались  продавать  их.

Позднее   газетчики   стали   называть   хакерами    компьютерных

преступников всех родов и мастей.

 

Чтобы  понять  истоки  нынешнего  компьютерного   разбоя,   нужно

осмыслить социальный климат 60-х на Западе. То поколение молодежи

вырастало в мирное время, прочувствовав на себе массу  социальных

несправедливостей. С  вовлечением  США  во  Вьетнамскую  войну  и

призывом на нее студенты нашли первую  причину  для  протеста,  и

университетские   городки   заполнили   демонстранты.   Расстрелу

манифестантов  в  Беркли  молодежь  противопоставила  не   прямое

насилие, а лояльные формы неповиновения, в виде  демонстративного

сожжения призывных документов и разрушения данных  в  компьютерах

Министерства обороны.

 

Другой аспект современного  мира  волновал  молодежь  не  меньше:

почему миллионы людей  живут  в  бесконечной  бедности.  Казалось

простым и логичным обвинить в этой бедности  государство  и  тех,

кто побогаче. Молодое поколение хотело изменить все сразу  вызвав

хаос, переходящий в анархию. В итоге это  привело  ее  к  лозунгу

"Грабь награбленное" и породило сложные нравственные проблемы. Но

все хорошее в жизни, утверждают скептики,  либо  незаконно,  либо

аморально. Мелкое пакостничество хакеров хотя занятие  совсем  не

из порядочных, но есть масса куда более порочных и по-человечески

менее  привлекательных.  Стремление   политиков   к   власти,   а

бизнесменов к деньгам, например.

 

Число хакеров много больше, чем кажется на первый  взгляд,  а  их

незаконные действия имеют очень широкий диапазон от подглядывания

чужих секретов из простого  любопытства  до  грабежа  и  убийств.

Представьте  себя  юнцом,  который  понял,  как   можно   сделать

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

общению с друзьями из других городов и стран в  его  руки  попали

подробные инструкции о том, как  можно  стянуть  деньги  с  чужой

кредитной карточки. Искушение надуть  знаменитую  компанию  вроде

VISA велико, а действительные последствия ареста, да и  сама  его

возможность   из-за   недостатка   жизненного    опыта    кажутся

расплывчатыми.

 

Человек, назвавшийся Мануэлем Вайлариалом, заказал по телефону  в

США компьютер и сообщил продавцу, что Билл Майер придет  отобрать

для него товар днем позже. Продавец магазина стал подозрительным,

заметив  чрезмерное  волнение  юноши,  представившегося  Майером.

Поскольку юноша не  смог  вполне  доказать  свои  полномочия,  то

продавец   предложил    ему,    чтобы    Вайлариал    пришел    и

засвидетельствовал себя лично. После ухода парня продавец  вызвал

полицию и Майера, известного также как хакер по кличке "Петр  1",

арестовали  меньше,  чем  за  день.  Он  был  обвинен  в  попытке

использовать чужую кредитную карточку и полицейские  конфисковали

у него сотни дискет, пытаясь  их  "обыскать".  "Мы  распечатывали

содержимое лишь одного файла в  течение  трех  часов  подряд,"  -

посетовал полицейский журналистам. Этот файл содержал по  крайней

мере 10000 фамилий, с  номерами  кредитных  карточек,  датами  их

истечения,   адресами,   номерами   телефонов   и    водительских

удостоверений.

 

Вскоре стал известен другой инцидент.  Парень  зарезервировал  по

телефону в гостинице место, дав номер своей  кредитной  карточки.

Лишь когда он съехал, дежурный администратор  гостиницы  заметил,

что кредит  в  $500  за  номер  был  сделан  по  его  собственной

карточке. Прочтя вскоре  в  газете  о  "Петре  1",  администратор

вспомнил, будто в  день  заказа  молодым  человеком  гостиничного

номера был сбой в системе их компьютера и хотел узнать в  полиции

- не связано  ли  это  с  "Петром  1".  Увы,  полиция  не  знала.

Должностные лица гостиницы тем не менее  утверждали:  их  ограбил

хакер,  потому  что  нанятый  ими  антихакер  доказал  оформление

кредита через телефонный модем, а не с терминала в гостинице, как

это принято. Полиции точно так же не удалось связать дело  "Петра

1"  с  9  компьютерными  кражами  в  Вашингтонском  университете.

Полиция нашла невероятным, чтобы хакеры  могли  взломать  систему

университета. Они, может,  и  хотели  бы,  однако  в  полиции  не

представляли себе, как можно было это сделать.

 

Дело доходило до того, что подростки в США играли  -  кто  больше

взломает компьютеров государственных учреждений. Тринадцать  юных

хакеров были обвинены во  взломе  компьютера  университета  штата

Вашингтон  и  причинении  дорогостоящего   повреждения   файловой

системе. Один из них, учащийся школы 14 лет из  Нью-Йорка,  кроме

того подозревался в блокировании компьютера ВВС Пентагона.  Хакер

по  кличке  "Зод"  подобрал  пароль,  который   давал   студентам

университета легальный  доступ  к  системе  и  захватил  над  ней

контроль,  загрузив  в  компьютер  собственную  программу,  через

которую и другие могли бы незаконно  войти  туда.  Благодаря  ему

толпа из полусотни хакеров,  ворвалась  в  систему  университета,

видоизменяя и удаляя  файлы  пользователей.  "Зод"  был  выслежен

через телефонную сеть администратором системы.  Аресты  и  обыски

были произведены сразу в 17 местах, где полиция  конфисковала  на

$50000 компьютеров и оборудования. Большинство хакеров  проникают

в системы из чистого любопытства и удовлетворения от  отгадывания

паролей. "Зод" из их числа, но последствия его действий оказались

плачевными.

 

Действия хакеров нередко дискредитировали государственные  службы

безопасности.  Образцами  беззащитности  компьютерных  систем  от

хакеров служат и бесплатное предоставление младшему американскому

школьнику свободного доступа к военной вычислительной сети,  лишь

бы только он перестал блокировать работу ее узлового  процессора,

и доказательство  возможности  коррекции  орбиты  спутника  НАСА,

сделанное любителями из клуба ССС  (  ССС  (ChaosComputerClub)  -

клуб европейских хакеров.) в 1986 году.  Тогда  же  расследование

полиции  Амстердама,  в  сотрудничестве  с  бригадой  разведки  и

географического отдела науки Свободного  университета  привело  к

аресту двух  хакеров.  Они,  вторгаясь  в  компьютерные  системы,

нанесли ущерб более  чем  на  сто  тысяч  голландских  гульденов.

25-летний компьютерный инженер  по  кличке  Fidelio  и  21-летний

студент по кличке Wave, были первыми хакерами, которых арестовали

в Нидерландах. Из операционной системы UNIX своего компьютера они

были способны получить доступ к другим ЭВМ  в  США,  Скандинавии,

Испании  и  Италии,  где  крали  пароли,  программы  и   закрытые

технические данные.

 

Убытки от  компьютерной  преступности  оценить  трудно,  но  один

миллион долларов, украденный с помощью ЭВМ Джерри  Шнайдером  при

выставлении счетов за оплату телефонных разговоров в 60-х  годах,

давным-давно стократно превзойден и вычеркнут из  книги  рекордов

Гиннесса. Приведем еще несколько коротких примеров. В  1987  году

вскрыта    многомиллионная    кража    из    компьютера     фирмы

Фольксвагенверк.  Зафиксирована  чуть  не  закончившаяся  успехом

попытка    выкрасть    хакерами    15,2    миллионов     долларов

государственного лотерейного фонда штата Пенсильвания. Трое боль-

ных раком скончались из-за модификации программы  радиологической

облучающей установки, задавшей им в 100 раз  более  высокие  дозы

облучения.

 

Если  события  в  дальних  странах  представляются   как   мягкий

ландшафт, прикрытый дымкой, то происходящее на  родине  ослепляет

от близости контрастами ярких красок. Поэтому  про  Россию  очень

сложно  писать  непредвзято.  В  бывшем  СССР  обстановка   много

сложнее, чем  на  Западе.  Хотя  наша  компьютерная  преступность

родилась лишь в конце семидесятых годов, но попав на  благодатную

российскую почву,  где  нет  ограничивающих  ее  законов,  быстро

разрослась  в  лавину,  грозящую  смести  зачатки  информационных

отраслей экономики. В 1991  году  из  Внешэкономбанка  с  помощью

компьютера похищено $125000. Лишь в сентябре 1994  года  в  ОПЕРУ

Сбербанка Москвы выявлено больше чем  на  сто  миллиардов  рублей

фальшивых электронных авизо и арестовано три хакера.  Неизвестные

хакеры  годом  ранее  пытались  похитить  по  компьютерной   сети

Центробанка 68 миллиардов  рублей.  Всего  по  данным  ЦБ  России

ежеквартально  выявляется  фиктивных  электронных   платежей   на

десятки миллиардов рублей.

 

Усиление зависимости деловых и научных кругов  от  ЭВМ  наряду  с

озабоченностью   общественности,   что    обработка    информации

затрагивает  личные  интересы  граждан,  привела  к   возрастанию

внимания к проблемам защиты конфиденциальных данных в компьютерах

от незаконного доступа. Нельзя сказать, чтобы  такими  проблемами

раньше  никто  не  занимался.  КГБ   имел   специальную   службу,

защищающую партийную и дипломатическую связь от ознакомления с ее

секретами непричастных (8 управление КГБ занималось шифрами.).  В

армии  вопросами   секретной   связи   ведало   ГРУ   -   Главное

разведывательное управление, теснейшим образом связанное  с  КГБ,

специализирующееся на разведке и  отлично  финансируемое.  Однако

эти учреждения  всегда  ставили  перед  собой  и  противоположную

задачу - добиться, чтобы никто из граждан России не смог защитить

свои данные от их взора. Общество по сей день  не  только  лишено

малейших  познаний  в  криптографии,  но  и  редкие   публикации,

появлявшиеся  в  печати  до  распада  СССР,  представляли  грубую

дезинформацию. Из  сообщений  в  прессе  и  по  телевизору  можно

сделать вывод,  что,  обладая  абсолютной  монополией  в  области

засекречивания, государственная криптографическая  служба  России

стремится и впредь ее сохранять.

 

На Западе у фирм  факсы  и  телефоны  оснащены  криптографическим

оборудованием, а как быть нашим коммерсантам? Отечественные сред-

ства  засекречивания  могут  расколоться  при  первой  же  атаке,

вследствие того что  меньшая  часть  их  не  имеет  теоретической

основы, а  большая  сделана  в  лабораториях  тех  же  спецслужб.

Вспомните - шла иракская война, когда появилось сообщение,  будто

французы кодовым сигналом отключили бортовые компьютеры самолетов

"Мираж" армии  Хусейна.  Можно  ли  быть  уверенным  в  том,  что

спецслужбы нс оставили себе "ключ от черного входа" к шифрам?  Но

кто   в    России    кроме    ФАПСИ,    Федерального    агентства

правительственной связи  и  информации,  пришедшего  на  смену  8

управлению  КГБ,  способен  провести  экспертизу  средств  защиты

данных? Может быть, стоит приобретать такие средства за  рубежом?

Однако почти все правительства проводят политику запрета  доступа

к секретам криптографических  служб  и  систем  защищенной  связи

Контроль за экспортом в США ограничивает  развитие  внутренних  и

международных криптографических служб. Билль сената S266 от  1991

года требует чтобы  американское  криптографическое  оборудование

содержало ловушки, известные лишь АНБ ( (NSA - National  Security

Agency) - Агентство национальной безопасности  США,  занимающееся

шифрами. Оно больше и лучше финансируется, чем ЦРУ и  ФБР  вместе

взятые.)  ,  а  чиновники  могли   прочесть   любые   шифрованньк

сообщения, а это подрывает общественное доверие к технике из США.

Там в 1992  году  ФБР  предложило  конгрессу  закон,  облегчающий

подслушивание  телефонных  сообщений,  и   это   вызвало   резкое

возмущение общественности. Однако наибольшее вторжение  в  личные

секреты Белый Дом осуществил в 1993  году,  пытаясь  утвердить  в

качестве государственного стандарта криптографическую  микросхему

Clipper для употребления при засекречивании в телефонах, факсах и

электронной почте. Компания AT&T ставит микросхему Clipper во все

свои изделия, обеспечивающие конфиденциальность.  Вместе  с  тем,

что каждый пользователь может  установить  свой  секретный  ключ,

правительство США будет  иметь  возможность  свободно  читать  их

сообщения, так как имеет ключи oт "черного входа" в Clipper.

 

Далее, лишь квалифицированные пользователи  способны  качественно

эксплуатировать сложную шифровальную технику. Давным-давно  ходил

анекдот, как неизвестный доброжелатель  посоветовал  специалистам

фирмы  "Хагелин",  производящей  криптографическое  оборудование,

сделать ревизии своих изделий, поставленных одной азиатской стра-

не. Оказалось, что там, в установленном силами  местных  умельцев

шифрующем блоке,  телеграфные  сигналы  шли  помимо  его  и  лишь

перепутанные  соединения  создавали  видимость  шифра.   Вызывает

серьезную   озабоченность   качество    используемых,    но    не

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

Стандарт США по засекречиванию,  именуемый  далее  DES,  выдержал

критику, а чего стоит стойкость к взлому неаттестованных  шифров,

например,  применяемых  в  таких  широко  распространенных  базах

данных, как Paradox  или  Access,  никто  кроме  криптографов  не

знает.

 

В настоящее время  люди,  которым  нужна  гарантированная  защита

своих данных от постороннего вмешательства, незнакомы даже  с  ее

основами. Эта книга, написанная на элементарном уровне,  задумана

азбукой по криптографии и предназначается в первую  очередь  тем,

кто работает на персональных компьютерах и  планирует  вести  там

защиту  своих  данных.  Все  же   автор   старался   сделать   ее

занимательной для широкого круга читателей, представив как первую

книгу  по  шифрованию.  Хочется   верить   что   все:   писатели,

журналисты, историки, деловые люди и школьники смогут найти в ней

для себя что-нибудь интересное и полезное.

 

Под  защитой  данных  далее  понимается  ряд  организационных   и

технических   мер   по   их   охране   с   целью    предотвратить

несанкционированный доступ  к  содержащемуся  в  них  смыслу  или

искажение. Большое внимание  в  книге  уделено  скучным  вопросам

административного  и  организационного  характера,  без   решения

которых  шифрование  бессмысленно.  Автор  придерживается   точки

зрения, что криптография состоит из истории, теории  и  практики,

которым посвящены  страницы  этой  книги.  Надлежит  сделать  ряд

замечаний. Во-первых, автор  не  претендует  на  всеобъемлющий  и

строгий научный подход, считая, приведенный  технический  уровень

вполне достаточным для начального  ознакомления.  Во-вторых,  он,

отнюдь, не считает изложенный материал не только полным: но  даже

абсолютно  точным,  когда  речь  идет  о  событиях,  еще  недавно

считавшихся государственной, дипломатической или военной  тайной.

Многие факты так и  не  удалось  перепроверить  из-за  отсутствия

доступных первоисточников, и к их изложению следует отнестись как

к анекдотам  или  вольному  пересказу.  В-третьих,  он  не  имеет

желания вступать в полемику по изложенным вопросам  и  предлагает

тому, кто может сказать  больше,  правильнее  или  лучше,  самому

написать книгу, а автор будет рад ее прочесть.

 

Непосредственным  поводом  к  написанию  этой   книги   послужило

сообщение о незаконном изъятии московскими властями в 1991 году у

фирмы МММ коммерческой  документации.  Невольно  подумалось,  что

стало  бы  делать  следствие  с  изъятыми  шифровками?  Жизнь  не

принимает сослагательного наклонения - ее требования конкретно  и

жестки. Видимо, по этой причине шифровальная техника стала широко

внедряться. Сейчас аппарат турой  засекречивания  оборудованы  не

только резиденция Патриарха Московского и Всея Руси  Алексия  II,

РТСБ и МЕНАТЕП, но и масса небольших коммерческих контор. Похоже,

перехват их корреспонденции не грозит превратиться в сенсации  на

страницах газет.

 

Хотя   традиционно   криптография    применялась    исключительно

вооруженными силами и дипломатическими службами,  но  сейчас  она

позволяет выполнять деловые операции путем передачи информации по

сетям   связи   с   использованием   методов   идентификации    и

аутентификации (идентификация и аутентификация  -  доказательства

авторств и подлинности  сообщения)  ,  цифровой  подписи,  выдачи

разрешений  на  транзакции  с  регистрацией  и  их   нотариальным

заверением, отметки даты, времени  суток  и  многое  другое.  Эти

новые  приложения  превращают  криптографию  в  технику  двойного

использования - для военных и  гражданских  целей.  Шифрование  в

гражданском  секторе   ведется   для   проведения   международных

банковских  операций,  электронного  обмена  информацией,  обмена

электронной почтой и коммерческих сделок по сетям связи более чем

1000 коммерческих организаций в России и не менее чем 600  банков

уже   используют   для   этого   специальные    криптографические

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

разделение  сфер  использования   криптографии   для   сохранения

секретности информации и для ее аутентификации. Это разграничение

явно выражено в новейших криптографических  системах  с  открытым

ключом. Криптография необходима  частному  коммерческому  сектору

экономики России для прогрессивного развития и применение  ее  не

должно  зависеть  лишь  от  интересов  ФАПСИ.  Это  относится   к

использованию   криптографических   алгоритмов,   их   прикладных

применений, общих методов управления ключами и их  распределения.

Газета "Московский комсомолец" в 1992 году опубликовала статью  с

утверждением, что шифры, созданные  коммерческими  специалистами,

ФАПСИ расколет за обеденный перерыв. Автор верит: после того, как

не знающие шифрования коммерческие специалисты прочтут эту книгу,

в ФАПСИ  обеды  станут  гораздо  продолжительнее.  Ему  непонятна

гордость засекреченных академиков неведомыми достижениями,  когда

лишенное элементарных  познаний  в  области  шифрования  общество

беззащитно от растущей компьютерной преступности. В  этом  смысле

Россия, перефразируя Марка Твена, напоминает рыцаря, надевшего на

голову мощный шлем, но выступающего  по  полю  битвы  голым,  без

доспехов и щита.

 

    ПРЕДМЕТ КРИПТОЛОГИИ

 

Описание предмета криптологии  начнем  с  доуточнения  обиходного

понятия информация. Иностранному  термину  информация  достаточно

близко отвечает русское слово смысл. Очевидно, что одну и  ту  же

информацию  можно  передать  разными  сообщениями,  например,  на

разных языках, а также письмом, телеграфом или факсом.  С  другой

стороны,  одно  и  то  же  сообщение  разными  людьми  понимается

по-разному. Например, при  сообщении  о  победе  "Спартака"  иной

футбольный болельщик обрадуется,  а  другой  может  и  огорчиться

Значит, можно сделать вывод, что информация людьми извлекается из

сообщения  с  помощью  ключа,   правила,   придающего   сообщению

конкретный  смысл.  Для  обычных  сообщений  такие  правила  дают

здравый смысл и знание языка.

 

Иногда  же,  ключом  владеет  лишь  узкая  группа  лиц,   знающая

специальные термины или жаргон. Например, на блатном языке начала

века сизюмаp пено означало число 75. Жаргон преферансистов хорошо

иллюстрирует анекдот. Кассир  спрашивает  у  мужчины,  снимающего

крупную  сумму   денег   со   счета:   "Гарнитурчик   собираетесь

прикупить?",  тот  со  вздохом  отвечает:  "Прикупил  вчера,   на

мизере".  У  программистов  на  персональных  компьютерах   можно

услышать массу специфических терминов: старая мама, кривой  винт,

косые флопы, полуось, огрызок.  О'Генри  в  "Королях  и  капусте"

привел пример, как написанная на нью-йоркском жаргоне телеграмма:

"...главный с кисейным товаром держит курс на соль..." - была  не

понята туземными чиновниками, сколько ни ломали себе они над  ней

голову. Но ее смысл, что президент Анчурии бежал с  любовницей  к

океану, сразу же разгадал американец Билли Кьоу, который  "...как

то ухитрился понять даже  приказ  улетучиться,  произнесенный  на

классическом китайском языке и подтвержденный дулом мушкета..."

 

Особую роль ключ имеет в криптографии, где его знание гарантирует

извлечение истинного смысла сообщения. Вспомните смешные  фигурки

из рассказа "Пляшущие человечки" Конан Дойля. Их рисунок  казался

детской шалостью, но привел в ужас героиню, которая,  зная  ключ,

прочла адресованную ей шифровку: "Илей готовься к смерти".

 

    Язык сообщения

 

Исходное  незнание  языка  сообщения  обычно  делает  невозможным

восприятие его смысла. Мужчина, привыкший к скромной символике на

отечественных  сигаретах,  так  и  не  смог  правильно   прочесть

название их нового  сорта:  "ПОКТОБ  ?"  На  пачке  под  красивым

княжеским гербом была не английская, а  русская  надпись  РОСТОВ.

Мало  кто  сможет  понять   запись   мана   дерутумо,   сделанную

по-нганасански, ведь знающих этот  язык  во  всем  мире  вряд  ли

больше  тысячи.  И  уж  совсем  невероятной  кажется  возможность

прочтения надписи на забытом языке. В  Большом  энциклопедическом

словаре написано: "Расшифровка  Ф.  Шампольоном  иероглифического

текста Розеттского камня положила начало чтению  древнеегипетских

иероглифов". В этом  высказывании  все  верно.  Однако  можно  ли

расшифровать письмена, которые не  были  зашифрованы?  Паскаль  в

своих "Мыслях" высказался: "Языки суть шифры, в которых не  буквы

заменены буквами, а слова словами, так что неизвестный язык  есть

легко  разгадываемый  шифр".  Но  криптологи   и   языковеды   не

поддерживают  это  мнение.  Поэтому  далее   употребление   слова

расшифровка  будет  относиться  лишь  к  прочтению  сообщений  на

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

изменения текста письма, чтобы сделать смысл его  непонятным  для

непосвященных, не знающих ключа.

 

Стоит сделать небольшое, но важное  замечание  Иногда  необходимо

русский  текст  напечатать  на  пишущей   машинке   с   латинским

алфавитом. Для этого можно воспользоваться соответствием  русских

бую латинским принятым  для  написания  международных  телеграмм.

Например,  SHESTOE  POCHTOVOE   OTDELENIE   GORODA   IAROSLAVLIA.

Заметим, буква Э передается так же как и буква Е:

 

Тем не менее  написанный  так  текст  останется  русским,  просто

изменится его кодировка, о чек будет рассказано ниже.

 

Язык существенно влияет на  структуру  текста  и  его  понимание.

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

решить  сколько  букв   будет   составлять   алфавит:   латинский

насчитывает  24-25  букв,  а   русский   31-32.   Неоднозначность

возникает потому, что при письме  часть  букв  заменяют  другими,

сходными по звучания или написанию.  Обычно  русскую  букву  Е  в

письме заменяют на букву Е, а букву Й на  И.  Каждый  язык  имеет

свой специфический алфавит, но, увы не  единственный.  Так,  хотя

болгарский и русский алфавиты, происшедшие  от  кириллицы,  почти

одинаковы, но в болгарском нет букв Е,  Ы,  Э.  Поэтому,  набирая

попеременно то русский, то  болгарский  тексты,  обычно  держатся

лишь русского алфавита, включающего в себя болгарский.

 

Сложнее всего дело с алфавитом обстоит  в  Европе  на  территории

эксреспублики Югославии, где  для  сербохорватского  языка  давно

используются сразу две основные  системы  письменности.  Одна  из

них,  вуковица,  названная  по  имени  Вуко  Кароджича,  является

подвидом  кириллицы  и  употребляется  главным  образом  сербами,

другая же, гаевица, представляет подвид латиницы  и  используется

хорватами.  Соответствие  между  буквами   вуковицы   и   гаевицы

неоднозначно, поскольку сербской  букве,  обозначающей  звук  ДЬ,

отвечают две, или даже три хорватские. Но это еще не  все.  Есть,

как минимум, два варианта сербохорватского произношения: екавский

и экавский, которые различно отображаются  на  письме.  Из  этого

примера хорошо видно, что справиться  с  неопределенностью  языка

сообщения без его знания вовсе непросто. По этому  поводу  Герман

Вейль удачно привел двустишие Готфрида Келлера: "Что это значит -

каждый знает, кто во сне верхом скакал без коня." По этой причине

язык сообщений криптологи считают заранее известным и алфавит его

фиксированным. Интересно заметить, во время Второй мировой  войны

сделать свои шифровки нечитаемыми для японцев  американцы  смогли

довольно простым путем: они набирали криптографов  из  небольшого

индейского племени Навахо и те вели  секретную  связь  только  на

своем родном языке.

 

    Тайнопись

 

Начиная с давних времен, люди обменивались  информацией,  посылая

друг другу письма. Древним  новгородцам  приходилось  сворачивать

свои берестяные грамотки текстом наружу - только  так  они  могли

перевозиться и храниться, не  разворачиваясь  самопроизвольно  от

изменения  влажности.  Это  походило  на   современные   почтовые

карточки, где текст тоже открыт для посторонних взоров. Пересылка

берестяных грамот была широко распространена, но имела  серьезный

изъян, содержимое посланий не было защищено ни  от  своекорыстных

интересов, ни от неуемного любопытства  иных  людей.  Поэтому  со

временем  послания  стали  свертывать  особо,  так,  чтобы  текст

оказывался внутри. Когда же  и  это  казалось  недостаточным,  то

письмо запечатывали восковой,  а  в  позднейшее  время  сургучной

личной печатью. Печати всегда были не столько в моде,  сколько  в

повседневном обиходе. Они обычно выполнялись в  виде  перстней  с

рельефными изображениями, и Эрмитаж в античном отделе  хранит  их

множество. Печати, придуманы  по  уверениям  некоторых  историков

китайцами, хотя древние камеи Вавилона,  Египта,  Греции  и  Рима

ничем от печатей не отличаются. Воск прежде, а  сургуч  и  поныне

помогают поддерживать секреты почтовой переписки.

 

Точных дат и бесспорных сведений о секретном письме  в  древности

сохранилось очень мало и в этой книге  многие  факты  даны  через

художественный анализ. Однако вместе с шифрами были,  само  собой

разумеется, и попытки сокрытия текста. В древней Греции для этого

однажды обрили раба, написали на  его  голове,  и,  когда  волосы

отросли, отправили с поручением к адресату. Отзвук  этой  истории

можно  встретить  в  "Гиперболоиде   инженера   Гарина"   Алексея

Толстого, где текст нанесли на спину мальчика. Если же гонец  был

надежен и даже под пытками не выдал бы послания, то его изложение

могло быть изустным. Боярин Иван Фрязин,  в  1469  году  выступая

сватом Великого князя  Иоанна  к  Софье  (Софья  -  племянница  и

наследница   последнего   византийского   императора   Костантина

Палеолога, принесшая России свой герб в виде двуглавого орла  как

приданое.),  имел   грамоту   следующего   содержания:   "Сиксту,

Первосвятителю  Римскому,  Иоанн,  Великий  князь   Белой   Руси,

кланяется и просит верить его послам".

 

Опишем  кратко,  но  не  будем  дальше  рассматривать   сообщения

симпатические, латентные или  скрытые.  Они  могут  быть  сделаны

специальными    техническими     средствами,     как     передача

остронаправленным   лучом,   надпись    бесцветными    чернилами,

проявляющаяся лишь после специального физического или химического

воздействия.   Именно   скрытые   сообщения   принято    называть

тайнописью, но не шифры. Популярные исторические книжки сообщали,

что российские революционеры в тюрьмах  использовали  в  качестве

симпатических чернил даже обычное молоко  -  и  это  правда.  При

нагревании на огне или горячим утюгом  такие  записи  становились

отчетливо видны. (Дейл  Карнеги  полагал,  что  для  "проявления"

такой тайнописи достаточно было погрузить письмо в  горячий  чай.

Здесь он не прав,  что  читателям  просто  проверить  на  кухне.)

Литератор Куканов в своей повести о Ленине "У истоков  грядущего"

рассуждал так: "Молоко в роли чернил -  не  самый  хитрый  способ

тайнописи, но порой, чем проще уловка, тем она надежнее".

 

Заглянем же  теперь  в  документ  под  номером  99312  из  архива

российской охранки: "Переписка химией состоит в следующем.  Пишут

на шероховатой, не глянцевой бумаге. Пишут сначала  обыкновенными

чернилами  какой-нибудь  безразличный  текст,  то  есть  что-либо

совершенно  безобидное,  ни  слова  о  делах.  Когда  это  письмо

написано, то берут совершенно чистое мягкое перо  и  пишут  между

строками, написанными чернилами, уже  то,  что  хотят  сказать  о

конспиративных делах. Это конспиративное письмо пишут химическими

чернилами,  то  есть  раствором  какой-нибудь  кислоты...".  Была

приведена выдержка из письма, сделанного  химией  революционерами

партии РСДРП, которое было отправлено в Россию  редакцией  газеты

"Правды" из Вены. Выявить и прочесть эту  тайнопись  Департаменту

полиции не составляло никакого труда, ведь именно в  России  были

разработаны и развиты способы чтения скрытых и стертых текстов  с

помощью фотографии и подбора  освещения,  применяемые  и  поныне.

Интересно, зачем долгие годы упорно  распространялась  легенда  о

трудности прочтения "молочной" тайнописи?

 

Позднее, физик  Роберт  Вуд  предложил  использовать  для  чтения

скрытых текстов явление люминесценции,  потрясшее  эффективностью

английские секретные службы, занимавшиеся этой проблемой. Биограф

Сибрук со слов Вуда описывает это так:

 

"Мне принесли большой гладкий чистый  штамп  военной  цензуры.  Я

натер его вазелином, затем, как следует вытер платком, пока он не

перестал оставлять следы на бумаге. Затем, я плотно прижал его  к

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

 

    - Можете ли вы обнаружить здесь запись? - спросил я.

 

Они  испытали  бумагу  в  отраженном  и  поляризованном  свете  и

сказали:

    - Здесь ничего нет.

 

    - Тогда давайте осветим ультрафиолетовыми лучами.

 

Мы взяли ее в кабинку и положили перед моим черным окошечком.  На

бумаге яркими голубыми буквами, как будто к ней приложили  штамп,

намазанный чернилами, светились слова: Секретных надписей нет.

 

Сокрытие текста достигло своих вершин после Второй мировой войны,

когда распространились  сверхминиатюрные  фотографии,  называемые

микроточками. Одна микроточка размером  с  обычную  точку  текста

могла содержать сотни страниц  документов  и  найти  ее  в  книге

среднего формата было много сложнее,  чем  пресловутую  иголку  в

стоге сена. Адвокат Рудольфа Абеля, оказавшегося  в  американской

каторжной  тюрьме  по  обвинению  в  незаконном  въезде   в   США

(Обвинение Абелю (Вильям Фишер) в шпионаже не предъявили  потому,

что за шпионах в США неизбежна смертная казнь, а  его  попытались

обменять на  американского  шпиона,  схваченного  впоследствии  в

СССР. В 1962 году Абель, отсидев в каторожной тюрьме 5 лет из 30,

был  обменян  на  пилота-шпиона  Пауэрса,  сбитого  в   советском

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

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

хотя бы материально. Однако этого не  удалось  сделать,  так  как

картины,  написанные  маслом  с  применением   непрозрачных   для

рентгеновских лучей. красок,  при  поиске  микроточек  непременно

были бы разрушены, а сам поиск занял бы годы  кропотливой  работы

ЦРУ. Поэтому в тюрьме Абелю пришлось  подрабатывать,  рисуя  лишь

прозрачные акварели.  Сейчас  нет  технических  проблем  записать

текст так мелко, что его вообще нельзя будет прочесть оптическими

средствами, а придется  рассматривать  в  электронный  микроскоп.

Такая технология используется при создании компьютерных микросхем

сверхбольшой  интеграции.  На  одном  квадратном  миллиметре   их

поверхности можно записать все  книги,  которые  когда-либо  были

напечатаны человечеством.

 

Чтобы  не  сложилось  впечатление,  что  симпатические  сообщения

бывают лишь у революционеров и шпионов, напомним ряд примеров  из

области компьютерных скрытых текстов.  Наиболее  ранняя  идея  их

создания относится к предложению форматировать  диск  под  размер

секторов отличный от принятого DOS. Когда же все  убедились,  что

такого рода сокрытие действует на хакеров как красная  тряпка  на

быка,  появились  более  глубокие  приемы,   где   форматирование

осуществляла  специальная  программа,  напрямую  обращающаяся   к

накопителю на гибких дисках.  В  ответ  немедленно  были  созданы

программы,  которые  могли  читать  любое   форматирование.   Для

сокрытия информации на дискетах широко используются их инженерные

дорожки, доступные для чтения,  но  не  воспринимаемые  дисковыми

операционными системами, а также так называемые короткие  зоны  и

неустойчивые биты (Weak bits - слабые, неустойчивые биты, которые

специально записаны  на  уровне,  промежуточном  между  0  и  1).

Вспомните сообщения о вирусах, которые прячутся в сбойных  блоках

- это тоже тайнопись своего рода. Кроме того, программой редакции

диска можно очень просто дописать информацию  в  свободной  части

хвостового кластера файла. Только стоит  ли?  Уж  слишком  просто

вскрывать. Симпатические сообщения имеют тот недостаток,  что  их

скрытность обусловлена лишь состоянием развития техники,  которая

стремительно   совершенствуется.   Прибегая    к    симпатическим

сообщениям, невольно приходится вступать в бесконечное состязание

меча и щита, которому нет  конца  -  на  каждый  щит  найдется  и

поражающий его меч. Любой способ создания  симпатического  текста

будет вскоре разрушен, и к этому нужно быть готовым. А что это за

секретность без гарантий стойкости?

 

Стоит несколько слов сказать и о квантовой криптографии,  которая

недавно еще представлялась как  фантастика,  поскольку  требуемая

для ее реализации технология казалась  фантастической.  Но  когда

Беннет и Брэссард в  1982  году  пришли  к  выводу:  роль  фотона

состоит не в хранении, а передаче информации, и можно разработать

квантовый  канал  открытого  распределения  секретных  ключей.  В

криптографии считается, что  линии  связи  всегда  контролируются

перехватчиком, которому , известно содержание  всех  передаваемых

сообщений, о чем могут и не знать абоненты. Но,  если  информация

кодируется неортогональными состояниями фотона, то нарушитель  не

может получить сведений даже о  наличии  передачи  без  нарушения

целостности  ее  процесса,  что  будет   сразу   же   обнаружено.

Перехватив  фотон,  злоумышленник  не  сможет  сделать  над   ним

несколько измерений, так как от первого же фотон разрушится и  не

даст ключевой  информации  в  необходимом  объеме.  Поэтому  даже

активный перехватчик не  сможет  правильно  передать  аналогичный

фотон получателю так, чтобы перехват не был бы замечен.

 

Дискуссия о тайнописи в  неожиданном  аспекте  прозвучала,  когда

правительство  США  попыталось  недавно  ограничить  или   вообще

запретить свободное применение  криптографии.  Однако,  возражали

оппоненты, полный ее запрет  не  повлечет  за  собой  прекращение

секретной связи. Во многих каналах коммерческой связи поток помех

значительно  превышает  долю  шифруемой   секретной   информации.

Поэтому шифрованные  секретные  биты  станут  прятать  в  обычных

сообщениях,  имитируя  небольшое  увеличение   шума.   Приводился

пример: в одном цифровом снимке Kodak Photo содержится  около  18

мегабайт  информации,  и  умело  произведенное  сокрытие  в   нем

мегабайта шифровки практически не ухудшит  качества  изображения.

Прятать шифровки очень просто потому, что они ничем  не  отличимы

от  обычного  шума  или  помех  в  каналах  связи.  Если  обычная

тайнопись легко читается, то  тайнопись  шифрованного  сообщения,

замаскированного под шум или сбои, найти  невозможно.  Интересный

вариант тайнописной шифровки был использован при  печати  на  ЭВМ

контрактов с клиентами в одной из московских  компаний.  За  счет

малозаметных искажений очертаний отдельных символов текста в него

вносилась  шифрованная   информация   об   условиях   составления

контракта. Эта тайнопись  выглядела  как  обычные  незначительные

дефекты  печати  и  обеспечивала  очень  высокую  степень  защиты

подлинности документа. В связи с  указом  Ельцина  об  аттестации

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

применение, можно предположить,  что  ФАПСИ  теперь  придется  не

только взламывать шифры, но и отыскивать их во тьме помех дрянных

каналов связи, предоставляемых коммерсантам.

 

    Коды и их назначение

 

К шифрам не относятся и коды - системы условных  обозначений  или

названий,  применяемых  при  передаче  информации  в  дипломатии,

коммерции и  военном  деле.  Кодирование  часто  применяется  для

повышения   качества   передачи.   Хорошо   известны   и   широко

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

каналам связи или хранении данных в памяти ЭВМ. Так, код Хемминга

хорошо себя зарекомендовал себя в аппаратуре  оперативной  памяти

ЭВМ  СМ-4.  Другой   многочисленный   класс   кодов   представлен

средствами сжатия данных, наподобие программ архивации ARC,  ARJ,

ICE, ZIP и сжатия дисков  на  IBM  PC.  Употребление  этих  кодов

вызвано не секретностью, а стремлением  сэкономить  на  стоимости

передачи или хранения сообщения.  Файлы  текстов,  изображений  и

программ содержат информацию с сильно отличающимися свойствами  и

программы их кодирования  должны  быть  разными.  Если  архиватор

хорошо сжимает текст, вовсе не значит, что он так  же  хорош  для

сжатия изображений или других данных.

 

Для  текстовых  файлов  чаще   других   употребляется   кодировка

Хаффмена, заключающаяся в  том,  что  символы  текста  заменяются

цепочками  бит  разной  длины.  Чем  чаще  символ,   тем   короче

обозначающая его цепочка. Рассмотрим пример кодирования  Хаффмена

текста МАМА МЫЛА РАМЫ с такой таблицей кодирования:

 

 

       СИМВОЛ  ЧИСЛО В ТЕКСТЕ  КОД

         А       4              00

         М       4              01

       пробел    2              100

         Ы       2              101

         Р       1              110

         Л       1              111

 

    Получим сообщение: 0100010010001101111001001100001101

 

Легко теперь подсчитать, что поскольку исходный текст состоит  из

14 символов, то при кодировке ASCII он занимает  112  бит,  в  то

время как кодированный по Хаффмену лишь 34 бита. При  кодировании

Лемпела и Зива, представляющим собой  развитие  метода  Хаффмена,

кодируются не символы, а часто встречаемые последовательности бит

вроде слов и отдельных фраз.  Текстовые  файлы  сжимаются  в  2-3

раза, но очень плохо, всего лишь на 10-15%  сжимаются  программы.

Нередко   используют   готовые   кодовые   таблицы,    так    как

статистические свойства языка сообщения обычно хорошо известны  и

довольно устойчивы.

 

Несколько особняком стоит сжатие звуковой информации, расширяющее

мультимедийные возможности  аппаратуры  и  программ.  Кодирование

Лемпела и Зива сжимает объем звуковой информации  всего  лишь  на

10%. Несомненно, что для более эффективного ее  уплотнения  нужны

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

Практически  все  алгоритмы   кодирования   звуковой   информации

используют два основных приема: кодирование пауз между отдельными

звуками  и  дельта-модуляцию.  При  записи  человеческого  голоса

важнее кодирование пауз, так как не  только  фразы,  но  и  слова

разделены достаточно длительными перерывами. Эффективность такого

кодирования может быть очень высока, но платить за нее приходится

потерей четкости высоких коротких звуков, например, С  и  Ц.  Это

легко наблюдать при  передаче  естественной  речи  по  голосовому

модему. А вот дельта-модуляция чаще применяется для  качественной

записи музыки и очень; похожа на  замену  представления  чисел  в

формате фиксированной точки на формат с плавающей запятой. Потери

от нее выражаются в  некоторой  приглушенности  звуков,  но  мало

искажаются тона.

 

Однако  самая  большая  работа   по   кодированию   ведется   над

изображениями,  скажем,  при  передаче  факсов.  Если  бы   образ

стандартного машинописного листа формата А4 не был  бы  сжат,  то

его передача даже при низком  разрешении  заняла  около  часа.  В

самых  распространенных  факсах,  принадлежащих  группе  III   по

классификации   Международного   консультативного   комитета   по

телеграфии  и  телефонии,  использованы   фиксированные   таблицы

кодировки. Похожую схему кодирования дает хорошо известный формат

представления графических файлов PCX. В нем очередной  байт  кода

может означать либо счетчик повторений, если он начинается битами

11, либо байтом точек  исходного  изображения.  Число  повторений

задается младшими  6  битами  байта  повторения,  то  есть  имеет

значение до 63. Изображение чистого листа бумаги при  этом  будет

сжато больше чем в  30  раз.  Более  сложные  схемы  сжатия  дают

форматы обмена и хранения графической информации GIF и  TIF.  Они

кодируют уже не строки точек изображения, а полоски строк  и  тем

самым достигают большего сжатия. Следует  предостеречь  читателей

от  попыток  сжатия  любой   информации   с   помощью   программ.

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

изображений, вроде JPEG  могут  искажать  информацию,  что  почти

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

данных. Именно за счет  некоторой  "чистки"  исходного  сообщения

JPEG удается достигать сжатия в 100 раз и больше. Без  сжимающего

объем   сообщения   кодирования   невозможно   было   создать   и

приобретающий  все   большую   популярность   видеотелефон.   Для

использования в нем МККТТ( (MKKTT - международный консультативный

комитет по телеграфии и телефонии.) рекомендовал стандарт Н.261 -

первую систему сжатия изображения.

 

Порой  возникают  затруднения  в  пересылке   программ,   ключей,

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

допускающим лишь текстовые сообщения, например, в почте UNIX. Для

этого  файлы  превращают  в  текст  формата  RADIX-50.   Шифровку

разбивают на группы по 3 байта из которых формируют 4 группы по 6

бит. Каждую группу из 6 бит, принимающую значения  от  0  до  63,

превращают в печатный символ ASCII по следующей таблице:

 

значение        0       1       2-11    12-37   38-63

символы         +       /       0-9     A-Z     a-z

 

Это увеличивает длину бинарного сообщения лишь  на  треть,  в  то

время как привычная для  программистов  шестнадцатеричная  запись

удваивает его. Так, слово МОСКВА дает код  AuMY886U.  Если  длина

сообщения не кратна 3, то при кодировании в конец  его  добавляют

нули. Точную длину сообщения приходится приписывать в конце.  Вот

как выгладит открытый пароль Филиппа  Циммермана,  переданный  по

Интернет в коде RADIX-64:

 

-----BEGIN PGP MESSAGE-----

Version: 2.6

 

iQBVAgUALeF27VUFZvpNDE7hAQFBFAH/Y

OQ52xOCH5yKSG/HgSV+N52HSm21zFEw

Ocu5LDhYxmOILr7Ab/KdxVA6LMIou2wKtyo.

ZVbYWXPCvhNXGDg7 4Mw==

=wstv

 

-----END PGP MESSAGE-----

 

 

Расчет на  недоступность  для  посторонних  смысла  кодированного

сообщения   может   окончиться   конфузом.   Напомним,   что    в

стихотворении "Моральный кодекс" Киплинга описан телеграфист,  не

подумавший о вседоступности кода и приревновавший в разлуке  свою

молодую жену. Офицеры штаба заметили кодовую сигнализацию  и  вот

что случилось:

 

      Молчит придурок адъютант, молчит штабная свита,

      В свои блокноты странный текст все пишут деловито.

      От смеха давятся они, читая с постной миной:

      "Не вздумай с Бэнгзом танцевать -

                                  распутней нет мужчины!"

 

Первый  коммерческий  код  для  уменьшения  длины   и   стоимости

телеграмм ввел в 1845 году Френсис Смит, компаньон Морзе. В конце

XIX века Клаузен первым  предложил  для  этой  цели  код  АВС,  a

Маркони  несколько  позже   первый   многоязычный   код.   Сейчас

аналогичных кодов  тьма-тьмущая  и  все  они  представляют  собой

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

Традиционно связисты,  а  не  только  шпионы,  для  этого  обычно

используют пятизначные группы букв или цифр, так как группы проще

записывать. Широко применяется  по  настоящее  время  в  связи  и

"Международный  свод  сигналов",  который   последний   раз   был

пересмотрен в 1969 году.

 

Хотя  криптологи  различают  шифры  и  коды,   потому   что   для

практических работ это разные системы, но коды представляют собой

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

словаря,  где  каждому   слову   присвоен   кодовый   эквивалент.

Фактически  требуются  две  кодовые  таблицы.   Для   кодирования

применяется таблица алфавитно  упорядоченная  по  словам,  а  для

декодирования  алфавитно  упорядочивают  коды  -  иначе  поиск  в

таблице становится необычайно трудоемким.  Для  применяющегося  в

коммерции телеграфного кода Маркони на  английском  языке  начала

этих таблиц выглядят так:

 

Таблица кодирования   Таблица декодирования

VANOL   A, an           ABABA   It is hoped

LANEX   Abandon-ing-s   ABACA   Assignment

STUGH   Abandoned       ABBCO   Shipped

TBYNT   Abate-ing-s     ACAYT   As to

RIZLB   Abated          ACDZR   Terminated

 

В этом коде использованы не все возможные группы,  например,  нет

группы ААААА. Это сделано для  удобства  их  чтения  и  повышения

устойчивости от отдельных ошибок. Для достижения секретности коды

приходится  шифровать.  Например,  сначала   можно   закодировать

сообщение кодом Маркони, а потом применить шифр.

 

Коды часто похожи на шифры и это  обстоятельство  породило  массу

курьезных случаев. До революции был сорван  шахматный  турнир  по

переписке Петербург-Москва, так как непонятные жандармам почтовые

карточки со знаками записи ходов перехватывались до тех пор, пока

не попали  начальнику,  наложившему  резолюцию:  "Шахматы-с!"  Не

исключено, что среди  репрессированных  в  советское  время  было

немало любителей игры на гитаре, пытавшихся  вести  запись  своих

произведений   необычным   для   музыкантов   цифровым   методом.

Любопытно, каким образом  могло  НКВД  отреагировать  на  срочную

телеграмму за рубеж такого содержания: SER VAL MET  LYS  ARG  ARG

PHE LEU. Удалось бы доказать подозреваемому  в  шпионаже,  что  в

телеграмме дан ряд аминокислот в сердечной  мышце  свиньи?  Да  и

обнаруженный при аресте в записной книжке Н.  И.  Вавилова  текст

K3C7AO+3G5 вряд ли  был  бы  воспринят  следователем  за  формулу

строения  цветка.  Интересно   упомянуть   о   телефонном   коде,

применяемом некоторыми зарубежными фирмами. Так, встретив,  номер

телефона технической службы (1)206-DID-DEMA, не надо смущаться  -

это  телефон  корпорации  Aldus   в   Сиэтле.   Кодовая   таблица

соответствия букв цифрам здесь такая:

 

1        2       3       4       5       6       7       8       9

        АВС     DEF     GHI     JKL     MNO     PRS     TUV     WXY

 

Поэтому номер  телефона  корпорации  343-3362.  Хотя,  увидев  на

рекламном щите телефон предвари- 1 тельных заказов ночного  клуба

GUE-STS-ONLY,  не  пытайтесь  набирать  483-787-6659,  а   просто

переведите с английского: "только для приглашенных". Эта запись в

рекламе означает, что заказы принимаются по телефону,  указанному

в пригласительном или членском билете.

 

Надеюсь, читатели поймут сообщение  "Женя  Дмитрий  Ульяна  Борис

Ольга  Роберт  Игорь  Света",  принятое  по   плохо   работавшему

телефону. Хотя моряки говорили бы при этом так: "Живете Добро Ухо

Буки Он Рцы Иже Слово" или  "Juliet  Delta  Uniform  Bravo  Oscar

Romeo India Sierra". Такое кодирование называется акрокодом (Akro

- по-гречески край. первые буквы слов или строк.) . А телеграфное

сообщение:  "Железная  дорога  уведомлена.   Буду   обмер   работ

исполнять  сам"   представляет   собой   особый   код,   вводящий

неосведомленного получателя в  заблуждение.  Если  читать  только

первые буквы слов. то получится скрытое  сообщение  "ЖДУ  Борис".

Одна   армейская   газета   в   начале   шестидесятых   годов   к

революционному празднику опубликовала стихотворение, начинающееся

словами "Хвала тебе..." и последующим официозным  содержанием.  И

что же? Редактор был немедленно уволен,  тираж  газеты  изъят  из

читалок и библиотек, а вот автора найти не удалось. Первые  буквы

строк стихов складывались нелестную для главы государства Хрущева

фразу. Никите Сергеевичу не повезло и с  инициалами  -  акрокодом

имени и отчества. Произнесенные по-английски его инициалы  NS  на

слух  сильно  напоминают  слово  an  ass  -  осел.  Поэтому   для

именования этого политика в прессе,  употреблялось  лишь  режущее

отечественные уши фамильярное обращение - Никита Хрущев.

 

Несомненно,  что  коды  могут  служить  и  для  сокрытия   смысла

сообщений. Вспомним, в 1936 году  сообщение  "Над  всей  Испанией

ясное небо" отнюдь не предвещало безоблачной погоды, а  послужило

кодовым  сигналом  начала  гражданской  войны.   Однако   область

применения кодирования для сокрытия смысла ограничена  одиночными

сообщениями.  Румынская  разведка  сигуранца   могла   читать   в

двадцатые годы радиограммы РККА лишь потому, что кодовые  таблицы

не менялись, пока не протирались  до  дыр.  Краткое  кодированное

сообщение, не имея ключа в виде  кодовых  таблиц,  вскрыть  очень

трудно, а  то  и  невозможно.  Практическое  использование  кодов

стратегической авиацией США иллюстрируют кадры кинофильма "Доктор

Стренджлав", когда пилот стратегического бомбардировщика,  приняв

радиограмму из группы цифр, достал секретную кодовую  таблицу  из

сейфа и нашел там содержание приказа: ядерный удар по СССР.

 

    Криптография и криптоанализ

 

Дипломатические, военные и промышленные секреты обычно передаются

или хранятся не в исходном виде, а после шифрования. В отличие от

тайнописи, которая прячет сам факт  наличия  сообщения,  шифровки

передаются открыто, а прячется голько смысл.  Итак,  криптография

обеспечивает сокрытие смысла сообщения  с  помощью  шифрования  и

открытие его расшифровыванием, которые выполняются по специальным

криптографическим алгоритмам с помощью ключей у отправителя и по-

лучателя.  Рассмотрим  классическую  схему   передачи   секретных

сообщений криптографическим преобразованием, где указаны этапы  и

участники этого процесса.

 

         Шифpование    Пеpедача    Дешифpование

 

  ТЕКСТ    листок        ──>         листок

  КЛЮЧ     конвеpт       ══>         конвеpт

         Отпpавитель   Канал связи  Получатель

 

Из схемы можно увидеть следующие особенности и отличия от обычных

коммуникационных  каналов.  Отправителем  сообщение  шифруется  с

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

открытому  каналу  связи  получателю,  в  то   время   как   ключ

отправляется ему по закрытому каналу, гарантирующему секретность.

Имея ключ и  шифровку,  получатель  выполняет  расшифровывание  и

восстанавливает  исходное  сообщение.  В  зависимости  от   целей

засекречивания эта схема может несколько видоизменяться.  Так,  в

компьютерной криптографии  обычен  случай,  когда  отправитель  и

получатель одно и то же лицо. Например, можно зашифровать данные,

закрыв  их  от  постороннего  доступа  при  хранении,   а   потом

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

роль закрытого канала связи играет память. Тем не  менее,  налицо

все элементы этой схемы.

 

Криптографические преобразования  призваны  для  достижения  двух

целей  по  защиты   информации.   Во-первых,   они   обеспечивают

недоступность  ее  для  лиц,  не  имеющих  ключа  и,   во-вторых,

поддерживают     с     требуемой     надежностью      обнаружение

несанкционированных искажений. По сравнению  с  другими  методами

защиты информации классическая  криптография  гарантирует  защиту

лишь при условиях, что;

 

 использован эффективный криптографический

алгоритм;

 

 соблюдены секретность и целостность ключа.

 

Некриптографические средства не в состоянии дать такую же степень

защиты информации и требуют значительно больших затрат. Например,

во что обходится  подтверждение  подлинности  документа?  Охрана,

сейфы, сигнализация,  секретные  пакеты,  индивидуальные  печати,

фирменные бланки, водяные знаки, факсимиле и личные подписи - вот

далеко не  полный  набор  обычных  средств,  предназначенных  для

поддержания доверия к  секретности  информации.  В  то  же  самое

время, криптографический подход много надежнее и проще, если ключ

подошел, то  информации  можно  доверять  больше,  чем  маме  или

нотариусу.

 

Шифрование и расшифровывание, выполняемые криптографами, а  также

разработка и вскрытие шифров криптоаналитиками составляют предмет

науки криптологии (от греческих слов криптос - тайный и  логос  -

мысль) . В этой науке преобразование шифровки  в  открытый  текст

(сообщение на оригинальном языке, порой называемое "клер")  может

быть выполнено в зависимости от  того,  известен  или  нет  ключ.

Условно  ее  можно  разделить  на  криптографию  и  криптоанализ.

Криптография   связана   с   шифрованием    и    расшифровыванием

конфиденциальных  данных  в  каналах  коммуникаций.   Она   также

применяется  для  того,  чтобы  исключить  возможность  искажения

информации  или  подтвердить   ее   происхождение.   Криптоанализ

занимается в основном вскрытием  шифровок  без  знания  ключа  и,

порой,  примененной  системы  шифрования.   Эта   процедура   еще

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

секретность, а криптоаналитики ее сломать.

 

Однако  терминология  еще  не  устоялась  даже  за  рубежом,  где

криптоаналитики называют себя то взломщиками кодов (breaker),  то

нападающими (attacker), а взломщики компьютерных  систем  нарекли

себя воришками (sneaker). Вряд ли правильно выделять взлом шифров

в отдельную дисциплину. Совершенствуя схему шифрования, неизбежно

приходится  рассматривать  и  пути  ее  взлома,   а   конструируя

устройство засекречивания данных, необходимо предусмотреть в  нем

блок контроля качества. А ну как произошел сбой,  и  незащищенные

данные  попадут  в  открытую  сеть  коммуникаций!  Поэтому  часто

говорят о криптографах, которые занимаются  задачами  шифрования,

расшифровывания и анализа. Тем  более,  что  ряд  атак  на  шифры

представляет собой обычное расшифровывание с подбором ключа путем

анализа расшифрованного сообщения на  близость  связному  тексту.

Далее   криптоанализ   будет   рассматриваться,    как    область

криптологии, проверяющей и доказывающей устойчивость  шифров  как

теоретически,   так   и   практически.   Возможность   компьютера

производить  миллионы  операций  в  секунду  очень  усложнила   и

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

будем называть  криптографическими  системами.  Криптографические

системы становятся год от года все изощреннее и требуется для  их

вскрытия все более совершенная техника криптоанализа.

 

Наше изложение будет в основном ограничено  рамками  классической

криптографии с  симметричными  ключами,  когда  ключ  отправителя

сообщения должен совпадать с ключом получателя. Обмен  секретными

ключами в ряде случаев представляет проблему. Поэтому в последние

годы ведутся интенсивные исследования в направлении  шифровальных

систем с открытым ключом. (у таких  систем  ключ  для  шифрования

открытый, а для расшифрования секретный. Поэтому их еще  называют

двухключевыми системами или системами с несимметричными ключами.)

Хотя системы с открытыми ключами быстро  развивайтся,  целый  ряд

преимуществ традиционных систем позволяет им  надежно  удерживать

ведущее место. Например,  ряд  алгоритмов  с  открытыми  ключами,

наподобие  "укладки  ранца",  повел  себя  при   опробовании   на

сверхбыстродействующей ЭВМ Cray несолидно, расколовшись уже через

час испытаний. Другие  же  алгоритмы  принципиально  ненадежны  в

классическом понимании с самого начала, никто  всерьез  не  может

гарантировать  их  стойкость   при   стремительно   развивающихся

вычислительных  методах  высшей   арифметики   и,   кроме   того,

чрезвычайно медлительны. Тем не менее, их роль в таких  областях,

как пересылка ключей и цифровая  подпись  уникальна.  Поэтому  им

будет уделено определенное внимание, хотя, далее  с  практической

точки  зрения  будут  рассматриваться   в   основном   лишь   два

классических алгоритма шифрования: замены и перестановки. В шифре

перестановки все буквы открытого текста остаются  без  изменений,

но перемещаются с их нормальной позиции. Анаграмма  (анаграмма  -

перестановка букв в слове или фразе.) - это шифр перестановки.  В

шифре замены, наоборот, позиции букв в шифровке остаются теми же,

что и у открытого текста, но символы заменяются. Комбинации  этих

двух типов образуют  все  многообразие  практически  используемых

классических шифров.

 

К  необходимым  аксессуарам   криптотрафической   техники   кроме

алгоритмов  шифрования  и  расшифрования  принадлежат   секретные

ключи. Их роль  такая  же,  как  и  у  ключей  от  сейфа.  А  вот

изготавливаются и хранятся  криптографические  ключи  куда  более

тщательно, чем стальные аналоги.  Заботу  об  их  выпуске  обычно

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

гарантируя стойкость от взлома  своих  систем  шифрования.  Какие

ухищрения  только  не  предпринимаются,   чтобы   сделать   ключи

недоступными,  а  факт  их  чтения  известным!  Ключи  хранят   в

криптографических блокнотах, которые  всегда  представляли  собой

крепость  для   посторонних.   Во-первых,   они   открываются   с

предосторожностями, чтобы ключи не  исчезли  физически  вместе  с

открывшим их человеком. Во-вторых, в  блокноте  находишь  подобие

отрывного календаря с прошитыми насквозь страницами, разделенными

непрозрачными для любого подсматривания листами.  Чтобы  прочесть

очередной ключ, нужно вырвать лист разделителя, а  это  не  может

впоследствии остаться незамеченным хозяином блокнота. Более того,

как только страница с ключом открыта  для  чтения,  то  ее  текст

начинает бледнеть и через некоторое время пропадает бесследно. Но

главное еще впереди - нередко в блокноты вносят не сами ключи,  а

их шифровки, сделанные по ключу, который шифровальщик хранит лишь

в памяти. Ухищрениям в хранении ключей нет  конца.  У  разведчика

Абеля американскими спецслужбами был обнаружен  криптографический

блокнот размером с почтовую марку. Позднее, неподалеку  от  дома,

где Абель жил, найдена монета, развинчивающаяся на две половинки,

с тайником внутри. Очень возможно, что  она  служила  контейнером

для  этого  миниатюрного  криптографического  блокнота.  Доставку

ключей осуществляют специальные курьерские службы, к  сотрудникам

которых Петр 1 выдвинул лишь  два  требования:  чтобы  они  сколь

можно меньше знали вне пределов своей компетенции  и  были  очень

довольны оплатой своего труда.  На  этом  закончим  знакомство  с

сюжетом  и  персонажами  дальнейшего  действия   и   перейдем   к

рассмотрению истории криптографии.

 

    ИСТОРИЯ КРИПТОЛОГИИ

 

 Смотрите же, что смертным сделал я.

 Число им изобрел и буквы научил соединять...

 

                Эсхил. "Прикованный Прометей "

 

В этой главе попробуем кратко изложить как криптология  появилась

и выросла  до  размера  науки.  При  отсутствии  в  нашей  стране

открытых исследований  по  истории  шифрования,  изложение  этого

вопроса   оказалось   довольно   сложной    задачей.    Наподобие

золотоносной  россыпи  крупицы  сведений   о   шифрах   оказались

рассеянными  в  сотнях  книг  и  статей.   Среди   них   солидные

воспоминания руководителя американской  криптографической  службы

ВМФ и газетное сообщение на  несколько  строк  о  работе  в  Дели

завербованного    агента.    Последовательное     хронологическое

рассмотрение этих фактов имеет перед  собой  задачу  постепенного

погружения читателя в сферу криптографии. Без истории  невозможно

понять концептуальную схему этой науки, модель постановки проблем

и их решения, методов исследования и их эволюции.  Тем  не  менее

описание истории криптологии нельзя считать описанием ее предмета

- проблемы в этой главе скорее ставятся, чем  решаются,  и  к  их

разбору мы приступим позже.

 

    Появление шифров

 

Ряд систем шифрования дошел до нас из глубокой древности.  Скорее

всего они появились одновременно с письменностью в 4  тысячелетии

до  нашей  эры.  Методы  секретной  переписки   были   изобретены

независимо во многих древних обществах, таких как Египет, Шумер и

Китай, но  детальное  состояние  криптологии  в  них  неизвестно.

Криптограммы выискиваются даже  в  древние  времена,  хотя  из-за

применяемого  в  древнем  мире  идеографического  письма  в  виде

стилизованных  картинок  были  примитивны.  Шумеры,  по-видимому,

пользовались тайнописью. Археологами найдены глиняные клинописные

таблички, где первая запись замазывалась слоем глины, на  котором

делалась вторая запись. Происхождение таких странных таблиц могло

быть вызвано и тайнописью, и утилизацией. Оттого что число знаков

идеографического письма было  более  тысячи,  то  запоминание  их

представляло собой трудную задачу - тут не до шифрования. Тем  не

менее, коды, появившиеся вместе со словарями, были хорошо извест-

ны в Вавилоне и Ассирии, а древние египтяне применяли по  меньшей

мере 3  системы  шифрования.  С  развитием  фонетического  письма

письменность резко упростилась. В древнем семитском  алфавите  во

2-м тысячелетии до нашей эры было  всего  около  30  знаков.  Ими

обозначались согласные звуки, а также некоторые гласные и  слоги.

Упрощение письма стимулировало развитие криптографии.

 

Даже в Библии можно найти примеры шифровок,  хотя  мало  кто  это

замечает. В книге пророка  Иеремии  (25,26)  читаем:  "...а  царь

Сессаха выпьет после них." Такого царя  или  царства  не  было  -

неужели ошибка  писца?  Нет,  просто  порой  священные  иудейские

тексты шифровались простой заменой. Вместо первой буквы  алфавита

писалась последняя, вместо второй - предпоследняя  и  так  далее.

Этот древний метод шифрования  назывался  атбаш.  Читая  по  нему

слово СЕССАХ, на языке оригинала получаем слово ВАВИЛОН, и  смысл

библейского текста может быть принят  даже  не  верящим  слепо  в

истинность писания.

 

Несомненно,  что  Прометей,  давший  людям  числа  с  буквами   и

оценивший, кстати сказать, их выше огня, может считаться одним из

первых криптологов. Но еще Демокрит полагал:  "...все  искусства,

ни какое-либо другое не  следует  возводить  ни  к  Афине,  ни  к

другому божеству: все  искусства  порождены  с  течением  времени

потребностями и обстоятельствами". Именно поэтому криптология  не

могла найти хорошую среду обитания  вплоть  до  Римской  империи.

Так, по свидетельству Геродота в древнем Египте роль шифра обычно

играл  специально  созданный  жрецами   язык.   Там   параллельно

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

Первый из них отображал  обычный  разговорный  язык,  второй  мог

использоваться  для  изложения  религиозных  текстов,  а   третий

применялся предсказателями или для сокрытия смысла  сообщений.  В

древней Греции - тех же щей, да пожиже влей  -  бытовали  десятки

весьма отличных друг от друга  диалектов.  Диоген  Лаэртский  так

объяснял  одну  из  причин   угасания   философии   пифагорийцев:

"...записана  она  была  по-дорийски,  а  так  как  это   наречие

малопонятное, то казалось, что и учения, на  нем  излагаемые,  не

подлинны и искажены..."

 

С одной  стороны,  значительное  развитие  шифров  немыслимо  вне

крупной страны с широкими языковыми,  торговыми  и  политическими

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

предполагает открытое противостояние  интересов  различных  групп

людей с одновременным уважением личности и ее прав на  свободы  в

виде собственных секретов, то есть  демократическое  политическое

устройство. При тирании и шифровка, и открытый текст сообщения  о

заговоре  одинаково  смертельно   опасны   для   отправителей   и

получателей.  В  ряде  греческих  городов-государств  криптографы

подвергались бы бичеванию наравне  с  ворами,  поскольку  сделали

своей  профессией  надувательство  и   обман.   Если   применение

женщинами косметики там порой рассматривалось  попыткой  обмануть

глаза и  извратить  сущность  вещей,  то  кто  рискнул  бы  стать

криптографом?

 

Совсем другое дело, когда государство растет, начинают  уважаться

права и свободы граждан, в нем фактически нет  единой  и  твердой

власти, когда идут захватнические войны  и  процветает  торговля.

Поэтому  положение  меняется  в  эпоху  расцвета  Рима,   который

первоначально   представлял   собой   лишь   небольшую   античную

гражданскую  общину,  далее  непомерно  разросся,  подчинив  себе

сначала Италию, а затем и все  Средиземноморье.  Чтобы  управлять

наместниками в многочисленных провинциях  шифрованная  связь  для

римских  органов  власти  стала  жизненно  необходимой.   Многим,

наверное, известен шифр замены, связанный с именем Юлия Цезаря.

 

Вот что об этом сообщает Гай Светоний: "Существуют и его письма к

Цицерону и письма к близким о домашних делах: в них,  если  нужно

было сообщить что-нибудь негласно, он пользовался тайнописью,  то

есть менял буквы так, чтобы из  них  не  складывалось  ни  одного

слова. Чтобы разобрать и прочитать их, нужно  читать  всякий  раз

четвертую букву вместо первой, например, D вместо А и так далее".

Это означает, что каждая буква шифровки заменялась  четвертой  по

счету от нее в алфавите: А-В-С-D, или D вместо А. Послание сенату

VENI VIDI VICI, то есть ПРИШЕЛ УВИДЕЛ ПОБЕДИЛ, сделанное  Цезарем

после однодневной войны с понтийским царем Фарнаком, выглядело бы

шифровкой SBKF SFAF SFZF.

 

Зачем  обрашщъся  к  столь  древней  истории?  Монтень  в   своих

философских опытах утверждает: "Невежество бывает двоякого  рода:

одно, безграмотное, предшествует науке; другое,  чванное,  сле-ет

за нею". Поэтому не нужно смеяться  над  пpостотой  и  наивностью

первых шифров - опыты пионеров всегда неуклюжи. Однако  вовсе  не

до  смеха,  когда,  стараясь  защитить  свой  труд,   современные

программисты воспроизводят пороки Гая Юлия - это  свидетельствует

о глубоких пробелах в нашем образовании.

 

Поэтому   удивительно   было   познакомиться   с   использованием

упомянутого шифра Цезаря в компьютерном  справочнике,  содержащим

десятки тысяч адресов организаций  и  предприятий.  При  проверке

стойкости  шифра  вскрытие  нескольких  мегабайт  собираемой   по

крупицам в течение ряда лет информации заняло  менее  часа  и  от

покупки   справочника   пришлось   отказаться.    Судите    сами:

неискушенные пользователи вроде бухгалтеров и  финансистов  стали

бы думать, будто занесённая  ими  справочник  информация  надежно

защищена, в то время как она  легко  доступна  любому  хакеру  (и

авторам справочника). Вообще-то, разработчиков ненадежных  систем

шифрования стоит подозревать в лукавстве: что  умышленно  сделано

лишь  подобие  секретности,  чтобы  иметь  доступ  к   информации

клиентов. Попытки объяснить необходимость надежного шифрования  и

достаточно  частой  смены   ключей   были   встречены   в   фирме

изготовившей упомянутый справочник с наивным простодушием:  "Если

вы хотите свой пароль, отличный от нашего, то назовите его и мы в

течение недели поставим его за отдельную плату".

 

Принципиально иной шифр, более древний,  связан  с  перестановкой

букв  сообщения  по  определенному,  известному   отправителю   и

получателю правилу.  Древние  рассказывали:  какой-то  хитрец  из

спартанцев  обнаружил,  что  если  полоску   пергаента   намотать

спиралью на  палочку  и  написать  на  нем  вдоль  палочки  текст

сообщения, то, после снятия полоски  буквы  на  ней  расположатся

хаотично. Это то же самое, будто буквы писать не подряд, а  через

условленное число по кольцу до тех пор, пока весь текст не  будет

исчерпан. Сообщение ВЫСТУПАЙТЕ при окружности палочки в  3  буквы

даст шифровку ВУТЫПЕСАТЙ. Текст ее не понятен, не так ли?

 

Для  прочтения   шифровки   нужно   не   только   знать   систему

засекречивания, но и обладать ключом в  виде  палочки,  принятого

диаметра.  Зная  тип  шифра,  но  не  имея  ключа,   расшифровать

сообщение было сложно. Этот шифр именовался скитала  по  названию

стержня, на который наматывались свитки папируса,  что  указывает

на его происхождение. Он был весьма популярен в  Спарте  и  много

раз совеpшенствовался в позднейшие времена. О его важном значении

и  большом  распространении  говорит  свидетельство  Плутарха   в

"Сравнительных жизнеописаниях", когда историк  сообщает  о  жизни

греческого полководца Алкивиада: "Однако Лисандр обратил внимание

на эти слова не раньше, чем получил из дома скиталу с приказанием

отделаться от Алкивиада..."

 

Упомянем, что греческий писатель и историк Полибий изобрел за два

века до нашей эры так называемый  полибианский  квадрат  размером

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

квадрате находили букву текста и вставляли в шифровку  нижнюю  от

нее в том же столбце. Если буква была в нижней строке,  то  брали

верхнюю  из  того  же  столбца.

 

Такого  рода   квадраты   широко   употреблялись   в   позднейших

криптографических системах и будут детально описаны ниже.

 

Приборы  для  шифрования  тоже  существовали  с  древних  времен.

Спарта, наиболее  воинственная  из  греческих  государств,  имела

хорошо проработанную систему секретной военной  связи  еще  в  V

веке  до  нашей  эры.  С  помощью  скитала,  первого   известного

криптографического устройства, спартанские эфоры (эфоры  -  члены

коллегиального   правительства   Спарты.)   шифровали   послания,

используя  метод   простой   перестановки.   Ленивые   и   оттого

юбретательные римляне в IV веке до  нашей  эры,  чтобы  упростить

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

2 дисков, помещенных на общую ось, содержал на  ободе  алфавит  в

случайной последовательности. Найдя на одном диске букву  текста,

с другого диска считывали соответствующую ей букву  шифра.  Такие

приборы, порождающие шифр простой замены.  использовались  вплоть

до эпохи Возрождения. Для связи греки и римляне использовали  код

на  основе  полибианского  квадрата  с  естественным   заполнением

алфавитом.  Буква  кодировалась   номером   строки   и   столбца,

соответствующим ей в квадрате. Сигнал подавался ночью факелами, а

днем флагами.

 

На основе такого кода легко сделать шифр, обозначив каждый ряд  и

столбец своим числом флагов. Очень вероятно, что  подобные  шифры

применялись, но исторических свидетельств об  этом  нет.  Окончим

рассмотрение  шифров  древности,  поскольку  в  небольшом   числе

приведенных  примеров  заключено  все  многообразие  классических

подходов к шифрованию, подобно тому,  будто  в  мельчайшей  капле

воды отражается весь мир.

 

    Становление науки криптологии

 

   Мы истину, похожую на ложь,

   Должны хранить сомкнутыми устами,

   Иначе срам безвинно наживешь...

 

          Данте. "Божественная комедия "

 

После падения Римской империи  от  вторжения  варваров  в  Европе

пошли столетия упадка, которые историки образно  назвали  Темными

веками. Все лучшие достижения цивилизации,  а  вместе  с  ними  и

криптология, были  утрачены.  По  свидетельству  святого  Джерома

"весь  мир  погрузился  в  руины".  Лишь  к  концу  средневековья

применение криптографии начинает  возрождаться.  Например,  книга

"Экватор Планет", вышедшая в 1390  году  и  приписываемая  Джефри

Чосеру, содержит отдельные шифрованные главы.

 

Эволюция общественной жизни к концу  XIV  столетия,  приведшая  к

культуре  Возрождения,  кризису  городских   коммун,   обострению

политического противостояния отдельных групп  людей,  регрессу  в

развитии общества из-за войн, выдвинула  новые  факторы  усиления

позиций криптографии. Появившаяся интеллектуальная элита  в  виде

гуманистов приходит на службу могущественным меценатам, все более

отдаляясь  от  простого  народа.   В   сфере   коммуникаций   это

проявляется тем, что главенствующим языком  сообщений  становится

античная латынь, которая отходит от живого языка даже  в  Италии.

Древние опыты шифрования восстанавливаются  и  развиваются  целой

плеядой  крупных  ученых.  Наряду  с  традиционными  применениями

криптографии в  политике  и  военном  деле  возникают  неожиданно

близкие  к  нашему  времени  задачи  ее  применения  для   охраны

интеллектуальной собственности от преследований  инквизицией  или

заимствования другими учеными. Слова Вергилия из 16  песни  "Ада"

"Божественной комедии" Данте, приведенные в эпиграфе этой  главы,

сколь нельзя более верно описывают точку,  вокруг  которой  стала

кристаллизовываться средневековая криптология.

 

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

дают простые шифрующие процедуры перестановки букв  в  сообщении.

Ключом в них служат размер таблицы, фраза, задающая  перестановку

или специальная  особенность  таблиц.  Простая  перестановка  без

ключа - один из самых  простых  методов  шифрования,  родственный

шифру скитала. Например, сообщение НЕЯСНОЕ СТАНОВИТСЯ  ЕЩЕ  БОЛЕЕ

НЕПОНЯТНЫМ записывается в таблицу по столбцам. Для таблицы  из  5

строк и 7 столбцов это выглядит так:

 

Н       О       Н       С       Б       Н       Я

Е       Е       О       Я       О       Е       Т

Я       С       В       Е       Л       П       Н

С       Т       И       Щ       Е       О       Ы

Н       А       Т       Е       Е       Н       М

 

После того, как открытый текст записан колонками, для образования

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

по 5 букв, то получится: НОНСБ  НЯЕЕО  ЯОЕТЯ  СВЕЛП  НСТИЩ  ЕОЫНА

ТЕЕНМ. Для использования этого  шифра  отправителю  и  получателю

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

Объединение букв в группы не входит в ключ шифра  и  используется

лишь для удобства записи несмыслового текста.

 

Более  практический  метод   шифрования,   называемый   одиночной

перестановкой по ключу очень похож на предыдущий.  Он  отличается

лишь тем, что колонки таблицы переставляются по ключевому  слову,

фразе или набору чисел длиной в  строку  таблицы.  Использовав  в

виде ключа слово ЛУНАТИК, получим такую таблицу.

 

Л       У       Н       А       Т       И       К

4       7       5       1       6       2       3

Н       О       Н       С       Б       Н       Я

Е       Е       О       Я       О       Е       Т

Я       С       В       Е       Л       П       Н

С       Т       И       Щ       Е       О       Ы

Н       А       Т       Е       Е       Н       М

 

               до перестановки

 

А       И       К       Л       Н       Т       У

1       2       3       4       5       6       7

С       Н       Я       Н       Н       Б       О

Я       Е       Т       Е       О       О       Е

Е       П       Н       Я       В       Л       С

Щ       О       Ы       С       И       Е       Т

Е       Н       М       Н       Т       Е       А

 

         после перестановки

 

В верхней строке ее записан ключ, а номера под ключом  определены

по естественному порядку соответствующих букв ключа  в  алфавите.

Если в ключе встретились бы одинаковые буквы, они бы нумеровались

слева направо. Получается шифровка: СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС

ИЕТЕН  МНТЕА.  Для  дополнительной  скрытности   можно   повторно

шифровать сообщение, которое уже было  зашифровано.  Этот  способ

известен под названием двойная  перестановка.  Для  этого  размер

второй таблицы подбирают так, чтобы длины  ее  строк  и  столбцов

были другие, чем в первой таблице. Лучше всего,  если  они  будут

взаимно простыми. Кроме того, в первой таблице можно переставлять

столбцы, а во второй строки.  Наконец,  можно  заполнять  таблицу

зигзагом, змейкой, по спирали или каким-то другим способом. Такие

способы заполнения таблицы если и не усиливают  стойкость  шифра,

то делают процесс шифрования гораздо более занимательным.

 

Кроме   одиночных   перестановок   использовались   еще   двойные

перестановки столбцов и строк  таблицы  с  сообщением.  При  этом

перестановки определялись отдельно для столбцов  и  отдельно  для

строк. В таблицу вписывался текст  и  переставлялись  столбцы,  а

потом строки. При расшифровке порядок перестановок был  обратный.

Насколько просто выполнялось это шифрование показывает  следующий

пример:

 

        2       4       1       3

4       П       P       И       Е

1       3       Ж       A       Ю

2               Ш       Е       С

3       Т       О       Г       О

 

                исходная

                таблица

 

        1       2       3       4

4       И       П       Е       Р

1       A       3       Ю       Ж

2       Е               С       Ш

3       Г       Т       О       О

 

          перестановка

            столбцов

 

        1       2       3       4

1       A       3       Ю       Ж

2       Е               С       Ш

3       Г       Т       О       О

4       И       П       Е       Р

 

           перестановка

              строк

 

Получается шифровка АЗЮЖЕ СШГТООИПЕР. Ключом к этому шифру служат

номера столбцов 2413 и номера строк 4123 исходной таблицы.  Число

вариантов двойной перестановки тоже велико: для  таблицы  3х3  их

36, для 4 х 4 их 576, а для 5 х 5 их уже  14400.  Однако  двойная

перестановка очень слабый вид шифра,  легко  читаемый  при  любом

размере таблицы шифрования.

 

Выдающимся английским философом и изобретателем Роджером Бэконом,

предвосхитившим многие позднейшие открытия (наиболее значительное

из его изобретений - очки, которые он предложил в 1268 году), был

найден состав черного пороха. Так почему же  традиционно  считают

его  изобретателем  Бертольда  Шварца,  по  преданиям  казненного

императором Венцеславом на пороховой  бочке?  Карамзин  по  этому

поводу писал: "Нет сомнения, что и монах Рогер Бакон за  100  лет

до Бартольда Шварца умел составлять порох:  ибо  ясно  говорит  в

своем творении de nulitate Magiae о свойстве и силе оного".  Дело

в том, что  средневековые  ученые,  сделав  открытие,  отнюдь  не

всегда спешили его опубликовать в письмах коллегам, как это  было

тогда  принято  при  отсутствии  периодических  научных  изданий.

Нередко ту часть открытия, которую теперь называют know how,  они

шифровали анаграммой, переставляя буквы сообщения  по  известному

только им ключу. Например, названия древней и современной  столиц

Японии в русском написании  тоже  представляют  собой  анаграмму:

КИОТО - ТОКИО.

 

В упомянутом труде Бэкона  состав  пороха  был  приведен  в  виде

зашифрованной      анаграммы,      которую      до      появления

сверхбыстродействующих ЭВМ не удавалось вскрыть, и слава открытия

поэтому приписывалась  Шварцу.  Гораздо  более  сложная  проблема

возникает с приписываемым  Галилео  Галилею  открытием  спутников

Юпитера. Долгое время  приведенная  им  анаграмма  читалась  так:

"Высочайшую планету  двойною  наблюдал",  но  в  1960-х  годах  с

применением компьютеров при расшифровке был получен иной  вариант

прочтения: "Привет вам, близнецы, Марса порождение!" Конечно, от-

крытие  Фобоса  и  Деймоса  на  слабеньком  телескопе  за  два  с

половиной столетия до  американца  Асафа  Холла  -  событие  мало

реальное,  но  кто  знает?  Описал  же  Свифт   в   "Путешествиях

Гулливера" спутники Марса  за  полтораста  лет  до  астрономов  с

поразительной  точностью!  Может  быть  Свифт   знал   результаты

Галилея,   которые   сейчас   неизвестны?   Шифры    перестановки

чрезвычайно коварны  в  том  смысле,  что  могут  дать  несколько

вариантов осмысленного прочтения, если не знать точного  значения

ключа.

 

Какие  же  шифры  применялись  еще  средневековыми  учеными?   На

известной гравюре Дюрера "Меланхолия"  позади  грустящего  ангела

изображен магический квадрат,  заполненный  цифрами.  Магическими

квадратами называются  квадратные  таблицы  со  вписанными  в  их

клетки последовательными натуральными числами от 1, которые  дают

в сумме по каждому столбцу, каждой строке и каждой диагонали одно

и  то  же  число.  Подобные  квадраты  широко   применялись   для

вписывания шифруемого текста по приведенной в них нумерации. Если

потом выписать  содержимое  таблицы  по  строкам,  то  получалась

шифровка  перестановкой  букв.  Считалось,  что  созданные  с  их

помощью шифровки охраняет не только ключ, но и  магическая  сила.

Вот пример магического квадрата и его шифровки:

 

16      3       2       13

5       10      11      8

9       6       7       12

4       15      14      1

 

О       И       Р       Т

З       Ш       Е       Ю

        Ж       А       С

Е       Г       О       П

 

 

Полученная  из  ПРИЕЗЖАЮ  ШЕСТОГО,  шифровка   ОИРТЗШЕЮ   ЖАСЕГОП

представляется довольно основательной. На первый взгляд  кажется,

будто магических квадратов очень мало.  Тем  не  менее  их  число

очень быстро возрастает  с  увеличением  размера  квадрата.  Так,

существует лишь один магический квадрат размером 3 х 3,  если  не

принимать во внимание его повороты. Магических квадратов  4  х  4

насчитывается уже 880, а число магических квадратов размером 5  х

5 около 250000.  Поэтому  магические  квадраты  больших  размеров

могли быть хорошей основой для надежной системы  шифрования  того

времени, потому что ручной перебор всех вариантов ключа для этого

шифра был немыслим.

 

Широкое   развитие   торговли   в   средние   века    потребовало

специфических шифров, предельно простых и удобных, которыми могли

бы пользоваться купцы для передачи, например,  даты  приезда  или

цены товара.  Это  были  простые  шифры  замены  цифр  на  буквы,

основанные на ключевом слове. Собственно, это коды. а не шифры  -

вспомните  обозначение  месяцев  на  банках  консервов,  но  код,

примененный единожды с неизвестной таблицей кодирования, схож  по

свойствам  с   шифром.   Торговцы   заранее   договаривались   об

использовать    общее    ключевое    слово,    буквы     которого

соответствовали бы цифрам. Например, для ключа РЕСПУБЛИКА цифра 0

означает букву Р, цифра 1 означает Е, 2 - С,  3-Н  и  так  далее.

Поэтому получив от корреспондента сообщение ПРИБЫВАЮ ЕЛРПАС,  они

его читали  как  ПРИБЫВАЮ  16/03/92.  Простота  и  удобство  этой

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

всяких изменений.

 

Другой шифр, обычно  называемый  шифром  Гронсфельда,  состоит  в

модификации  шифра  Цезаря  числовым  ключом.   Для   этого   под

сообщением  пишут  ключ.  Если  ключ  короче  сообщения,  то  его

повторяют циклически. Шифровку получают будто в шифре Цезаря,  но

отсчитывая необязательно только третью букву по алфавиту,  а  ту,

которая сдвинута на соответствующую цифру ключа. Так, применяя  в

качестве ключа группу из трех начальных цифр числа "пи", а именно

314, получаем шифровку:

 

сообщение       СОВЕРШЕННО СЕКРЕТНО

ключ            3143143143143143143

шифровка        ФПЖИСЬИОССАХИЛФИУСС

 

Чтобы зашифровать первую букву сообщения С используя первую цифру

ключа 3, отсчитывается третья по порядку от С  в  алфавите  буква

С-Т-У-Ф и получается буква шифровки Ф. Разновидность этого  шифра

была применена в резидентном англорусском  словаре,  составленном

студентами МВТУ, и взломка его  доставила  слушателям  лекций  по

программированию  не  меньше   удовольствия,   чем   разгадывание

кроссворда.   Шифр   Гронсфелвда   имеет    массу    модификаций,

претендующих на его улучшение, от курьезных, вроде записи  текста

шифровки буквами другого алфавита,  до  нешуточных,  как  двойное

шифрование  разными  ключами.   Кроме   этих   шифров,   зачастую

использовался шифр простой замены, заключающийся в замене  каждой

буквы сообщения на соответствующую ей букву  шифра.  Такой  шифр,

популярный среди школьников, является простым  кодом  и  вскрытие

его возможно при длине шифровки всего в 20-30 букв, а при  длинах

текста свыше 100 символов представляет собой  очень  простую,  но

весьма увлекательную задачу приведенную ниже. А сейчас рассмотрим

рождение шифра сложной  замены  (шифры  сложной  замены  называют

многоалфавитными,  так  как  для   шифрования   каждого   символа

исходного сообщения применяется свой шифр  простой  замены.  Шифр

Гронсфельда тоже  многоалфавитный  шифр  -  в  нем  10  вариантов

замены.), который используется по сей день.

 

    Архитекторы и исследователи Италии эпохи Возрождения считают,

что один из самых важных этапов ренессансной архитектуры связан с

именем  Леона  Батиста  Альберти,  написавшем   десять   книг   о

зодчестве, построившим палаццо Ручеллаи, церковь Иль Джезу и  ряд

других замечательных произведений зодчества средневековой Италии.

Будучи теоретиком  искусства,  он  обобщил  опыт  гуманистической

науки в изучении античного наследия, написав  ряд  трактатов:  "О

статуе",  "О  живописи",  "О  зодчестве".   С   другой   стороны,

криптологи всего мира почитают его  отцом  своей  науки.  Главным

достижением   Альберти    в    криптологии    было    изобретение

многоалфавитной замены, сделавших  шифровку  очень  устойчивой  к

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

вращающихся колес для его реализации.  Этот  шифр  можно  описать

таблицей шифрования,  иногда  называемой  таблицей  Виженера,  по

имени Блеза Виженера, дипломата  XVI  века,  который  развивал  и

совершенствовал криптографические системы:

 

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

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

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

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

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

           .......

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

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

 

Каждая строка в этой таблице соответствует  одному  шифру  замены

вроде шифра Юлия Цезаря для алфавита, дополненного пробелом.  При

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

Если ключ оказался короче сообщения, то его циклически повторяют.

Шифровку получают, находя  символ  в  колонке  таблицы  по  букве

текста  и  строке,  соответствующей  букве  ключа.   Этот   очень

распространенный вид шифра сохранился до  наших  дней.  Например,

используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем сле-

дующую шифровку:

 

сообщение: ПРИЕЗЖАЮ ШЕСТОГО

     ключ: АГАВААГАВААГАВАА

 шифровка: ПНИГЗЖЮЮЮАЕОТМГО

 

    В компьютере  такая  операция  соответствует  сложению  кодов

ASCII символов сообщения и ключа по некоторому  модулю.  Кажется,

что если таблица будет более сложной,  чем  циклическое  смещение

строк, то шифр станет надежнее. Это действительно  так,  если  ее

менять почаще, например, от слова к слову. Но  составление  таких

таблиц, представляющих собой латинские квадраты, где любая  буква

встречается в строке или столбце один раз, трудоемко и его  стоит

делать  лишь  на  ЭВМ.  Для  ручного  же  многоалфавитного  шифра

полагаются лишь на длину и сложность ключа, используя приведенную

таблицу, которую  можно  не  держать  в  тайне,  а  это  упрощает

шифрование  и  расшифровывание.  Итак,  помимо  ряда  строений  в

античной манере, являющихся  шедеврами  архитектуры  итальянского

Возрождения,  Альберти   еще   ввел   в   практику   криптографии

многоалфавитные  шифры  замены.  Его  книга  "Трактат  о  шифре",

написанная в 1466 году, представляла собой первый в мире  научный

труд по  криптологии,  если  не  считать  арабских  рукописей,  с

которыми Европа в это время вряд ли была хорошо знакома.

 

Многие историки считают Иоганна Трисемуса,  аббата  из  Германии,

вторым  отцом  современной  криптологии.  В  1508  году  Трисемус

написал "Полиграфию", первую печатную работу  по  криптологии.  В

ней он первым систематически описал применение шифрующих  таблиц,

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

шифра обычно использовались ключевое слово или фраза  и  таблица,

которая для русского языка может иметь размер  5  х  6.  Ключевое

слово вписывалось в таблицу по  строкам,  а  повторяющиеся  буквы

отбрасывались. Таблица дозаполнялась не вошедшими в  нее  буквами

алфавита по порядку. Поскольку ключевое  слово  легко  хранить  в

памяти,  то  такой   подход   упрощал   процессы   шифрования   и

дешифрования. Для ключа РЕСПУБЛИКА таблица будет иметь  следующий

вид:

 

Р       Е       С       П       У       Б

Л       И       К       А       В       Г

Д       Ж       3       М       Н       О

Т       Ф       Х       Ц       Ч       Ш

Щ       Ь       Ы       Э       Ю       Я

 

    Для описанного выше шифра Полибия с данной таблицей сообщение

ОТПЛЫВАЕМ  давало  шифровку  ШЩАДСНМИЦ.  Такие  табличные   шифры

называются монограммными, так как  шифрование  ведется  по  одной

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

за раз. Такие шифры были названы биграммными. Наиболее  известный

шифр    биграммами    называется    Playfair.    Он    применялся

Великобританией в Первую мировую войну. Опишем его на примере той

же  самой  таблицы.  Открытый  текст  разбивался  на  пары   букв

(биграммы) и текст шифровки строился из него  по  следующим  двум

очень простым правилам.

 

    1. Если обе  буквы  биграммы  исходного  текста  принадлежали

одной колонке таблицы, то буквами шифра считались буквы,  которые

лежали под ними. Так биграмма УН давала текст шифровки  ВЧ.  Если

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

бралась соответствующая буква из  верхнего  ряда  и  биграмма  ОЯ

давала шифр ШБ. (Биграмма из одной буквы или пары одинаковых букв

тоже подчинялась этому правилу и текст ЕЕ давал шифр ИИ).

 

    2. Если обе  буквы  биграммы  исходного  текста  принадлежали

одной строке таблицы, то буквами шифра считались  буквы,  которые

лежали справа от них. Так биграмма ИВ давала текст  шифровки  КГ.

Если буква открытого текста находилась в правой колонке,  то  для

шифра бралась соответствующая буква из левой колонки  и  биграмма

ОМ давала шифр ДН.

 

    Если обе буквы биграммы  открытого  текста  лежали  в  разных

рядах и колонках, то вместо них брались такие  две  буквы,  чтобы

вся   четверка   их   представляла   прямоугольник.   При    этом

последовательность букв в шифре была  зеркальной  исходной  паре.

Например, СТ шифровалось как РХ, а ТБ  шифровалось  как  ШР.  При

шифровании фразы  ПУСТЬ  КОНСУЛЫ  БУДУТ  БДИТЕЛЬНЫ  по  биграммам

получается такая шифровка:

 

ПУ СТ ЬК ОН СУ ЛЫ БУ ДУ ТБ ДИ ТЕ ЛЬ НЫ

УБ РХ ЫИ ДО ПБ КЩ РБ HP ШР ЖЛ ФР ИЩ ЗЮ

 

    Шифрование  биграммами  резко  усилило  стойкость  шифров   к

вскрытию. При  всем  при  том,  что  "Полиграфия"  была  довольно

доступной  печатной  книгой,  описанные  в  ней   идеи   получили

признание лишь тремя  веками  позже.  Скорее  всего  это  вызвано

плохой известностью среди криптографов  Трисемуса,  который  слыл

богословом, библиофилом и основателем архивного дела.

    Среди  шифров  средневековья  встречается   много   курьезов.

Леонардо да Винчи  шифровал  большинство  своих  личных  записей.

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

написание текста так, что прочесть его  можно  лишь  в  отражении

зеркала. Однако Леонардо иногда использовал шифры и  посерьезнее,

поэтому далеко  не  все  его  заметки  и  записи  расшифрованы  и

изучены.  Люди,  умеющие  писать  левой   рукой   справа   налево

зеркальный текст,  нередки.  Изумительно,  но  встречаются  люди,

которые умеют даже произносить фразы "наоборот" и понимать их  на

слух. Поистине, человеческим способностям нет и не будет предела!

    В   средние   века   появляются   профессиональные   и   даже

потомственные криптографы, вроде семейства Ардженти, служившего у

папы Римского.

 

    Многие выдающиеся математики, начиная  с  тех  времен,  стали

привлекаться  к  криптографической  службе.  В  России   великому

Леонарду Эйлеру при Анне Иоанновне кроме  математики  приходилось

заниматься  еще  и  криптографией,  и  астрологией.  Именно   ему

историки приписывают знаменитый гороскоп Ивана VI.

    Во Франции таким математиком  был  Франсуа  Виет,  основатель

современной  элементарной  алгебры,  его  теорему  о   корнях   и

коэффициентах квадратных уравнений до сих пор  изучают  в  школе.

Описывая времена Генриха IV, даже  видные  литераторы,  Мериме  и

Цвейг,   делают   явный   промах:   увлеченно   повествуя,    как

перехватываются и читаются тайные послания, они забывают главное,

что искусство криптографии тогда было необычайно высоко развито и

сообщения зашифрованные Франсуа  Вистом,  сеньором  Биготьерским,

вскрыть никто из современников не мог. В то  же  самое  время  он

легко читал  все  шифровки  испанского  двора,  а  это,  говорят,

вызвало  жалобу  Филиппа  II  папе  Римскому   на   использование

французами черной магии или нечистой силы.

    Тем  не  менее  папы  Римские   сами   не   чуждались   услуг

криптографов  и  выдающийся   итальянский   математик   Джероламо

Кардано, имя которого дошло до  нас  благодаря  изобретенному  им

шарнирному  механизму  и  первой  публикации  о  методе   решения

уравнений третьей степени, состоял у  них  на  службе.  Его  перу

принадлежит несколько книг  по  криптографии  и  описание  метода

трафаретов,  который  будет  рассмотрен  ниже.  Если  учесть  род

занятий Кардано, становится  понятным,  почему,  выведя  гороскоп

Христа,  он  остался  недоступным  инквизиции,  сжегшей  Бруно  и

судившей Галилея за куда меньшую ересь: эка, невидаль, что  Земля

вертится! Жизнь и смерть Джероламо  полны  легенд.  Больше  всего

современников  в  Кардано  поражал  дар  предвидения,   благодаря

которому  он  безмятежно  перенес  казнь  своего  сына  и  потерю

крупного состояния. Вероятно, хотя  бы  отчасти  его  мистический

талант    знать    будущее    объясняется    принадлежностью    к

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

предсказав  продолжительность  своей  жизни  в  75  лет,   он   в

назначенный год покончил самоубийством, оставив записку: "Если  и

неверно, то неплохо придумано".

    Увлечение теорией  магических  квадратов  привело  Кардано  к

открытию нового класса шифров перестановок,  названных  решетками

или трафаретами. Они представляют собой квадратные  таблицы,  где

четверть ячеек прорезана  так,  что  при  четырех  поворотах  они

покрывают весь квадрат. Вписывание в прорезанные ячейки текста  и

повороты решетки продолжаются до тех пор, пока  весь  квадрат  не

будет  заполнен.  Например,  на  рисунке  ниже  показан   процесс

шифровки  решеткой  4  х   4.   Черными   квадратами   обозначены

непрорезанные  ячейки,  а  повороты  осуществляются  по   часовой

стрелке на указанный ниже угол:

 

 

    **П*     З***     ***    *Т**      ЗТП

    ***Р     *Ж**     **Ш*   О***      ОЖШР

    *И**     ***А     Е***   **Г*      ЕИГА

    Е***     **Ю*     *C**   ***О      ЕСЮО

 

     0'      90'      180'    270'      шифp

 

    В результате  получается  шифровка  ЗТП  ОЖШРЕИГАЕСЮО.  Число

подобных решеток быстро растет с их размером. Так, решетка 2 х  2

единственна, решеток 4 х 4 уже 256, а  решеток  размером  6  х  6

свыше ста тысяч. Несмотря  на  кажущуюся  сложность,  шифры  типа

решеток довольно просто вскрываются и не могут  использоваться  в

виде самостоятельного шифра. Однако они очень удобны и еще  долго

использовались в практике для усиления шифров  замены.  Один  мой

знакомый, остановившись при чтении рукописи книги на этом  месте,

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

легко вскрываются. Поскольку это глубоко ошибочное и обидное  для

криптологов  мнение   широко   распространилось   из   популярных

математических книг  или  иных  источников  дезинформации,  то  в

следующей главе специально  приведен  пример  вскрытия  шифровки,

сделанной этой решеткой.

    В  Англии  XVII  века  возглавлял  криптографическую   службу

математик Джон Валлис, основавший исчисление бесконечно малых, но

получивший научное  признание  и  профессуру  в  Оксфорде  не  за

химерические  бесконечно  малые,  а  за   редкостные   успехи   в

расшифровке. В Германии же лучшим криптографом тогда был Лейбниц,

основатель Берлинской академии наук, языковед и  математик,  один

из создателей дифференциального исчисления, к имени  которого  мы

еще вернемся позже в связи с  развитием  криптографии  в  России.

Одно время его высокий покровитель, ганноверский  курфюрст  Георг

1, став королем Англии, хотел пригласить Лейбница  на  британскую

криптографическую службу, но Валлис был там  незаменим  и  утечка

континентальных "мозгов" на  запад  не  состоялась.  Лейбницу  не

подфартило стать главным криптографом Англии может быть и потому,

что  Ньютон,  оспаривающий  его  авторство   в   дифференциальном

исчислении, единолично заправлял в Королевском научном обществе и

изо всех сил преследовал менее именитого иностранного конкурента.

Другой раз Лейбницу не повезло с  приглашением  в  Петербург  для

организации русской  криптографической  службы.  Неожиданная  его

болезнь и смерть расстроили планы Петра 1,  активно  вербовавшего

нужных России  ученых.  Человеком,  сумевшим  завершить  развитие

криптографии в отдельную  научную  дисциплину,  стал  по-видимому

однофамилец   Роджера   Бэкона   -    Френсис    Бэкон.    Будучи

лордом-канцлером при короле Якове 1, он хорошо  знал  потребности

государства в надежных шифрах, и его первая  талантливая  работа,

относящаяся  к  1580  году,  в  дальнейшем   получила   блестящее

практическое развитие. В частности, именно он  впервые  предложил

двоичное кодирование букв латинского  алфавита  -  то  же  самое,

которое используется сейчас в компьютерах.

 

    Такой   заботливый   уход   за   пустившей   первые    ростки

криптографией привел к тому, что она скоро  стала  давать  плоды.

Разгром Великой Армады в 1588 году  в  значительной  степени  был

обусловлен  мощью  английской  криптографической   школы,   легко

ломавшей  испанские  шифры  и  сообщавшей  о  всех  передвижениях

неприятельских судов.

    Криптография была известна  и  применялась  во  многих  слоях

общества Британии. Лондонец Самуэль  Пепис  (1633-1703)  всемирно

известен своим дневником, по  которому  историки  пишут  труды  о

переходе от Пуританства к Реставрации. Искусствоведы включили это

произведение в мировую  сокровищницу  литературы.  Пепис  окончил

Кембридж благодаря кузену отца - адмиралу Монтегю  и  имел  много

друзей: ученого  Исаака  Ньютона,  архитектора  Кристофера  Рена,

поэта и драматурга Джона Драйдена.  Пепис  был  лично  свидетелем

таких незабываемых для Англии  событий,  как  возвращение  короля

Чарльза II в Англию, большая чума 1664 года, пожар  Лондона  1666

года, революция  1688  года.  Интересно,  что  его  мемуары  были

зашифрованы по системе криптолога Томаса Шелтона и  дополнительно

собственным шифром Пеписа, поскольку содержали много  скандальных

фактов о великих современниках. Вместе с его  личными  книгами  и

бумагами дневник после смерти  писателя  попал  в  Кембридж,  где

сразу же привлек внимание  исследователей.  Первый  успех  в  его

расшифровке был  получен  лишь  в  1822  году,  а  полностью  она

завершена в 1899 году. Таким образом, к XVIII  веку  криптография

окончательно  сложилась  в  виде  самостоятельной  науки.  Однако

несмотря на наличие профессиональных криптологов, находящихся  на

государственной службе,  и  постоянного  использования  шифров  в

дипломатии  и  военном  деле,  криптология  еще   не   вышла   из

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

одаренные одиночки.

 

    Криптология в Новое время

 

    Новое  время  привнесло  новые  достижения  в   криптографию.

Постоянно  расширяющееся  применение   шифров   выдвинуло   новое

требование к ним - легкость  массового  использования,  а  старое

требование - устойчивость к взлому не только осталось, но и  было

усилено.  Поэтому  1854  год,  когда  англичанин  Чарльз  Уитстон

разработал новую шифровку биграммами,  которую  называют  двойной

квадрат, открыл новый этап в криптографии. Название шифр  получил

по аналогии с полибианским квадратом. В отличие от полибиаиского,

двойной квадрат использует сразу две  таблицы,  расположенные  по

горизонтали, а шифрование идет биграммами, как в шифре  Playfair.

Эти, казалось бы и не столь уж значительные изменения  привели  к

появлению  на  свет  новой  криптографической   системы   ручного

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

немцами даже в годы Второй мировой войны. По отзыву ее создателя,

шифрование  двойным  квадратом  предельно  просто  и  его  "можно

доверить даже дипломатам". Приведем  пример  использования  шифра

двойной квадрат для  русских  текстов.  Имеются  две  таблицы  со

случайно расположенными в них алфавитами:

 

 

Ч               В       Ы       П

О       К       :       Д       У

Г       Ш       3       Э       Ф

Л       Ъ       Х       А       ,

Ю       Р       Ж       Щ       Н

Ц       Б       И       Т       Ь

.       С       Я       М       Е

 

Е       Л       Ц       :       П

.       Х       Ъ       А       Н

Ш       Д       Э       К       С

Ы               Б       Ф       У

Я       Т       И       Ч       Г

М       О       ,       Ж       Ь

В       Щ       3       Ю       Р

 

    Для шифрования сообщение разбивают на биграммы. Первая  буква

биграммы находится в левой таблице, а  вторая  в  правой.  Затем,

мысленно  в  таблице  строится  прямоугольник  так,  чтобы  буквы

биграммы  лежали  в  его  противоположных  вершинах.  Другие  две

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

что шифруется биграмма текста ОЖ. Буква О находится в  колонке  1

строки 2 левой таблицы. Буква Ж находится в колонке  4  строки  6

правой таблицы. Значит, прямоугольник образован строками 2 и 6, а

также  колонками  1  левой  и  4  правой  таблиц.  Следовательно,

шифровке соответствуют буквы, лежащие в колонке 1 строки 6  левой

таблицы Ц и в колонке 4 строки 2 правой таблицы А - биграмма  АЦ.

Так парами букв шифруется все сообщение:

 

Сообщение: ПР ИЕ ЗЖ АЮ Ш  ЕС ТО ГО

Шифровка : ПЕ МБ КИ ФМ ЕШ РФ ЖБ ДЦ ЩП

 

    Если обе буквы биграммы сообщения лежат в одной строке, то  и

буквы шифровки берутся из этой же строки. Первая  буква  биграммы

шифровки берется из  левой  таблицы  в  столбце,  соответствующем

второй  букве  биграммы  сообщения.  Вторая  же  буква   биграммы

шифровки берется из правой  таблицы  в  столбце,  соответствующем

первой  букве  биграммы  сообщения.  Так,  по  приведенным   выше

таблицам биграмма сообщения ТО превращается в  биграмму  шифровки

ЖБ. Несомненно, что шифрование биграммами дает весьма  устойчивый

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

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

сообщения более тридцати строк.

    Во второй половине XIX века  появляется  множество  работ  по

вскрытию  сложных  шифров  замены  для  конкретных  условий,  при

использовании  повторяющегося  короткого  ключа,   при   шифровке

нескольких сообщений одним ключом. Тогда же в Англии и США  стали

выходить    периодические    издания,    посвященные     вопросам

криптоанализа, где профессионалы и любители, обмениваясь  опытом,

предлагали новые типы шифров  и  анализировали  их  стойкость  ко

взлому.  Возможно,  одного  из  самых  больших  успехов  XX  века

криптоаналитика добилась, когда  Британская  морская  разведка  в

начале 1917  года  передала  правительству  США  текст  секретной

расшифрованной  телеграммы   (телеграмма   была   перехвачена   с

трансатлантического кабеля.) , известной как послание Циммермана,

бывшего министром иностранных дел Германии. В ней немецкому послу

в Мексике предлагалось заключить союз,  чтобы  Мексика  захватила

американские штаты Техас, Нью-Мехико и Аризону.  Эта  телеграмма,

произвела эффект взрыва и, считают сейчас историки, стала главным

поводом  для  вступления  США  в  Первую  мировую  войну   против

Германии, обеспечив ее разгром. Так криптография впервые серьезно

заявила о своей исключительно большой  значимости  в  современном

мире.

    XIX  век   с   расширением   связных   коммуникаций   занялся

автоматизацией  процесса  шифрования.  Появился  телеграф,  нужно

шифровать и его. Любопытно, что цифровое  шифрующее  колесо  было

изобретено  госсекретарем  Томасом  Джефферсоном  в  1790   году,

ставшим  потом  третьим  президентом   США.   Похожие   шифрующие

устройства применялись армией США и после Второй  мировой  войны.

Принцип  работы  таких  машин,  очень  похожих  на   арифмометры,

заключается в многоалфавитной замене текста сообщения по длинному

ключу. Длина периода ключа определялась наименьшим общим  кратным

периодов оборотов шифрующих колес. При 4 колесах  и  периодах  их

оборотов 13, 15, 17 и 19 получалась большая длина  периода  ключа

62985, очень затрудняющая расшифровку коротких сообщений. Гораздо

более примитивный прибор, цилиндр Базери, был  предложен  Этьеном

Базери  в  1891  году.  Он  состоял  из  20  дисков  со  случайно

нанесенным по ободу алфавитом.  Перед  началом  шифрования  диски

помешались на общую ось в порядке,  определяемым  ключом.  Набрав

первые 20 букв текста в ряд на цилиндрах их поворачивали вместе и

считывали  в   другом   ряду   шифрованное   сообщение.   Процесс

повторялся, пока все сообщение не было зашифровано. Однако первая

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

Жильбером  Вернамом  лишь  в  1917  году.  Применение   машин   в

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

занимающихся  их  серийным  выпуском.   Шифровальная   аппаратура

создавалась в Германии, Японии, США и ряде других развитых стран.

    Предшественницей  современных  криптографических  машин  была

роторная машина, изобретенная Эдвардом Хеберном  в  1917  году  и

названная впоследствии  Энигмой  (Слово  enigma  переводится  как

загадка.  Промышленные  образцы  этой  машины  изготовляла  фирма

Siemens.). Независимая промышленная ее версия создана чуть  позже

берлинским инженером Артуром Кирхом (некоторые источники называют

его  Артуром  Шербиусом).  Она  сначала  Представляла   собой   4

вращающихся на одной оси барабана, обеспечивающих более  миллиона

вариантов шифра простой замены, определяемого текущим  положением

барабанов. На каждой стороне барабана по окружности располагалось

25 электрических контактов, столько же, сколько букв в  алфавите.

Контакты с обеих сторон барабана  соединялись  попарно  случайным

образом 25  проводами,  формировавшими  замену  символов.  Колеса

складывались  вместе  и  их   контакты,   касаясь   друг   друга,

обеспечивали  прохождение  электрических  импульсов  сквозь  весь

пакет колес. Перед началом работы  барабаны  поворачивались  так,

чтобы устанавливалось  заданное  кодовое  слово  -  ключ,  а  при

нажатии клавиши и кодировании очередного символа  правый  барабан

поворачивался на один шаг. После того, как он  делал  оборот,  на

один шаг поворачивался следующий барабан - будто  бы  в  счетчике

электроэнергии. Таким образом, получался  ключ  заведомо  гораздо

более длинный, чем текст сообщения.

    Например,  в  первом  правом  барабане  провод  от  контакта,

соответствующего букве U,  присоединен  к  контакту  буквы  F  на

другой его стороне. Если же барабан поворачивался на один шаг, то

этот же провод соответствовал замене следующей за U  буквы  V  на

следующую  за  F  букву  G.  Так   как   барабаны   соприкасались

контактами, то электрический импульс от нажатой клавиши с  буквой

исходного текста прежде чем достигал выхода претерпевал 4 замены:

по  одной  в  каждом  барабане.  Для  затруднения   расшифрования

барабаны  день  ото  дня  переставлялись  местами  или  менялись.

Дальнейшее  усовершенствование  этой  машины   сделало   движение

барабанов хаотичным, а число их увеличилось сначала до 5, а потом

до 6. Все устройство могло поместиться  в  портфеле  и  было  так

просто, что обслуживалось обычными связистами.

 

    Казалось бы, сделано все для невозможности вскрытия  шифровок

Энигмы. И все же английские криптографические  службы  в  Блетчли

Парке (уединенное поместье  в  80  километрах  севернее  Лондона,

отведенное  британским  криптологам.)  почти  всю  войну   читали

немецкие шифры.  Это  стало  возможным  лишь  благодаря  польской

разведке,  которая  к  злополучному  1939  году  смогла  получить

чертежи Энигмы и разобраться в  ее  устройстве.  После  нападения

гитлеровцев на Польшу чертежи немецкой шифровальной  машины  были

переданы  Англии.  Довольно  быстро  британские   криптоаналитики

установили, что для взлома шифра, нужно знать распайку проводов в

шифрующих  колесах.  Началась  охота  британских   спецслужб   за

образцами Энигмы. Первый  удалось  выкрасть  прямо  с  завода  на

юго-востоке Германии, второй сняли со  сбитого  в  небе  Норвегии

немецкого бомбардировщика, третий был найден  во  время  боев  за

Францию у немецких военных связистов, взятых  в  плен.  Остальные

Энигмы сняты водолазами с немецких подводных лодок,  за  которыми

специально стали охотиться и топить на малых глубинах.

    Взлом шифров Энигмы шел тяжело до тех пор, пока в  1942  году

не вступили в строй несколько ЭВМ, специально созданных для этого

Аланом   Тьюрингом.   Это   была   первая   в    мире    довольно

быстродействующая ЭВМ под названием "Колосс",  специализированная

для взлома шифров. После этого английские  криптоаналитики  могли

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

полученную  добытыми  ранее  колесами,  методично  перебирая  все

возможные ключи. Немцы рассчитывали на  сложность  своего  шифра,

исходя из его ручной дешифровки, в то время как  англичане  стали

его ломать, используя ЭВМ.  Отметим,  что  сами  немцы  допускали

возможность взлома шифра Энигмы. Еще в 1930 году ведущий немецкий

криптоаналитик Георг Шредер продемонстрировал такую  возможность,

едко заметив при этом: "Энигма - дерьмо!"  Однако  она  постоянно

усложнялась и были периоды, когда в Блетчли Парке с ней не  могли

справиться. Перед  шифровками  Энигмы,  которые  исходили  не  от

войск, а из немецких криптографических центров, "Колосс" тоже был

бессилен.

    Высокое развитие  криптографической  техники  стран  западных

союзников в значительной степени предопределило ход многих боевых

операций во время Второй мировой войны. Англия, хоть и  несла  на

море   большие   потери,   но   практически    подавляла    любые

организованные действия немецкого  флота,  перехватывая  и  читая

приказы гроссадмиралов Редера и  Деница.  В  книгах  воспоминаний

английских криптографов страницы  сплошь  усеяны  фразами  "...мы

знали...", за которыми стоит колоссальный труд тысяч человек.

    США тоже "знало" о многих намерениях японской  армии,  и  вот

почему. Все началось  еще  до  войны,  с  объявления  о  задержке

отправления почти на час океанского лайнера, следующего из  Токио

в США. Никто не заметил, что  обычную  портовую  суету  усугубили

несколько американцев, которые со скоростью биржевых  новостей  о

финансовом крахе,  скатившись  по  трапу  разъехались  на  такси.

Корабль вышел в море, лишь  когда  один  из  этих  господ  спешно

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

Тем не менее, неприятности этого рейса только начинались. Команда

была недоукомплектована стюардами и некому было доставлять  обеды

в  каюты  по  требованиям  пассажиров.  Энергетическая  установка

барахлила и свет то мигал,  то  временами  светил  тускло.  Кроме

того, чтобы обойти опасные циклоны  стороной,  лайнер,  петляя  в

океане, опоздал на несколько дней в порт назначения  на  западном

побережье  США.  Было  бы  кощунственно  отнять  у  небес   право

авторства на  уникально  длинную  цепочку  досадных  невезений  с

безупречным до этого рейса кораблем, но придется.

 

    Просто-напросто разведслужбы США  узнали,  что  принципиально

новая шифровальная машина будет доставлена из  Токио  в  японское

посольство  двумя  курьерами  по  морю.  Чтобы  агенты  смогли  в

токийских универмагах найти точь-в-точь такой же чемодан, как и у

курьеров, было задержано отправление корабля.  Профсоюз  стюардов

был подкуплен заранее и бойкотировал рейс, а это дало возможность

хоть  на  время  обеда  разлучать  курьеров  и  ослабить   охрану

шифровальной машины. Темнота способствует исполнению черных дел и

электрический генератор неизбежно начал  сбоить.  Чтобы  инженеры

успели хорошо изучить и скопировать сложную японскую технику,  на

злополучный  корабль  посылались   фиктивные   предупреждения   о

циклонах.  Эту  операцию  поддерживали   люди   самых   различных

специальностей: психологи  и  взломщики,  фармацевты  и  граверы,

электрики и взрывники, официанты и фотографы...

 

    Теперь оценим, стоила  ли  игра  свеч.  Японский  флот  перед

войной  значительно   превосходил   флот   союзников   по   числу

авианосцев, что давало ему преимущества  в  ведении  операций  на

море. 7  декабря  1941  года  японцы  внезапно  нанесли  удар  по

основным базам США и Великобритании в бассейне Тихого океана. США

потеряли все  линейные  корабли,  6  легких  крейсеров,  эсминец,

множество легких судов и 272 самолета. Однако,  к  этому  времени

американские криптографы уже научились ломать коды сверхсекретной

шифровальной машины. Поэтому первым реваншем за  разгром  в  Перл

Харборе стало потопление японского флота у атолла Мидуэй, которое

обеспечили   американские   криптоаналитики,   взламывая   ро-код

радиопереговоров генштаба  Токио  и  оперативно  указывая  точные

координаты  целей.  В  июне  1942  года  японцы  решили  десантом

захватить атолл Мидуэй. Всего за 3 дня сражений 3-6 июня японские

ВМС лишились своего превосходства в авианосцах,  а  в  1944  году

американцы уже  в  10  раз  превосходили  японцев  по  авиации  и

авианосцам.  Высшим  своим  достижением  американские  криптологи

считают  операцию  1943   года   по   перехвату   и   уничтожению

единственного  самолета  с  адмиралом  Ямамото   (Ямамото   лично

руководил    операцией    в    Перл    Харборе.),     прозванного

"командующим-людоедом".

    Свою искушенность в технике криптографии скрывали все воюющие

стороны. Японская пословица гласит: "Искусство заключается в том,

чтобы  скрыть   искусство".   Если   ей   руководствоваться,   то

криптографию  можно  признать  одним   из   наивысших   искусств.

Англичане усиленно распространяли слухи о  разветвленности  своей

агентурной сети и колоссальных успехах  радиолокации,  американцы

же на страницах своих  многочисленных  газет  уверяли  доверчивых

читателей в том, что чуть не каждую квадратную милю Тихого океана

у  них  патрулирует  отдельный  самолет.  Тем  не  менее   именно

расшифровка радиограмм противника давала главную часть информации

для  оперативных  планов.  Разгром   большого   отряда   кораблей

германских ВМС  у  Крита  стал  возможен  лишь  благодаря  данным

ULTRA  (кодовым  словом  ULTRA   союзники   обозначали   немецкие

сообщения, полученные взламыванием шифров Энигмы.)  ,  переданным

британской  эскадре.  Чтобы  скрыть  столь   секретный   источник

информации, каким является ломка шифров, англичане решили "выбить

клин  клином".  Они  отправили  своему   несуществующему   агенту

благодарность за бесценную информацию об  этом  отряде  кораблей,

зашифровав  радиограмму  уж  очень  просто.  Так  и   получилось:

радиограмма была перехвачена, ее шифр сломан, и немцы  введены  в

заблуждение.

 

    Дезинформация  о  роли  криптографии   в   войнах   настолько

всеобъемлющая,  что  приходится  сомневаться  и   в   правдивости

воспоминаний ветеранов, которым, казалось бы, нечего  терять,  но

есть  чем  похвалиться.  Немногого  стоит  сообщение  о  вскрытии

немецкими криптографами русских шифров армии  Иосипа  Броз  Тито,

сделанное в мемуарах руководителя зарубежной разведки германского

рейха  Вальтера   Шелленберга.   Вслед   за   этим   сомнительным

утверждением он приписал: "В шифровках сообщалось о  намечающемся

десанте англо-американских войск во взаимодействии с югославскими

партизанами  на  побережье  Адриатики.   Несомненно,   что   этой

дезинформацией нас пытались ввести в заблуждение..." Так  чем  же

была  вызвана  слабость  шифра  Москвы  -  огрехом  или  коварным

расчетом? Освоив искусство двуликого Януса, люди потеряли правду,

точнее, перестали ее отличать от вымысла, который на правду  стал

похож их стараниями. Даже узнав о том, что англичане читали почти

все его секретные приказы из ставки в Лориенте и лучше него знали

обстановку на море, старый Дениц на вопрос, не чувствовал ли  он,

что противник читает его мысли, подумав, ответил: "Да нет, ничего

такого не было".

    Дезинформация и недоверие  были  широко  распространены  даже

между  союзниками.  Англичане  передавали   союзному   советскому

командованию читаемые ими примитивные полицейские шифры,  выдавая

их за предел своих возможностей в расшифровке.  В  ответ  на  это

советская сторона лицемерно  восторгалась  англичанами,  сожалея,

что столь нужной криптографической службы у нее совсем  нет,  так

как она запрещена  по  Гаагской  конвенции  вместе  с  химическим

оружием. Это отнюдь не способствовало совместным действиям  из-за

взаимного недоверия. Не желая раскрыть  суть  операции  ULTRA  по

расшифровке  немецких  сообщений,  англичане  так  и  не  открыли

Советам источник сведений о  готовящемся  нападении  Германии  на

СССР,   что   вызвало   подозрение   в   провокации    (Советское

правительство допускало, что  англичане  желают  втянуть  СССР  в

войну с Германией лишь для того, чтобы отвлечь от  себя  немецкие

войска и ссылаются на мнимую угрозу. Кроме того, было известно  о

планах  Лондона  оккупировать  Баку  с  целью  опередить  в  этом

Берлин.),  на  что  англичане  были  мастера.  Дело  доходило  до

абсурда:     дезинформированный     о     возможностях      своей

криптографической  службы,  в  конце  войны  американский   шпион

похитил для нее японскую шифровальную машину. Он так и не  понял,

почему машина тайно и спешно была возвращена на место, а  сам  он

впал в немилость, не получив наград. Точно  так  же  были  строго

наказаны немецкие солдаты, захватившие  при  оккупации  одной  из

стран  Европы  мешки  с  шифрованной  секретной   дипломатической

перепиской. Японские шифры кроме  американцев  вскрыли  еще  и  в

Берлине, читая шифрованную корреспонденцию посланника Окамото  из

Швейцарии, так и в Москве.

    Завершает   историю   этого   этапа   криптографии   человек,

вдохнувший в нее новую жизнь, математик Элвуд Шеннон, который  во

время Второй мировой  войны,  исследуя  математическими  методами

надежность шифрования, придал криптологии цивильный вид,  спрятав

ее за пазухой общей  теории  информации.  Согласно  ей  случайная

последовательность символов не несет никакого  смысла.  Связь  же

информатики  с  криптологией  состоит  в   том,   что   найденные

статистические  свойства  шифровки,  ключа  и   сообщения   можно

привлечь  для  расшифровки,  нахождения  конкретного   содержания

сообщения. Его работа опубликована лишь в 1949 году, так как была

засекречена. Поэтому приоритет  в  ряде  результатов  принадлежит

Винеру и Колмогорову, опубликовавших их несколько раньше.

 

    Создание цифровых ЭВМ заставило полностью изменить взгляды на

шифры и их расшифровывание. Американцы утверждают, что их война с

Ливией - следствие машинной расшифровки  радиообмена  террористов

(израильский разведчик, повздоривший с руководством, утверждал  в

скандальной статье, что компрометирующие Ливию шифровки  исходили

из Тель-Авива, чтобы руками США  разрешить  свои  проблемы.  Кому

можно верить, если дело касается разведки?) . Тем не  менее  роль

ручных шифров, по-видимому, останется довольно высокой еще  очень

долго. Действительно, кому придет в голову  пользоваться  сложной

техникой, чтобы передать пару строк  текста  или  два-три  числа?

Недаром в романе английского разведчика Грэма Грина "Наш  человек

в  Гаване"  любитель  кроссвордов  представлен  криптоаналитиком,

вскрывающим  донесения  главного  героя,  зашифрованные  вручную.

Однако на  последних  страницах  книги  шеф  разведки,  перепутав

аппараты,   дает   указания   своему   повару   по   телефону   с

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

 

    Криптология в России

 

    Странные  русские  письмена  встречаются,  начиная  с   самой

древности. Однако по этому поводу много разных мнений: одна часть

лингвистов считает их остатками древней  системы  письменности  -

чертами и резами,  вытесненной  кириллическим  алфавитом,  другая

часть - культовыми  или  календарными  знаками  и  лишь  немногие

настоящими шифрами. Действительно, почему бы  запись  на  бересте

или на еще не обожженном сосуде не мог сделать ребенок, незнающий

грамоты, но стремящийся подражать взрослым? Но надписи на украше-

ниях,  колоколах,  оружии  или   деревянных   идолах   несомненно

принадлежат взрослым и осмысленны. Кроме  того,  есть  двуязычные

тексты выполненные резами и  буквицей.  Поэтому  древние  системы

письменности хоть и  слабо,  но  известны.  Даже  древние  записи

музыки выполненные крюками хоть и неоднозначно, но читаются. Чаще

всего за шифры принимаются  руны  венедов,  содержащие  около  16

символов, которых явно недостаточно для передачи всех  славянских

звуков. Интересно заметить близость славянских рунических  знаков

фракийским,  редкие  письменные  памятники  которых  относятся  к

первому  тысячелетию  до  нашей   эры.   Если   принять   активно

развиваемую в последнее время гипотезу  происхождения  славян  от

фракийцев, возводящую их к Спартаку и союзникам древней Трои,  то

имеем записи на забытой системе письменности  (о  древности  этой

системы говорит малое число букв алфавита, когда гласные звуки на

письме не отображались, как в финикийском и ряде  других  древних

языков Малой Азии.) , но не шифры.

    Бесспорно, тем не менее, что  уже  с  XIV  века  в  Новгороде

существовала техника тайного письма,  продолжение  которой  можно

найти в шифровках русских дипломатических  документов  позднейших

времен. Это были шифры простой замены, даже скорее  коды,  потому

что кроме букв встречаются символы странных очертаний. В шифровке

князя Барятинского, которую Н.М. Сперанский обнаружил на  форзаце

книги начала XVII века, имеются такие знаки:

 

       буква сообщения АЕКПРСТЯ

       знак кода       ГЭ=+Х"ШЮ

 

    Следует заметить, что соответствие  букв  знакам  этого  кода

было многозначным: буква С могла передаваться вроде ^ и наподобие

S. В средние века на Руси складывается  и  тарабарский  язык,  на

котором общались афони и проходимцы. Фраза  ВОЗЬМИ  СУМУ  звучала

по-тарабарски как ТАРА-ВОБАРА-ЗЬМИ ТАРА-СУ-БАРА-МУ. Он  дожил  до

начала этого века оставив о  себе  в  память  слово  тарабарщина,

синоним чего-то непонятного. Из этих примеров видно, что  уровень

развития криптографии на Руси в это время безнадежно отставал  от

европейского.

    Однако через торговые связи Новгорода  с  Германией  на  Руси

очень скоро становились известны все  важнейшие  открытия,  вроде

бумаги и пороха. С основанием московской  Патриаршей  библиотеки,

хорошо известной даже в Европе по богатству  содержащейся  в  ней

светской  литературы  и  включающей  даже  переводы   эротических

арабских новелл,  создается  реальная  возможность  заимствования

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

состояния государевой службы  шифрования  входящей  в  Посольский

приказ особенно стала чувствоваться  в  конце  XVII  века,  когда

усилиями русской дипломатической службы расширяются международные

связи  Москвы.  Заключая  с  Польшей  в  1667  году  Андрусовское

перемирие, видный  русский  дипломат  Ордин-Нащокин  одновременно

учредил и постоянную почтовую связь России с Европой. Это  давало

возможность развития шифрованной переписки.

    Коренным образом положение меняется с приходом к власти Петра

1, который в 1712 году встречался с  Лейбницем,  чтобы  уговорить

его разработать проекты развития образования  и  государственного

устройства в России. Крупный европейский  криптограф  придавал  в

своих  проектах  развитию  шифрования  большое  значение,   и   в

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

развитие и использование систем шифрования.  Видимо,  Петр  1  не

очень-то следовал своему почтовому указу 1698 года, повелевающему

"отнюдь ничьей грамотки не распечатывать и не  смотреть...",  так

как вся иностранная почта доставлялась в  посольский  приказ  для

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

по старой алфавитной системе записи чисел. Выделение цифр,  да  и

имен собственных в тексте  раньше  делалось  с  помощью  титла  -

специального знака, проставляемого над строкой. Шифры приходилось

выделять в сообщении так же, как и цифры, титловать  их.  Поэтому

вполне понятно название шифра цифирью, то есть текстом, требующим

специального прочтения. Впрочем, еще  считают  слово  цифирный  в

названии   палаты   калькой   или    буквальным    заимствованием

французского слова chiffre, означающего шифр и цифру.

    Наиболее  быстро  применение   криптографии   развивалось   в

дипломатической службе обновленного  Российского  государства,  а

военные были более консервативны, но и в их среде во время  войны

1812 года замечается знание и употребление шифров.  Исследователи

творчества Пушкина находят шифровки, периодически появляющиеся  в

его записных книжках. Десятая  глава  "Евгения  Онегина"  отчасти

была сожжена поэтом, а остатки дошли до нас  в  виде  фрагментов,

большей частью зашифрованных. Окончательная расшифровка  их  была

завершена лишь в 1910 году, хотя разбиение шифрованного текста на

строфы уточнялось и позднее.

    Гораздо  более  интересно  использование  шифров  в   письмах

Грибоедова  к  своей  жене  из  Персии.  Уже  в  советское  время

некоторых его биографов смутил тот факт, что в отдельных  письмах

из Персии  жене  нарушается  характерный  стиль  и  замечательный

писатель не  похож  сам  на  себя.  При  исследовании,  сделанном

криптоаналитиками,   оказалось,   что   эти   письма    содержали

дипломатические послания Александра Сергеевича. Они были  сделаны

через накладываемый на  лист  бумаги  трафарет,  в  котором  были

вырезаны отдельные окошки  под  буквы.  Написав  донесение  через

трафарет, Грибоедов  дописывал  разбросанные  по  листу  буквы  в

связный текст так, чтобы он содержал письмо жене и отправлял  его

с обычной почтой. Российские секретные службы  перехватывали  это

письмо, или, как принято говорить, перлюстрировали, расшифровали,

а затем доставляли адресату. Повидимому, жена его не догадывалась

о двойном назначении этих  посланий.  Отметим  большое  остроумие

примененного шифра и хорошую надежность; имея  отдельное  письмо,

вскрыть шифр практически невозможно, а  переписывание  текста  от

руки разрушало шифровку, поскольку буквы неизбежно сдвигались  по

месту расположения.

    Цифирное  дело   в   России   развивалось   и   шифры   стали

употребляться  не  только  для  зарубежной,   но   и   внутренней

переписки. Известно, что  сенатор,  тайный  советник  Тапильский,

посланный из Петербурга Александром II  в  Москву  к  митрополиту

Филарету с просьбой  составить  царский  манифест  1861  года  об

освобождении крестьян, имел личный шифр для почтовых отправлений.

Деликатность миссии сенатора заключалась лишь  в  том,  что  царь

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

светского дела. С выстрелами в царя  Каракозова  наступил,  новый

период   деятельности   российской   криптографической    службы.

Началось состязание охранки  с  революционерами:  кто  быстрее  -

жандармы переловят террористов или террористы убьют царя.  Сейчас

историки  наперебой  предлагают  имена:  Азеф,   Гапон,   Дегаев,

Малиновский, Окладский, Романов, Тихомиров  (перечислены  фамилии

агентов царской  охранки.)  -  вот  кто  предавал  охранке  имена

революционеров и их планы. Однако, начиная  с  семидесятых  годов

XIX века и до революции, правительственные криптоаналитики читали

все без исключения перехватываемые шифровки революционеров.

 

    Конечно,  без  агентов  не  обойтись,  но,  владея   техникой

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

давали   несколько   сотен   агентов   охранки.    Документальных

подтверждений этому множество, например:  "3.01.1910.  Начальнику

Санкт-Петербургского   губернского    жандармского    управления.

Департамент   полиции...    препровождает    при    сем    Вашему

Превосходительству ключ к шифру  и  разбор  шифрованной  записки,

отобранной по обыску  у  Якова  Свердлова..."  В  своих  мемуарах

генерал П.П. Заварин писал о криптологе Зыбине, что простые шифры

он  разбирал  с  первого  взгляда,  а  сложные  приводили  его  в

состояние,  подобное  аффекту,  которое  длилось,  пока  ему   не

удавалось расшифровать документ. Сам Зыбин говорил, что  "за  всю

свою  жизнь  не  расшифровал  только  одного   письма   по   делу

австрийского шпиона, но это было давно,  теперь  я  и  с  ним  не

провалился бы!"  Историкам,  изучающим  российское  революционное

движение, нужно исходить из предположения, что почти  все  письма

подпольщиков перехватывались, а значит,  и  читались  в  цифирной

палате.  Но  единственный  раз  в  мемуарах  уральского  рабочего

довелось прочесть предположение, что  жандармы  знали  многое  из

писем, даже если те были шифрованные.

 

    Можно было бы  многое  рассказать  о  роли  криптографических

служб в русско-японской и Первой мировой войнах, но, как  говорят

аборигены Севера, теперь наш разговор  уйдет  на  другую  сторону

реки.  Не  выдержав  потрясений   двух   революций   1917   года,

государственная   криптографическая   служба    России    надолго

прекратила свое существование и потребовались долгие годы  на  ее

воссоздание. Если судить о состоянии  отечественной  криптографии

по  воспоминаниям  начальника  румынской  контрразведки,   то   в

двадцатые годы все  шифровки  наших  военных  читались,  да  и  у

дипломатов дела шли ненамного лучше.

 

    В   Правительственной   криптографической   школе   Британии,

созданной  при  Адмиралтействе  в  1919  году,   главой   секции,

работавшей против России, служил некто Эрнест Феттерлейн, пожилой

человек, получивший от сослуживцев  игривое  прозвище  Фетти.  Он

бежал из Советов, спрятавшись на борту шведского судна. В  России

перед революцией Феттерлейн  занимал  пост  ведущего  криптолога,

имел ранг адмирала и лично награжден царем  перстнем  с  огромным

рубином  за   выполнение   деликатных   поручений.   Слабосильные

советские шифровальные системы Фетти ломал  играючи.  Так,  читая

его  расшифровки  секретной  дипломатической  переписки  Советов,

англичане  с  удивлением  узнали,   что   неблагодарная   Москва

(Британия  первой  из  западных  стран  дипломатически   признала

советскую Россию.) поддерживает оппозицию в Индии,  бывшей  тогда

британской  колонией,  и  финансирует  экстремистов   в   рабочем

движении Англии.

    Правительство   Ллойд   Джорджа   решило   опубликовать   его

расшифровки  в  печати,   чтобы   заставить   Советы   прекратить

вмешательство во внутренние дела Британии, хотя настаивало, чтобы

газеты  не  раскрывали  источника  информации.  Но  в  1921  году

"Таймс", нарушив обещания правительству, напечатала  сенсационную

статью  с  полными   текстами   расшифрованных   телеграмм,   где

содержались факты  получения  денег  от  Советов  газетой  "Дейли

Геральд" и грубое оскорбление  главы  британского  правительства,

допущенное  Лениным  в  инструкции  для  Красина,  возглавлявшего

торговую делегацию: "Эта свинья Ллойд Джордж пойдет на обман  без

тени стыда или сомнения. Не верьте ни единому его слову и  в  три

раза больше дурачьте его". В результате  Каменев  был  выслан  из

Британии за контрабанду драгоценных камней  и  подкуп  прессы,  а

отношения между странами стали предельно напряженными.

 

    Слабость своих шифровальных систем Советы осознавали.  Михаил

Фрунзе  информировал  Москву:  "Из  представленного  мне  сегодня

бывшим начальником  врангелевской  радиостанции  Ямченко  доклада

устанавливается, что решительно  все  наши  шифры  вследствие  их

несложности  расшифровываются  врагами.   Вся   наша   радиосвязь

является великолепнейшим  средством  ориентирования  противника".

Если  белогвардейцы  не  могли  сами  прочесть  шифровку  Советов

быстро, то обращались в Лондон к Фетти и тот  сходу  ломал  шифр.

Когда в 1923 году Москва ввела новые шифры, которые считала более

стойкими, то Фетти понадобилось всего лишь несколько дней,  чтобы

прочесть  их  скандальное  содержание.  Результатом  этого   стал

ультиматум Керзона с  требованием  прекратить  враждебные  против

Британии  действия  Москвы.  Ультиматум  дословно   воспроизводил

тексты шифрованных дипломатических  телеграмм.  Поэтому  в  конце

1923    года    Советы    снова    сменили    скомпрометированные

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

Фетти уже понадобилось два года.

    Агентурные шифры России были  тогда  слабее  дипломатических.

Завербованный в парижском центре белогвардейского движения  агент

жаловался на слабость и  неудобство  применяемых  шифров.  Больше

всего пунктуального офицера  русской  армии  раздражало  то,  что

шифровки наносились тайнописью  меж  строк  обычных  посланий,  а

Москва нередко  забывала  специальным  образом  пометить  письмо,

содержащее тайнопись, и оно  уничтожалось  без  прочтения.  Более

того, проявленный  дрянным  составом  тайнописный  текст  исчезал

порой так  быстро,  что  не  удавалось  успеть  его  скопировать.

Любопытное веское  доказательство  того,  что  шифровки  третьего

Коминтерна читались англичанами, привела газета "Новости разведки

и контрразведки". Оказывается, англичане знали о существовании  в

Лондоне его подпольной радиостанции, но не прекращали ее работу!

 

    Лишь к концу тридцатых годов с появлением специальных крупных

криптографических подразделений, привлечением талантливых  ученых

и инженеров  криптография  в  России  вновь  вышла  на  передовые

позиции, что чрезвычайно пригодилось в годы Второй мировой войны.

По-видимому, шифры немецкой машины Энигма удавалось  читать  лишь

отрывочно, периодически - не было подходящей электронной техники,

какая имелась у союзников. Тем не менее, вручную  вскрывая  более

простые шифры, можно  было  неплохо  контролировать  ситуацию  на

фронтах.

    Во   всех   крупнейших    сражениях    незримо    участвовали

шифровальщики и расшифровщики: без их поддержки цена победы могла

бы  стать  много  дороже.  В  романах,   популярных   статьях   и

воспоминаниях нам  приходилось  читать  о  знаменитом  разведчике

Кузнецове, назвавшем дату наступления немецких войск под Курском.

Может быть, это и так, но окончательное  решение  об  этой  битве

было принято после того, как  буквально  за  сутки  отечественные

криптоаналитики вскрыли шифрованный приказ Гитлера о наступлении.

 

    Все  было  будто  обычно:  перехватив  радиограмму,  связисты

опознали почерк радиста ставки главнокомандующего  противника,  а

по характеру передачи допустили, что она  содержит  очень  важный

приказ.  Криптологи  знали,  что  речь  может  идти   о   крупном

наступлении и  предположили,  что  в  конце  документа  находится

подпись единственного человека, который мог издать этот приказ  -

Адольфа Гитлера. Дальше идет уже техника взламывания шифра: через

известный   участок   текста   вскрывается   ключ,    а    ключом

расшифровывается весь остальной текст. Можно было  сомневаться  в

правильности сообщения Кузнецова: нет ли там дезинформации,  игры

контрразведки противника,  но  не  доверять  подлинности  приказа

войскам уже не  приходилось.  "Этому  наступлению,  -  говорилось

Гитлером в оперативном документе номер 6,  -  придается  решающее

значение. Оно должно завершиться быстрым и  решающим  успехом..."

Для проведения операции,  получившей  наименование  Цитадель,  на

флангах Курского выступа были сосредоточены 50 отборных  дивизий,

10000 орудий, 2700 танков  и  свыше  2000  самолетов.  Дешифровка

приказа установила, что наступление начнется утром, и в 2 часа 20

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

потерь ВВС, понесенных в сражении под Курском, Германия вынуждена

была впредь полностью отказаться от  действий  своей  авиации  по

объектам нашего глубокого тыла.

    Несмотря на решающую роль атаки  криптографов  в  победе  под

Курском, о  ней  до  сих  пор  говорили  лишь  в  очень  туманных

выражениях. Так, маршал Василевский в своей статье  "Историческое

сражение", написанной к 25-летию Победы для  газеты  "Правда"  от

4.7.1968   года,   скромно   отметил   роль   неких    "важнейших

разведывательных данных". Другой участник  подготовки  битвы  под

Курском, маршал Жуков, в своих мемуарах привел  блестящий  пример

того, как можно делиться воспоминаниями, ничего по сути  дела  не

рассказывая: "Стало известно, что сведения, полученные в тот день

от  захваченного  пленного  солдата  168-й  пехотной  дивизии,  о

переходе  противника  в   наступление   на   рассвете   5   июля,

подтверждаются..." Вот так! Просто стало известно...

    Имя нашего героя Курской битвы еще ни разу не  упоминалось  в

печати, и автор не решается первым его  назвать.  Однако  другого

человека, тоже вложившего немало своих сил в  эту  победу,  давно

знает весь мир. Это - Джон Кернкросс. С 1942 по  1944  год  он  в

Блетчли  Парке  был  куратором   проекта   ULTRA   и   редактором

перехваченных документов.

 

    А  в  1981  году  госпожа  Тэтчер,  выступая   в   британском

парламенте, признала, что он был также и  советским  разведчиком.

Кернкросс особенно гордился тем, что шифры люфтваффе, которые  он

передал советскому командованию, позволили перед  курской  битвой

разбомбить большинство немецких самолетов на земле.

    После  войны  службы  криптографии  России  окрепли,  получив

необходимые технику и теорию. При всем том несоизмеримо  возросла

и сложность решаемых  ею  задач.  Именно  в  это  время  начинают

употребляться исключительно машинные шифры многоалфавитной замены

осложненные перестановкой с ключами очень большой длины,  которые

отвечали самым высоким требованиям  секретности.  Шифры  недавних

союзников были настолько крепким орешком,  что  расколоть  их  не

представлялось   возможным,   если   только   шифровальщиком   не

допускались   грубые   ошибки.    Американцы    привозили    свои

дипломатические шифровки из здания посольства на Садовом кольце в

Центральный  телеграф,  где  их   сдавали   почти   как   обычные

международные телеграммы. Аналогично поступали и наши дипломаты в

Вашингтоне. Единственное отличие от обычных телеграмм состояло  в

том, что шифровки доставлялись  на  телеграф  в  виде  перфолент,

готовых к передаче, ведь набить без ошибки  шифрованный  текст  -

трудоемкая и ненадежная процедура.

    Разведка активно вела охоту за криптографами  противника:  их

склоняли к измене, запугивали,  соблазняли.  Так,  из  материалов

следствия  по  делу  Абеля  стало  известно,   что   шифровальщик

посольства США в Москве был завербован КГБ, попавшись на  шантаж.

Другой американский криптограф, после ряда лет  сотрудничества  с

советскими спецслужбами по идеологическим причинам, остаток жизни

доживал в СССР. Третий,  офицер  ВМФ  США,  передал  секретнейшие

криптографические   ключи.    О    нем    поставлен    популярный

художественный  фильм  "Шпион,  выдавший   ключ",   имевшийся   у

отечественных видеопиратов в прокате. Однако ЦРУ тоже  не  сидело

сложа руки и  переманило  шифровальщика  ГРУ  в  Канаде  на  свою

сторону. Даже американскому  президенту  пришлось  признать,  что

"сведения о шифрах представляются настолько же важными, как ключи

от сейфа..."

    Криптография  становилась  важной  подотраслью   информатики.

Только Агентство национальной безопасности  США  тратило  на  нее

около 15 миллиардов долларов в год, содержав  штат  из  65  тысяч

строго засекреченных специалистов (Обстановка секретности  вокруг

АНБ настолько велика, что его английскую аббревиатуру NSA шутники

переводят как "No Such Agency" иди "Нет  такого  агентства".).  И

хотя  данные  о  численности  персонала   и   расходах   КГБ   на

криптографию отсутствуют, но они должны быть сопоставимы.  Ручное

расшифровывание отошло в область преданий и единственным способом

атаки стал подбор ключа на ЭВМ. Это  вызывало  особый  интерес  к

быстродействующим машинам и созданию  сверхмощных  вычислительных

сетей. В списке первоочередных задач  страны  начала  семидесятых

годов значилась программа АИСТ объединения всех мощных ЭВМ СССР в

единую сеть, предложенная 8 управлением  КГБ.  К  сожалению,  эта

интересная  программа,  которая  могла  вывести  СССР  в   лидеры

компьютерных  коммуникаций,  так  и  не  стала  задачей   страны:

победили ведомства, отстаивающие свои курятники,  смогли  же  они

незадолго до этого "свалить" Хрущева, покусившегося на их вотчины

и предложившего совнархозы.

    Очевидно, основную задачу российская криптографическая служба

видела и видит больше в защите своих шифров,  чем  взломе  шифров

потенциального     противника.     Увеличивающееся     отставание

отечественной электроники не оставляет надежд на силовой подход к

взлому шифров подбором ключа, а усиливать свои шифры в любом слу-

чае  необходимо.   Настораживают   частые   визиты   американских

подводных лодок в наши территориальные  воды.  Как  правило,  это

указывает на то, что рядом с подводными кабелями связи  оставлены

устройства  записывающие  радиоизлучение,  информацию  с  которых

нужно периодически снимать. Эти операции опасны  и  очень  дорого

стоят, почему же США идут на них, неужели  читают  шифры?  Скорее

всего, даже  имея  сверхбыстродействующие  ЭВМ,  противник  не  в

состоянии читать правительственные шифровки. Но многие  каналы  в

кабеле бывают засекречены слабыми военными шифрами, используемыми

в нижних звеньях управления войсками. Это дает шанс  перехватчику

получить информацию, по которой  можно  судить  о  состоянии  дел

абонентов, что вполне окупает затраты. Возможно, что и  чеченские

террористы тоже успешно использовали  слабость  шифров  армейских

подразделений.

    Напомним, что по неосторожности приказ Гитлера о приостановке

наступления под Дюнкерком в мае 1940 года  был  продублирован  по

незащищенному каналу связи и перехвачен англичанами. Тогда группа

союзных армий была зажата в тиски, а  подвижные  войска  фашистов

вышли  на  рубеж  в  20  км  от  Дюнкерка  -  последнего   порта,

оставшегося в распоряжении  союзников.  С  занятием  его  союзные

армии были бы уничтожены, но англичане с 27 мая  начали  поспешно

выводить свои войска из Франции и в ночь на 3 июля эвакуация была

закончена. Всего удалось эвакуировать 338 тысяч человек, треть из

которых составляли французы и бельгийцы. К этому времени бельгий-

ская армия капитулировала и немцы возобновили наступление, но уже

было поздно. Долгое  время  "чудо  под  Дюнкерком"  приписывалось

доблести солдат и таланту генералов, пока, наконец,  историки  не

оголили истину вполне - отсутствие шифра спасло армии!

    Область криптографии росла: сначала правительственная  связь,

а затем  военная  и  спутниковая.  Любопытный  эпизод  российской

криптографии, связанный с разработкой  аппаратуры  засекречивания

телефонных  разговоров  в  условиях  ГУЛАГа,  описан   в   романе

Солженицына "В круге первом". Однако там нет ни одного  персонажа

криптографа  и  похоже,  что  создавалась  не  система   закрытия

телефонных разговоров, а  так  называемая  вокодерная  (от  voice

coder  или   кодировка   речи,   но   не   шифрование!)   система

параметрического уплотнения речевых сигналов,  которая,  впрочем,

тоже может шифроваться. С тридцатых годов правительственная связь

использовала  телефонию  с  перевернутым  и  сдвинутым   спектром

речевого сигнала. Уровень секретности этих систем был так  низок,

что  некоторые  люди  разбирали  речь  в  бульканье  и  взвизгах,

слышимых в трубке. Настоящее же засекречивание  телефонной  связи

было создано лишь во время хрущевской оттепели: по  крайней  мере

Гагарин  в  космическом  полете  ей  уже  пользовался.  Насколько

государственное  засекречивание   речевых   сигналов   ненадежно,

говорит следующий факт.  Когда  был  сбит  корейский  лайнер  над

Охотским морем, уже через неделю США представило в ООН дешифровку

переговоров   пилотов,   ставшую   вещественным   доказательством

агрессивных действий СССР. На этом стоит завершить  экскурсию  по

истории криптографии.  Если  у  читателей  возникли  вопросы,  то

бесполезно их адресовать к автору книги: попробуйте обратиться  в

архивы органов безопасности - там наверняка знают много больше.

    Чтобы  у  читателя  не  возникло   иллюзий,   будто   сильная

криптографическая служба с большими  затратами  на  нее  способна

решить все проблемы разведки, следует  привести  ряд  ее  тяжелых

поражений. Криптологи Британии, добившиеся колоссальных успехов в

мировых войнах, между ними, в тридцатые годы, не  смогли  сломать

ни одной шифровки потенциальных противников. Поэтому в 1938  году

во  внутреннем  меморандуме   руководитель   Интеллеженс   Сервис

отметил,  что  подчиненная  ему  криптографическая  служба  "была

совершенно  непригодной  для  тех   целей,   ради   которых   она

создавалась". А так  ли  уж  важно  читать  шифровки  противника?

Например,  чтение  всего  радиообмена  армии  Роммеля  не  спасло

союзников от  сокрушительных  поражений  в  Африке.  Более  того,

именно взломка кодов больше всего содействовала неудачам. Раз  из

пустыни Роммель доложил  Берлину  о  своем  отчаянном  положении.

Когда  же  воодушевленная   этим   известием   британская   армия

попыталась  окружить  его,  то  была  разбита.   Оказалось,   что

состояние  немецких  войск  было  великолепное.  Похоже,  Роммель

пытался   привлечь   внимание   генштаба   к   своим   проблемам,

преувеличивая их до гротеска. При Кассерине  он  еще  раз  разбил

англичан, так как они из шифровки знали приказ немецкого генштаба

выступать ему в одном направлении, а он пошел  в  другом,  потому

что лучше видел  сложившуюся  ситуацию.  Американцы  же  за  день

потеряли половину бронетанковой дивизии из-за того,  что  Роммель

начал наступление на два месяца раньше указанного ему генштабом в

шифровке срока. Читать шифровки врага  -  не  значит  читать  его

мысли! Проницательный и независимый немец Роммель хорошо  доказал

этот тезис на деле.

    Код в шифре тоже представляет трудную  задачу  для  понимания

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

приказы немцев, знали, что примерно с 9 по 13 августа  1940  года

Германия  проведет  операцию  "День  орла",   в   которой   будет

задействовано люфтваффе.

 

Однако смысл этой операции не был понятен до тех пор, пока она не

началась. Пагубны как недоверие, так и слепая  вера  во  всесилие

криптографических служб.  Так  наступление  под  Арденнами  стало

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

полностью контролируют ситуацию. Но Гитлер, взяв руководство этой

операцией на себя, запретил все радиопередачи и  приказы  войскам

доставлялись лишь фельдъегерями. Не получая  информации,  союзные

войска были спокойны, хотя "радиомолчание" противника практически

всегда  свидетельствует  о  передислокациях  его  частей.   Из-за

радиомолчания несколько дней  авиация  и  артиллерия  американцев

наносила удары по острову  Кыска,  откуда  гарнизон  японцев  был

давно эвакуирован. То  же  самое  произошло  и  при  захвате  ими

острова Миндоро.

    Еще нужно заметить, что добившись  больших  успехов  в  ломке

шифров Энигмы, англичане  настолько  запустили  совершенствование

своих методов шифрования, что немцы не имели проблем  со  взломом

их. По  заявлению  пленного  немецкого  криптоаналитика,  они  не

читали всю английскую  переписку  лишь  потому,  что  не  хватало

переводчиков, с серьезной языковой практикой. Теперь  подсчитано,

что союзникам это стоило 50000 жизней моряков, потому  что  шифры

для караванов судов были особенно слабы.

 

    ЭЛЕМЕНТЫ КРИПТОАНАЛИЗА

 

   -  А теперь, друзья мои,- сказал Гленарван, -

      будем продолжать расшифровку.

 

               Жюль Берн. "Дети капитана Гранта "

 

    Несмотря на то, что задача вскрытия шифров в  этой  книге  не

ставилась, но без описаний общих подходов к этой проблеме  нельзя

ни понять эволюцию криптографии,  ни  дать  понятия  устойчивости

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

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

в этой области. Существует пропасть  между  ручными  и  машинными

способами шифровки. Ручные шифры весьма разнообразны и могут быть

самыми  неожиданными.  Кроме  того,  закрываемые  ими   сообщения

предельно кратки. По  этой  причине  их  вскрытие  гораздо  более

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

вычислительно  предельно  сложны  и  предназначены  для  закрытия

сообщений  очень  большой  длины.  Естественно,  что  вручную  их

расколоть даже и не надо пытаться. Однако и здесь криптоаналитики

играют   главную    роль,    выступая    в    роли    полководцев

криптографической  атаки,   хотя   само   сражение   ведут   лишь

технические и программные средства. Недооценка  этой  особенности

обусловила поражение шифров криптографической  машины  Энигмы  во

время Второй мировой войны.

    Всегда считаются известными тип шифра и  язык  сообщения.  Их

могут подсказать  алфавит  и  статистические  свойства  шифровки.

Однако  обычно  информация  о  языке  и  типе  шифра   становится

известной   из   агентурных   источников.   Положение   несколько

напоминает взлом сейфа: если "медвежатник"  и  не  знает  заранее

конструкции вскрываемого сейфа, что представляется маловероятным,

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

Поэтому  неизвестным  является  только  ключ,  который  предстоит

вскрыть. Трудность заключается в том, что точно так же, как и  не

все болезни лечатся одним и  тем  же  лекарством,  а  для  каждой

имеются свои специфические средства, так  отдельные  виды  шифров

вскрываются только своими приемами.

    При традиционном криптоанализе систем шифрования  возможность

их  раскрытия  зависит,  в  значительной  мере,  от  квалификации

взломщика.  Криптоаналитик   должен   хорошо   владеть   методами

дискретной   математики,   теории   чисел,   теории    сложности,

абстрактной  алгебры,  статистики,  алгоритмического  анализа   и

прочих родственных криптографии математических дисциплин, а также

иметь развитую интуицию, чтобы найти метод,  ведущий  к  вскрытию

шифра, предполагая,  что  он  существует.  Процесс  криптоанализа

всякий раз начинается с самого начала при подходе к новой системе

и опыт, полученный при раскрытии одной системы шифрования,  редко

когда  может  быть   применен   для   раскрытия   другой.   Успех

криптоанализа  определяется  алгоритмом  шифрования  -  сложность

вскрытия шифра зависит лишь от его конструкции. Это  значит,  что

существует очень  мало  общих  принципов  криптоанализа,  которые

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

и автоматический криптоанализ эффективен  применительно  к  очень

ограниченному классу алгоритмов.

    Поэтому практически стойкость шифров к взлому принимается  за

меру   криптографической    стойкости    их    алгоритмов.    Чем

продолжительнее шифр не поддается раскрытию,  тем  больше  причин

считать его стойким. Однако стойкость шифра необязательно значит,

что он является безопасным. Это  означает  лишь,  что  метод  его

взлома   еще   не   найден   любителями   или   не    опубликован

профессионалами. Как пример можно привести шифры, где кроме ключа

шифрования имеется еще главный ключ, который называют  ключом  от

черного входа.  Такие  шифры  могут  быть  стойкими,  но  они  не

безопасны, так как обладатель главного ключа может  читать  любые

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

длительным по причине того,  что  криптоаналитику  мало  помогает

успешное раскрытие других  систем  шифрования  и  ему  неизвестна

другая   мера   криптографической    стойкости    шифра,    кроме

продолжительности его сопротивления к взлому. Даже если  взломщик

не может прочесть сообщение, все равно нужно быть  осторожным.  В

этом случае он может получить много информации, зная отправителя,

получателя, время и длину сообщения.

 

    Характеристики сообщений

 

    До этого места, говоря об информации, мы ограничивались в  ее

определении призывами к  здравому  смыслу.  Теперь  же  попробуем

описать  ее  строже,  так  как  использование  слова   информация

приводит  порой  к  недоразумениям  и   многозначности.   Письмо,

телеграмма, выступление по  радио  несут  информацию  и  являются

сообщениями. Однако надлежит  отличать  сообщения  от  извещений.

Понять разницу между ними  позволит  следующий  анекдот.  Однажды

Пьер попросил свою невесту Мари, чтобы  она  бросила  вечером  из

окна монету, когда родители уйдут в кино и можно  будет  провести

время наедине.  Родители  ушли,  и  Мари  бросила  монету.  Через

полчаса  ожидания  она,  выглянув  на   улицу,   увидела   Пьера,

обшаривающего  тротуар.  Таков  сюжет,  а   теперь   перейдем   к

размышлениям. Зачем Пьер занимался  поиском?  Скупость  отвергнем

сразу же - монета не  купюра,  да  и  драгоценное  время  уходит.

Скорее всего,  что  бросок  монеты  Мари  приняла  за  извещение:

наступил момент времени, когда ушли родители. А Пьер,  искушенный

в информатике любовных посланий, отнесся к этому  событию  как  к

сообщению:  если  брошена  монета,  то  родители  ушли,  а   если

обручальное кольцо, то  ему  предлагают  утешиться  аперитивом  в

ближайшем бистро.  Извещения  несут  в  себе  информацию  лишь  о

времени наступления  известного  заранее  события.  Ими  являются

сигнал  точного  времени,  свисток  футбольного  судьи,   выстрел

стартового пистолета. А вот  сообщения  существуют  вне  времени,

например,  картина  Рубенса,  текст  инъективы  Цицерона   против

Саллюстия, опера Чайковского "Пиковая дама", лозунг  Ленина  "Вся

власть Советам" или зажженная надпись STOP на переходе.

    Сообщения, как бы сложны они не были, можно представить  себе

в виде последовательности знаков. Эти знаки  берутся  из  заранее

фиксированного набора, например, русского  алфавита  или  палитры

цветов (красный, желтый, зеленый). Разные знаки могут встречаются

в сообщениях с разной частотой.  Поэтому  количество  информации,

передаваемой разными знаками может быть  разным.  В  том  смысле,

который  предложил  Шеннон,  количество  информации  определяется

средним числом возможных вопросов с ответами ДА и НЕТ  для  того,

чтобы угадать следующий символ сообщения.  Если  буквы  в  тексте

следуют  независимо  друг  от  друга,   то   среднее   количество

информации в сообщении приходящееся на один знак, равно:

                  H= См. PiLd(Pi)

 

где Pi - частота появления символа i, a  Ld-  двоичный  логарифм.

Отметим три особенности такого  определения  информации.

 

    1.  Оно  абсолютно  не   интересуется   семантикой,   смыслом

сообщения, и им  можно  пользоваться,  даже  когда  точный  смысл

неясен.

 

2.  В  нем  предполагается  независимость  вероятности  появления

знаков от их предыстории.

 

3.  Заранее  известна  знаковая  система,  в  которой  передается

сообщение, то есть язык, способ кодирования.

 

    В каких единицах выражается значение количества информации по

Шеннону?  Точнее  всего  ответ  на  этот  вопрос   дает   теорема

кодирования, утверждающая, что любое сообщение можно закодировать

символами 0 и 1 так, что полученная длина сообщения  будет  сколь

угодно близка сверху к Н. Эта теорема позволяет назвать и единицу

информации - бит.

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

архиваторы, знает, как лихо они ужимают текстовые  файлы,  ничего

при этом не теряя. Их работа лучшим образом демонстрирует теорему

кодирования в действии. Так как для русского текста,  переданного

лишь прописными буквами, Н=4.43, то это означает, что в  принципе

в русском алфавите можно было бы обойтись лишь 22 буквами или  на

45% сократить  длину  файлов  в  формате  ASCII.  Таким  образом,

сообщения языка занимают места больше, чем  это  необходимо.  Это

явление называют избыточностью  языка.  Благодаря  ему  искажения

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

что  случилось  бы  при  отсутствии  избыточности.  Заметьте,   у

компьютера наиболее часто встречаемые символы ETOANIRSHDLU  (даны

в порядке убывания частот в английском языке)  вынесены  в  центр

клавиатуры, чтобы при наборе текстов  движение  пальцев  было  бы

минимальным.   Это   расположение    клавиш    было    предложено

изобретателем   линотипа   Оттомаром    Мергенталером,    который

использовал избыточность языка для облегчения работы.

    Утверждение, что  вероятность  появления  символа  в  связном

тексте не зависит от его предыстории, неверно и статистически,  и

лингвистически. Уже давно  литераторы  заметили,  что  обычно  за

согласной буквой следует гласная, а за гласной согласная. Поэтому

в конце XIX века петербургский математик Марков  предложил  текст

рассматривать как цепочку  символов,  где  вероятность  появления

буквы зависит от предыдущей и только от нее.  Таким  образом,  он

стал рассматривать не вероятности Pj появления в сообщении  знака

i, а вероятности Pij появления знака j при условии, что перед ним

стоит знак  i.  Теория  марковских  цепей  оказалась  чрезвычайно

продуктивной для криптографии, и к отдельным  ее  применениям  мы

будем возвращаться позже. Пока же достаточно отметить, что первое

свое опробование она имела при анализе текстов "Евгения  Онегина"

самим Андреем Андреевичем  Марковым.  Объем  информации  в  одном

символе марковской цепи определяется следующей формулой:

 

           H= См. Pi(См. Pij*Ld(Pij))

 

    В этом случае нет противоречия  с  требованием  независимости

знаков, так как знаком здесь считается  не  отдельный  символ,  а

биграмма. В  приложении  приведена  таблица  вероятности  встречи

биграмм  в  русском  техническом  тексте   по   программированию.

Вероятности их представлены десятью классами от 0 до 9 в  порядке

возрастания  и  образуют  по  средним  значениям   геометрическую

прогрессию.  Справа  в  этой  таблице  даны  вероятности  встречи

отдельных  символов.  Так,  из  нее  следует,  что  биграмма   АЙ

встречается довольно часто (класс 7), а биграмма ЙА почти  совсем

не  попадается  (класс   0).   Среднее   количество   информации,

приходящееся на один символ, определяемое по этой  таблице  равно

3.5 бит, что эквивалентно примерно II буквам в  русском  алфавите

или возможности сжатия текстов примерно на 57% при их оптимальном

кодировании.

 

    Описанное свойство зависимости буквы в тексте  от  предыдущей

называется марковостью первого порядка, а независимость букв друг

от друга марковостью нулевого  порядка.  Естественно,  что  можно

рассматривать  также  и  марковости  высших  порядков,   например

второго, когда буква зависит от двух предыдущих. Для того,  чтобы

оценить порядок марковости в связном тексте,  проведем  случайное

моделирование,  используя  сначала  вероятности  отдельных  букв,

потом биграмм, триграмм и так далее. Примеры марковского  синтеза

текстов  разных  порядков  марковости  от  0  до  4  приведены  в

следующей таблице:

 

0       ПАВЛНТ И ОАБУТ ЕИИЕТК ЖМЕ КСВИДАИВ

1       МОЙ ОГЛЬ ТАМАНУ ЧТЕТОГАНЕ СТА СЛИНА

2       КРУЖБЫ И ОТЧАЕТОНЕИСТАК ПЕХ ЭТОГО 3

3       В ДЕПАРЫ ЧТО НАСТЯМИ РАСПРОИСХОДИН

4       ПОНЯЛ О ГЛУБОКОЙ СИСТЕМ И ДЕЛЕ ВОДЫ

 

    Из нее видно,  что  увеличение  порядка  марковости  повышает

схожесть отрывка  случайного  текста  с  естественным.  Повышение

порядка  марковости  позволяет  доуточнить  объем  информации   в

сообщениях, но это очень скользкая тема есть масса  разных  точек

зрения  на  нее.  Действительно,   вводя   понятие   шенноновской

информации,  мы  похоронили  понятие  смысла,  который  связывает

символы  в  слога,  слога  в  слова,  слова  в   предложения,   а

предложения в сообщение. Практически  нет  разницы,  как  сказать

ребенку:  "Нужно  есть  кашу!"  или  "Надо  есть  кашу!",  а  вот

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

оценка объема информации, содержащейся в сообщении  и  полученной

по приведенным формулам, явно завышена. А ведь  в  жизни  нередко

бывает, что за целый день так и не узнаешь ничего нового!

    Теперь   рассмотрим   одно    приложение    знаний    свойств

естественного текста сообщения для нужд  криптографии.  Требуется

по  отрезку  текста  решить,  что  он   из   себя   представляет,

осмысленное сообщение или последовательность случайных  символов.

Ряд шифров  приходится  на  ЭВМ  вскрывать  перебором  ключей,  а

вручную просмотреть свыше тысячи фрагментов вдень просто  не  под

силу, да и скорость мала. Поэтому нужно эту задачу реализовать на

ЭВМ. Пусть предстоит перебрать примерно миллиард ключей на машине

со скоростью тысяча ключей в секунду, на что уйдет около 10 дней.

В этом случае мы рискуем  впасть  в  две  крайности.  Если  будем

чрезмерно осторожны в оценках, то часть несмысловых текстов будет

воспринята как сообщения и передана человеку. Эта  ошибка  обычно

называется  "ложная  тревога"  или  ошибка  первого   рода.   При

количестве таких ошибок свыше 1000 в день человек устанет и может

начать проверять тексты  невнимательно.  Значит,  допускается  не

более одной ошибки такого рода на сто тысяч проверок. Далее, если

подойти к проверке поверхностно, то  можно  пропустить  смысловой

текст  и  по  окончании  полного  перебора  его  опять   придется

повторить. Чтобы  не  рисковать  необходимостью  повторения  всей

работы, ошибки второго рода или  "пропуски  сообщения"  допустимы

лишь одном случае из ста или тысячи.

    Самый простой критерий, который приходит в голову,  связан  с

использованием алфавита сообщения.  Если  учитывать,  что  в  нем

могут встретиться лишь знаки препинания, цифры, заглавные и малые

русские  буквы,  то  в  тексте  сообщения  встретится  не  больше

половины набора кодовой таблицы ASCII. Следовательно, встретив  в

тексте недопустимый символ можно уверенно говорить о том, что  он

несмысловой - ошибки второго рода почти исключены  при  нормально

работающем канале связи.  Для  того,  чтобы  снизить  вероятность

"ложных тревог" до принятой выше величины, требуется, чтобы текст

состоял не менее чем из двадцати трех символов. Дело усложняется,

если используемый код букв  не  избыточен,  как  представление  в

ASCII русского текста, а содержит ровно столько символов, сколько

их в алфавите. Тогда  приходится  вести  оценку  по  вероятностям

встречи символов. Чтобы обеспечить  принятые  вероятности  ошибок

первого и второго рода при  оценке  максимального  правдоподобия,

необходимо анализировать  уже  около  сотни  символов,  а  анализ

вероятностей биграмм лишь несколько снижает эту  величину.  Таким

образом,  короткие  сообщения  при  большой  длине  ключа  вообще

невозможно  расшифровать   однозначно,   так   как   появляющиеся

случайные  тексты  могут  совпадать   с   осмысленными   фразами.

Аналогичную задачу приходится  решать  и  при  контроле  качества

шифрования. В этом случае,  правда,  вероятность  ложной  тревоги

можно повысить, приняв ее не свыше одной  тысячной,  при  той  же

самой вероятности пропуска сообщения. А это позволит ограничиться

для проверки лишь 20-30 символами.

 

    Испытания шифров

 

    Начинают взлом шифров обыкновенно со статистических испытаний

текста шифровки,  что  дает  общие  данные  об  их  стойкости  на

начальном этапе анализа. Так как цель криптографии состоит в том,

чтобы преобразовать открытый  текст  в  шифровку,  смысл  которой

недоступен незаконному получателю информации, то можно  в  идеале

представить шифровальную систему, как "черный ящик", вход и выход

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

согласующего входной текст с  шифром,  потребуется  перебор  всех

допустимых вариантов. Если пространство поиска ключа очень велико

и невозможно с помощью имеющихся вычислительных средств проверить

каждый ключ за ограниченное  разумное  время,  то  шифр  является

вычислительно  безопасным.  Надлежит  сделать  следующие   важные

замечания.

 

  1. Текст и шифр лишь кажутся независимыми, по-

  тому что имеются детерминированные алгорит-

  мы, отображающие  их друг в друге - шифрова-

  ния  и расшифрования.  Однако, предположив

  независимость текста и его шифровки, пытаются

  ее опровергнуть, беря пары  выборок  {текст,

  шифр}  и вычисляя их  статистику. Так можно

  заменить криптографическую стойкость шифра

  на статистическую безопасность и считать, что

  шифр  статистически безопасен, если пары вы-

  борок {текст, шифр} статистически независимы.

  Одно из испытаний заключается в установлении

  статистической связи изменения шифровки при

  изменении символов и  бит в исходном тексте

  или ключе. Это испытание дает меру "эффекта

  размножения" ошибок в шифре, который счита-

  ется хорошим лишь  в том случае, если малей-

  шие изменения исходного текста или ключа вле-

  кут большие изменения шифровки. Смысл такого

  рода тестов состоит в том, что безопасная система

  обязательно безопасна и статистически.

 

  2. Статистические испытания являются единствен-

  ной стратегией испытаний больших криптогра-

  фических систем с секретным ключом, постро-

  енных в виде чередующихся слоев блоков заме-

  ны и перестановок, как блоки вносящие нели-

  нейность в системах Lucifer и DES. Это объяс-

  няется трудностью составления уравнений, свя-

  зывающих вход и выход системы, которые мож-

  но было бы решать другими методами. В крип-

  тографических системах, не имеющих таких бло-

  ков, например, в системах RSA и  ЭльГамаля,

  уравнения, связывающие вход и выход, являют-

  ся частью самой  криптографической системы,

  поэтому легче сосредоточить внимание на ана-

  лизе этих уравнений.

 

 3. Статистические проверки являются, пожалуй,

  единственным общим  и быстрым методом выяв-

  ления плохих шифров. Вместо того, чтобы тра-

  тить много времени на их аналитическую про-

  верку, чтобы в конце концов убедиться в том,

  что они не стойкие криптографически, с помо-

  щью  статистики можно быстро определить, за-

  служивает ли эта система дальнейшей проверки.

  Так, алгоритм  FEAL-4   был  сначала вскрыт

  обычным  методом криптоанализа, и независимо

  от этого было показано, что он является стати-

  стически слабым.

 

    Важное   значение   для   статистических   испытаний    имеет

случайность текста шифровки  конечной  длины.  Практическую  меру

случайности такой последовательности ввели Лемпел и  Зив,  авторы

общеупотребимого алгоритма сжатия данных,  применяемого  во  всех

архиваторах  IBM  PC.  Она  указывает,  на  сколько  можно  сжать

последовательность  при  использовании  алгоритма   Лемпела-Зива.

Практически, если текст шифровки сжимается одним  из  архиваторов

больше,  чем  на  10%,  то  шифровальная  система   очевидно   не

состоятельна. Если сжатие шифра оказалось меньше  этой  величины,

то... все  может  быть.  Отметим,  что  алгоритмам  архивирования

удается сжимать даже случайные последовательности символов,  хотя

сжатие  в  этом  случае  не  превышает  единиц  процентов.  Столь

пространное описание статистического подхода к криптоанализу дано

потому, что в этой главе  ему  будет  уделено  мало  внимания,  а

вскрытие шифров будет показано лишь с точки зрения аналитического

подхода. Итак, рассмотрим наиболее употребительные виды  атак  на

некоторые известные уже шифры.

 

    Вскрытие шифров перестановки

 

    Сначала возьмем тот пример шифровки двойной перестановки, что

изложен выше. Пусть имеется шифровка  АЗЮЖЕ  СШГГООИПЕР,  которая

так укладывается в таблицу 4 х 4:

 

        1       2       3       4

1       A       З       Ю       Ж

2       E               С       Ш

3       Г       T       О       О

4       И       П       E       P

 

    Рассматривая  маловероятные  сочетания  букв,   легко   найти

истинную последовательность  столбцов.  Так,  сочетание  ГТ  в  3

строке шифровки указывает на то, что  после  1  столбца  вряд  ли

следует 2 столбец. Рассчитаем статистически, какой столбец скорее

всего следует за 1. Для этого воспользуемся  таблицей  логарифмов

вероятностей биграмм русского текста, приведенной  в  приложении.

Вероятность   следования   одного   столбца   за   другим   равна

произведению  вероятностей  биграмм  в  строках  этих   столбцов.

Поскольку в таблице даны  логарифмы  биграмм,  то  их  достаточно

суммировать, а потом выбрать сочетание  столбцов  с  максимальной

вероятностью. Для вероятностей следования за первым столбцом 2, 3

и 4 имеем выражения:

 

р (1-2) =р(A3) р(Е ) р(ГТ) р(ИП)=7+9+0+5=21

р (1-3) =р(АЮ) р(ЕС) р(ГО) р(ИЕ)=6+8+8+8=30

р (1-4 )=р(АЖ) р(ЕШ) р(ГО) р(ЯР)=7+5+8+7=27

 

    В нашем случае наиболее вероятно, что после столбца 1 следует

столбец 3. Для такой небольшой таблицы шифрования, которую имеем,

можно перебрать все варианты перестановок - их всего лишь  24.  В

случае большого числа столбцов целесообразно оценить  вероятности

пар сочетаний разных столбцов и  решить  оптимизационную  задачу,

которая   укажет   перестановку   столбцов,   дающую    фрагменты

естественного текста  с  большей  вероятностью.  В  нашем  случае

наилучший результат достигается при расстановке столбцов  (2413),

что примерно вдвое по вероятностной оценке достовернее  ближайшей

к ней по вероятности расстановки (4132). После того, как  столбцы

шифровки расставлены, не составит труда правильно расставить и ее

строки по смыслу фрагментов текста:

 

        2       4       1       3

1       З       Ж       A       Ю

2               Ш       E       С

3       T       О       Г       О

4       П       P       И       E

 

    Текст в ней  уже  читается  и,  расставив  строки  в  порядке

(4123), получим расшифровку ПРИЕЗЖАЮ ШЕСТОГО.

 

    Теперь обратимся к приведенному выше примеру шифра решетки:

 

3       Т       П

О       Ж       Ш       Р

Е       И       Г       А

Е       С       Ю       О

 

    Неужели его так трудно взломать, как это утверждают некоторые

авторы математических изданий? В этой шифровке видимо  содержится

2 слова, если учитывать, что она длиной 16  букв,  а  одно  слово

русского языка содержит  в  среднем  7  букв  и  имеется  пробел.

Расшифровку проще начать с биграммы СТ.

 

    Предположение 1. Предположим, что наиболее частая биграмма  в

русском языке СТ  входит  в  одно  из  слов  текста.  Так  как  Т

расположена  в  решетке  выше  С,  это  значит,  что  между  ними

произошел поворот решетки таким образом:

 

       ****    *Т**

       ****    ****

       ****    ****

       *С**    ****

 

        0'      90'

 

    С учетом того, что эти буквы принадлежат  различным  прорезям

решетки, получаем такой вид разгаданных частей таблиц:

 

   **??     *Т**     **П*    ??**    **??

   **??     О***     ***Р    ??**    **??

   Е***     **??     ??**    ***А     ***

   *С**     **??     ??**    **Ю*    * **

 

     0'      90'      180'    270'

 

    Проверим правильность этого  предположения  чтением,  заменяя

еще не ясные буквы точками: ..ЕСТО..ПР....АЮ. Это очень похоже на

фрагменты текста. Пометив в решетке  клетку  буквы  С  цифрой  1,

обозначим с учетом поворота клетку буквы Т цифрой 2.

 

    Предположение  2.  При  составлении  решеток  прорези  обычно

размещают так, чтобы их было по одной в каждой колонке  и  каждом

столбце,  что  гарантирует  хаотичное  и  равномерное  заполнение

квадрата буквами. В этом случае имеется всего два варианта:  1234

и 123'4', изображенных на следующем макете решетки:

 

              *  *  3' 4

              *  *  3  4'

              2  *  *  *

              *  1  *  *

 

    Второй вариант 123'4' не подходит, так как не покрывает  весь

квадрат при поворотах, и остается 1234, что дает ШЕСТОГОПРИЕЗЖАЮ.

Сообщение уже  ясно,  хотя  расшифровка  начата  с  неправильного

поворота решетки. С учетом  этого  замечания  получим  сообщение:

ПРИЕЗЖАЮ ШЕСТОГО.

    Реальные  шифры  этого  типа  вскрываются  еще   проще.   При

поворотах происходят заметные смещения решетки по месту,  которые

весьма помогают при анализе выделить буквы, относящиеся к  одному

повороту. Выделив буквы, смещенные в одном направлении,  получают

прорезанные клетки  трафарета.  Если  же  текст  сообщения  имеет

достаточно большую длину, то задача вскрытия шифра решетки  резко

упрощается  из-за  этой  особенности.   Использование   ЭВМ   для

реконструкции решетки по вероятностям чередования букв  в  тексте

позволяет полностью автоматизировать этот  увлекательный  процесс

логического  анализа.  Однако  наилучшая  атака  на   этот   шифр

получается, если отгадывать вероятное слово текста, как  ПРИБУДУ,

ПРИЕДУ, ПРИБЫВАЮ, ПРИЛЕТАЮ, ПРИЛЕЧУ  и  тому  подобное,  так  как

обычно лексика сообщения примерно известна.

 

    Вскрытие шифра простой замены

 

    Разберем пример  В.  Никонова,  опубликованный  в  журнале  9

"Наука и жизнь"  за  1981  год,  заменив  использованные  автором

графические символы шифровки на привычные русские буквы. Итак, на

доске объявлений некого учреждения, название которого  популярный

журнал не сообщил, появилась следующая надпись:

 

ТБПО ЩИЧЧЖ ЛНИЬЕЭФЭЕЭВЬ ЭКМНИО ИЩЩСКИЬОЭ

СФБИТЬЛИЬШ ТБПОЧЩЬП ЛНОЭЧЖ Ь ЧЛЭПЛКПЕПООЭ

ЛЭНЛКИВИЫП ФЭБСТПООЖП ЬН ЩИЧЧЖ ЧЧСУЖ

 

    Несомненно, что это шифр. Каков же его тип? Это не может быть

шифр перестановки, так как в шифровке четко проглядываются  слова

с регулярными окончаниями чж, иыи, оэ. Частоты встречи  различных

знаков шифровки явно неодинаковы. Знаки ч, и, э  встречаются  раз

по десять, тогда как У, Ю и М лишь по одному разу, что не  бывает

в многоалфавитных шифрах, имеющих близкие вероятности знаков.

    Естественно предположить, что применен шифр  простой  замены.

Читатели помнят, как  герой  рассказа  Эдгара  По  "Золотой  жук"

Легран,  анализируя  записку  о  кладе,   оставленном   пиратами,

обнаружил, что в ней наиболее часто, 7 раз, встречалось сочетание

трех  символов.  Для  английского  языка  это   мог   быть   лишь

определенный артикль THE (Хемингуэй  иногда  не  реже,  чем  THE,

использовал союз AND, что отвечало  литературной  задаче  описать

монотонность будней). У Лермонтова же наиболее часто используемое

слово очень коротко - Я.

    С  чего  следует  начать   расшифровывание?   Несомненно,   с

установления  отправителя  и   получателя   сообщения.   Вспомним

рассуждения Холмса из "Пляшущих  человечков",  который  сразу  же

отождествил смешную надпись с шифровкой. Что в этой надписи могло

напугать героиню,  угроза?  Представим,  что  она  прочла  текст:

"Готовься к смерти". Не правда  ли,  такое  неприятное  сообщение

слишком  абстрактно,  чтобы   заставить   ужаснуться   спокойного

волевого человека: кто должен готовиться и к чьей смерти? Поэтому

решил Холмс, героиню напугало собственное имя и начал расшифровку

отождествлением слова  "Илей"  с  первыми  четырьмя  человечками.

Зачастую, кроме имени получателя сообщения  содержат  еще  и  имя

отправителя, как это принято в  телеграммах:  "Приезжаю  шестого.

Мама." У нашей шифровки была приписка: "Граждане, ознакомившиеся,

запомнившие  и   исполнившие,   принимаются   ежедневно   и   без

ограничений. Местком." Из нее ясен отправитель - местком. Поэтому

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

же должен быть доуточнен, как обращение: "всем садоводам..."  или

"члены  кружка...".  Однако  это  -  слишком   легкий   путь.   и

предположим, что не удалось конкретизировать  получателя,  чтобы,

используя его имя, вскрыть шифр.

 

    Предположение 1.  Внимательно  просматривая  шифровку,  можно

обнаружить интересное удвоение знака Ч в конце последнего слова и

начале последнего: щиччх ЧЧСУХ. Кажется,  что  этот  знак  весьма

похож на употребление буквы С в русском тексте, как МАССА  ССЫЛОК

или ЛАССО ССУЧИЛ. Например, для  буквы  В  не  удается  подобрать

хороший пример, чтобы она удваивалась в конце слов, а для буквы Н

- в начале. Отметим,  что  удвоение  С  в  конце  характерно  для

заимствованных существительных, где перед ним  стоит  чаще  всего

буква А. Значит, буква шифровки Ч соответствует в тексте С,  а  И

соответствует русской букве А.

 

    Предположение 2. Другое удвоение, знака о, встречается только

в конце слов и типично для русской  буквы  Н.  Поэтому  сочетания

знаков на концах слов шифровки ОЭ и ооэ,  скорее  всего  отвечают

русским окончаниям в  сообщении  НО  и  ННО.  Если  это  так,  то

последнее слово шифровки ЧЧСУЖ, начинающееся с СС и состоящее  из

пяти букв может быть лишь одним из двух слов - ССУДЕ  или  ССУДЫ,

что легко проверить по словарю. Другие варианты прочтения  ССУДА,

ССОРА и тому подобные отпадают, так как буквы А иО уже разгаданы.

 

    Предположение 3. Знак шифровки ж, стоящий в конце слова ЧЧСУЖ

встречается  довольно  редко,  если  учесть,  что   слово   щиччж

повторяется, а одинаковое окончание последнего  и  предпоследнего

слов представляет собой обычное согласование слов в  предложении.

Это означает, что знаку ж скорее  отвечает  буква  Ы,  чем  более

часто встречаемая в русских текстах Е, а последнее слово - ССУДЫ.

Окончание сообщения ?АССЫ  ССУДЫ  теперь  нетрудно  отгадать  как

КАССЫ ССУДЫ, что весьма близко к осмысленному тексту. Из отгадан-

ных букв пятое слово шифровки  складывается  как  АККУ?А?НО,  что

несомненно  означает  АККУРАТНО,  а  седьмое  слово   ??НОСЫ   из

контекста можно понять как ВЗНОСЫ. Итак, отгадывание  идет  вроде

бы успешно, что подтверждается частичной расшифровкой:

 

???Н КАССЫ ВЗА??0?0?0?? 0??ЗАН АККУРАТ-

НО У??А??ВАТ? ???НСК?? ВЗНОСЫ ?

СВО?ВР???ННО ВОЗВРА?АТ? ?0?У??ННЫ? ?3

КАССЫ  ССУДЫ

 

    Теперь дальнейшая расшифровка не представляет особого труда и

выполняется быстро, угадыванием  отдельных  слов  и  подстановкой

выясненных букв в шифровку. В итоге получаем сообщение:

 

ЧЛЕН КАССЫ ВЗАИМОПОМОЩИ   ОБЯЗАН

АККУРАТНО УПЛАЧИВАТЬ ЧЛЕНСКИЕ

ВЗНОСЫ И СВОЕВРЕМЕННО  ВОЗВРАЩАТЬ

ПОЛУЧЕННЫЕ  ИЗ КАССЫ ССУДЫ

 

    Приведенный пример расшифровки не  претендует  на  изящество,

поскольку  представляет  собой  реальный   протокол   рассуждений

криптоаналитика без тупиковых  вариантов,  и  показывает  изнутри

процесс  вскрытия  шифра  простой   замены.   Возникает   вопрос:

насколько  можно  доверять  правильности  вскрытия  этого   шифра

простой замены?

 

Лучше всего на него  ответить  словами  Архимеда  из  послания  к

Эратосфену: "Хотя это  всем  вышеприведенным  рассуждением  и  не

доказано, но все же  производит  впечатление,  что  окончательный

вывод верен".

    По ряду свидетельств, опытные  криптоаналитики  читают  такие

шифровки  "с  листа",  потратив   на   это   минуту-другую,   что

свидетельствует о профессиональном  видении  структуры  текста  в

кажущейся мешанине букв.  В  этом  они  сильно  превосходят  ЭВМ,

которая удовлетворительно читает шифр  простой  замены  лишь  при

достаточно большой длине сообщения больше сотни символов.  Однако

и здесь ЭВМ может серьезно помочь в раскалывании шифра, например,

разделив  буквы  на  гласные  и  согласные.  Так  как  гласные  и

согласные имеют  тенденцию  чередоваться,  то  можно  по  матрице

чередований символов разделить их на эти классы (для этого на ЭВМ

криптоаналитики традиционно используют так называемое сингулярное

разложение матрицы переходных вероятностей.) . Кроме того,  можно

программно  оценить  вероятности  принадлежности  символов  шифра

разным буквам выписать их столбцами по убыванию вероятности,  что

даст   другую   технику   вскрытия   этого   шифра.    Применение

распознавания, основанного на оценке лишь вероятностей  отдельных

символов в тексте и  биграмм,  за  10  этапов  обучения  дало  по

приведенной шифровке следующий текст:

 

ЧРЕН КАССЫ ВЗАИМОПОМОБИ ОДЯЭАН АККУЛАТНО

УПРАЧИВАТЬ ЧРЕНСКИЕ ВЫНОСЫ И СВОЕВЛЕМЕННО

ВОЗВЛАБАТЬ ПОРУЧЕННЫЕ ИЗ КАССЫ ССУШ

 

    Получился довольно хорошо читаемый текст, хотя  и  за  время,

превысившее ручную расшифровку (эксперимент производился  в  1991

году на машине IBM PC XT 6 MHz - как это было давно!)

 

После корректировки написания по словарю русского  языка  в  Word

6.0 он приобрел такой вид:

 

ЧЛЕН КАССЫ ВЗАИМОПОМОЩИ ОБЯЗАН АККУРАТНО

УПРОЧИВАТЬ ЧЛЕНСКИЕ ВЫНОСЫ И СВОЕВРЕМЕННО

ВОЗВРАЩАТЬ ПОРУЧЕННЫЕ ИЗ КАССЫ ССУДЫ

 

    Машинное вскрытие шифров простой замены  вряд  ли  в  близком

будущем потеряет свою  актуальность.  Криптоаналитики  широко  им

пользуются, поскольку атаки на сложные шифры заканчиваются обычно

вскрытием шцфра простой замены.

 

    Взлом многоалфавитных шифров

 

    Шифр Гронсфельда  вскрывается  довольно  легко,  если  учесть

следующее обстоятельство: так как цифр всего 10, то имеется  лишь

10 вариантов прочтения каждой буквы. Выпишем  их  столбцами  так,

что одной строке соответствуют буквы одного значения ключа. Номер

варианта будет определяться цифрой ключа от  0  до  9.  При  этом

получим таблицу,  правильно  выбрав  по  одной  букве  из  каждой

колонки которой можно получить исходный текст:

 

ключ            ???????????????????

вариант 0       ФПЖИСЬИОССАХИЛФИУСС

вариант 1       УОЕЗРЫЗНРР ФЗКУЗТРР

вариант 2       ТНДЖПЪЖМППЯУЖЙТЖСПП

вариант 3       СМГЕОЩЕЛООЮТЕИСЕРОО

вариант 4       РЛВДНШДКННЭСДЗРДПНН

вариант 5       ПКБГМЧГЙММЬРГЖПГОММ

вариант 6       ОЙАВЛЦВИЛЛЫПВЕОВНЛЛ

вариант 7       НИ БКХБЗККЪОБДНБМКК

вариант 8       МЗЯАЙФАЖЙЙЩНАГМАЛЙЙ

вариант 9       ЛЖЮ ИУ ЕИИШМ ВЛ КИИ

сообщение       ???????????????????

 

    Предположение 1. Если прочесть  исходный  текст  напрямую  не

удалось, то попробуем немного порассуждать. Самый  частый  символ

текста - пробел, а разбиение фразы на слова порой  может  оказать

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

шифра решетки. Так как длина шифровки равна 19 символам,  то  она

состоит из двух или трех  слов,  разделенных  пробелами.  Хорошее

положение для пробела дает лишь вариант 1, а другие варианты, 7 и

9 или их сочетания маловероятны. Поэтому будем считать, что текст

шифровки разбивается на два слова: ФПХИСЫЮСС ХИЛФИУСС.  Из  этого

следует, что в 11 позиции текста стоит пробел и в той же  позиции

ключа находится цифра 1.

 

Предположение 2. У выделенных слов шифровки одинаковое  окончание

ее, и, весьма вероятно, что период ключа делит 9 - длину  второго

слова вместе  с  пробелом.  Будем  считать,  что  в  этом  случае

одинаковые окончания слов (Одинаковые окончания часто  появляются

из-за согласования слов в  предложениях  на  русском  языке.  Это

хорошо видно в  поговорках:  одИН  в  поле  не  воИН,  наняЛСЯ  -

продаЛСЯ.) текста попали  на  одинаковые  участки  ключа  и  дали

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

что это  слишком  маловероятно,  чтобы  встречаться  в  практике.

Однако  таких  находок,  помогающих  расшифровке,  всегда  бывает

предостаточно в сообщениях большой  длины  и,  порой,  приходится

жалеть скорее об их обилии, чем отсутствии. Если нет никаких идей

о длине ключа, не беда - ее можно подобрать вслепую.  Итак,  есть

два выбора для периода ключа: 3 и 9. Попробуем период длины 3:

 

ключ            ?1??1??1??1??1??1??

вариант 0       Ф ЖИ ЬИ СС ХИ ФИ СС

вариант 1       УОЕЗРЫЗНРР ФЗКУЗТРР

вариант 2       Т ДЖ ЪЖ ПП УЖ ТЖ ПП

вариант 3       С ГЕ ЩЕ ОО ТЕ СЕ ОО

вариант 4       Р БД ШД НН СД РД НН

вариант 5       П БГ ЧГ ММ РГ ПГ ММ

вариант 6       О АВ ЦБ ЛЛ ПВ ОВ ЛЛ

вариант 7       Н Б ХБ КК ОБ НБ КК

вариант 8       М ЯА ФА ЙЙ НА МА ЙЙ

вариант 9         Л Ю У ИИ МЛ ИИ

сообщение       ?о??р??н?? ??к??т??

 

    Таблица существенно поредела, но  остается  все-таки  сложной

для непосредственного прочтения (Криптоаналитики вряд  ли  сочтут

прямое чтение ее сложным, так как достаточно перебрать  лишь  100

вариантов для двух оставшихся цифр  ключа  вручную  за  несколько

минут.). Поэтому попробуем  подобрать  символ  ключа,  стоящий  в

первой позиции, перебрав 10 вариантов.  Так  как  ключ  длиной  3

циклически повторяется, то этот же символ стоит в 4, 7,  10,  13,

16 и 19 позициях ключа. Вероятность  варианта  для  первой  цифры

ключа  равна  произведению  вероятностей  биграмм,  состоящих  из

символа по этому варианту расшифровки и следующего  за  ним,  уже

известного символа. Если Li - буква текста, стоящая на  месте  i,

то вероятность одного из 10 вариантов:

 

 р (L1L2) p(L4L5) р(L7L8) p(L10L11) p(L13L14) p(L16L17)

 

    Для вычисления вероятности биграмм воспользуемся таблицей  из

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

то их достаточно суммировать. В результате для вариантов от 0  до

3 имеем такие численные значения вероятностей:

 

р(0)=р(ФО)р(ИР)р(ИН)р(С )р(ИК)р(ИТ)=43

р(1)=р(УО)р(ЗР)р(ЗН)р(Р )р(ЗК)р(ЗТ)=23

р(2)=р(ТО)р(ЖР)р(ЖН)р(П )р(ЖК)р(ЖТ)=27

р(3)=р(СО)р(ЕР)р(ЕН)р(О )р(ЕК)р(ЕТ)=50

 

    В результате  для  первой  цифры  ключа  получается  наиболее

вероятным 3 вариант расшифровки. Это дает следующую таблицу:

 

ключ            31?31?31?31?31?31?3

вариант 0           Ж Ь С Х Ф С

вариант 1       ОЕ РЫ HP Ф КУ ТР

вариант 2           Д Ъ П У Т П

вариант 3       С ГЕ ЩЕ ОО ТЕ С ОО

вариант 4           в т н с р н

вариант 5           Б Ч М Р П М

вариант 6           А Ц Л П О Л

вариант 7            Х К О Н К

вариант 8           Я Ф Й Н М Й

вариант 9           Ю У И М Л И

сообщение       СО?ЕР?ЕН?0 ?ЕК?РТ?0

 

    Теперь сообщение читается совсем просто.  Достаточно  выбрать

одну из 10 строк с вариантом для  3  цифры  ключа.  В  результате

получим ключ и текст сообщения:

 

сообщение: СОВЕРШЕННО СЕКРЕТНО

ключ:      3143143143143143143

 

    В  принципе  есть  возможность   чтения   шифра   Гронсфельда

напрямую,  анализом  таблицы  возможных  замен,  даже  если  ключ

длинный. При достаточно большой  длине  текста  в  таблице  будут

несложно прочитываемые участки. Использование ЭВМ для подключения

к  криптографической  атаке  на  этот  шифр  априорных  знаний  о

чередовании русских букв в  тексте  обычно  позволяет  без  труда

читать подобные шифровки.

    При многоалфавитной замене с  длинным  ключом  использованный

для взлома  шифра  Гронсфельда  прием  уже  не  подходит.  Однако

известно, что шифры русских революционеров цифирная палата  легко

читала. Как же это удавалось сделать - черная магия? Все  гораздо

проще. Приведем короткий пример: перехвачена шифровка,  вероятным

автором которой является Троцкий. Известно также, что аналогичные

шифровки делались методом  сложной  замены  и  в  качестве  ключа

использовались тексты революционных песен, а иногда стихотворения

Пушкина, Лермонтова и Некрасова. Так как отправитель Троцкий,  то

естественно предположить,  что  сообщение  оканчивается  подписью

ТРОЦКИЙ с предыдущим пробелом. Подставив  ее  в  шифровку  вместо

ключа, получим кусок настоящего ключа.

 

Шифровка  ДДЯ Л ЫСЫ ШНМРКЮЮЩДБЬИЬМЫМТАНЭХЦК

Сообщение ????????????????????????? ТРОЦКИЙ

Ключ      ?????????????????????????НАС ЗЛОБ

 

    Не напоминает ли фрагмент НАС ЗЛОБ какойто  известный  текст?

Не правда ли, очень похоже на слова,  переведенной  Кржижановским

песни польского восстания 1863  года,  называемой  "Варшавянкой"?

Теперь, подставив разгаданный ключ в  виде  текста  песни:  ВИХРИ

ВРАЖДЕБНЫЕ ВЕЮТ НАД НАМИ ТЕМНЫЕ СИЛЫ НАС ЗЛОБ, можно вскpыть само

сообщение:

 

  ОБЫВАТЕЛИ СПАЛИ НЕ ЗНАЯ ЧТО МЕНЯЕТСЯ

           ВЛАСТЬ ТРОЦКИЙ

 

    Такая расшифровка вряд ли заняла  бы  вместе  с  составлением

сопроводительной записки более часа времени. Ну,  а  предположим,

что отправитель неизвестен? И это не беда, хотя потребует  больше

времени. Несложно перебрать несколько возможных имен, а в  случае

неудачи придется подставлять в разные места  часто  употребляемые

слова текста и ключа - ТОВАРИЩ, ВЛАСТЬ, ВОССТАНИЕ.  Отгадав  одно

из двух - текст или ключ, сразу получим второе.

    Вот как немцы описали вскрытие ручных шифров советской группы

шпионов "Красная Капелла", полностью уничтожить  которую  Мюллер,

Канарис и Шелленберг не смогли,  несмотря  на  многие  аресты  ее

участников  с  начала   и   до   конца   войны:   "Тем   временем

математический  отдел  разведки  и  служба  расшифровки  Главного

командования  вермахта  лихорадочно  работала  над  найденным   в

особняке наполовину обуглившимся обрывком  зашифрованного  текста

радиопередачи. Они пришли к выводу, что ключ к шифру находится  в

тексте какой-то французской книги (Язык  сообщения  и  тип  шифра

стали  известны  после   того,   как   арестованная   бельгийская

консьержка на допросах сообщила о  пристрастии  агентов  "Красной

Капеллы" к чтению французских романов, часть названий которых она

вспомнила.). Из  крошечного  обрывка  сожженного  листка  бумаги

специалисты     после     кропотливых     исследований     сумели

реконструировать слово ПРОКТОР.  Теперь,  следовало  выяснить,  в

каких книгах встречается это ключевое слово. Через три месяца  мы

разыскали  эту  книгу.  Тогда  специалисты   отдела   расшифровки

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

раскусить шифр. Они смогли расшифровать обнаруженные в Брюсселе и

перехваченные заново радиопередачи."

    Еще один  короткий  пример  вскрытия  многоалфавитного  шифра

замены приведем из-за его занимательной истории.  Писатель  Эдгар

По считал себя непревзойденным криптоаналитиком. Ему  принадлежит

дерзкое   высказывание:   "...можно   смело    утверждать,    что

человеческий гений не в силах составить  шифр,  раскрыть  который

оказалось бы не под силу человеческому  гению".  Поэтому  в  1839

году  он  бросил  вызов  читателям  Журнала  "Alexander's  Weekly

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

Калп в 1840 году прислал ему такой текст шифровки:

 

  GE JEASGDXV, ZIJ GL MW, LAAM, XZY. . .

 

    Эдгар По, предполагавший, что будет  предложен  шифр  простой

замены, счел пример Калпа "мешаниной случайных  букв".  Однако  в

1975 году  слушатели  лекций  по  криптологии  Винкель  и  Листер

расшифровали  его,  предположив  многоалфавитную  замену   вместо

простой. Скорее всего они начали с первых двух слов, увидев в них

искаженное имя получателя ALEXANDER как ALXANDER:

 

 Шифpовка  GE  JEASGDXV

 Сообщение MR  ALXANDER

 Ключ      UN  JTDSTATE

 

    Полученная частная расшифровка была  очень  похожа  на  фразу

UNITED STATES и, повторяя ее циклически, они вскрыли  весь  текст

шифровки. Стало ясно, что даже если  бы  дилетант  По  и  знал  о

многоалфавитных  шифрах,  то  взламывание  текста-шифровки  Калпа

представляло собой серьезную задачу: одна буква в  шифровке  была

пропущена, а 15 искажены скорее всего  по  вине  наборщика.  Этот

пример показывает, что ошибки в шифровании способны озадачить  не

только криптоаналитика, но  и  легального  получателя  сообщения,

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

шифровки весь ее остаток был нечитаемым!

 

    Вскрытие машинного шифра

 

    Машинные  шифры  в  принципе  много  сложнее  ручных   и   их

раскалывание скорее напоминает  не  подбор  отмычки  к  сейфу,  а

высверливание его механизма. Тем не менее, если силу прикладывать

неразумно, то вряд ли можно  будет  добиться  успеха.  Рассмотрим

лишь простенький древний машинный шифр.

    Одна из первых систем шифрования  опробовалась  в  начале  XX

века на телеграфе. Она основывалась на  том,  что  каждый  символ

кодировался 5 импульсами тока, а это  вполне  соответствует  пяти

битам представления этого кода  в  ЭВМ.  Смысл  шифра  состоял  в

перестановке этих импульсов или, соответственно, бит по  сложному

закону с большим периодом. В частности от двоичного счетчика с  n

разрядами  поступало  n  сигналов  на  релейные  схемы,  меняющие

местами 2 бита. Так как n было велико, то такие перестановки  пар

бит, называемые математиками  транспозициями,  могли  в  принципе

дать любую перестановку бит внутри кода символа. Однако если  все

биты равны нулю или  единице,  то,  как  их  не  переставляй,  их

совокупность не изменится. Если не все биты равны между собой, то

может произойти замена символа. Число вариантов замены зависит от

числа нулевых бит в коде символа:

 

число нулевых бит       0  1  2  3  4  5

число единичных бит     5  4  3  2  1  0

число вариантов         1 5  10 10  5  1

 

    Предположим, что буква А кодируется 00000, Б как 00001 и  так

далее до Я - 11111. В этом случае букве А при любых перестановках

бит  будет  соответствовать  только  она  сама.  Букве  Б   могут

соответствовать уже 5 вариантов:  Б(00001),  В(00010),  Д(00100),

И(01000), Р(10000). Поэтому, написав под каждой  буквой  шифровки

все буквы сообщения, которые возможно ей  соответствуют,  получим

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

чтобы облегчить  чтение,  варианты  расшифровки  каждой  буквы  в

таблице  расположены  сверху   вниз   в   порядке   убывания   их

вероятности, что выполнено на ЭВМ с учетом априорной информации о

чередовании букв в тексте на естественном языке. В верхней строке

таблицы дан исходный текст сообщения, а  во  второй  -  шифровка,

полученная случайной перестановкой  бит  у  каждой  буквы.  Далее

приведены альтернативные варианты  прочтения  букв.  Причем,  чем

ниже приведен вариант, тем менее он правдоподобен, а  варианты  с

вероятностью прочтения ниже  0.05  отброшены.  Программа  на  ЭВМ

попыталась  найти  и  наиболее   вероятное   прочтение   шифровки

используя для этого  данные  о  вероятностях  биграмм  текста  на

русском языке. Предложенный ей  вариант  прочтения  букв  выделен

жирными символами:

 

ЖИЛИ БЫЛИ СТАРИК СО СТАРУХОЙ    текст

МДЩВ БЮХД ЕСАВРЖ ЕЛ ЕКАДЦНЬТ    шифр

СИНИ ВЫхИ СТАВИЕ Сл СТАВОЛьг    1

мров бчЛв мк брм мО мк блзОИ    2

...дальше нет вариантов...

СИНИ ВЫЛИ СТАВИЕ СО СТАВОЛОЙ    прочтение

 

    Несмотря  на  немного  смешной  вид  полученного  текста,  он

довольно-таки  близок  к  оригиналу:  отгадано  19  букв  из  28!

Некоторое улучшение отгадывания может быть достигнуто переходом к

оценке  вероятностей  не  по  биграммам,  а   по   триграммам   -

трехбуквенным сочетаниям и даже полному словарю слов.  Применение

в программе полного словаря дало вариант расшифровки:  ЖИЛИ  БЫЛИ

СТАРИК СО СТАРУХОЙ. Однако вряд  ли  кто  лучше  человека  сможет

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

важный вывод, что избыточность языка позволяет  читать  сообщение

даже при большой неоднозначности прочтения каждой отдельно взятой

буквы. В приведенном примере на одну букву в среднем приходится 7

вариантов  ее  прочтения.  Практически,  если   число   вариантов

прочтения каждой буквы не больше  7,  то  текст  обычно  прочесть

удается.

    Попробуем теперь сделать выводы  из  рассмотренных  примеров:

что  помогает  и  что  мешает   раскалыванию   шифров.   Помогает

криптографической атаке на шифр в основном то обстоятельство, что

буквы  и  слова  в  тексте  взаимосвязаны.  Так,  например,  было

несложно отгадать слово АККУ?А?НО и даже по  фрагменту  НАС  ЗЛОБ

определить песню, откуда он взят.  Такая  внутренняя  зависимость

участков текста друг от друга - свойство естественного языка и от

него никуда не денешься. Хотя были и есть языки с гораздо меньшей

зависимостью, чем  у  русского  языка,  но  не  заставишь  же  их

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

помощник криптоаналитика -  малое  число  вариантов  соответствия

текста шифровке при незнании ключа. Так в шифре Гронсфельда букве

шифровки могут соответствовать лишь 10 букв из текста, а в  шифре

перестановки  бит  и  того  меньше,  в  среднем  7.  Способствует

вскрытию шифра и малая  длина  ключа  -  вряд  ли  так  легко  мы

разделались бы с шифром Гронсфельда, если длина  ключа  превышала

длину сообщения. И, в конце концов,  почему  же  так  просто  был

вскрыт многоалфавитный шифр замены? Ведь у него и число вариантов

для отгадывания было велико, и ключ длинный. Причина  успеха  его

взлома заключается в сильной зависимости ключа, текста и шифровки

меж собой. Шифровка известна всегда. Поэтому сначала, мы  угадали

кусок текста и сразу же за это в награду получили кусок ключа. По

этому куску ключа удалось восстановить весь ключ целиком.

 

    Итак,  во-первых,  если  кусок-ключа  можно  было   получить,

отгадав лишь очень большую часть текста  или  перебрав  множество

вариантов, то этот номер не прошел бы. Во-вторых,  это  не  дело,

когда по малому участку ключа удается  угадать  весь  ключ.  Будь

ключ представлен не осмысленным текстом, а случайным, то этого не

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

текст   обязательно   сжимается   перед   шифрованием.    Сжимать

шифрованный  текст  слишком  поздно,  так  как   шифровки   почти

несжимаемы. Кроме экономии места под хранение и времени передачи,

сжатие еще и повышает  стойкость  шифра.  Многие  атаки  на  шифр

осуществляются поиском фрагмента  открытого  текста  в  шифровке.

Если отрытый текст перед  шифрованием  был  сжат,  то  эти  атаки

затруднены и потери времени на сжатие окупаются.

    Теперь давайте пофантазируем,  как  составить  нераскрываемый

шифр. Если мы возьмем за основу многоалфавитный шифр  замены,  то

это будет неплохой выбор, он многовариантен и к нему  так  просто

не подступишься. Однако  ключ  для  шифровки  должен  быть  очень

хорош:  бесконечной  длины  и,  конечно  же,  несмысловой.  Можно

схитрить и составить ключ из текста, беря  из  него  лишь  каждую

третью букву, ведь по фрагменту ДНВТДМИН никогда не скажешь,  что

он взят  из  той  же  "Варшавянки".  Еще  лучше,  если  сообщение

зашифровано дважды разными ключами и шифрами разных типов. Далее,

скверно,  когда  символы  всегда  находятся  в  том  же  месте  в

шифровке, что и в сообщении - на подпись,  заголовок  или  другой

известный фрагмент текста может начаться атака. Поэтому вместе  с

заменой  применим  простой  шифр  двойной  перестановки  -  пусть

взломщики поищут, где теперь находится подпись.  Таким  способом,

комбинируя шифр перестановки с многоалфавигным шифром замены  при

хорошем ключе, можно  получить  вполне  приемлемый  ручной  шифр,

вскрыть который будет очень непросто или вообще невозможно.

 

    Но сменим галоп нашего рассуждения на шаг, чтобы предостеречь

читателя  от  одной  широко  распространенной  ошибки.  Насколько

осложнится вскрытие сообщения, если его зашифровать несколько раз

одним ключом? Ответ естественный, хотя для многих и  неожиданный,

взломка сложнее вряд ли станет. Во времена Второй  мировой  войны

английским криптографам не давал покоя простой,  но  заковыристый

немецкий полицейский шифр. Из-за краткости сообщений  его  чтение

удавалось  далеко  не  всегда  и,   как   правило,   с   большими

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

улучшить шифр, как бы удвоив примененный  ключ.  Так  вот,  после

такого "усложнения" вскрытие шифровок стало легким и приятным.  В

известном автору аналогичном  случае,  имевшем  место  некогда  в

известной  фирме,   текст   был   зашифрован   дважды.   Шифровка

криптоаналитиком была восстановлена  из  свободных  кластеров  на

рабочей дискете,  а  в  директории  остались  следы  от  двойного

шифрования и длины двух файлов типа ВАК  того  же  сообщения.  Из

этих следов и сопоставления длин шифровки с длинами файлов  стало

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

определена программа  шифрования.  Так  как  во  второй  раз  был

зашифрован  и  текст  сообщения,  и  заголовок  файла   шифровки,

содержание  которого  отчасти  известно,  то  найти  второй  ключ

удалось просто подбором, потому что он был всего  из  5  букв  по

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

как стало ясно пристрастие автора  файла  к  собственному  имени.

Вследствие этого, примите за правило никогда  не  шифровать  одно

сообщение дважды одним и тем же ключом, чтобы не  усложнять  себе

жизнь лишней работой. Применение нескольких разных  ключей  порой

оправдано, если не из-за увеличения стойкости шифра, то  хотя  бы

как свидетельство о согласии нескольких отправителей шифровки или

одновременном присутствии нужных получателей сообщения.

    Лучшие известные криптографические  системы,  преимущественно

принадлежащие  правительствам,  практически  невозможно  вскрыть.

Однако все государства теми или иными путями пытаются сдержать  и

даже  запретить   свободное   использование   криптографии,   как

вызывающее головную боль у их секретных служб. В  то  время,  как

ЦРУ в США призывает фирмы шире использовать  шифрование,  то  АНБ

пытается ограничить длину ключа 40  битами.  В  последнем  случае

возможен даже прямой перебор ключей, если использовать достаточно

мощную ЭВМ. По оценкам специалистов, раскалывание шифра алгоритма

RC-4 с ключом из 40 бит, широко используемого  в  сети  Internet,

потребует около 100 MIPS (MIPS - million instructions per  second

- миллион операций в секунду.) лет. Раньше считалось, что меньше,

чем за 6 месяцев работы суперкомпьютера,  такой  шифр  вскрыт  не

будет. Эта оценка была проверена практически и оказалось, что 120

рабочих станций с двумя суперкомпьютерами параллельного  действия

взломали ключ за, 8 дней.  Цена  такого  раскалывания  достаточно

высока  и  превышает  $10000,  что  впрочем  сильно  зависит   от

эффективности алгоритма атаки. Поэтому проблемы криптоанализа еще

долгое время будут весьма актуальны.

 

 

    ОСНОВЫ КЛАССИЧЕСКОЙ КРИПТОГРАФИИ

 

    В этой главе будут изложены теоретические основы классической

криптографии, приведены описания основных компонентов современных

систем шифрования заменой, перестановкой и блочным взбиванием,  а

также дан анализ устойчивости этих классов шифров к  попыткам  их

взлома.  Следует   отметить,   что   криптографические   системы,

изобретенные  любителями  и  непрофессионалами,   всегда   крайне

непрактичны в применении и  нестойки  от  вскрытия.  В  частности

многие из самоучек видят основу  стойкости  шифра  в  секретности

системы шифрования. Профессионалы же, напротив,  считают  систему

шифрования  общеизвестной  и  выводят   стойкость   шифра   через

стойкость к, взлому секретного ключа.

 

    Шифры замены

 

    Теперь  посмотрим,   как   обычно   практически   выполняется

шифрование заменой с помощью ЭВМ.  Самый  простой  и  эффективный

способ  сделать  текст  нечитаемым  -  спрятать  его,  смешав   с

последовательностью случайных чисел, заданной ключом,  с  помощью

операции XOR( Операция XOR выполняет следующие действия:  (О  XOR

0)-0, (О XOR 1)=1,  (1  XOR  0)=1,  (1  XOR  1)=0.  ).  При  этом

информация сообщения прячется в шуме -  самом  информативном,  по

определению  Шеннона,  сигнале.  Все  правильно,  песчинку  лучше

прятать на  пляже,  рыбу  в  море,  а  информацию  в  шуме.

 

    Есть  и  другие  обоснования  выбора  случайных   чисел   для

шифрования заменой. Можно исходить из  того,  что  криптоаналитик

попытается  снизить  неопределенность   чтения   шифровки,   зная

статистические свойства нашей последовательности.  А  как  только

человеку становится известным чье-то намерение, то его  поведение

соответственно меняется. Поэтому если криптоаналитик  знает  наше

намерение использовать последовательность, где  1  встречается  с

вероятностью р, а 0 с вероятностью 1-р, то, зная теорию  игр,  он

тоже с вероятностью р будет предполагать наличие  1.  Вероятность

его успехов будет равна:

 

               Р(Р)=Р-Р+(1-Р)-(1-Р)

 

    Эта функция достигает минимума при р=0.5,  что  выпадает  при

случайном выборе из 0 и 1 с равновероятными исходами. Далее, если

биты в случайной  последовательности  с  одинаковой  вероятностью

принимают значения 0 и 1, то биты в шифровке будут  обладать  тем

же свойством. Докажем это.  Пусть  вероятность  нулевого  бита  в

тексте равна р, а единичного соответственно 1-р.  Нулевой  бит  в

шифровке     появляется,     когда      соответствующие      биты

последовательности и текста оба равны либо  О,  либо  1.  Значит,

вероятность появления нулевого бита в шифре равна:

 

    Р=0.5-р+0.5-(1-р)=0.5

 

    Более того, если биты в используемой для шифрования случайной

последовательности статистически независимы друг от друга, то и в

шифровке они становятся такими  же.  Текст  превращается  во  что

угодно, то есть в шум. Из-за  специфики  операции  XOR  процедура

шифрования  совпадает  с  процедурой   расшифрования.   Например,

обозначив через  t  вектор  бит  сообщения,  у  вектор  случайной

последовательности и s шифровки, получаем t=s XOR у и s=t XOR  у.

Приведем пример  программной  реализации  этого  шифра  на  языке

QuickBasic, называемого далее просто шифром замены.  Такие  шифры

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

рассматривали выше.

 

'пример шифрования заменой

DECLARE SUB CodeAndPrint (Password!, Map%())

DEFINT I-N:  CLS

DIM Map (40) : CONST Password = -231.157

' сообщение

FOR i = 1 TO 40

Map(i) = ASC ("A")

NEXT

FOR i = 1 TO 40

PRINT CHR$ (Map (i) ) ;

NEXT

PRINT

'шифровка

CALL CodeAndPrint (Password, Map())

' расшифровка

CALL CodeAndPrint ( Password, Map ( ) )

END

SUB CodeAndPrint  (Password, Map())

x = RND (Password)

FOR i = 1 TO 40

Map(i) = INT(32  * RND) XOR Map(i)

NEXT

FOR i = 1 TO 40

PRINT CHR$ (Map (i) ) ;

NEXT

PRINT

END SUB

 

    В  результате  работы  программы   появляются   три   строки,

представляющие  собой:  верхняя  -  исходный  текст,  средняя   -

шифрованный, а нижняя - расшифровку:

 

АААААААААААААААААААААААААААААААААААААААА

ЦСТЙЙШАШЬЦБНЫЩЛЮЫБЮЛРШБТОЙУФИИЪЪТЯЭЗЦЯЗС

АААААААААААААААААААААААААААААААААААААААА

 

    У машинного многоалфавитного шифра замены с помощью  операции

XOR есть ряд очень слабых мест, которые нужно знать  и  учитывать

использовании этого шифра. Серьезную неприятность может доставить

обратимость этого шифра, так как для расшифровки  применяется  то

же самое преобразование, что и для зашифровки. В том случае, если

одно и то же сообщение должно быть послано нескольким адресатам и

шифруется одним и тем же шифром может произойти  так,  что  длина

сообщения изменится из-за сбоя или ошибки. В  этом  случае  будет

получено 2 сообщения разной длины. Так, если имеем  две  шифровки

s' и s", которые отличаются тем,  что  исходный  текст  сообщения

оказался сдвинутым на один символ:

 

              S'(i)=T(i)+Y(i);S"(i+1)=T(i+1)+Y(i)

 

где t - текст, а у - ключ, то, находя  их  сумму,  получим  сумму

текста со сдвигом:

 

              S(i)=S'(i)+S"(i+1)=T(i)+T(i+1).

 

    Исходный  текст  можно   получить,   подобрав   S0,   которое

неизвестно, в выражении:

 

              T(n)=S0+S1+S2+...+Sn

 

    Следующий пример демонстрирует эту  технику.  Пусть  по  двум

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

образована следующая их сумма:

 

          ЗВГЮШВЪСЮШТБПРЩВЦТЮТТБПРГВТЬ         S(i)

 

Подбором S0 получаем текст исходного сообщения:

 

          ГЕИЕЭЯШИЕЭОПЮНЕЗЭОЛЭОПЮНРТЛХ  S0=29

          ДЖИЖЮ ЩЙЖЮПРЯОХИЮПМЮПРЯОСУМЭ  S0=30

          ЕЭКЭЯАЪКЗЯРС ПЗЙЯРНЯРС ПТФНИ  S0=31

          ЖИЛИ БЫЛИ СТАРИК СО СТАРУХОЙ  S0=32

 

    Подобные коллизии нередко возникали лет тридцать  назад,  так

как основным носителем  информации  была  перфолента,  а  при  ее

заправке в считывающее устройство запросто можно  было  ошибиться

при рассылке  циркулярной  телеграммы  адресованной  в  несколько

мест, но шифруемой одним ключом. Сейчас такие "подарки" для крип-

тоаналитиков почти исключены, так как криптографы стали держаться

правила ни при каком случае  не  использовать  ключ  дважды.  При

такой ошибке  шифровальщика  шифр  замены  на  основе  XOR  легко

вскрыть,  даже  не  прибегая  к  отгадыванию  и  анализу.   Число

вариантов  прочтения  шифровки  не  превышает  число  символов  в

алфавите - это не подбор ключей.

    Другая неприятность с машинным многоалфавитным шифром  замены

может возникнуть, если в сообщении  встречаются  большие  участки

пробелов или нулевых  символов.  Допустим,  например,  что  линия

связи  недозагружена,  но  в  то  время,  когда  нет   сообщений,

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

и   t=0,   шифровка    будет    представлять    собой    "чистую"

последовательность ключа. Если в это время с помощью  специальной

аппаратуры перехватить шифровку, представляющую собой  ключ  s=y,

то можно наложить на нее  текст  своего  сообщения  s'=s+t=t+y  и

передать  искаженную  шифровку  по  каналу   связи.   Получатель,

расшифровав ее:

 

                        s'+y=s+t+y=t+y+y=t

 

получит переданный ему перехватчиком текст сообщения. А  так  как

этот текст поступит в шифрованном виде, то его содержимому  могут

поверить, а это уже никак не допустимо. Так  как  перехватчик  не

знает, свободна ли линия, то  будет  накладывать  свой  текст  на

непрерывный шифрованный сигнал наугад несколько раз. Даже если  в

это время по линии шла передача - не беда, скорее всего возникшие

искажения будут интерпретированы как помехи в канале связи.

 

    Шифры перестановки

 

    Из-за отмеченных особенностей шифр замены в чистом  его  виде

никогда  не  применяется,  а  всегда   употребляется   вместе   с

перестановкой, например, бит  внутри  байта.  Если  после  замены

символы сообщения превращались во  что  угодно,  но  сохраняли  в

шифровке свое исходное местоположение, то после перестановки  они

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

от атак криптологов. Потому что перестановку можно  рассматривать

как умножение вектора сообщения на матрицу перестановки бит  Р  с

элементами 0 и 1 и размером в длину сообщения в битах. Рассмотрим

два случая.

 

1. Перестановка может делаться до наложения на

  сообщение  случайной  последовательности, то

  есть s'=Pt+y. В случае, если текст в сообщении

  отсутствует t=0 и идут нули или пробелы,  то

  s'=y, а в канал связи попадает чистый ключ.

2. Перестановка может делаться и после наложе-

  ния на  сообщение случайной последовательно-

  сти, то есть s"=P(t+y). В случае, если текст в со-

  общении отсутствует t=0 и идут нули или пробе-

  лы, как s"=Py, а в канал связи попадает ключ,

  шифрованный  перестановкой.

 

    Поэтому обычно предпочтение отдается второй  схеме,  когда  в

отсутствие текста шифровка представляет собой не чистый  ключ,  а

осложненный перестановкой. Хотя  и  в  том,  и  в  другом  случае

наложение на шифровку своего текста  для  введения  получателя  в

заблуждение ничего не дает. Однако перестановки необходимы и  для

того, чтобы атака на ключ стала неэффективной. Если передача идет

побайтно, то достаточно  лишь  переставлять  биты  внутри  байта,

чтобы с вероятностью 0.97 исказить его и сделать  перехват  ключа

описанным способом невозможным.

    Перестановка может выполняться отдельными битами или группами

бит  как  байты,  что  программно  куда  удобнее,   хотя   и   не

перемешивает  биты  полностью.   Перестановку   можно   было   бы

произвести и побитно,  но  это  был  бы  очень  дорогой  процесс.

Временная  сложность  перестановки  связана  с  квадратом   числа

переставляемых элементов, поэтому перестановка бит была бы  в  64

раза   дороже   перестановки   байт.   Вычислительных    способов

перестановок существует множество, на  любой  вкус.  Например,  в

программах широко применяется перестановка по номерам N от  0  до

L-1 на основе рекуррентного выражения:

 

              N(i+1)=(K-Ni+M) MOD L

при выполнении  следующих  4 условий:

 

       1) К и М берутся из интервала [1, L-1],

       2) М взаимно просто с L,

       3) К-1 делится на любой простой делитель L,

       4) К-1 делится на 4, если L делится на 4.

 

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

перестановку несколько раз, меняя случайным образом К и М.  Часть

криптографов рекомендует для перестановки использовать  такие  же

последовательности, как и у генераторов ключей,  описанных  ниже,

хотя с этими генераторами существует  проблема  в  том,  что  они

переставляют 2**n-1 элементов, а на ЭВМ приходится иметь  дело  с

группами длиной 2**n.

 

    Интересна схема  перестановки,  напоминающая  тасовку  колоды

карт. Так, если S=A+B+C представляет собой исходный блок  текста,

переставляемый побайтно, то результатом такой перестановки  будет

S'=C+B+A, где разбиение на фрагменты А, В и С делается  случайным

образом. После  нескольких  тасовок  исходный  текст  оказывается

основательно  перепутанным.  Эта  тасовка   в   состоянии   после

многократного повторения осуществить любую  перестановку.  Однако

число тасовок при этом должно быть очень велико, и  для  быстрого

получения    качественной    перестановки    лучше    употреблять

перестановку пар:

 

   FOR  i = 0 ТО N

   SWAP arr(i),  arr(N*RND)

   NEXT

 

    Перестановка  тасовкой  зачастую  очень   удобна,   так   как

одиночный ее шаг практически не оставляет ни  одного  символа  на

своем месте. Прием перестановки тасовкой демонстрирует  следующая

программа:

 

' программа шифрования перестановкой

DEFINT I-N: DEFSTR S

RANDOMIZE 1379: CLS

 

'задание текста и перестановки

s = "Вверху синева и внизу откос"

l = LEN(s$): PRINT s

s$ = ""

FOR i=1 TO 2*l: s$=s$+CHR$(l*RND):NEXT

 

' шифровка

FOR i = 2 TO LEN(s$)  STEP 2

n = ASC(MID$(s$,  i-1,   1))

m = ASC(MID$(s$,  i, 1))

IF n > m THEN  SWAP n, m

s=RIGHT$ (s,l-m)+MID$ (s,n+1,m-n)+LEFT$ (s,n)

NEXT

PRINT s

 

' расшифровка

FOR i =  LEN(s$) TO 1 STEP -2

n = ASC(MID$(s$,  1-1,   1))

m = ASC(MID$(s$,  i, 1))

IF n  > m THEN SWAP n, m

s=RIGHT$ (s,n) +MID$ (s, l-m+1,m-n) +LEFT$ (s, l- m)

NEXT

PRINT s

END

 

    После ее выполнения на экране дисплея появляются три  строки:

верхняя с исходным текстом, средняя - шифрованная  перестановкой,

а нижняя - результат расшифровки. Например:

 

Вверху синева и внизу откос

рву еиаонуа етв с иинВковсх

Вверху синева и внизу откос

 

    Шифр замены,  осложненный  перестановкой,  представлял  собой

раннее поколение машинных  криптографических  преобразований.  Он

окончательно  испортил  надежду  на  вскрытие  шифра  хитроумными

методами отгадывания текста сообщения,  оставив  взломщикам  лишь

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

перестановки без знания  ключа  неоднозначно,  что  не  позволяет

сколько-нибудь  уверенно  расшифровать   сообщение.   Однако   по

сохранившейся  статистике  использованных  в  сообщении  символов

можно делать более или, скорее, менее уверенные  прогнозы  о  его

общем содержании.

 

    Шифры взбивания и стандарт DES

 

    Казалось бы, что предел возможностей сокрытия  сообщения  уже

достигнут, ан нет. Результат можно ощутимо улучшить, если  вместо

перестановки использовать линейное преобразование:

 

                     s=L*t

 

где L - невырожденная матрица случайного линейного преобразования

бит, или, что то же самое, детерминант L не равен  нулю.  И  хотя

расшифровывание в  этом  случае  придется  осуществлять  решением

систем линейных уравнений, но каждый бит  шифровки  начинает  уже

зависеть  от  каждого  бита  текста.  Шифры   на   основе   этого

преобразования называют скрамблерами или взбивалками за  то,  что

они взбивают текст сообщения, как повара омлет. К сожалению, доля

невырожденных  матриц  с  увеличением  их  размера   стремительно

убывает. Детерминант матрицы L, как и  ее  элементы,  может  быть

равен либо 0,  либо  1.  Если  det(L)=0,  то  матрица  вырождена.

Поскольку известно, что для матрицы, составленной  из  квадратных

подматриц А, В, С и D, имеем:

 

       │А   В│

       │     │  =det(A)det(B)-det(C)-det(D)

       │C   D│

 

и, обозначив через Pn вероятность равенства единице  детерминанта

случайной матрицы размером 2**n, получаем следующее  рекуррентное

выражение:

 

           P(n+1)=2*Pn*Рn*(1-Pn*Pn).

 

    Так как P1=0.5,  то  увеличение  n  влечет  быстрое  убывание

невырожденных матриц среди случайных.

    Для того, чтобы матрица L была невырожденной, случайной и при

расшифровании  не  нужно  было  производить   много   вычислений,

американскими криптографами  был  предложен  алгоритм,  легший  в

основу стандартного криптографического преобразования  DES.  Суть

его одного шага можно описать следующей схемой.

    Входной блок данных делится пополам на левую L' и  правую  R'

части. После этого формируется выходной массив так, что его левая

часть L" представлена правой частью  R'  входного,  а  правая  R"

формируется как сумма L' и  R'  операцией  XOR.  Далее,  выходной

массив шифруется перестановкой с заменой.  Можно  убедиться,  что

все проведенные операции могут быть  обращены  и  расшифровывание

осуществляется за число операций, линейно  зависящее  от  размера

блока. В то же самое  время,  после  нескольких  таких  взбиваний

можно считать, что каждый  бит  выходного  блока  шифровки  может

зависеть от каждого бита сообщения.

    Система  шифрования  DES  была  разработана  IBM  под  именем

Lucifer и предложена со своими корректировками Национальным  Бюро

Стандартов США  в  1976  году  как  стандарт  шифрования.  В  ней

применен ключ из 56 бит. Следует отметить, что  в  стандарте  DES

применены  перестановки  лишь  специального  типа,  что  наводило

критиков этого стандарта на мысль, что АНБ хорошо знало их теорию

и могло для взлома  воспользоваться  заранее  известными  слабыми

местами. Однако принцип этого  шифрования  прошел  самую  широкую

апробацию  и  ему  посвящено  множество   публикаций.   Нарекания

вызывали лишь выбранные короткими длины блока в 64 бита и ключа в

 56 бит, что  недостаточно  для  таких  задач,  как  национальная

безопасность. Свое развитие DES получил в ГОСТ 28147-89,  который

увеличил  длину  ключа  до  256  бит  и   допустил   произвольные

перестановки. В заключение  приведем  программу,  демонстрирующую

эффект взбивания  на  блоке  в  64  байта.  С  увеличением  числа

взбиваний порча единственного бита в шифровке  делает  нечитаемой

половину текста, что обусловлено побайтовой  перестановкой.  Если

бы перестановка  была  побитовая,  то  весь  текст  от  ошибки  в

единственном бите перестал бы читаться.

 

'------программа  шифрования  взбиванием

DEFINT  I-N:  DEFSTR  S

RANDOMIZE 231

CLS:LOCATE 1, 1

Lot  =  5

s$  =  ""

FOR  i=1  TO 64:s$=s$+CHR$(65+25*RND):NEXT

PRINT s$; " - text": sav = s$

s$  = ""

FOR    i=1    TO     192:     s$=s$+CHR$(255*RND):     NEXT

'---------------------шифрование

FOR i = 0  TO  Lot

sc=MID$(ss,1+I*32,32)

l=2^i:sl="": r=""

 FOR j = 1 TO 32

 kg=ASC(MID$(sc, j, 1))

 kl=ASC(MID$(s$, j, 1))

 kr=ASC(MID$(s$, j+32,1))

 sl = sl+  CHR$(kl XOR kr)

 sr = sr+  CHR$(kr XOR kg)

 NEXT

s$=sr+RIGHT$(sl,l)+LEFT$(sl,32-l)

NEXT

'----------------------порча бита

ss=CHR$(ASC(s$) XOR 4)+RIGHT$(s$,63)

'-----------------печать шифровки

 

FOR i =1  TO 64

k = ASC(MID$(s$, i, 1))

DEF SEG=47114: POKE 2*i-2, k: DEF SEG

NEXT

LOCATE 2, 65: PRINT " - code"

'---------------расшифровывание

FOR i = Lot TO 0 STEP -1

sc=MID$(s$, 1+i*32, 32): l=2^i

s$=RIGHT$ (s$ ,32-

l)+MID$ (s$, 33,l)+LEFT$ (s$, 32)

sl = "":  sr = ""

 FOR j =  1 TO 32

 kg = ASC(MID$(sc,  j, 1))

 kl = ASC(MID$(ss,  j, 1))

 kr = ASC(MID$(ss,  j+32,   1))

 sl = sl+  CHR$(kl  XOR kr XOR kg)

 sr = sr+  CHR$(kr  XOR kg)

 NEXT

ss = sl+sr

NEXT

FOR i =1  TO  64

k = ASC(MID$(s$,  i, 1))

DEF SEG=47124:  POKE 2*i-2,k: DEF SEG

NEXT

LOCATE 3, 65: PRINT " - text"

n = 0

FOR i =1  TO 64

 IF MID$ (s$, i, 1) =MID$(sav, i,1) THEN

 LOCATE 4, i: PRINT "+";: n = n+I

 ELSE

 LOCATE 4, i: PRINT "-";

 END IF

NEXT

LOCATE 6, 1: PRINT 64 - n; "errors"

END

 

    Шифр  DES  принят  федеральным  стандартом  США,  и  хорош  в

использовании  для   многих   коммерческих   приложений.   Однако

правительства сами  никогда  не  используют  шифры,  предлагаемые

коммерсантам, чтобы закрыть свои данные, так как они недостаточно

стойки от атак аналитиков. Например, 16-кратный DES  был  взломан

Шамиром, применявшим  дифференциальный  криптоанализ,  и  Матсуи,

использовавшим   линейный   криптоанализ.   Наиболее    серьезную

практическую  атаку  на  DES  осуществил  Мишель  Винер,  который

разработал и  опробовал  микросхему,  проверяющую  в  секунду  50

миллионов ключей DES. ЭВМ, стоящая миллион долларов и  содержащая

несколько десятков тысяч таких микросхем, способна перебрать  все

ключи DES за 7  часов.  АБН  и  ФАПСИ  тратят  на  вычислительную

технику такие  деньги,  что  могут  построить  ЭВМ,  взламывающую

шифровку  DES  за  секунду.  Это   означает,   что   DES   нельзя

пользоваться для серьезных приложений. Для того, чтобы  испортить

правительственным криптоаналитикам сон, коммерсанты применяют так

называемый "тройной DES", шифруя сообщение трижды  двумя  разными

ключами, что увеличивает реальную длину ключа до 112 бит.  Однако

такой метод медленнее обычного DES метода в три раза.

 

    Шифр Энигмы

 

    В  заключение  обратимся   к   шифру   того   типа,   который

вырабатывала известная уже машина Энигма инженера Кирха. При  его

моделировании на  ЭВМ  можно  достичь  хорошей  устойчивости  при

сравнительной  простоте  программы.  Напомним,  что  эта   машина

представляла собой ряд  вращающихся  на  одной  оси  барабанов  с

электрическими  контактами,  обеспечивающих  множество  вариантов

простой замены,  определяемой  текущим  положением  барабанов.  В

ранних моделях было 5 барабанов,  которые  перед  началом  работы

устанавливались по  кодовому  слову,  а  в  ходе  шифрования  они

поворачивались при кодировании очередного символа как в  счетчике

электроэнергии. Таким  образом,  получался  ключ  заведомо  более

длинный, чем текст сообщения. В чем же была слабость шифра?

 

1. Пять барабанов могли обеспечить лишь около

  ста миллионов ключей, что позволяло их за день

  перебрать на ЭВМ. Если использовать не 25 ла-

  тинских символов, а 256 кодов ASCII и увели-

  чить число барабанов, то сложность раскалыва-

  ния шифра существенно возрастет.

2. Набор барабанов был ограничен и менялся ред-

  ко, что вызвало охоту англичан за их экземпля-

  рами в подводных лодках. ЭВМ может для каж-

  дой  шифровки   использовать индивидуальные

  барабаны, генерируемые по ключу, а это опять-

  таки резко усложняет вскрытие шифра.

3. Наконец, можно  сделать движение барабанов

  хаотичным  по  случайной последовательности,

  тоже вырабатываемой по ключу.

 

    Подсчитаем  число   ключей   такого   шифра,   реализованного

программно. Пусть длина периода программного генератора случайных

чисел равна 2**24. Восемь барабанов, генерируемые с помощью этого

генератора, дадут вместе 2**192 вариантов ключа,  а  если  учесть

еще  варианты  псевдослучайной  последовательности,   управляющей

движением барабанов, то получится  внушительная  цифра  в  2**216

вариантов  ключа.  Таким  образом,   довольно   просто   получить

устойчивый шифр даже при  использовании  программного  генератора

случайных чисел с периодом малой для криптографии длины.  И  хотя

несомненно,  что  криптоаналитики  наработали   массу   "домашних

заготовок" для атак  на  такой  шифр,  но  еще  князь  Владимирко

Галицкий знал о том, что "в наше время чудес не бывает", и вскры-

тие шифра Энигмы будет дорого стоить. Поэтому приведем программу,

реализующую описанный подход.

 

'----------имитация Энигмы

DEFINT I-N: DEFSTR S

CLS  : RANDOM12E 231

DIM s(4, 32) AS STRING * 1

ns = 4

 

ss = "ААААААААААААААААААААААААААААА'

PRINT ss

'-----------ШИФРОВАНИЕ

x = RND(-231)

FOR i=0 TO ns

 FOR j=0 TO 32:set(i,j) = CHR$(j):NEXT

 FOR j=0 TO 32:SWAP s(i,j),s(i,32*RND):

NEXT

NEXT

s=""

FOR i = 1 TO LEN(ss)  'шифрование символа

k=ASC (MID$ (ss ,i ,1)): IF k>32 THEN k=k-128

FOR j = 0 TO ns:k=ASC(set(j,  k)):NEXT

IF k < 32 THEN k = k+  128

PRINT CHR$ (k); : s = s + CHR$ (k)

k = ns * RND 'поворот колес

FOR j=0 TO 31:SWAP s(k,j),s(k,j+1):NEXT

 FOR j=0 TO 32

  s(k,j)=CHR$((ASC(set(k, j)) + 32) MOD 33)

 NEXT

NEXT

PRINT

'----------РАСШИФРОВЫВАНИЕ

x = RND(-231)

FOR i=0 TO ns

FOR j=0 TO 32:s(i,j)=CHR$(j):NEXT

FOR j=0 TO 32:SWAP s(i,j),s(i,32*RND):NEXT

 FOR j=0 TO 32

 IF ASC (set (i, j)) < 64 THEN

 m =j:n=ASC(s(i, j))

DO

k=ASC(s(i,n)):s(i,n)=CHR$(m OR 64)

m=n: n=k

LOOP UNTIL m = j

 END IF

NEXT j

 FOR j=0 TO 32

 s(i,j)=CHR$(ASC(s(i,j))  AND 63)

 NEXT

NEXT i

ss = s

FOR  i = 1 TO LEN(ss)

k=ASC(MID$(ss,i ,1)): IF k>32 THEN k=k-128

 FOR j=ns  TO 0 STEP -1

 k=ASC(s(j,k))

 NEXT

 IF k<32 THEN k=k+128

 PRINT CHR$ (k) ;

 k = ns * RND 'поворот колес

 FOR j = 0 TO 31: SWAP s(k,j),s(k,j+1):NEXT

  FOR j = 0 TO 32

  s(k,j)=CHR$((ASC(s(k,j))+32) MOD  33)

  NEXT

 NEXT i

 END

    После  работы  программы  на  экране  появятся  три   строки,

изображающие: верхняя - исходный  текст  из  букв  А,  средняя  -

шифровку и нижняя - расшифрованный текст:

        ААААААААААААААААААААААААААААА

        ВА ЖЖЬИХйЙЩСЛЦВФЭШЬРСОТСЗТЫОБ

        ААААААААААААААААААААААААААААА

 

    Отметим, что для упрощения  текста  программы  ключ  задается

лишь из 3 бит числом 231 и используются лишь 5 барабанов.

    На самом деле систем шифрования  побольше,  чем  описано.  Но

практически употребляется лишь похожий на  DES  алгоритм  IDEA  (

IDEA  -  Improved  Proposed  Encryption  Standard  -   улучшенный

стандарт шифрования.) , отличающийся применением ключа длиной 128

бит и смещением операций разных алгебраических групп  для  блоков

длиной 64 бита. Алгоритм IDEA разработан в Цюрихе Джеймсом  Мэсси

и опубликован в 1990 году. Он выдержал множество атак на  него  в

отличие от алгоритмов FEAL, REDOC-11 и LOKI. IDEA выдержал  атаки

криптографов  многих  развитых  стран,  как  Англии,  Германии  и

Израиля. Он считается более  стойким,  чем  традиционный  DES,  и

представляет  основу  программы   шифрования   PGP,   применяемой

пользователями Интернет. Разработчик PGP, Фил  Циммерман,  сейчас

подвергнут   в   США   уголовному   преследованию   за    экспорт

криптостойких шифров. Примечательно, что  алгоритмы,  входящие  в

PGP,  как  IDEA  и  RSA,  АНБ   ранее   объявляло   не   стойкими

криптографически, но, тем не менее,  завело  дело  "Правительство

США  против  Филиппа  Циммермана".  Приравняв  Фила  к  торговцам

оружием и наркотикам, АНБ фактически созналось в очередной лжи  -

похоже, что PGP с IDEA и RSA оказалась слишком "крепким  орешком"

для правительственных чиновников.

 

    ШИФРЫ С ОТКРЫТЫМ КЛЮЧОМ

 

    Развитие  криптографии  в  XX  веке  было  стремительным,  но

неравномерным.  Анализ  истории  ее  развития  как  специфической

области человеческой деятельности выделяет три основных  периода.

 

I. Начальный, имевший дело лишь с ручными

   шифрами,  начавшийся в седой древности, за-

   кончился лишь  в конце тридцатых  годов XX

   века. Криптография   за это  время прошла

   длинный  путь от магического искусства древ-

   них жрецов до будничной прикладной профес-

   сии чиновников секретных ведомств.

II. Следующий  период отмечен созданием и ши-

   роким внедрением в практику сначала механи-

   ческих, потом  электромеханических и, нако-

   нец, электронных устройств шифрования, соз-

   данием сетей засекреченной связи. Его началом

   можно считать применение телеграфных шифро-

   вальных машин, использующих длинный однора-

   зовый ключ. Длится он по наши дни. Однако к

   середине семидесятых годов было достигнуто по-

   ложение, когда повышение  стойкости шифров

   отошло на второй план. С развитием разветвлен-

   ных  коммерческих  сетей связи, электронной

   почты  и глобальных информационных  систем

   самой  главными  стали проблемы распределе-

   ния секретных ключей и подтверждения автор-

   ства. К ним теперь привлечено внимание ши-

   рокого круга криптологов.

III. Началом третьего периода развития криптоло-

   гии обычно  считают 1976 год, когда американ-

   ские математики Диффи  и Хеллман предложи-

   ли  принципиально новый вид организации за-

   секреченной связи без предварительного снаб-

   жения   абонентов секретными  ключами, так

   называемое шифрование с открытым ключом. В ре-

   зультате стали появляться криптографические

   системы, основанные на подходе, сформулиро-

   ванном еще  в сороковых годах Шенноном. Он

   предложил строить шифр таким способом, что-

   бы его раскрытие было эквивалентно решению

   математической задачи, требующей  выполне-

   ния объемов вычислений, превосходящих воз-

   можности современных  ЭВМ.  Новый  период

   развития криптографии характеризуется появ-

   лением полностью  автоматизированных систем

   шифрованной  связи, в которых каждый поль-

   зователь имеет свой индивидуальный  пароль

   для подтверждения подлинности, хранит его, к

   примеру  на магнитной  карте, и предъявляет

   при входе в систему, а весь остальной процесс

   проведения секретной связи происходит авто-

   матически.

 

    В традиционных криптосистемах одним и тем же секретным ключом

осуществляется как шифрование, так и дешифрование сообщения.  Это

предполагает, что отправитель  и  получатель  сообщения  получили

идентичные копии ключа курьером. Этот прием почти неприменим  для

коммерческих фирм и абсолютно недоступен частным лицам из-за сво-

ей дороговизны.

    При  шифровании  с   открытым   ключом   для   шифрования   и

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

не дает практической возможности определить второй. Поэтому  ключ

для  шифрования  может  быть  сделан  общедоступным  без   потери

стойкости шифра, если  ключ  для  расшифровывания  сохраняется  в

секрете, например, генерируется  и  хранится  только  получателем

информации.   Несмотря   на    подозрительность    (кому    верят

криптоаналитики?) и консерватизм (лучшее  -  для  криптографов  -

враг  хорошего!)  новые  идеи  стали  быстро  реализовываться  на

практике. Шифруют и сейчас традиционными  методами,  но  рассылка

ключей и цифровая подпись стали выполняться уже по-новому. Сейчас

два метода шифрования с  открытым  ключом  получили  признание  и

закреплены  в  стандартах.  Национальный  институт  стандартов  и

технологий США NIST  (бывший  ANSI)  принял  стандарт  MD  20899,

основанный на алгоритме ЭльГамаля,  а  на  основе  алгоритма  RSA

приняты стандарты ISO/IEC/DIS 9594-8  международной  организацией

по стандартизации и Х.509 международным комитетом по связи.

 

    Шифр Ривеста-Шамира-Алдемана

 

    Первой и  наиболее  известной  криптографической  системой  с

открытым ключом была предложенная  в  1978  году  так  называемая

система RSA.  Ее  название  происходит  от  первых  букв  фамилий

авторов Rivest, Shamir и Aldeman, которые придумали ее  во  время

совместных   исследований   в   Массачусетском    технологическом

институте в 1977 году. Она основана на трудности разложения очень

больших целых чисел на простые  сомножители.  Международная  сеть

электронного  перечисления  платежей   SWIFT   уже   требует   от

банковских  учреждений,  пользующихся  ее  услугами,   применения

именно этой криптографической системы. Алгоритм ее работает так:

 

1. Отправитель выбирает два очень больших про-

   стых числа Р и Q и вычисляет два произведе-

   ния N=PQ и M=(P-1)(Q-1).

 

2. Затем он выбирает случайное целое число D,

   взаимно простое с М, и вычисляет Е, удовле-

   творяющее условию DE = 1 MOD М.

 

3. После этого он публикует D и N как свой от-

   крытый ключ шифрования, сохраняя Е как за-

   крытый ключ.

 

4. Если S - сообщение, длина которого, опреде-

   ляемая по значению  выражаемого им  целого

   числа, должна быть в интервале (1, N), то оно

   превращается в шифровку возведением в сте-

   пень D по модулю N и отправляется получате-

   лю S'=(S**D) MOD N.

 

5. Получатель сообщения  расшифровывает  его,

   возводя в степень Е по модулю N, так как S =

   (S'**E) MOD N = (S**(D*E)) MOD N.

 

    Таким образом, открытым ключом служит пара чисел  N  и  D,  а

секретным  ключом  число  Е.  Смысл   этой   системы   шифрования

становится прозрачным, если упомянуть про  малую  теорему  Ферма,

которая утверждает, что при простом числе Р и любом  целом  числе

К, которое меньше Р, справедливо тождество К**(P-1)=1 MOD Р.  Эта

теорема  позволяет  определять,  является  ли  какое-либо   число

простым или же составным.

    Приведем простой пример  на  малых  простых  числах  Р=211  и

Q=223. В этом случае N=47053 и  М=46620.  Выберем  открытый  ключ

шифрования D=16813 и вычислим секретный ключ  расшифровывания  Е=

19837. Теперь, взяв за сообщение название метода  RSA,  переведем

его в число. Для этого будем считать букву R равной 18, S  равной

19, А равной 1 по порядковому номеру их  положения  в  английском

алфавите. На представление каждой буквы отведем по 5  бит  числа,

представляющего  открытый  текст.  В  этом   случае   слову   RSA

соответствует следующее число:

 

        S=((1*32)+19)*32+18=1650

 

С помощью открытого ключа получаем шифровку:

 

  S'=(S**D) MOD N=1650**16813 MOD 47053=3071

 

    Получатель расшифровывает ее с помощью секретного ключа:

 

  S = (S'**E) MOD N=3071**19837 MOD 47053=1650

 

    Авторы RSA в примере из своей первой публикации  использовали

 D=9007  и

 N=11438162575788886766923577997614661201021829672124236256256184

   29357069352457338978305971235639587050589890751475992900268795

   43541.

    Приняв за исходный открытый  текст  фразу  из  "Юлия  Цезаря"

Шекспира: ITS  ALL  GREEK  TO  ME,  представленную  целым  числом

S=920190001121200071805051100201501305,   они   получили    такую

шифровку

 

  S'=199935131497805100452317122740260647423204017058391463103703

     717406259716089489275043992096267258267501289355446135382376

     9748026.

 

Зачем  приведены  эти  длинные  наборы  цифр,  взятые  из   книги

американского математика Мартина Гарднера, читатель узнает ниже.

    Криптостойкость системы RSA основана на том, что М  не  может

быть просто вычислена без знания простых сомножителей Р  и  Q,  а

нахождение этих сомножителей из  N  считалась  трудно  разрешимой

задачей. Однако недавние работы по разложению  больших  чисел  на

сомножители показали,  что  для  этого  могут  быть  использованы

разные и даже совершенно неожиданные средства. Сначала авторы RSA

предлагали выбрать простые числа Р и Q случайно, по 50 десятичных

знаков каждое. Считалось, что такие большие  числа  очень  трудно

разложить  на  простые  сомножители  при  криптоанализе.  Райвест

полагал, что разложение на простые множители числа из  почти  что

130 десятичных цифр,  приведенного  в  их  публикации,  потребует

более 40  квадриллионов  лет  машинного  времени.  Но  математики

Ленстра из фирмы Bellcore и Манасси из фирмы DEC разложили  число

из 155 десятичных цифр на простые сомножители всего за 6  недель,

соединив для этого 1000 ЭВМ, находящихся в разных  странах  мира.

Выбранное число, называемое девятым числом Ферма, с 1983 года на-

ходилось в списке чисел, разложение  которых  считалось  наиболее

желательным.  Это  число  взято   потому,   что   оно   считалось

неразложимым при существующей вычислительной технике и достаточно

большим  для  того,  чтобы  его  можно  считать  безопасным   для

формирования N в RSA. Как  заявил  Ленстра,  ведущий  в  Bellcore

исследования  по  электронной  защите  информации  и   разложению

больших  чисел,  их   целью   было   показать   разработчикам   и

пользователям криптографических систем,  с  какими  угрозами  они

могут встретиться и насколько осторожны должны  быть  при  выборе

алгоритмов шифрования. По мнению Ленстра  и  Манасси,  их  работа

компрометирует   и    создает    большую    угрозу    применениям

криптографических систем RSA.

 

    Следует учесть, что работа  по  совершенствованию  методов  и

техники  разложения  больших  чисел  только  началась   и   будет

продолжена. Те же Ленстра и Манасси в 1991  году  нашли  делитель

тринадцатого  числа  Ферма,  которое  состоит  примерно  из  2500

десятичных  разрядов.  Теперь   разработчикам   криптографических

алгоритмов с открытым ключом на  базе  RSA  приходится  как  чумы

избегать применения разложимых чисел длиной менее 200  десятичных

разрядов.  Самые  последние  публикации  предлагают   для   этого

применять числа в 250 и даже 300 десятичных разрядов. А  так  как

для    щифрования    каждого    блока    информации    приходится

соответствующее число возводить в колоссально большую степень  по

модулю N, то для современных  компьютеров  это  задача  на  грани

возможного. Поэтому для практической  реализации  шифрования  RSA

радиоэлектроники  начали  разрабатывать  специальные  процессоры,

которые позволили бы выполнять операции  RSA  достаточно  быстро.

Лучшими из серийно  выпускаемых  кристаллов  являются  процессоры

фирмы CYLINK, которые позволяют выполнять  возведение  в  степень

целого числа из 307 десятичных знаков за доли  секунды.  Отметим,

что чрезвычайно слабое быстродействие криптографических систем на

основе RSA лишь ограничивает область их применения, но  вовсе  не

перечеркивает их ценность.

 

    Шифр ЭльГамаля

 

    Криптографы постоянно вели поиски  более  эффективных  систем

открытого шифрования, и в 1985 году ЭльГамаль предложил следующую

схему на основе возведения в степень по модулю большого  простого

числа. Для этого задается  большое  простое  число  Р.  Сообщения

представляются целыми числами S из интервала (1, Р). Оригинальный

протокол передачи сообщения S выглядит в варианте Шамира,  одного

из авторов RSA, так:

 

1. Отправитель А и получатель В знают лишь Р. А

   генерирует случайное число Х  из интервала

   (1,Р) и В тоже генерирует случайное число Y из

   того же интервала.

2. А шифрует  сообщение  S1=S**X MOD Р и посы-

   лает В.

3. В шифрует  его своим ключом S2=S1**Y MOD  Р и

   посылает S2 к А.

4. А "снимает" свой ключ S3=S2**(-X) MOD  Р и воз-

   вращает S3 к В.

5. Получатель В расшифровывает сообщение:

   S=S3**(-Y) MOD Р.

 

    Этот  протокол   можно   применить,   например,   для   таких

неожиданных целей, как игра в  очко  или  блэкджек  по  телефону.

Крупье шифрует карты своим ключом и  передает  их  игроку.  Игрок

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

возвращает их крупье. Крупье "снимает"  с  выбранной  карты  свой

ключ и отсылает ее игроку. "Сняв" с этой карты  свой  ключ  игрок

узнает ее номинал и принимает решение: спасовать, тянуть еще  или

раскрываться. Теперь, хотя колода находится у крупье,  но  он  не

может ее раскрыть,  так  как  карты  зашифрованы  ключом  игрока.

Крупье  выбирает  свою  карту  аналогично  игроку.   (Аналогичный

алгоритм  для  игры  в  карты  можно  реализовать  и  на   основе

шифрования заменой операцией XOR. Однако им нельзя распространять

ключи из-за легкого перехвата и взлома.)

 

    В системе ЭльГамаля большая степень защиты, чем  у  алгоритма

RSA достигается с тем же по размеру N,  что  позволяет  почти  на

порядок   увеличить   скорость   шифрования   и    расшифрования.

Криптостойкость системы ЭльГамаля  основана  на  том,  что  можно

легко  вычислить  степень  целого  числа,  то   есть   произвести

умножение его самого на себя любое число раз так же,  как  и  при

операциях с обычными  числами.  Однако  трудно  найти  показатель

степени, в которую нужно возвести заданное число, чтобы  получить

другое, тоже заданное. В  общем  случае  эта  задача  дискретного

логарифмирования кажется более трудной,  чем  разложение  больших

чисел  на  простые   сомножители,   на   основании   чего   можно

предположить, что сложности вскрытия систем RSA и ЭльГамаля будут

сходными.   С   точки   зрения   практической   реализации,   как

программным, так и аппаратным  способом  ощутимой  разницы  между

этими двумя стандартами нет. Однако в криптостойкости они заметно

различаются. Если рассматривать задачу  разложения  произвольного

целого числа длиной в 512  бит  на  простые  множители  и  задачу

логарифмирования целых  чисел  по  512  бит,  вторая  задача,  по

оценкам математиков, несравненно сложнее первой. Однако есть одна

особенность. Если в системе, построенной с помощью алгоритма RSA,

криптоаналитику удалось  разложить  открытый  ключ  N  одного  из

абонентов на два простых числа,  то  возможность  злоупотреблений

ограничивается только этим конкретным пользователем. В случае  же

системы,  построенной  с  помощью  алгоритма  ЭльГамаля,   угрозе

раскрытия подвергнутся все абоненты криптографической сети. Кроме

того, упомянутые выше Ленстра  и  Манасси  не  только  поколебали

стойкость RSA, разложив девятое число Ферма на простые  множители

за неприлично короткое время, но и, как было замечено  некоторыми

экспертами, указали "брешь" в способе ЭльГамаля. Дело в том,  что

подход, применявшийся при разложении на множители девятого  числа

Ферма, позволяет существенно усовершенствовать методы дискретного

логарифмирования для отдельных специальных простых чисел. То есть

тот, кто предлагает простое  Р  для  алгоритма  ЭльГамаля,  имеет

возможность выбрать специальное простое, для которого задача дис-

кретного логарифмирования будет  вполне  по  силам  обычным  ЭВМ.

Следует заметить, что  этот  недостаток  алгоритма  ЭльГамаля  не

фатален.  Достаточно   предусмотреть   процедуру,   гарантирующую

случайность выбора простого Р в этой системе, и тогда только  что

высказанное возражение теряет силу.  Стоит  отметить,  что  чисел

специального вида, ослабляющих  метод  ЭльГамаля,  очень  мало  и

случайным их выбором можно пренебречь.

 

    Открытое распределение ключей

 

    Пока преимущества методов шифрования  с  открытым  ключом  не

были очевидны. Однако на их основе легко решать задачу  выработки

общего секретного ключа для сеанса связи любой пары пользователей

информационной  системы.  Еще  в  1976  году  Диффи   и   Хеллман

предложили для этого протокол открытого распределения ключей.  Он

подразумевает   независимое   генерирование   каждым   из    пары

связывающихся    пользователей    своего    случайного     числа,

преобразование  его  посредством   некоторой   процедуры,   обмен

преобразованными числами по открытому каналу связи  и  вычисление

общего  секретного  ключа  на  основе  информации,  полученной  в

процессе связи от партнера. Каждый такой ключ существует только в

течение одного сеанса связи или даже части его.

    Таким образом, открытое распределение ключей позволяет каждой

паре пользователей системы самим выработать свой общий  секретный

ключ, упрощая тем процедуру распределения секретных ключей.  Хотя

все не так просто - отсутствие у абонентов  перед  сеансом  связи

заблаговременно  распределенного  общего   секретного   ключа   в

принципе не дает им возможности удостовериться в подлинности друг

друга  при  помощи  обмена  сообщениями  по   открытому   каналу.

Например, пересылать ключи можно и по описанному  выше  алгоритму

ЭльГамаля в модификации Шамира,  но  как  убедиться  в  том,  что

имеешь дело с партнером, а не  перехватчиком?  Для  подтверждения

подлинности каждый из участников секретной  сети  все  же  должен

иметь  собственный  секретный  ключ,  известный  только   ему   и

отличающий его от всех других абонентов. В этом случае алгоритмом

Диффи-Хеллмана  будет  обеспечена  такая  процедура  предъявления

пароля, что его многократное использование не снижало  надежности

доказательства подлинности владельца. В  результате  две  функции

общего  секретного  ключа,  обычно  доставляемого  по  секретному

каналу, как защита информации в канале связи от третьей стороны и

подтверждение  подлинности   каждого   из   абонентов   партнеру,

разделяются.    Алгоритм    открытого    распределения     ключей

Диффи-Хеллмана  выглядит  так:

 

1.  Пусть  имеются  два  абонента открытой сети А и

   В, знающие   пару открытых ключей  Р и  D.

   Кроме того, у А есть секретный ключ Х из ин-

   тервала (1, N), а у В есть секретный ключ Y из

   того же интервала.

2. Абонент А посылает В шифровку своего ключа

   Z'=D**X MOD  Р, а абонент В посылает А шифров-

   ку своего ключа Z"=D**Y MOD P.

3. После этого общий ключ Z они вычисляют как

   Z=Z'**Y =Z''**X.

 

    При помощи  специальных  приемов  время  формирования  общего

ключа в системе Диффи-Хеллмана может быть сокращено в  5  раз  по

сравнению с системой ЭльГамаля в модификации Шамира, и в  30  раз

по сравнению с RSA при том же  уровне  стойкости.  Это,  с  точки

зрения большинства практических приложений, оказывается  заметным

преимуществом, так как шифрование и расшифровывание по  алгоритму

RSA примерно в тысячу раз медленнее классических алгоритмов  типа

DES. Отметим, что для многих применений криптографических  систем

с  открытым  ключом  время   вычислений   при   криптографических

преобразованиях  не  имеет  большого  значения.   Например,   при

идентификации  пользователей  по  кредитным  карточкам  не  будет

разницы потребует ли она одну микросекунду или одну  секунду.  То

же относится и к выбору общего ключа шифрования для другой, более

быстродействующей, но не обладающей способностью  обмена  ключами

криптографической системы.

 

    Необходимость в системах открытого распределения ключей иметь

заранее  распространенные  из  центра  индивидуальные   секретные

пароли для подтверждения подлинности  пользователей  не  выглядит

столь   уж   обременительной   задачей,   как   изготовление    и

распределение из центра пар секретных ключей для связи  абонентов

меж собой. Срок действия такого  пароля  может  быть  существенно

больше, чем срок действия ключа для связи, скажем год, а их общее

число в  сети  связи  равно  числу  абонентов.  Кроме  того,  при

некоторый видах связи, подтверждение подлинности  партнера  может

достигаться  за  счет  узнавания  его  по  физическим  признакам.

Например, по голосу при телефонной связи или по внешнему  виду  и

голосу при связи по телевизионным каналам. Следует отметить,  что

распределение  ключей  с  помощью  криптографических   систем   с

открытым ключом имеет единственное достоинство - необходимость на

каждом узле секретной связи  иметь  лишь  по  одному  ключу.  Для

классических  же  симметричных  криптографических  систем  ключей

должно быть столько, сколько у  узла  абонентов.  Вместе  с  тем,

системы с открытым ключом имеют слабые  места.  Так,  если  взлом

шифровки, содержащей ключ, в классической  системе  принципиально

невозможен, так как открытый  текст  несмысловой  и  не  содержит

избыточной  информации,  то  в  системах  с  открытым  ключом   у

криптоаналитика всегда есть надежда на успех. Далее, если число D

общее для всех участников сети,  то  его  компрометация,  в  виде

обнаружения специальных  свойств,  облегчающих  логарифмирование,

приведет к компрометации всей сети. Если же D  индивидуально  для

каждой пары абонентов, то, во-первых, из-за обилия  ключей  проще

найти среди них слабый, и, вовторых,  хотя  рассылка  и  хранение

несекретных ключей  несравнимо  легче,  чем  секретных,  но  тоже

доставляет  массу  хлопот.  Поэтому  если  у   криптографа   есть

возможность воспользоваться услугами  секретного  канала,  то  он

всегда предпочтет его открытому распределению ключей.

 

    Из практически действующих сетей связи, использующих  систему

открытого  распределения  ключей,  наиболее  серьезно  защищенной

является телефонная государственная сеть США на основе  аппаратов

STU-III. Она начала функционировать в 1987 году и содержит сейчас

более 150 тысяч абонентов. В России аналогичная сеть,  называемая

еще АТС-1 или "вертушкой", тоже надежно  защищена,  но  абонентов

там в сотни раз меньше. От этого многие данные передаются  по  не

вполне  закрытым  сетям  вроде  ИСКРА-2,  доступным  для   взлома

хакерами.  К  началу  восьмидесятых  годов  криптологи  пришли  к

пониманию преимущества так называемых гибридных систем, в которых

процедуры шифрования с  открытым  ключом  используются  лишь  для

передачи ключей и цифровой подписи, а информация,  которую  нужно

передать, защищается классическим алгоритмом типа DES,  ключ  для

которого передан с помощью шифрования с открытым  ключом.  Первым

серийным устройством данного типа был  Datacryptor  фирмы  Racal-

Milgo,  выпущенный  в  1979  году.  Аппарат  управления   ключами

шифрования    Datacryptor    предназначен    в    основном    для

правительственных  сетей  связи  и  аттестован  на   соответствие

английскому стандарту защиты не секретной, но важной  информации.

В нем предусмотрены сигнализация о  нарушениях  криптографических

требований и извещения об ошибках. В этом  аппарате  используется

алгоритм установления шифрованной связи при  помощи  выработки  и

передачи общего секретного ключа по алгоритму RSA.  В  дальнейшем

аппаратов подобного типа  для  защиты  информации  было  выпущено

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

идей демонстрируют многие коммерческие сети, особенно банковские,

как SWIFT. Кроме того, система цифровой подписи RSA применяется в

аппаратуре проверки соблюдения договора  об  ограничении  ядерных

испытаний, разработанной Sandia Laboratories в  1982  году,  сети

BPMIS и других  системах.  В  России  ряд  фирм  тоже  занимается

гибридными схемами, как Телекрипт, использующей быстродействующий

алгоритм  ГОСТ  28147-89  для  шифрования  данных   и   генерации

имитоприставок (Имитоприставка - шифрованная контрольная сумма по

исходному  тексту,   позволяющая   с   любой   наперед   заданной

вероятностью судить об отсутствии в нем  искажений.)  и  алгоритм

RSA для управления  ключевой  информацией  и  получения  цифровых

подписей.

 

 

 

    Цифровая подпись

 

    Действующие в России системы передачи  данных  в  большинстве

своем имеют недостаток, который заключается в  том,  что  они  не

дают возможности проверки подлинности  и  авторства  пересылаемых

документов. С их помощью в настоящее время невозможно  заключение

юридически   признаваемых   сделок   и    пересылка    юридически

подтверждаемых документов, вроде платежных поручений.  Это  часто

сводит на нет их преимущества по сравнению с почтовой пересьшкой.

Как правило, все полученные через  компьютерную  связь  документы

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

физическими лицами и  удостоверяются  печатями  юридических  лиц.

Единственное  исключение  представляет  плата  КРИПТОН,  так  как

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

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

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

Проще всего зашифровать сообщение этим ключом, но оно ведь  может

быть  очень  длинным.  Поэтому  для   экономии   шифруется   лишь

контрольная   сумма,   сделанная   по    сообщению,    называемая

имитоприставкой.  Например,  в  PGP  длина  ее   128   бит,   что

обеспечивает качественный "отпечаток пальцев", который  подделать

практически  невозможно,  так  как  вероятность  подделки  меньше

10**(-38).  Вместе  с  тем,   что   очень   важно,   восстановить

оригинальное сообщение по цифровой подписи невозможно.

    Решение проблемы авторства документа  может  быть  достигнуто

лишь с использованием электронной цифровой  подписи  -  средства,

позволяющего  на   основе   криптографических   методов   надежно

установить  авторство  и  подлинность  документа.  Это   средство

позволяет заменить при безбумажном документообороте  традиционные

печать и подпись. Электронная цифровая подпись зависит от  текста

документа, требующего  заверения,  секретного  ключа,  доступного

только заверяющему, и несекретного общедоступного ключа. Преобра-

зование, используемое для выработки  цифровой  подписи,  является

криптографической функцией от указанных величин.  Оно  выбирается

таким образом, чтобы при отсутствии у  злоумышленника  секретного

ключа сделать невозможным подделку цифровой  подписи,  незаметное

изменение документа, а также дать  возможность  любому  лицу  при

наличии у него общедоступного ключа, документа и цифровой подписи

удостовериться в подлинности документа и соответствующей цифровой

подписи. Только секретный ключ гарантирует невозможность подделки

злоумышленником   документа   и   цифровой   подписи   от   имени

заверяющего. Каждый пользователь системы цифровой подписи  должен

обеспечивать   сохранение   в   тайне   своей   секретный   ключ.

Общедоступный  несекретный   ключ   используется   для   проверки

подлинности документа и цифровой подписи, а также  предупреждении

мошенничества со стороны заверяющего в виде отказа его от подписи

документа.

 

    Цифровая подпись не имеет ничего общего с последовательностью

символов,  соответствующих  изображениям  печати   или   подписи,

приписанной к документу. Если бы это  было  так,  то,  перехватив

один раз эту  последовательность,  злоумышленник  мог  бы  впредь

приписывать ее к произвольному документу  от  чужого  имени.  При

построении цифровой подписи вместо обычной  связи  между  печатью

или  рукописной  подписью  и  листом  бумаги  выступает   сложная

математическая  зависимость   между   документом,   секретным   и

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

подделки  электронной  подписи   опирается   не   на   отсутствие

специалиста, который может повторить рукописную подпись и обычную

печать, а на большой объем необходимых математических вычислений.

В современной криптографии есть примеры описанных  выше  функций,

для которых сложность подделки цифровой  подписи  при  отсутствии

секретной информации заверяющего  такова,  что  самая  мощная  из

существующих сверхбыстродействующих  ЭВМ  не  сможет  осуществить

необходимые вычисления и за десятки лет.

 

    Другое приложение  цифровая  подпись  находит  при  снабжении

абонентов   криптографической   информационной   сети    ключами.

Простейший способ выделить группу пользователей сети  -  снабдить

их общим секретным ключом. Недостатком  такого  подхода  является

то, что компрометация пароля у одного из членов  группы  ведет  к

краху всей системы подтверждения подлинности. Простейший  вариант

усиления  системы  -  снабжение   пользователей   индивидуальными

секретными паролями. Однако при таком варианте возникает проблема

надежного хранения большого количества секретных паролей,  а  это

приемлемо  лишь  для  крупных  абонентских  пунктов.  К  тому  же

пользователи не могут непосредственно представляться друг  другу,

минуя  центр.  Чтобы  обеспечить  возможность   непосредственного

представления пользователей друг другу, процедура проверки пароля

должна быть общедоступной. В то же  время  алгоритм  должен  быть

устроен  так,  чтобы  подделать  пароль  на  основании  известной

процедуры проверки было невозможно.  Для  использования  цифровых

подписей  при  обмене  ключами  требуется  общедоступный  каталог

секретной сети, где  хранятся  процедуры  проверки  подписи  всех

абонентов.   Для    системы    RSA    этот    каталог    содержит

имена-идентификаторы абонентов ID  с  парой  чисел  (N,  D).  Для

системы ЭльГамаля в каталоге против каждого имени ID записываются

простое число Р и целые числа  N  и  Y.  Подлинность  каталога  с

подписями может быть обеспечена путем подписывания каждой  записи

в каталоге или всего каталога сразу центром  и  выдачей  в  таком

виде их абоненту. При установлении  связи  абоненты  обмениваются

этими подписанными сообщениями и на этом основании проверяют пол-

номочия  друг  друга:   просят   партнера   подписать   случайное

сообщение. Для системы ЭльГамаля общий объем ключевой  информации

в сети может быть сокращен за счет использования  всеми  одних  и

тех же чисел Р и N. Для системы RSA общим  можно  сделать  только

число N, а числа D должны бытЬ у всех различными.

    Из-за перестановочности операции умножения в алгоритме RSA не

имеет значения, будет ли опубликовано D или Е, для  него  функции

шифрования и расшифровывания одинаковы. Это позволяет реализовать

процедуру  получения  цифровой  подписи  сменой  Е  и   D.   Если

отправитель  хочет,  чтобы   получатели   его   сообщений   могли

удостовериться, что эти сообщения действительно исходят от  него,

то он посылает шифровку S' вместе с подписью R, вычисленной как:

                S = R**E MOD  N

    Для  разрешения  споров  между  отправителем  и   получателем

информации, связанных с  возможностью  искажения  ключа  проверки

подписи [S', R], достоверная копия этого ключа  выдается  третьей

стороне арбитру и применяется  им  при  возникновении  конфликта.

Каждый может  расшифровать  сообщение  S',  но  так  как  ключ  Е

известен только отправителю, то никто другой кроме него не мог бы

послать шифрованное сообщение или подтвердить подпись как:

                S  = R**D MOD N

    Для того, чтобы обеспечить подобную  процедуру  подтверждения

подлинности отправителя сообщения, ЭльГамаль предложил  следующий

простой протокол:

 

1. Отправитель А и получатель В знают Р и слу-

   чайное число N из интервала (1, Р). А генериру-

   ет случайные числа Х и Y из того же интервала.

   Х  нужно хранить в секрете, а Y должно быть

   взаимно простым с Р-1.

2. Далее А вычисляет Q=N**X MOD Р и R=N**Y MOD  Р,

   решает  относительно S уравнение T=X*R+Y*S

   MOD  (Р-1) и передает В документ с подписью

   [Q, R, S, Т].

3. Получатель проверяет подпись, контролируя тож-

   дество А**S =(В**R)*R**T MOD  Р.

 

    В этой системе секретным ключом  для  подписывания  сообщений

является число X, а открытым ключом  для  проверки  достоверности

подписи число Q.

    Особенностью этих протоколов, как нетрудно  видеть,  является

наличие у абонента секретного ключа, служащего цифровой  подписью

идентификатора, который не позволяет абоненту самому сменить свой

идентификатор или выработать подпись для другого  идентификатора,

а также то,  что  он  предъявляет  контролеру  не  сам  секретный

элемент, а некоторое  значение  функции,  вычисляемое  с  помощью

секретного ключа из случайного запроса, тем самым доказывая,  что

обладает  секретом,  путем   его   косвенной   демонстрации   при

вычислениях.  Именно  отсюда  происходит   рассматриваемое   ниже

название "доказательство при нулевом  знании",  то  есть  абонент

доказывает, что обладает секретом, на раскрывая  самого  секрета.

Как  вырожденный  случай   алгоритма   цифровой   подписи   можно

рассматривать  шифрование   и   расшифровывай   ие   передаваемой

информации на общем секретном ключе  абонентов,  изготовленном  и

распространенном заранее,  как  это  применяется  в  классических

криптографических системах.

    Теперь вернемся к длинным числам, которые были приведены выше

в описании метода RSA. Авторы этого  метода  в  своей  публикации

привели и цифровую  подпись,  которая  предлагала  $100  первому,

взломавшему их шифр. Пока еще не было сообщений о его вскрытии и,

может, ктонибудь из читателей захочет попробовать и свои  силы  в

расшифровке?

 

    Доказательство при нулевом знании

 

    На основании описанных алгоритмов  шифрования,  распределения

ключей и электронной подписи можно организовывать  более  сложные

протоколы взаимодействия  пользователей  криптографической  сети,

реализующие  подтверждение  подлинности  и   доказательство   при

нулевом  знании.  Так  называемые  системы  "доказательства   при

нулевом  знании"  не   являются   собственно   криптографическими

системами. Они служат для передачи сообщений  типа  "Я  знаю  эту

информацию" без раскрытия самого сообщения.

    Общая идея этих протоколов заключается в том, что  обладатель

секретного ключа доказывает, что  он  может  вычислять  некоторую

функцию, зависящую как от секретного  ключа,  так  и  аргументов,

задаваемых проверяющим. Проверяющий, даже зная эти аргументы,  не

может по данному  ему  значению  функции  восстановить  секретный

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

удостовериться   в   правильности   ее   вычисления,    например,

представляла цифровую подпись выбранных им  аргументов.  Действие

такой системы  рассмотрим  на  приведенном  ниже  алгоритме,  где

подтверждение  подлинности  при   использовании   алгоритма   RSA

организовано следующим образом:

 

1. Доказывающий   А и  контролер В  оба знают

   идентификатор I и открытый ключ (N, Е), но А

   кроме  того знает еще, секретное число S=I**D

   MOD  N, сформированное по секретному ключу

   D. Сначала А генерирует случайное число Х и

   вычисляет Y=X**E MOD N. Затем он отсылает [I, Y]

   к В.

2. После этого В генерирует и передает А случай-

   ное число V.

3. Затем А вычисляет и передает В число

   W=X*(Y**V) MOD  N.

4. Контролер В проверяет принадлежность иден-

   тификатора I к А, контролируя тождество

   W**E=Y*(I**V)  MOD P.

 

    Случайный  запрос  обычно  представлен  вектором,  координаты

которого принимают значения 0 или  1,  но  он  может  быть  любым

вектором, координаты которого вычисляются по модулю числа Е.

    На  этом   можно   подвести   итоги   краткого   рассмотрения

криптографических  систем  с  открытым  ключом.  Их  изобретение,

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

веским причинам:

 

1. Вместо одного ключа стало два и то обстоя-

   тельство, что только один из них  секретен,

   лишь усугубляет проблему. А ну как по ошибке

   в открытый каталог будет помещен  не обще-

   доступный, а секретный ключ? Чтобы исклю-

   чить такого рода казусы нужна полностью ав-

   томатизированная система, плохо  контроли-

   руемая в своих  действиях человеком-наблю-

   дателем.

 

2. Как неоднократно  упоминалось выше, и сек-

   ретные ключи, и их рассылку по закрытому ка-

   налу (топ-топ-топ курьеры!) отменить нельзя.

   Свойство же обладания одним секретным клю-

   чом для всех абонентов тоже сомнительно - в

   принципе нет большой  разницы между пере-

   правкой единственного ключа или тысячи, ес-

   ли только они представлены информационно, а

   не физически.

 

3. Наконец, принципиальная возможность крип-

   тоаналитической атаки на шифровку  несим-

   метричных систем, содержащую несмысловую

   информацию  в виде ключа, указывает слабое

   место гибридных систем. Итак, приобретя но-

   вые возможности, криптографы получили еще и

   несколько новых источников угроз.

 

4. Системы  шифрования  с открытым ключом  не

   решают всех проблем, которые стоят перед кри-

   тографами. Например, нечестному пользователю

   ничего не стоит под своей настоящей подпи-

   сью поставить фальшивую дату. Для финансо-

   вых документов это может быть катастрофой.

   Поэтому  цифровая подпись с датой обязатель-

   но должна заверяться третьим лицом, как но-

   тариусом. Без его участия цифровая подпись

   недействительна.

 

    Классификация криптографических систем

 

    Предыдущее рассмотрение шифров разных типов позволяет сделать

несколько выводов. Крайне желательно,  чтобы  как  можно  меньший

объем информации шел  по  закрытому  каналу,  требующему  больших

затрат на поддержание и являющемуся наименее  надежным  участком.

Однако совсем обойтись без него нельзя. Количество переданной  по

нему информации связано со сложностью вскрытия шифровок следующим

образом.  Предполагается,  что   злоумышленникам   и   любопытным

досконально  известны   используемые   процедуры   шифрования   и

расшифровывания,  а  также  статистические  свойства   сообщения.

Обычно считают, что это им известно даже лучше, чем отправителю с

получателем,   но   неизвестен   секретный   ключ.   Его    будем

рассматривать как число, например, набор нулей и единиц,  которые

означают определенные действия над сообщением. Сложность  подбора

ключа зависит лишь от объема  информации,  которую  он  занимает.

Одним битом можно передать лишь два ключа, двумя - четыре,  тремя

- восемь и так далее. Специально отметим, что речь здесь идет  об

информации, а не  физической  длине  ключа,  которая  может  быть

довольно большой. Следовательно, чем больше информации  в  ключе,

тем сложнее его подобрать.

    Нет невзламываемых  шифров.  Все  системы  шифрования  просто

делают взламывание шифровок или заведомо  дороже  содержащейся  в

сообщении   информации,   или   затягивают   расшифровывание   на

неприемлемо  большой  срок  по  времени.  При  разработке   шифра

устанавливают приемлемые цену или время взламывания и дальше  уже

не обращают внимания на очень богатых или терпеливых  взломщиков.

Необходимую  сложность  ключа  в  классических  криптографических

системах вычислить нетрудно, если знать  технические  возможности

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

Например, любопытствующий не переберет вручную и сотни  ключей  -

устанет, а больших неприятностей от  него  ждать  не  приходится.

Поэтому тысяча  вариантов  ключей  достаточна,  что  эквивалентно

информационной длине ключа 10 бит  или  ключевому  слову  из  3-5

букв. Если же информация представляется стратегической и устареет

не быстрее чем за 5 лет,  а  источник  угрозы  -  крупная  фирма,

которая  может  нанять  криптоаналитиков  и  получить  доступ   к

сверхбыстродействующей ЭВМ, то  и  ключ  нужен  посложнее.  Можно

допустить, что они обеспечат проверку миллиона ключей в  секунду.

Тогда, если оставить противнику один шанс из миллиона,  то  число

ключей должно быть  записано  с  22  десятичными  разрядами,  что

примерно соответствует 70 битам  или  ключевому  слову  из  30-35

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

виде формулы:

 

  N=[время жизни шифра]/[скорость подбора ключей]/[шанс взлома]

 

    Время жизни шифра вряд ли целесообразно  задавать  больше  25

лет.  В  Британии  секретнейшие  правительственные   решения   по

истечении этого срока публикуют для  историков.  А  вот  скорость

подбора  ключей  всегда  вызывает  споры.  Например,   публикация

американского   стандарта   шифрования   DES   вызвала   у   ряда

криптографов призывы его бойкотировать, так как  они  утверждали,

что за 20 миллионов  долларов  можно  создать  ЭВМ,  перебирающую

миллион ключей в секунду  и  раскалывающую  шифр  скорее  чем  за

сутки.  Правда,  представители  национального   бюро   стандартов

возражали, что на создание такой сверхбыстродействующей ЭВМ уйдет

5 лет, а это время - приемлемый срок жизни  стандарта  и  шифров.

Последняя величина в формуле, выражающая риск от взлома шифра  за

указанный срок, весьма индивидуальна и обычно имеет  величину  от

одной тысячной до одной миллионной в зависимости от  области  его

применения.

    После     общего     рассмотрения     принципов      действия

криптографических  систем  попытаемся  дать  строгое  определение

сложности их разрушения. Трудность вскрытия  шифра  опирается  на

понятие алгебраической сложности. При  определенных  условиях,  а

именно  при  совершенстве  типа  шифра  и  современном  состоянии

криптографии, можно утверждать, что  сложность  зависит  лишь  от

случайной последовательности, которая представима как ряд  чисел.

Самая простая последовательность чисел - повторение одного и того

же числа, как 0, 0, 0,... - фактически оставляет  исходный  текст

открытыми.   Более   сложную,   но    не    менее    естественную

последовательность, представляет  натуральный  ряд  1,  2,  3,...

Однако если его использовать для шифрования, то даже  ребенок  по

3-4 последовательным  членам  догадается,  какое  значение  будет

следующим. Несомненно, что любую последовательность  чисел  можно

представить как функцию  от  натурального  ряда  F1,  F2,  F3,...

потому что аргумент можно рассматривать  как  простую  нумерацию.

Сложностью или порядком функции F назовем минимально  необходимое

число п последовательных членов ряда, которое  необходимо,  чтобы

реконструировать ряд целиком. При этом можно считать, что закон F

формирования ряда известен, а значения F,  принадлежат  множеству

{0,1}. В этом случае максимальное возможное число ключей, которые

придется перебрать, чтобы гарантировано вскрыть шифр, равно 2**n,

так как длина периода F, не превышает этой величины.

    Когда рассматриваем  вскрытие  шифра,  то  предполагаем,  что

существует программа универсальной ЭВМ, которая  имитирует  собой

криптографическую машину, и некоторые  начальные  данные  в  виде

секретного ключа, по которым программа может восстановить  точный

текст сообщения, подбирая все возможные ключи (Этот способ взлома

шифров восходит к Шеннону и обычно называется  "полным  перебором

ключей".)  .  Криптографы  считают,  что   программа   шифрования

общедоступна  и  секрета  не  представляет,   значит,   сложность

вскрытия шифра зависит лишь от  количества  секретных  ключей.  У

такого определения сложности  раскалывания  шифра  есть  уязвимое

место.    Согласно    известной    теореме    Гёделя     проблема

криптографической атаки на шифр не имеет универсального  решения.

А это означает: всегда есть надежда,  что  кому-нибудь  придет  в

голову остроумная идея, позволяющая  неожиданно  просто  прочесть

нераскрываемые  до  этого  шифры.  Следовательно,   несмотря   на

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

ходят  по  краю  пропасти,  зажмурив  глаза,  а   криптоаналитики

пытаются  их  туда  столкнуть.  Нужно   сказать,   что   практика

криптологии и не отрицает этого. Действительно, ряд теоретических

открытий дал пути  для  чтения  некоторых  типов  шифров,  раньше

казавшихся  нераскрываемыми.  Тем  не  менее,  больше  похожа  на

реальную ситуацию другая схема, считающая, что теоретики  если  и

смогут  основательно  упростить  подбор  ключа,  то   все   равно

останется так много переборов, что их выполнение за  ограниченное

время на современной технике  будет  невозможно.  Иными  словами,

раскрытие  очень  длинного  ключа  методом  полного  перебора   в

реальных условиях невозможно,  однако  не  исключена  возможность

создания принципиально  нового  метода  результативной  атаки  на

шифр.

    Теперь подведем итоги. Известны  два  основных  типа  шифров,

комбинации  которых   образуют   классические   криптографические

системы. Главная идея, положенная в  основу  их  конструирования,

состоит в комбинации функций, преобразующих исходные сообщения  в

текст шифровки, то есть превращающих  эти  исходные  сообщения  с

помощью секретных ключей в нечитаемый  вид.  Но  непосредственное

применение функций сразу ко  всему  сообщению  реализуется  очень

редко.  Все  практически  применяемые  криптографические   методы

связаны  с  разбиением  сообщения   на   большое   число   частей

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

если не независимо. Это существенно упрощает  задачу  шифрования,

так как сообщения обычно имеют  различную  длину.  Поэтому  можно

выделить четыре основных метода шифрования: потоковый, блочный, с

открытым  ключом  и  сверточный.  Их   различия   заключаются   в

следующем:

 

*   При потоковом шифровании каждый знак тек-

   ста шифровки является функцией значения и

   положения соответствующего знака открытого

   текста. Знаками бывают биты, байты и редко

   единицы текста покрупнее. Потоковое шифро-

   вание представляет собой шифровку замены

   знаков.

*  При  блочном  шифровании  исходный  текст

   сначала разбивается на равные по длине блоки

   бит. К блокам применяется зависящая от клю-

   ча функция шифрования  для преобразования

   их в блоки шифровки такой же длины. Обычно

   блоки шифруются взбиванием.

*  Основное отличие систем с открытым ключом

   состоит в том, что в ней знание ключа шифро-

   вания недостаточно для расшифровывания и

   наоборот. Системы с открытым ключом всегда

   блочные.

*  Если в потоковом и блочном шифре функция

   шифрования  зависит только от ключа, то в

   шифрах со сверткой она зависит как от ключа,

   так и от одного или более предшествующих

   символов или блоков текста шифровки.

 

    Чтобы   классифицировать   эти   методы   шифрования   данных

необходимо  определить  некоторое  число  характерных  признаков,

которые  можно  использовать  для  установления  различия   между

шифрами. Принимается также, что каждый блок  или  знак  сообщения

шифруется отдельно  в  определенном  порядке.  При  этом  условии

выделяются    четыре    характерных    признака     классификации

криптографических  систем.

 

1. Нужно определить, над какими объектами ис-

   ходного текста производятся криптографиче-

   ские преобразования: над отдельными битами,

   байтами  или блоками.  Например, в  шифре

   Энигмы  операции производятся побайтно, в то

   время  как DES  оперирует одновременно  со

   множеством бит, .называемым блоком. Свойст-

   во системы  использовать блоки бит назовем

   блочностью.

 

2. Функции шифрования  могут зависеть от знаков

   сообщения. В системах, обладающих свойством

   зависимости функции шифрования   от знаков

   сообщения,  будет наблюдаться размножение

   ошибок: если  при  передаче исказится хоть

   один бит шифровки, то после расшифровыва-

   ния текст будет содержать некоторое количест-

   во ошибок. Зависимость функции шифрования

   от знаков сообщения назовем сверточностыо.

 

3. Шифрование   отдельных  знаков  сообщения

   может зависеть от их положения в тексте. В

   приведенном только что примере сверточного

   шифрования, различные знаки сообщения шиф-

   руются с учетом их положения. Поэтому потеря

   при передаче любой  части текста шифровки

   приведет к  неправильному  расшифрованию

   всех последующих частей сообщения. Незави-

   симость знаков шифра от их положения в ис-

   ходном тексте назовем транзитивностью.

 

4. Системы шифрования  могут быть как симмет-

   ричные, с одним ключом, так и асимметрич-

   ными, с разными ключами для шифрования и

   расшифровывания. Основное  различие между

   ними состоит в том, что в асимметричной сис-

   теме знание одного ключа недостаточно для рас-

   крытия соответствующего ему второго ключа.

 

Типы систем       Блочность Сверточность Транзитивность Симметричность

Потоковые             -          -            -               +

Блочные               +          -            +               -

С открытым ключом     +          -            +               +

Сверточные            +          +            +               +

 

    В данной таблице приведены свойства  систем  шифрования.  Для

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

генератор    ключевой    последовательности,    выход    которого

используется  для  познакового  шифрования  открытого  текста.  К

преимуществам потоковых шифров относятся  отсутствие  размножения

ошибок,  простая  реализация  и  высокая   скорость   шифрования.

Основным   же   недостатком   является   необходимость   передачи

информации  синхронизации  перед  заголовком  сообщения,  которая

должна быть принята до расшифровывания любого сообщения. Это свя-

зано с тем, что если два различных сообщения шифруются на одном и

том же  ключе,  то  для  расшифровывания  этих  сообщений  должна

использоваться одна и  та  же  ключевая  последовательность.  Это

может  создать  угрозу  криптографической  стойкости  системы,  и

поэтому  всегда  необходимо  применять  дополнительный,  случайно

выбираемый  ключ,  который  передается  в  начале   сообщения   и

используется для модификации основного ключа шифрования.

 

    Потоковые  шифры  широко  используются  в  военных  и  других

системах, близких к ним по назначению, для  шифрования  данных  и

преобразованных в цифровую форму речевых сигналов.  До  недавнего

времени эти применения преобладали для данного метода шифрования.

Это объясняется, в частности, относительной простотой конструиро-

вания    и    реализации    генераторов     хороших     шифрующих

последовательностей.   Но   главным   фактором,   конечно,   было

отсутствие размножения ошибок в  потоковом  шифре.  Так  как  для

передачи  данных  и  речевых  сообщений  в  стратегической  связи

используются каналы  недостаточно  высокого  качества,  то  любая

криптографическая система,  увеличивающая  и  без  того  нередкие

ошибки, неприменима. Кроме указанных приложений  потоковые  шифры

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

их непрерывное действие препятствует эффективному криптоанализу.

    Единственным  стандартным   методом   потокового   шифрования

является вариант, употребленный  в  стандарте  шифрования  данных

DES.  Первый  такой  алгоритм  был   реализован   фирмой   Harris

Semiconductor в ее  криптографическом  процессоре  на  микросхеме

HS3447 Cipher 1. Хотя алгоритм остается секретным, известно,  что

в этом кристалле применено потоковое шифрование. Другим  примером

использования потокового шифрования можно назвать  алгоритм  В152

фирмы British Telecom,  реализованный  в  приборах  В-CRYPT  этой

фирмы. Этот алгоритм также является секретным. В настоящее  время

в  России  нашли   широкое   применение   устройства   потокового

шифрования STEN для  защиты  банковских  коммуникаций  SWIFT.  За

рубежом можно  купить  массу  всевозможных  устройств  потокового

шифрования  от  $1000  как  Mesa  432  фирмы   Western   DataCom,

позволяющих поддерживать асинхронный протокол модемов  V.  32  на

скоростях до 19.2 килобит/с, и до  аппаратов  Secure  Х.25  фирмы

Cylink, поддерживающих синхронный протокол узлов Х.25 на скорости

64 килобит/с, но стоящих свыше $5000.

    Главное свойство  блочного  шифрования  состоит  в  том,  что

каждый бит блока текста шифровки является функцией почти всех бит

соответствующего блока открытого  текста,  и  никакие  два  блока

открытого текста не могут быть представлены одним и тем же блоком

текста  шифровки.   Основное   преимущество   простого   блочного

шифрования состоит в том, что в хорошо сконструированной  системе

небольшие изменения открытого текста или ключа вызывают большие и

непредсказуемые изменения в  тексте  шифра.  Однако  употребление

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

Первый из них состоит в том, что если ко  всем  блокам  применить

один и тот же ключ, то даже при сравнительно большой длине блока,

как в DES, возможен криптоанализ "со словарем".  Ясно,  что  блок

небольшого размера, как в стандарте DES, может даже повториться в

сообщении вследствие большой избыточности открытого  текста.  Это

может привести к тому, что идентичные блоки  открытого  текста  в

сообщении будут представлены идентичными блоками текста шифровки,

что дает криптоаналитику шанс в  угадывании  текста  и  атаке  на

ключ.  Другой  потенциальный  недостаток  этого  шифра  связан  с

размножением ошибок внутри блока.  Результатом  изменения  одного

бита в принятом блоке шифровки будет неправильное расшифровывание

всего блока. Вследствие отмеченных недостатков простейшие блочные

шифры не употребляются для шифрования  длинных  сообщений.  Но  в

финансовых учреждениях, где  сообщения  часто  состоят  всего  из

одного или двух блоков, блочные шифры типа DES широко применяются

в простейшем варианте.  Поскольку  использование  этого  варианта

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

вероятность шифрования двух идентичных блоков открытого текста на

одном и том же ключе очень мала.

 

    Возможно образование смешанных систем потокового  и  блочного

шифрования  c  использованием  лучших  свойств  каждого  из  этих

шифров. В таких системах  потоковое  шифрование  комбинируется  с

перестановками бит в блоках. Открытый  текст  сначала  шифруется,

как при обычном  потоковом  шифровании,  затем  полученный  текст

шифровки разбивается на блоки фиксированного размера и  в  каждом

блоке дополнительно  производится  перестановка  под  управлением

ключа. В результате получается шифр, не размножающий  ошибки,  но

обладающий дополнительным свойством, которого нет у  примитивного

потокового шифра замены на основе операции XOR, состоящим в  том,

что  перехватчик  не  знает,   какому   биту   открытого   текста

соответствует бит текста шифровки. Благодаря этому  зашифрованное

сообщение становится гораздо более сложным для раскрытия.

    Криптографическая система с открытым ключом, как уже  видели,

представляет собой систему  блочного  шифрования,  оперирующей  с

блоками большой длины. Это обусловлено тем,  что  криптоаналитик,

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

и  составить  таблицу  соответствия  блоков  открытого  текста  и

шифровки. Если длина блоков мала, то число возможных блоков будет

не слишком большим и может быть составлена полная таблица, дающая

возможность  моментального  расшифрования   любого   шифрованного

сообщения с использованием известного открытого  ключа.  Ни  один

алгоритм шифрования с открытым ключом не может быть применен  для

каналов с большой скоростью. Это значит, что использование  таких

систем для блочного  шифрования  ограничено  лишь  распределением

ключей, аутентификацией и формированием цифровой подписи.

    Системы шифрования на основе свертки встречаются в  различных

практических  вариантах.  Применение   крийтографических   систем

блочного шифрования в  сочетании  со  сверткой  дает  ряд  важных

преимуществ.  Первое  и  самое  значительное,   это   возможность

использования  их  для  обнаружения  манипуляций  с  сообщениями,

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

размножения ошибок, а также способность этих систем  генерировать

код аутентификации сообщений. Другое преимущество состоит в  том,

что такие  шифры,  в  отличие  от  блочных,  могут  не  требовать

начальной синхронизации. Это  значит,  что  если  какая-то  часть

сообщения была пропущена при приеме, то оставшаяся часть его  все

равно может  быть  расшифрована.  Таким  системам  свойственны  и

определенные  недостатки.  Основной  из  них  -  это  размножение

ошибок. Один ошибочный бит при передаче  вызовет  блок  ошибок  в

расшифрованном тексте. При этом требование увеличения зависимости

одного знака текста шифровки от  как  можно  более  длинного  его

предыдущего участка,  повышает  криптографическую  стойкость,  но

противоречит требованию  надежности,  связанному  с  размножением

ошибок.  Другой  недостаток  состоит  в  том,  что  разработка  и

реализация систем шифрования с обратной связью оказываются  более

трудными, чем систем потокового шифрования. Впрочем,  размножение

ошибок может быть и положительным свойством,  если  важно,  чтобы

данные принимались точно и даже одна ошибка  в  них  недопустима.

Так как сплошной поток ошибок может  быть  обнаружен  несравненно

легче, чем одиночный сбой, то в данном случае размножение  ошибок

уже не является недостатком шифра.

    На этом можно было бы  и  закончить  рассмотрение  сверточных

шифров, однако стоит упомянуть особый вид сверточного шифрования,

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

имеем код со скоростью х. Это означает, что каждый бит  сообщения

Ti на выходе схемы кодирования заменяется на два бита,  например,

Ti+T(i-1) и Ti+T(i-1)+T(i-2). Декодирование этого  кода  довольно

сложно   и   осуществляется    обычно    методом    динамического

программирования, при этом достаточно сохранять в памяти  лишь  4

варианта  возможных  входных  последовательностей.   В   процессе

декодирования  сохраняются  лишь  те  варианты,   которые   лучше

согласованы с входными данными. Для сверточных кодов со скоростью

k/n на k входных бит приходится п выходных комбинаций  этих  бит.

Есть возможность случайным образом управлять этими  комбинациями,

что и приводит к особому виду шифрования. Его свойства следующие:

 

1. Декодирование этого шифра сложно, но может

   быть выполнено в реальном времени с мини-

   мальной задержкой.

2. Есть возможность  создания шифров,  устра-

   няющих  ошибки.

3. Можно  управлять размножением ошибок. На-

   пример, выбор выходных комбинаций бит Ti+T(i-1)

   и Ti+T(i-2) в коде со скоростью х при двух иска-

   жениях в трех последовательных битах приво-

   дит к тому, что ошибки начнут катастрофиче-

   ски размножаться.

 

    Таким образом,  существует  возможность  реализации  в  одном

алгоритме целого набора  шифров,  резко  различающихся  по  своим

свойствам. К недостаткам таких шифров относятся увеличение объема

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

декодирования при больших значениях n. Однако эти  недостатки  не

настолько  серьезны,  чтобы  исключить   возможность   применения

указанной схемы в связных коммуникациях или аппаратуре ЭВМ.

    Первый вывод, который можно сделать из проведенного  анализа,

состоит в том, что в большинстве  практических  криптографических

систем  применяются  алгоритмы  или  потокового  шифрования,  или

шифрования  со  сверткой.  Большинство  криптографических  систем

потокового  шифрования  использует  оригинальные  алгоритмы   для

коммерческого сектора или секретные правительственные  алгоритмы.

Такое положение,  очевидно,  сохранится  еще  в  ближайшие  годы.

Возможно также, что большинство  систем  шифрования  со  сверткой

будет основано на применении  алгоритмов  блочного  шифрования  в

специальном варианте, в частности, наиболее известного  алгоритма

блочного  шифрования  DES.  О  других  методах  шифрования  можно

сказать,   что   несмотря   на   быстрый   рост   публикаций   по

криптографическим  системам  с  открытым  ключом,  они   еще   не

полностью выдержали испытание временем,  хотя  обойтись  без  них

сейчас уже невозможно. Поэтому  для  потенциальных  пользователей

криптографии  приходится  выбирать  между  системами   потокового

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

применении  алгоритмов  блочного  шифрования  типа  DES.   Однако

существуют определенные области применения, например,  финансовые

операции, где вполне возможно использование  методов  простейшего

блочного  шифрования.  Выбор   криптографического   алгоритма   в

значительной мере зависит от его  назначения.  Некоторые  данные,

которыми    можно    руководствоваться    при     выборе     типа

криптографических систем, приведены в таблице.

 

Типы систем       Размножение ошибок  Аутентификация    Алгоритм        Скорость

Потоковые              нет                нет          нет типовых       большая

Блочные                есть               нет         DES и аналоги      большая

С открытым ключом      есть               есть       RSA, ЭльГамаля     очень низкая

Сверточные             есть               есть       Делаются на основе

                                                         блочных         большая

 

    К характеристикам, влияющим на выбор  типа  криптографической

системы,  в   первую   очередь   относится   требуемая   скорость

шифрования. Например, при очень низкой скорости  вполне  возможно

применение  криптографической  системы  RSA.   Системы   блочного

шифрования   в   программном   варианте    тоже    относятся    к

низкоскоростным, но в аппаратном варианте, например, по алгоритму

DES, могут работать почти с  любыми  скоростями.  Если  требуются

очень высокие скорости, то лучшей может быть  система  потокового

шифрования с высоким быстродействием как в программном, так  и  в

аппаратном вариантах. Если же требуется аутентификация, то должны

применяться системы со сверткой текста шифровки или открытым клю-

чом. И, наконец, если имеющийся канал связи относится к  каналам,

подверженным   ошибкам,   которые    не    должны    размножаться

криптографической  системой,   то   выбору   системы   потокового

шифрования нет альтернативы.

 

    ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ ЧИСЕЛ

 

    Секретные ключи представляют собой  основу  криптографических

преобразований, для которых, следуя правилу  Керкхофа,  стойкость

хорошей  шифровальной  системы  определяется  лишь   секретностью

ключа. Однако  в  практике  создание,  распределение  и  хранение

ключей редко были сложными технически, хотя и дорогими  задачами.

Основная  проблема   классической   криптографии   долгое   время

заключалась в трудности  генерирования  непредсказуемых  двоичных

последовательностей  большой  длины   с   применением   короткого

случайного ключа. Для ее решения широко  используются  генераторы

двоичных   псевдослучайных   последовательностей.    Существенный

прогресс в разработке и анализе этих  генераторов  был  достигнут

лишь  к  началу  шестидесятых  годов.  Поэтому  в  данной   главе

рассмотрены правила получения ключей и  генерации  на  их  основе

длинных   псевдослучайных    последовательностей,    используемых

криптографическими  системами  для  преобразования  сообщения   в

шифровку.

    Получаемые программно из ключа, случайные или псевдослучайные

ряды  чисел  называются  на  жаргоне  отечественных  криптографов

гаммой, по названию у -  буквы  греческого  алфавита,  которой  в

математических записях обозначаются случайные величины. Интересно

отметить, что в книге "Незнакомцы на мосту", написанной адвокатом

разведчика Абеля, приводится термин  гамма,  который  специалисты

ЦРУ пометили комментарием - "музыкальное упражнение?", то есть  в

пятидесятые годы они не знали его смысла. Получение и размножение

реализаций настоящих случайных рядов опасно, сложно  и  накладно.

Физическое моделирование случайности с помощью  таких  физических

явлений, как радиоактивное излучение, дробовой шум в  электронной

лампе или туннельный пробой  полупроводникового  стабилитрона  не

дают настоящих случайных процессов. Хотя известны случаи  удачных

применений  их  в  генерации  ключей,  например,   в   российском

криптографическом устройстве КРИПТОН. Поэтому  вместо  физических

процессов  для  генерации  гаммы  применяют  программы  для  ЭВМ,

которые хотя и называются генераторами  случайных  чисел,  но  на

самом деле  выдающие  детерминированные  числовые  ряды,  которые

только кажутся случайными по своим свойствам. От  них  требуется,

чтобы, даже зная закон формирования, но  не  зная  ключа  в  виде

начальных условий, никто не смог  бы  отличить  числовой  ряд  от

случайного, как будто он получен  бросанием  идеальных  игральных

костей.  Можно   сформулировать   три   основных   требования   к

криптографически     стойкому     генератору      псевдослучайной

последовательности или гаммы:

 

1. Период гаммы  должен быть достаточно боль-

   шим  для шифрования  сообщений  различной

   длины.

2. Гамма должна быть трудно предсказуемой. Это

   значит, что если известны тип генератора и ку-

   сок гаммы, то  невозможно предсказать сле-

   дующий за этим куском бит гаммы с вероятно-

   стью выше х. Если криптоаналитику станет из-

   вестна какая-то часть гаммы, он все же не

   сможет определить биты, предшествующие ей

   или следующие за ней.

3. Генерирование гаммы не должно быть связано

   с большими техническими и организационны-

   ми трудностями.

 

    Самая важная характеристика генератора псевдослучайных  чисел

- информационная длина периода, после которого числа либо  начнут

просто повторяться, либо их можно будет предсказывать. Эта  длина

фактически определяет возможное число ключей системы и зависит от

алгоритма  получения  псевдослучайных  чисел.   Требуемую   длину

периода определяет степень секретности данных. Чем длиннее  ключ,

тем  труднее  его  подобрать.  Однако  не  только   длина   ключа

гарантирует его стойкость к взлому. В том случае, если содержание

шифрованного  сообщения  жизненно  важно  для  государства  и  им

заинтересуется национальная служба безопасности, то заранее нужно

быть готовым к неудаче  в  столь  неравном  состязании.  Люди  из

спецслужб  легко  найдут  требуемый  ключ  своими  специфическими

неджентльменскими   методами,   далекими    от    математики    и

криптографии. Скорее всего, ключ им даст сам владелец на блюдечке

с голубой каемкой и будет этому искренне рад.

    Вторая проблема состоит в следующем: на основании чего  можно

сделать заключение, что  гамма  конкретного  генератора  является

непредсказуемой? Пока в мире нет еще универсальных и  практически

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

общая теория криптоанализа, которая могла бы быть  применена  для

такого   доказательства,   за   исключением   все   возрастающего

количества  конкретных   способов   анализа,   выработанных   для

различных    практических    целей.    Интуитивно     случайность

воспринимается  как  непредсказуемость.  Чтобы  гамма   считалось

случайной, как минимум необходимо,  чтобы  ее  период  был  очень

большим, а различные комбинации бит определенной длины равномерно

распределялись по всей ее длине. Итак, второе требование  к  ряду

заключается в подтверждаемом статистически  подобии  его  свойств

настоящей  случайной  выборки.  Каждый  порядок  элементов  гаммы

должен быть так же случаен, как и любой  другой.  Это  требование

статистики можно толковать и как  сложность  закона  формирования

ряда  псевдослучайных  чисел.  Практически,  если  по  достаточно

длинной  реализации  этот  закон  вскрыть  не   удается   ни   на

статистическом   уровне,   ни   аналитически,   то   этим   нужно

удовлетвориться. Чем длиннее требуемая длина ряда, тем  жестче  к

нему требования.  Теперь  подробнее  расскажем,  как  вскрывались

скрытые закономерности в последовательностях чисел. С  древнейших

времен  люди  наблюдали  и  изучали  периодически   повторяющиеся

процессы, как фазы  Луны,  движения  планет,  чередования  времен

года, но  не  все  такие  цикличности  выражены  явно.  Например,

солнечные пятна, наблюдаемые невооруженным глазом с начала  нашей

эры и в  телескопы  с  начала  XVII  века,  дают  пример  скрытой

периодичности в II лет, впервые обнаруженной Генрихом Швабе  лишь

в 1843 году. А вот среднегодовые температуры и изменение  климата

Земли связаны с  циклами  в  19  лет.  Работы  Винера  и  Хинчина

поставили анализ периодичностей с головы на ноги. Ими  предложено

оценивать спектр случайных колебаний значений элементов гаммы как

преобразование   Фурье   функции   автокорреляции.    При    этом

шумоподобному   равномерному   спектру    гаммы    без    скрытых

периодичностей соответствует автокорреляционная  функция  в  виде

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

Этот   результат   можно   интерпретировать    как    непохожесть

последовательности на себя при любом ее сдвиге.

    И,   наконец,   последнее   третье   требование   связано   с

возможностью практической реализации генератора в виде  программы

или электронного  устройства,  быстродействием,  необходимым  для

применения в современных коммуникациях,  а  также  удобством  его

практического использования.

 

    Простейшие алгоритмы генерации

 

    Заслуга  конструирования  длинных  псевдослучайных  рядов   с

хорошими   статистическими   свойствами   полностью   принадлежит

криптографии. Не следует думать, что они нужны лишь  криптографам

-  картирование  Венеры  стало  возможным,  когда  длина  периода

случайного ряда импульсов превысила 10**40. Фотографирование этой

планеты нельзя  было  сделать  потому,  что  она  всегда  закрыта

плотным слоем облаков. Локация же ее с Земли  затруднена  обилием

помех и высокими требованиями к разрешению. Поэтому  зондирование

выполнялось случайной  последовательностью  импульсов  указанного

периода. После 300 зондирований, на что ушло более полгода,  была

получена карта, где различимы объекты размером около километра, а

по высоте разрешение получено такое, какое достигнуто не везде на

Земле. Генераторы псевдослучайных чисел используются очень широко

в  сотнях  программных  приложений  от  конструирования   ядерных

реакторов  и  радиолокационных  систем  раннего  обнаружения   до

поисков нефти и многоканальной связи.  Генерация  псевдослучайных

последовательностей давно занимала математиков. Одним  из  первых

было  предложение  получать  их  как   значения   дробной   части

многочлена первой степени:

                Yn = Ent (a*n+b)

    Если  n  пробегает  значения  натурального  ряда  чисел,   то

поведение Yn выглядит весьма хаотичным. Еще Карл  Якоби  доказал,

что при рациональном коэффициенте а множество {Yn} конечно, а при

иррациональном бесконечно и всюду плотно в интервале от 0  до  1.

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

1916 году выдающимся математиком  нашего  века  Германом  Вейлем.

Кроме того, он  установил  критерий  равномерности  распределения

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

его в краткой формулировке.

 

КРИТЕРИЙ ВЕЙЛЯ.  Чтобы  ряд  х1,  х2,  x3,  ...  был  распределен

равномерно в интервале от 0 до 1, необходимо и достаточно,  чтобы

для любой интегрируемой по Риману функции f(x)  было  справедливо

соотношение P{<f(x)>=Mf(x)}=1.

 

    Это соотношение выражает свойство, называемое эргодичностью и

заключающееся в том, что среднее по  реализациям  псевдослучайных

чисел равно среднему по всему  их  множеству  с  вероятностью  1.

Таким  образом,  Вейль  доказал,  что  эргодичность   гарантирует

отсутствие экзотичности в поведении последовательности Xn.

    Однако  эти   результаты   далеки   от   практики   получения

псевдослучайных рядов  чисел.  Дело  в  том,  что  теорема  Якоби

относится к действительным числам х и у, которые  не  могут  быть

использованы   при   вычислениях,   потому   что   иррациональные

действительные числа требуют для своей записи бесконечного  числа

знаков.  Попытки  замены  настоящего  иррационального  числа  его

приближением    на    ЭВМ    для    генерации     псевдослучайной

последовательности опасны, так как получаемые  последовательности

оканчиваются   циклами    с    коротким    периодом.    Завершают

доказательство    непригодности    полиномиальных    и     других

функциональных  преобразований  натурального   ряда   чисел   для

получения    псевдослучайных    последовательностей    результаты

Пуанкаре. В частности он установил, что непрерывное отображение Т

области U числового пространства в себя  обязательно  приводит  к

короткой цикличности траекторий Tn(х)  для  всюду  плотного  в  U

множества точек, если учитывать попадание траекторий точек  в  их

сколь угодно малые окрестности или ряды  чисел,  созданные  таким

методом, отягчены периодичностями.

 

    Несмотря   на   непригодность   для   криптографии    простых

последовательностей    чисел,    рассмотрим    все    же    самые

распространенные из них. Наиболее древний  вычислительный  способ

генерации псевдослучайных чисел  на  ЭВМ  принадлежит  Джону  фон

Нейману и относится к 1946 году. Этот способ базировался на  том,

что каждое последующее  случайное  число  образуется  возведением

предыдущего в квадрат и отбрасыванием цифр с обоих концов. Способ

Неймана оказался ненадежным и очень быстро от него отказались. Из

простейших  процедур,  имитирующих  случайные   числа,   наиболее

употребляем так  называемый  конгруэнтный  способ,  приписываемый

Д.Х. Лемеру:

 

          G(n+1)=KGn+C MOD M

 

    В  нем  каждое  последующее  псевдослучайное   число   G(n+1)

получается из предыдущего Gn умножением его на К, сложением с С и

взятием остатка от деления на М. Весь фокус здесь  в  том,  чтобы

подобрать хорошие значения К,  С  и  М,  на  что  были  потрачены

десятилетия работы математиков.  Подбор  почти  иррациональных  К

ничего   не    дает.    Например,    выбрав    закон    генерации

последовательности G(N+1) = Ent (sqr(2)*Gn) на IBM PC при формате

представления чисел с плавающей запятой IEEE в 4  байта,  получим

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

периодами  длиной  всего  лишь  1225  и  147  в  зависимости   от

начального заполнения. Разумнее вычисления вести в целых  числах.

Для них было установлено, что при С=0 и М=2**N наибольший  период

М/4 достигается при K=3+8*i  или  K=5+8*i  и  нечетном  начальном

числе.  При  достаточно  больших  К  ряд  производит  впечатление

случайного.  Насколько  это   верно   читатель   может   выяснить

самостоятельно следующей программой:

'----------проверка  случайности ряда чисел

DEFINT  A-Z: SCREEN  2: CLS

n =  1

DO

nold = n: n =  FnRnd% (n)

PSET (nold/64,CVL(MKI$(n)+MKI$(0) )\512)

LOOP UNTIL n =  1

END

'----генерация ряда чисел с периодом 16384

DEF FnRnd% (n) =CVI(LEFT$(MKL$(1381&*n) ,2))

 

    В ней случайность ряда  проверяется  отображением  на  экране

дисплея пар его чисел (Gn+1, Gn) в прямоугольнике размером 128  х

512. Это простой и  удобный  способ  проверки  случайности  рядов

чисел,  так  как  на  глаз  заметны  малейшие  закономерности   в

получаемом  орнаменте.  Из  опытов  с   этой   программой   можно

убедиться, что как ни экспериментируй с  подбором  К,  все  равно

закономерности видны и чисто случайного рада чисел  не  получишь.

Вспомните  ехидное  предложение  Додо   "становиться   строго   в

беспорядке" из "Алисы в стране чудес". Результат можно  несколько

улучшить. Если С нечетно и K=1+4*i, то период ряда равен М. После

долгих поисков К исследователи остановились на значениях 69069  и

71365. Кроме значений М=2**N широко используются  выборы  простых

М, например,  простого  числа  М=2**31-1,  известного  со  времен

Эйлера (Это число "плохо" тем, что  в  двоичной  записи  содержит

лишь единицы. Однако оно может  использоваться,  если  вычисления

выполняются в десятичной арифметике.)

    Однако обратимся к фактам. В 1948 году фон  Нейман  предложил

генератор псевдослучайных  чисел,  который  через  год  подвергся

резкой критике. В 1972 году в пакете прикладных программ IBM  360

на языке Фортран появилась программа RANDU, а  в  1977-м  Форсайт

показал, что тройки ее  последовательных  значений  лежат  на  15

параллельных плоскостях. В 1979 году Скраг опубликовал компактный

алгоритм генерации  псевдослучайных  чисел,  а  через  год  Плаке

доказал его статистическую неудовлетворительность.  Этому  списку

нет конца: более месяца работы автор потерял из-за  некомпетентно

сделанного генератора случайных чисел  в  системе  М86  ЕС  1840,

который использовался  для  моделирования  сложных  процессов.  В

журнале "Наука и жизнь" за октябрь 1986 года М. Максимов поместил

статью-предупреждение  под  названием  "Случайны   ли   случайные

числа?",   где   совершенно   справедливо   отметил    негодность

используемых генераторов. По его данным, генератор FRAN у БК-0010

имеет длину периода всего лишь 2**15, а бьет рекорды  бессмыслицы

генератор  Бейсика  ДВК,  который  имеет  период  лишь   8192   и

последовательные  тройки  его  "случайных"  чисел,  функционально

связанные уравнением Gn-6*G(n+1)+9*G(n+2), равны целым числам. Не

иначе,  как  от   отчаяния,   рад   исследователей   одновременно

использует  два  и  даже  три  разных  генератора,  смешивая   их

значения.  Если  разные  генераторы  независимы,  то   сумма   их

последовательностей обладает дисперсией, равной  сумме  дисперсий

отдельных последовательностей. Иначе  говоря,  случайность  рядов

возрастает при  их  суммировании.  Это  дает  слабую  надежду  на

возможность  конструирования   генератора   с   приемлемыми   для

криптографии свойствами: случайностью и большой длиной периода.

    Заметим,  что  некоторые  "запутывания"   последовательностей

псевдослучайных чисел лишь ухудшают их  статистические  свойства.

Далеко  не   всегда   сложность   формирования   рада   порождает

случайность распределения. Например, генератор случайных чисел из

игровой программы неизвестного происхождения для программируемого

калькулятора использовал в качестве случайных чисел первые  цифры

последовательности  {83**K}.  Легко   доказывается,   что   такой

генератор будет на 14% чаще давать цифру 7, чем 8.  В  литературе

приводится громадное количество формул  для  генерации  случайных

рядов, и автору довелось испытать их не один десяток, но,  не  то

чтобы  хорошей,  а  даже  удовлетворительной  по   статистическим

свойствам найти не удалось. Сдается, что часть подобных  способов

генерации   случайных   рядов   предложена   в   качестве   шутки

криптографами, желающими упростить себе работу. Однако в системах

программирования обычно используют все же конгруэнтные генераторы

по алгоритму, предложенному  Национальным  бюро  стандартов  США,

который, имея длину периода 2**24,  обеспечивает  очень  неплохие

статистические свойства.  К  сожалению,  длина  его  периода  для

криптографии слишком мала  и,  кроме  того,  было  доказано,  что

последовательности, генерируемые конгруэнтными  генераторами,  не

являются  криптографически  стойкими.  Если  дана   часть   такой

последовательности достаточной длины, то ее параметры могут  быть

восстановлены.

    Интересный класс  генераторов  случайных  чисел  неоднократно

предлагался многими  специалистами  целочисленной  арифметике,  в

частности Джорджем Марсалиа и Арифом Зейманом.  Генераторы  этого

типа основаны  на  использовании  последовательностей  Фибоначчи.

Классический пример такой последовательности {0, 1, 1, 2,  3,  5,

8, 13, 21, 34...}. За исключением первых двух ее  членов,  каждый

последующий член равен  сумме  двух  предшествующих.  Если  брать

только последнюю цифру каждого  числа  в  последовательности,  то

получится последовательность чисел {0, 1, 1, 2, 5, 8, 3, 1, 4, 5,

9, 4...} Если эта последовательность применяется  для  начального

заполнения массива большой  длины,  то,  используя  этот  массив,

можно   создать   генератор   случайных   чисел    Фибоначчи    с

запаздыванием, где складываются не соседние, а  удаленные  числа.

Марсалиа и  Зейман  предложили  ввести  в  схему  Фибоначчи  "бит

переноса", который  может  иметь  начальное  значение  0  или  1.

Построенный на  этой  основе  генератор  "сложения  с  переносом"

приобретает интересные свойства, на их основании можно  создавать

последовательности, период  которых  значительно  больше,  чем  у

применяемых  в  настоящее  время  конгруэнтных  генераторов.   По

образному  выражению  Марсалиа,  генераторы  этого  класса  можно

рассматривать как усилители случайности. "Вы берете случайное за-

полнение длиной в  несколько  тысяч  бит  и  генерируете  длинные

последовательности случайных чисел". Однако большой период сам по

себе еще не является  достаточным  условием.  Слабые  места  гамм

бывает  трудно  обнаружить  и   аналитику   требуется   применять

утонченные методы  анализа  последовательностей,  чтобы  выделить

определенные закономерности, которые  скрыты  в  большом  массиве

цифр.

    Последнее,  на   чем   следует   остановить   внимание,   это

особенности использования стандартных генераторов случайных чисел

в  различных  языках  программирования,  если  уж  ими   пришлось

воспользоваться. Так отметим, что известный  в  Бейсике  оператор

RANDOMIZE  (Он  такой  же,  как   и   во   всех   других   языках

программирования. например. Pascal или C++.)  ,  применяемый  для

начальной установки генератора случайных чисел,  может  ошарашить

пользователя. Ибо после выполнения:

 

RANDOMIZE 231

х = RND

RANDOMIZE 231

у = RND

 

необязательно  получится  х=у,  потому  что  оператор   RANDOMIZE

переустанавливает не всё случайное число из 3 байт,  а  лишь  его

часть из 2 байт. Точная установка может быть произведена функцией

RND,  как  x=RND(-231).  Не  нужно  думать,  что   эта   проблема

встречается лишь при программировании на Бейсике.  Паскаль  и  Си

всех фирм  дают  те  же  результаты.  А  вот  увеличение  периода

последовательности сделать несколько  сложнее.  Для  этого  можно

использовать функцию:

 

FUNCTION Rand (х, у)

х = RND (-х)

у = RND (-у): IF у = О THEN у = RND (-у)

Rand =  (х+у)  MOD  1

END FUNCTION

 

    Период такой функции равен 2**24-(2**24-1), но  вот  свойства

его ряда не обязаны при любых исходных  х  и  у  быть  такими  же

хорошими, как у RND.

    При создании с помощью встроенного генератора случайных чисел

объектов, имеющих число состояний большее, чем у генератора,  его

приходится  использовать  несколько  раз,   переустанавливая   по

заранее заданному ключу. Например, следующий фрагмент программы:

 

FOR i = 1 ТО 5

х = RND (-gamma (i))

FOR j = 0 TO 32

SWAP map (j), map (32 * RND)

NEXT: NEXT

 

производит  случайную  перестановку  33  элементов  массива  map,

которая может быть сделана примерно 2**118 способами, и при длине

периода генератора в 2**24, его нужно запустить не менее  5  раз,

чтобы реализовать все варианты перестановки.

 

    Рекуррентные двоичные последовательности

 

    Изложим   теперь   способ   построения    последовательностей

случайных  чисел  с  гарантировано  хорошими   для   криптографии

свойствами. Читатели, не  интересующиеся  практикой  криптографии

или стохастического моделирования, могут  спокойно  опустить  эту

подглавку и перейти к следующей.  Для  тех,  кто  решит  все-таки

изучить ее, сделаем несколько замечаний. Автор не рассчитывал  на

серьезную математическую подготовку  читателей  -  в  подавляющем

большинстве  институтов  и  университетов  страны   курс   теории

конечных полей если и читается, то  лишь  факультативно.  Поэтому

систематичности и строгости изложения ожидать не приходится. Цель

-  освоение  принципов  программной  реализации   хороших   рядов

псевдослучайных чисел, что  достигается  приведением  аналогов  и

разбором  конкретных  примеров.  Тем   не   менее,   программисты

по-видимому   будут   удовлетворены   приведенной    детальностью

изложения, а ценители  математической  строгости  могут  уточнить

неясные  для  себя  вопросы,  обратившись  к  книге  "Современная

прикладная алгебра" Г. Биркгоф и Т. Барти (Москва,  "Мир",  1976)

или же анналам математики Бурбаки.

    По определению сложности закона генерации  ряда  чисел,  если

сложность  последовательности  {Gi}  равна  m,   то   любые   m+1

последовательные ее значения зависимы. Если  же  эта  зависимость

представима  линейной,  то  получается  рекуррентное  соотношение

следующего вида:

 

          C0*Gi+C1*G(i-1)+...+Cm*G(i-m)=0

 

    При этом C0 и Cm обязаны быть неравными  нулю.  По  начальным

данным  Go,  Gi,  ...   Gm-1   длины   m   строится   бесконечная

последовательность. Каждый ее последующий член определяется из  m

предыдущих. Последовательности такого вида легко  реализуются  на

ЭВМ. Особенно простой вид их реализации получается когда все с, и

д, принимают лишь значения 0 и  1,  что  соответствует  значениям

отдельных бит. На множестве таких чисел определены алгебраические

операции сложения и умножения,  то  есть  имеется  поле  из  двух

элементов. Поля  указанного  типа  с  конечным  числом  элементов

называются по фамилии их первооткрывателя Эвариста  Галуа  и  для

поля с n элементами обозначаются как GF(n), где GF - аббревиатура

от слов Galois Field (поле Галуа). Они существуют, лишь  когда  n

равно простому числу, и тогда называются  простыми,  или  степени

простого числа, и тогда называются расширениями  соответствующего

простого поля. Так, поле из 2  элементов  GF(2)  -  простое  поле

порядка 2, a GF(4) -  его  расширение.  При  вычислениях  на  ЭВМ

используются  поля  Галуа  из  элементов  {0,  1},   обозначаемые

GF(2**N) и соответствующие строкам данных длиной в N бит. Таблицы

арифметических операций в GF(2) будут следующими:

 

 

   +  0  1            * 0 1

   0  0  1            0 0 0

   1  1  0            1 0 1

 

    На  ЭВМ  такому  сложению  соответствует  операция  XOR,  уже

известная нам по машинному шифру ручной  замены,  а  умножению  -

операция  AND.  Это  поле  обладает  замечательным  свойством   -

операция вычитания в  нем  тождественна  операции  сложения  и  в

записях не употребляется. Поля бит, как  байт  или  слово,  можно

представить  векторами,  каждая  компонента   которых   принимает

значения  из  GF(2).  Такие  вектора  удобно  рассматривать   как

многочлены. Байт, например, можно представить многочленом седьмой

степени, каждый член  которого  соответствует  одному  ненулевому

биту в байте:

             (10010101 )=x**7+x**4+x**2+1

 

    Представление  битовых  полей  данных  в   ЭВМ   многочленами

упрощает рассмотрение операции их сдвига. Сдвигу данных влево  на

один бит соответствует умножение многочлена  на  х,  а  вправо  -

деление на х.

    Совокупность всех многочленов степени меньше  n  представляет

собой векторное пространство размерности n  над  GF(2),  так  как

многочлены можно складывать, вычитать или умножать на константу.

    Теперь, фиксировав  неразрешимый  над  GF(2)  многочлен  f(x)

степени  n+1,  рассмотрим  остатки  от  деления  на  него  других

многочленов. Их  множество  совпадает  с  множеством  многочленов

степени  не  больше  n.   Например,   f(x)=x**2+x+1   над   GF(2)

неприводим, потому что f(0)=1 и f(1)=1. Для него остатками  будут

элементы {0, 1, х, х+1}. На множестве этих остатков можно  задать

арифметические  операции  сложения  и   умножения,   рассматривая

остатки от  деления  на  многочлен  f(x).  Легко  проверить,  что

определенные таким образом сложение и  умножение  обладают  всеми

необходимыми   свойствами   обычных   арифметических    операций:

коммутативностью, ассоциативностью и дистрибутивностью. Результат

сложения или  умножения  над  двумя  элементами  из  приведенного

множества  тоже  ему  принадлежит.  И,   наконец,   в   множестве

определены О и 1 так, что  для  произвольного  элемента  х  имеем

0+х=х и 1*х=х. Таким образом, получено GF(4)  -  расширение  поля

GF(2) присоединением к  нему  остатков  от  деления  произвольных

многочленов на неприводимый над ним многочлен  х**2+х+1.  Выбирая

разные неприводимые многочлены, можно получать разные  расширения

GF(2).

    Из  школьного  курса  математики  известно,  что  над   полем

комплексных чисел любой многочлен разложим на линейные  множители

или, что то же самое, имеет столько корней, какова  его  степень.

Однако это не так для других полей - в полях  действительных  или

рациональных чисел многочлен х**2+х+1 корней не имеет и не  может

быть разложен на линейные множители.  Аналогично,  в  поле  GF(2)

многочлен х**2+х+1 тоже не имеет  корней,  что  просто  проверить

непосредственно:  1*1+1+1=1  и  0*0+0+1  =1.  Тем  не   менее   у

f(x)=x**2+x+1  в  поле   Галуа   GF(4)   существует   корень   х,

соответствующий многочлену х из таблиц выше, так как  f(x)=  х**2

+х+1 по модулю f(x).

    Элементы поля Галуа GF(2**N) относительно умножения  образуют

абелеву группу, то есть на этом множестве для любых его элементов

х, у и z выполняются аксиомы:

     x*y=y*x*x*(y*z)=(x*y)*zx*1=1*xx*1/x=1/x*x=1

 

    Если  рассмотреть  степени  произвольного   элемента   х   из

GF(2**N), то обнаружим, что они образуют абелеву подгруппу. Такие

подгруппы принято именовать циклическими.  Число  элементов  этой

подгруппы называют порядком элемента  х.  Из  такого  определения

порядка следует, что если многочлен р(х) принадлежит  GF(2**N)  и

имеет порядок k, то р(х)**K=1. Разберем теперь  несколько  важных

свойств, касающихся порядка элементов в GF(2 ), изложенных в виде

теорем.

 

ТЕОРЕМА 1. Если f(x)  -  неприводимый  многочлен  над  GF(2),  то

выполняется равенство f(x**2)=f(x)**2.

 

    Это равенство доказывается тем, что все попарные произведения

в     f(x)**2     равны     нулю     над     GF(2).     Например,

(х**2+х+1)**2=х**4+x**2+1.

 

ТЕОРЕМА 2. Если неприводимый многочлен f(x)  над  GF(2**N)  имеет

порядок k, то k делит 2**N-1.

 

    Это следует из  теоремы  Лагранжа,  утверждающей,  что  число

элементов  группы  G  делится  на  число  элементов  любой  своей

подгруппы Н. Подгруппа Н расслаивает группу G на  смежные  классы

элементов, не пересекающиеся меж  собой.  Так,  элементы  х  и  у

считаются принадлежащими одному классу по подгруппе Н,  если  у/х

принадлежит  Н.  Поскольку  классы  не  пересекаются  и  содержат

одинаковое число элементов, то число элементов группы делится  на

число  элементов  в  подгруппе.  Из  теоремы  2  вытекает  важное

следствие, что если 2**N-1 простое  число,  то  мультипликативная

группа GF(2**N) циклическая  и  порядок  любого  ее  неединичного

элемента тоже равен 2**N-1.

 

ТЕОРЕМА  3.  Любой  многочлен  р(х)  из  GF(2**N)   удовлетворяет

уравнению х**k=х, где К=2**N.

 

    Порядок ненулевого р(х) делит 2**N-1 и  имеем  х**(K-1)=1,  а

так как для р(х)=0 имеем уравнение х=0,  то  в  результате  любой

р(х) удовлетворяет уравнению х**K=х.

    Отметим особое  положение  уравнения  х**K=х,  где  К=2**N  ,

поскольку его корни порождают все элементы поля GF(2 ).  Так  как

уравнение х**(K-1)-х=0 имеет корнем х=0, то, разделив его  на  х,

получаем уравнение х**(K-1)-1=0, все  корни  которого  ненулевые.

Производная уравнения имеет вид  (x**k-x)=2*N*x**(n-1)-1=1,  и  у

нее нет общих корней с исходным уравнением. Следовательно, в этом

уравнении все корни различны, и так как их число равно  2**n,  то

они совпадают со всеми элементами поля GF(2).

 

ТЕОРЕМА 4. Многочлен х**k-1 делит х**M-1 в том  и  только  в  том

случае, если k делит M.

 

    Это вытекает  из  того  факта,  что  если  все  корни  х**k-1

являются также и корнями х**m-1, то m должно делиться на k.

    Теперь  обратимся  к  использованию  полиномов   в   практике

вычислений на ЭВМ,  широко  распространено  и  легко  реализуется

программно. Рассмотрим электронную схему деления данных в поле из

N бит на полином:

            f(x) = C0+C1*x+...+ Cn*х**N

 

 

      N  N-1               3  2   1

         ┌─┐ ┌─┐          ┌─┐┌─┐ ┌─┐

  ┌─────>┤+├>┤+├─────>────┤+├┤+├>┤+├──────┐

  │      └┬┘ └┬┘          └┬┘└┬┘ └┼┘      │

  └─┬───┬─┴─┬─┴─┬─────────┬┴─┬┴─┬─┴─<─────┘

    └───┴───┴───┴─────────┴──┴──┴───┘

 

 ┌─┐

 │+│ сумматор XOR

 └─┘

 ┌─┐

 │ │ регистр сдвига

 └─┘

 

    На схеме биты показаны квадратными  клетками.  Шаг  процедуры

деления состоит в сдвиге данных влево  на  один  бит  и  дозаписи

освобождающегося крайнего правого бита  суммой  значений  бит  по

модулю 2, умноженных на соответствующие  коэффициенты  многочлена

f(x), то есть не все ячейки сдвига соединены с относящимися к ним

сумматорами. В результате последовательного выполнения  отдельных

шагов   деления   исходных   данных   а(х),   справа   в   данные

дозаписывается  последовательность   s(x),   которая   выражается

формулой:

 

             s(x)=a(x)/f(x)=S0+S1*x+S2*x**2+...

 

справедливость которой просто проверить, приравнивая коэффициенты

при х в уравнении s(x)*f(x)=a(x). Таким образом,  получена  связь

между  линейными  рекуррентными  последовательностями,   делением

многочленов над GF(2) и алгоритмом  реализации  деления  на  ЭВМ.

Например,  пусть  имеем  над   GF(2)   рекуррентное   соотношение

Gi+G(i-1)+G(i-3)=0.  Многочлен,  который  ему   отвечает,   равен

1+х+х**3. Это неприводимый многочлен над GF(2), который порождает

расширение  GF(8).  Мультипликативная  группа  в  GF(8)  имеет  7

элементов и циклична в силу простоты числа 7.  Электронная  схема

этого рекуррентного генератора представляется так:

 

                3   2     1

                         ┌─┐

            ┌─────>──────┼+├───────┐

            │            └┬┘       │

            │  ┌──┬────┬──┴──┐     │

            └──┴──┴────┴─────<─────┘

 

 

    Он будет генерировать следующие последовательности при разных

начальных данных (периоды в скобках):

 

000 => (0)

001 => (0011101)

010 => (0100111)

O11 => (0111010)

100 => (1001110)

101 => (1010011)

110 => (1101001)

111 => (1110100)

 

    Рассмотрим теперь программную процедуру, реализующую  деление

на примитивный  неприводимый  многочлен  х**3+х+1  в  поле  Галуа

GF(8),  представленную  короткой  программой  на  языке   Бейсик.

Переменные в ней рассматриваются как целые числа.

 

'программа деления на многочлен х**З+х+1

DEFINT A-Z

n = 1

DO

m = О

 

'-----------расчет бита переноса

IF n AND 2^2 THEN m = m+1

IF n AND 2^0 THEN m = m + 1

n = 2 *  (n AND (2^2-1)) OR (m AND 1)

LOOP UNTIL n = 1

END

 

    В этой программе сдвиг влево заменен операцией  умножения  на

2,   а   бит   переноса   рассчитывается    тестированием    бит,

соответствующих    ненулевым    коэффициентам    многочлена.    В

соответствии с теорией период такого генератора  составляет  7  и

включает в себя все ненулевые числа из 3 бит. Из  этой  программы

видно, что реализация процедуры деления многочленов на  ЭВМ  или,

что  то  же  самое,  генерации  рекуррентных  последовательностей

проста.

    Особый  интерес  для  генерации  длинных  последовательностей

представляют элементы GF(2**N), имеющие  порядок  равный  2**N-1.

Они называются примитивными, потому что, возводя  их  в  степень,

можно получить весь набор ненулевых элементов  поля  Галуа.  Если

2**N-1 простое число, то все  элементы  мультипликативной  группы

(кроме 1, конечно!) примитивны. Однако  такие  числа,  называемые

простыми числами Мерсенна, расположены редко. Они  с  давних  пор

слыли чемпионами среди простых чисел по своему размеру. Во  время

Эйлера наибольшим простым числом было:

 

 2**31-1 =2147483647,

 

или пятое, а через сто лет в 1883 году русский самоучка  Первушин

нашел уже шестое число Мерсенна, равное:

 

    2**61-1 =2305843009213693951.

 

    Самое большое известное сейчас простое число - так называемое

32-е число Мерсенна, найденное  лишь  в  1992  году.  Его  запись

содержит 227832 десятичные цифры или примерно сто страниц текста.

    Нахождение  неприводимых  многочленов  для  генерации   гаммы

представляет   сложную   вычислительную   задачу.    Неприводимые

многочлены, с помощью которых фактически строятся поля Галуа  для

криптографии,  по  своей  роли   напоминают   простые   числа   в

натуральном  ряду.  Нахождение   их,   как   и   простых   чисел,

производится подбором и  требует  больших  затрат  вычислительных

мощностей  сверхбыстродействующих   ЭВМ.   Поэтому   в   открытых

публикациях  данные  о  неприводимых  многочленах  очень  больших

степеней просто отсутствуют. Отметим, что всегда с(n)=с(0)=1, так

как используется  неприводимый  многочлен  степени  п.  Сложность

програ1ммной реализации генератора существенно зависит  от  числа

ненулевых коэффициентов неприводимого  многочлена  f(x):  чем  их

меньше, тем проще и быстрее программа. Заметим, что в этом случае

и криптоаналитикам проще жить: известно, что у них есть секретные

теоремы, касающиеся трехчленов. Поэтому  практически  применяются

многочлены с довольно большим числом  ненулевых  членов.  Четного

числа ненулевых членов быть не  может,  так  как  в  этом  случае

корнем будет х=1 и  многочлен  можно  разделить  на  х+1,  а  это

доказывает приводимость.

 

    Последовательности максимальной длины

 

    Естественно, что желательно получить как можно более  длинный

период последовательности от многочлена заданной  степени.  Ответ

на   вопрос,   каков   максимальный   период,    получаемый    от

последовательности, мы уже имеем - не  больше  2**N-1  в  GF(2^).

Можно было бы и поверить в существование примитивных многочленов,

порождающих такие последовательности. Тем  не  менее,  желательно

иметь процедуру, позволяющую находить такие многочлены  пусть  не

практически, то хоть теоретически, если  они  только  существуют.

Поэтому приведем теорему:

 

   ТЕОРЕМА   5. Если многочлен f(x) степени n делит

   многочлен х**k-1 лишь при k>2**n-1, то период его

   любой ненулевой последовательности равен 2**n-1.

 

    Пусть f(x) делит многочлен х**k-1 при k=2**n-1,  тогда  длина

периода любой, порожденной им ненулевой последовательности  делит

2**N-1.  Если  2**N-1  простое   число,   то   последовательность

максимального  периода  обеспечена.  Иначе  допустим,  что  длина

периода  некоторой  последовательности  равна  k<2**N-l.  В  этом

случае   f(x)   делит   многочлен   х**N-1    вопреки    условию,

следовательно, всегда выполняется строгое равенство k=2**N-1.

    Например, многочлен х**4+х+1 делит х*15+1,  но  не  делит  ни

один многочлен х**K-1 при  k<15,  то  есть  является  многочленом

максимального  периода   15.   Этому   многочлену   соответствует

рекуррентное соотношение:

 

                 Gi+G(i-1)+G(i-4)=0

 

    При  разных  его  начальных  значениях   генерируется   такие

последовательности:

 

0001=>(000111101011001), 0010=> (001000111101011),

0011=> (001111010110010) и т. д.

    Все они в соответствии с теорией имеют  длину  периода  15  и

отличаются друг от друга лишь сдвигом. Из  этого  вытекает  очень

важное    для    криптографии    свойство     последовательностей

максимального периода, что их одиночный период  состоит  из  всех

разных неповторяющихся ненулевых блоков длины n, что  гарантирует

хорошие статистические качества получаемых псевдослучайных чисел.

В  частности,   такие   последовательности   не   имеют   скрытой

периодичности, на чем следует остановиться  несколько  подробнее.

Иногда последовательности такого  вида  с  максимальным  периодом

называют последовательностями Де Брюйна  в  честь  исследователя,

подробно описавшего в открытой научной печати их свойства.

 

    ТЕОРЕМА 6. Если S - последовательность максимального периода,

то она имеет равномерный спектр.

 

    Если S - последовательность  максимального  периода,  то  она

состоит из 2**(N-1)-1 нулей и 2**(N-1) единиц. Последовательность

{(Si*Si+j)} при  любом  j>0  представляет  собой  сдвиг  исходной

последовательности, а при j=0 состоит  Из  2**N-1  единиц.  Таким

образом, автокорреляционная функция R равна: 2**N-1 при j=0  и  0

при j>0. А, поскольку Rj представляет собой дельта-функцию, то ее

спектр равномерный и последовательность этим похожа на  случайный

белый шум.

    Теперь  мы  знаем,  что  грех  искать  лучший  материал   для

псевдослучайных     последовательностей,     чем     рекуррентные

последовательности описанного вида. Они  обладают  исключительным

набором свойств:  предельно  большая  длина  периода,  отсутствие

скрытых периодичностей, статистическая равномерность, что  делает

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

математике,  скорее  будет  огорчен,  чем  обрадован   предыдущим

изложением. И вот почему: мы рассуждали о замечательных свойствах

последовательностей, существование которых не доказано.  Придется

лишь поверить  в  существование  неприводимых  многочленов  любой

степени и, значит, соответствующих им последовательностей, потому

что это дается в самом красивом и,  наверное,  самом  сложном  из

разделов чистой математики теории Галуа.  Вот  что  о  ее  авторе

сообщает Большой энциклопедический словарь:

 

ГАЛУА (Galois) Эварист (1811-32), франц. математик. Тр. по теории

алгебр, ур-ний положили начало развитию  современной  алгебры.  С

идеями Г. связаны такие ее важнейшие понятия, как группа, поле  и

др. Науч. наследие Г. - небольшое число весьма кратко  написанных

работ, из-за новизны идей не понятых при жизни Г. Опубл.  в  1846

Ж. Лиувиллем.

 

    Нельзя не  отметить,  что  теория  Галуа  представляет  собой

жемчужину  современной  математики.  Согласно  преданию,  Эварист

Галуа в ночь на 30 мая 1832 года перед дуэлью  вместе  с  письмом

другу написал на 41 странице работу,  обессмертившую  его  имя  и

получившую   название   теории   Галуа.   Одна   бессонная   ночь

двадцатилетнего  французского  гения  навеки   обрекла   миллионы

студентов на хроническую  бессонницу  перед  экзаменом  по  этому

предмету, и многие из них будут сетовать  на  черствость  подруги

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

стрелялся он из-за нее. Злые языки утверждают, что  разработанная

им  теория  представляет  собой   акт   мести   системе   высшего

образования за  то,  что  его  дважды  срезали  на  вступительном

экзамене по математике в Политехнической  школе.  Для  нас  важно

лишь то, что этот гениальный юноша  создал  теорию,  доказывающую

существование     многочленов,     дающих      последовательности

максимального  периода  сколь  угодно  большой   степени.   Таким

образом, в существование их  поверить  можно.  А  вот  нахождение

таких многочленов  до  сих  пор  покрыто  мраком.  Без  сомнения,

криптографические службы высокоразвитых стран работали и работают

над поиском многочленов как можно более высокой степени, но  свои

последние результаты они почти не  освещают  в  открытой  печати.

Хуже всего дела идут в России, где  не  было  ни  одной  открытой

публикации отечественных полиномов высокой степени пригодных  для

помехоустойчивого  кодирования  и  криптографии  и   колоссальные

средства налогоплательщиков  оказались,  по  образному  выражению

Балоуна из "Бравого солдата Швейка", в сортире. Поэтому  приведем

старые и открытые данные из демократических стран.

    В следующей таблице приведены номера  4  бит,  которые  можно

использовать при генерации последовательностей максимальной длины

для случайных чисел длиной 8, 16, 24  и  32  бита,  то  есть  для

целого числа байт в памяти  ЭВМ.  Эти  биты  задают  коэффициенты

неприводимых многочленов ненулевой степени над GF(2).

 

n               биты переноca

8       1       2       3       8

16      0       2       11      16

24      0       1       6       24

32      0       1       21      32

 

    Известен   неприводимый   многочлен   x**61+x**3+1,   a    по

многочленам  больших  степеней  в  литературе  данных  найти   не

удалось. Поэтому естественно возникает  вопрос:  как  ведут  себя

последовательности,  порожденные  произведением  взаимно  простых

многочленов. Ответ на него дает следующая теорема, доказательство

которой мы опустим, так как оно в нашем контексте неинтересно.

 

ТЕОРЕМА 7. Если f(x) и h(x)  -  взаимно  простые  многочлены,  то

тогда   многочлен   f(x)*h(x)    порождает    последовательности,

являющихся суммами последовательностей для f(x) и h(x).

 

Итак, период последовательности от f(x)*h(x)  равен  произведению

периодов соответствующих последовательностей f(x) и h(x).  Однако

причин  для  радости   мало,   так   как   сюда   же   входят   и

последовательности периода 1 для нулевых данных. Приведем пример.

Многочлены f(x)=x**3+x+1 и h(x)=x**2+x+1  неприводимы  и  взаимно

просты. В зависимости от начальных данных  многочлен  f(x)  имеет

одну последовательность периода 1 и 7 последовательностей периода

7. Многочлен h(x) имеет одну последовательность  периода  1  и  3

последовательности длины 3, а  многочлен  f(x)*h(x)  имеет  такой

спектр периодов:

 

период  число последовательностей

1*1=1   1*1=1

1*3=3   1*3=3

1*7=7   1*7=7

3*7=21  3*7=21

 

    Таким     образом,     произведение     многочленов      дает

последовательности с произведением периодов. Ненулевые  начальные

данные  для   многочленов   максимальных   периодов   гарантируют

получение  произведения  этих  периодов,  что   должно   устроить

конструкторов гаммы.  В  следующей  таблице  приведены  данные  о

рядах, которые генерируют тестированием всего лишь двух бит.

 

n          биты                 взаимная     простота    периодов

                       17      18      20      21      22      23      25      28      29      31

17      2       17      -       +       +       +       +       +       +       +       +       +

18      6       18      +       -       -       -       -       +       +       -       +       +

20      2       20      +       -       -       +       -       +       -       -       +       +

21      1       21      +       -       +       -       +       +       +       -       +       +

22      0       22      +       -       -       +       -       +       +       -       +       +

23      4       23      +       +       +       +       +       -       +       +       +       +

25      2       25      +       +       -       +       +       +       -       +       +       +

28      2       28      +       -       -       -       -       +       +       -       +       +

29      1       29      +       +       +       +       +       +       +       +       -       +

31      2       31      +       +       +       +       +       +       +       +       +       -

 

    В таблице знаком "+" указана взаимная простота периодов  этих

рядов, а знаком "-" наличие общих делителей. Так,  если  взять  3

генератора с длинами чисел 28, 29 и 31 бит, то при  одновременной

их работе период будет длиной около 10**26 , что  вполне  устроит

достаточно   серьезную   криптографическую   систему.   Начальное

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

Такие реализации генераторов гаммы выглядят некрасиво. Однако они

гораздо более стойки криптологически, так как  в  их  многочленах

много    коэффициентов,    которые    при    взламывании    шифра

криптоаналитиком ему придется подбирать.  Кроме  того,  вовсе  не

обязательно просто складывать эти  последовательности,  но  можно

одной последовательностью шифровать другую. Так, если у' и  у"  -

гаммы с разными периодами, а Г" и Г" шифры типа  DES,  образуемые

ими, то гамма у=Г"у'+Г'у" будет очень длинной и весьма стойкой  к

взлому.

 

    Анализ псевдослучайных последовательностей

 

    Пусть  известен  участок  ключа  {g1,   g2,   ...   G(2n+2)),

полученного с помощью рекуррентного соотношения длиной  n.  Здесь

Gi и другие переменные рассматриваются  как  биты,  то  есть  над

полем GF(2). В этом случае  есть  возможность  восстановить  весь

ключ,  реконструировав  рекуррентное  соотношение.   Рекуррентное

соотношение:

 

        Cn*Gi + C(n-1)G(i+1) + ... + C0*G(i+n) = О

 

выполняется при i=1, 2, ... n+1. Поэтому  имеем  систему  из  n+1

линейных  уравнений  с  n+1  неизвестными,  при  решении  которой

получаем коэффициенты использованного  рекуррентного  соотношения

Ci, позволяющие продлить известный участок ключа вперед или назад

на любую длину. Фактически неизвестных коэффициентов только  n-1,

так как Co=Cn=1. Есть ряд алгоритмов решения этой системы,  но  и

обычный метод исключения  переменных  тоже  хорош,  так  как  при

вычислениях в конечных полях ошибок округления нет, а  полученная

система линейных уравнений не вырождена. Допустим имеется участок

гаммы  ...10101111...   из   8   бит.   Степень   больше   4   мы

реконструировать не сможем, а меньшая недопустима, так как подряд

встречаются 4 единицы. Поэтому, составив систему из 4 уравнений:

 

     С4+С2=1 C3+С1=1 C4+C2+C1=l C3+C2+C1=1

 

и решая ее, получаем  С4=1,  C3=1,  C2=0  и  C1=0,  что  отвечает

многочлену х**4+х**3+1. Таким образом, получаем еще один довод  в

пользу  дополнительного  усиления  шифра  многоалфавитной  замены

дополнительной   перестановкой,   потому   что   иначе    участок

последовательности  можно  попытаться  вскрыть,  отгадывая  текст

исходного сообщения. Для длины рекуррентного соотношения  n=60  и

кодировании символов группами по 5  бит  достаточно  отгадать  24

символа, чтобы свести задачу к подбору  перестановки.  На  первый

взгляд кажется, что невозможно  отгадать  столь  длинный  участок

текста.   Однако   большую   помощь   в   этом   может    оказать

ориентировочное знание содержания исходного сообщения, в  котором

могут встречаться устойчивые словосочетания большой длины, напри-

мер,  "государства   среднеазиатского   региона".   Эта   область

достаточно сложна и деликатна, чтобы углубляться  в  нее  дальше.

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

желающим их  расколоть  криптоаналитикам  при  достаточной  длине

блока ничего не остается, как вести атаку прямым подбором  ключа,

так как надежда отгадать кусок  исходного  текста  большой  длины

весьма химерична. Кроме  того,  так  как  избыточность  исходного

текста существенно ослабляет шифр,  то  нужно  перед  шифрованием

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

избыточность. Естественно, что для этого  непригодны  стандартные

программы сжатия и архивации как ARC, ZIP и им подобные, так  как

создают в файле заголовок с множеством полей, содержимое  которых

легко предсказать. Необходимо пользоваться  собственным  сжатием,

согласованным с программой шифрования, как это сделано в  системе

PCSecure.

 

    Из рассмотренного примера видно, что несмотря на  возможность

большого   выбора   примитивных   полиномов    обратной    связи,

последовательности их не могут быть использованы в качестве гаммы

без применения к ним необходимых криптографических преобразований

в простых криптографических системах. Как мы только  что  видели,

начальное  состояние  и  соединения  обратной  связи   сдвигового

регистра с линейными обратными связями могут быть раскрыты по  не

очень длинному участку выходной  последовательности.  В  принципе

сдвиговый   регистр   с   линейными   обратными   связями   может

генерировать любую периодическую  последовательность.  Существуют

процедуры синтеза полиномов обратной  связи  сдвигового  регистра

наименьшей длины, генерирующего данную последовательность.  Длина

такого     регистра      называется      линейной      сложностью

последовательности.    Поэтому    при    разработке    генератора

последовательностей,   который   может   быть    использован    в

криптографии,  необходимо  гарантировать  независимую  от   ключа

достаточно большую низшую границу линейной сложности генерируемой

последовательности.

 

    Для проверки криптографической стойкости  последовательностей

гаммы  применяются  различные  методы  криптоанализа.  При   этом

считается,  что  раскрытие  гаммы  равносильно  раскрытию   шифра

методом криптоанализа с  известным  открытым  текстом.  Одним  из

таких  методов  является  метод  анализа  корреляционных  свойств

гаммы,  предложенный  Зигентхальтером.  Во   многих   генераторах

окончательно   сформированная   гамма   получается    посредством

суммирования по модулю 2 нескольких выходных последовательностей.

При этом между гаммой и каждой из суммируемых последовательностей

может  существовать  определенная   статистическая   зависимость.

Зигентхальтер  разработал  общий  критерий  идентификации  ключа,

используемый для анализа гаммы по методу "разделяй  и  властвуй".

Его анализ выделяет отдельные последовательности в  гамме  полным

перебором. Это  показывает,  что  разработчику  криптографической

системы  и  криптоаналитику  необходимо  обращать   внимание   на

статистические зависимости различных составных частей  генератора

гаммы.

 

    Другой, алгебраический метод, предложенный  Зенгом,  Янгом  и

Рао, использует скрытые линейности генераторов гаммы. Он,  как  и

пример выше, основан на точной оценке непротиворечивости  системы

линейных алгебраических уравнений со  случайными  коэффициентами.

Этот метод пытается по отрезку гаммы выделить подключ  из  общего

ключа  и  составить  систему  линейных   уравнений   такую,   что

коэффициенты матрицы зависят только от под  ключа.  Если  подключ

выделен правильно, то соответствующая система уравнений с большой

вероятностью будет удовлетворять  требованию  нспротиворечивости.

Далее по оставшейся части  последовательности  можно  найти  весь

ключ. Для определения подключа применим  метод  полного  перебора

подключей. При этом непротиворечивость системы линейных уравнений

служит критерием идентификации ключа.  Успешный  результат  этого

метода  означает,  что  лишь  подключ  определяет  стойкость,   а

остальная часть ключа избыточна. Так как оба рассмотренных метода

анализа требуют применения полного перебора для поиска ключа,  их

можно   считать   способами   обнаружения   избыточности   ключей

генераторов  гаммы,  а  не  практическими  алгоритмами  раскрытия

текста шифра.

    Чтобы сбить с толку криптоаналитиков. многие генераторы гаммы

основаны   на   комбинации   двух   или   более   генераторов   с

использованием нелинейных логических функций.  Один  из  наиболее

простых способов комбинации двух сдвиговых регистров с  линейными

обратными связями состоит в применении переключателя с отношением

переключаемых разрядов 2:1 и носит имя генератора Джеффи.  Слабое

место такого генератора связано с тем, что  такая  система  может

быть легко раскрыта методом криптоанализа  с  использованием  так

называемых линейных синдромов. При современном состоянии  техники

сдвиговых  регистров  с  линейными  обратными  связями   выходная

последовательность может быть раскрыта по перехваченному сегменту

гаммы длиной в строку текста. Известен еще один  генератор  этого

типа - генератор Дженнинга - тоже использующий переключатель  для

объединения двух регистров с линейными обратными  связями.  И  он

довольно несложно вскрывается криптоаналитиками.  Таким  образом,

хотя     множество      возможных      нелинейных      комбинаций

последовательностей, образующих гамму, очень большое, вклад их  в

криптографическую  стойкость  системы  в  целом  незначителен   и

необходимо применять перестановки, как это сделано в DES.

    Следует  иметь  в  виду,  что  большая   линейная   сложность

генераторов  на  сдвиговых  регистрах  является  лишь  одним   из

требований, которым  они  должны  удовлетворять.  Известно  много

хороших  методов,  гарантирующих  большой  нижний   предел   этой

сложности. Многие из опубликованных в последнее время результатов

исследований  по  криптографии  необоснованно  обращают  внимание

только    на    проблемы    большого     периода     генерируемых

последовательностей и  большой  линейной  сложности  генераторов.

Криптологи   же   считают,   что   обнаружение    и    устранение

статистических и скрытых систематических  зависимостей,  особенно

линейных, имеет важнейшее значение при проектировании  конкретной

криптографической системы, так  как  любые  зависимости  в  гамме

приводят к избыточности ключа.

    Теперь приведу вольный пересказ старой газетной статьи. Шпион

несколько  раз  прикурил,  фотографируя  спрятанным  в  зажигалке

фотоаппаратом  открытую  шифровальную  машину  с  разных  сторон.

Затем, введя ключ из одних пробелов, он несколько сот  раз  нажал

букву А. Полученная перфолента шифровки была после  внимательного

рассматривания туго свернута в рулон и небрежно отброшена,  но  в

конце концов незаметно очутилась в его  кармане.  Теперь  вопрос:

почему шпиона заинтересовала шифровка дурацкого текста  из  одной

повторяющейся буквы? Надеюсь, что читатели смогут теперь ответить

на этот вопрос точно и обстоятельно.

 

 

 

    ОБЩИЕ ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ

 

       Верьте брахману больше, чем

       змее, а змее больше чем шлюхе,

       а шлюхе больше, чем афганцу...

 

               Редьярд Киплинг. "Ким "

 

    Потребность  в  защите  информации  возникает   в   связи   с

необходимостью    обеспечить    секретность    исследований     в

стратегических  областях,  правильно  распределять  информацию  о

промышленных разработках и регулировать информацию о  личности  в

современном обществе. Начало восьмидесятых годов  рассматривается

как начальный пункт, когда социальные протесты в  демократических

странах помогли сплестись глобальной сети  хакеров.  Политический

флирт на почве нарушения прав человека породил  тьму  организаций

хакеров в массе стран мира почти одновременно. Менее чем  за  год

эти группы узнали  прелесть  сотрудничества.  Их  члены  свободно

обменивались  идеями  через  национальные   границы,   часто   по

украденным паролям, дающим бесплатный доступ к  телефонной  сети.

Несколько причин,  объединившись  вместе,  сделали  международный

компьютерный  разбой  легким  и  действенным:  новые  технологии,

создавшие   более   мощные   и   дешевые   компьютеры,   развитие

коммуникаций  для  связи  и  международный  характер  стандартов,

установленных транснациональными корпорациями.

    Проблемы  защиты  данных  наиболее  остро   проявляются   при

использовании ЭВМ для обработки и хранения информации  секретного

и частного характера. В этой главе на элементарном  уровне  будут

разобраны возможные угрозы данным в ЭВМ, уровни защиты  данных  в

комплексе  мер   по   обеспечению   их   секретности   и   оценки

эффективности разных средств защиты. Материал,  изложенный  здесь

необходим для ознакомления всем пользователям ЭВМ,  программистам

и администраторам, отвечающим за функционирование  вычислительных

систем для  того,  чтобы  оценить  возможный  реальный  ущерб  от

несанкционированного  доступа  к  их  конфиденциальным  данным  и

принять адекватные меры по их  защите.  Без  установления  общего

комплекса  мер  по  защите  данных  их  шифрование  будет  пустым

занятием. Рассмотрим сначала, какие же  угрозы  могут  возникнуть

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

никнуть от несанкционированного ее  использования  любопытными  и

злоумышленниками.

 

    Угрозы данным

 

    В  принципе  есть  лишь  два   вида   угрозы:   раскрытие   и

видоизменение данных. Раскрытие данных предполагает, что  кому-то

случайно или после целенаправленных действий стал известен  смысл

информации.  Этот  вид  нарушения  встречается  наиболее   часто.

Последствия могут быть самые разные.  Если  похищен  текст  книги

справочника, на которую потрачены месяцы работы  десятков  людей,

то  для  коллектива  авторов  это  катастрофа  и   потери   могут

выражаться в тысячах долларов. Однако если книга уже  издана,  то

достаточно  лишь  слегка  пожурить  похитителя  и  рассказать   о

случившемся в отделе новостей газеты  или  TV,  похититель  может

сделать книге  великолепную  рекламу.  Очень  важную  информацию,

тщательно  оберегаемую  от  раскрытия,  представляют  сведения  о

людях:  истории  болезни,  письма,  состояния  счетов  в  банках.

Однако, по мнению большого числа специалистов, угрозы личности  с

введением компьютеров остались на  том  же  уровне  и  в  том  же

состоянии, что и до обширного использования ЭВМ.

 

 

http://kiev-security.org.ua

САМЫЙ БОЛЬШОЙ В СЕТИ ОБЪЕМ ОНЛАЙН ИНФОРМАЦИИ ПО БЕЗОПАСНОСТИ на rus

 

 

 

    Рассмотрим виды потерь, возникающие от раскрытия  информации.

Обычно данные о людях наиболее важны для них самих,  но,  как  бы

это не  описывали  в  шпионских  фильмах,  мало  что  значат  для

похитителей.  Иногда  личные  данные  могут  использоваться   для

компрометации не только отдельных людей,  но  целых  организаций,

например, если выяснится скрываемая прежняя судимость за растрату

директора коммерческого банка. Но  тот,  кто  компрометирует,  не

имея твердой моральной основы для этого,  в  большинстве  случаев

теряет  больше  самого  компрометируемого.   Лишь   малая   кучка

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

нет дела  до  своего  морального  облика,  наживается,  занимаясь

компрометацией. Тем не менее информация о  людях  ценна  сама  по

себе, основной  убыток  от  ее  разглашения  -  личное  несчастье

человека. Другое  дело  -  раскрытие  стратегической  управляющей

информации. Если вскрыт долгосрочный план  развития  производства

или анализ конъюнктуры на рынке, то  потери  для  держателя