Читать книгу Американська криптологія. Історія спецзв'язку - Вадим Гребенников - Страница 3

2. Винахід «лінійного» шифрування

Оглавление

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

Поштовхом до необхідності автоматизувати процес шифрування послужили технічні досягнення кінця ХІХ століття, такі як телеграф, телефон і радіо, при використанні яких для передачі криптограм удалося істотно підвищити оперативність шифрованого зв'язку. Слідом за змінами у зв'язку змінювалася й криптологія, яка стала спочатку електромеханічною, а потім електронною. Швидкість передачі інформації дуже зросла та все більші обсяги її були піддані перехопленню та прочитанню. Шифрувальники, що вручну заміняли букви та склади спеціальними символами, уже не могли упоратися з постійно зростаючим потоком інформації.

Радіозв'язок виявився дешевшим та мобільнішим за проводовий. З'явилася можливість активізувати повідомлення між військовими підрозділами, установлювати зв'язок з рухомими об'єктами (автомобілями, літаками, кораблями). Однак при цьому спростилося перехоплення переданих таким чином повідомлень, що, зокрема, підтвердила практика Першої світової війни.

Незважаючи на те, що всі учасники бойових дій постійно розробляли нові коди та вдосконалювали старі, забезпечити їхнє збереження вдавалося далеко не завжди. В результаті супротивники нерідко були цілком поінформовані про все, що було в таємному листуванні ворога. З цим були пов'язані і деякі трагічні події, з яких згадаємо у третій частині лише розгром двох російських армій – Раненкампа та Самсонова в Східній Пруссії в серпні 1914 року. Причиною їхнього розгрому була погана організація «закритого» зв'язку, у результаті чого переговори по радіо велися взагалі без усякого шифрування.

Під час війни головним (і найчастіше єдиним) засобом засекречування було кодування. Коди часто застосовували не тільки для того, щоб забезпечити таємність переданої інформації, але й щоб скоротити довжину повідомлення або зробити його більше зрозумілим. Найчастіше код являв собою набір символів (цифр або букв), що заміняли конкретні назви.

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

Різке розширення обсягів зашифрованих передач і порівняльна простота радіоперехоплення повідомлень підштовхнули дешифрувальників до думки про те, що дослідження окремої перехопленої криптограми необхідно зв'язати з аналізом усього масиву перехоплення, у якому з'явилася ця криптограма. Цей шлях виявився досить плідним. Як справедливо відзначає Д. Кан, «телеграф створив сучасну шифрувальну справу, радіо – сучасний криптоаналіз».

Шифрований текст, переданий по радіо, був доступний кожному, хто мав у своєму розпорядженні нескладний приймач. І навіть, якщо цей текст не можна було розшифрувати відразу, його можна було використовувати при аналізі наступних повідомлень. У цей період одержали розвиток методи дешифрування, засновані на парах відкритих і шифрованих текстів; на декількох шифровках, створених за допомогою одного ключа; на переборі ймовірних ключів. Саме ці методи застосовувалися англійцями для читання секретного листування німців під час Першої світової війни.

Телеграф і радіо почали поступово витісняти кодування з метою захисту інформації на користь застосування шифрів. Громіздкі та малозручні при використанні секретні кодові книги могли стати і ставали здобутком супротивника, а їхня зміна породжувала серйозні проблеми. Шифри виявилися набагато мобільнішими та дешевшими. Секретне кодування почало зменшуватися, але не зникло зовсім. Коди стали застосовуватися разом із шифрами. Таке сполучення виявилося досить ефективним і дійшло до наших днів. Підкреслимо, що при компрометації шифру досить лише змінити його ключі, а не всі кодові книги. Відзначимо також, що коди дуже чуттєві до лексики та словникового запасу мови спілкування. Поява нових термінів і понять приводила до необхідності поновлення кодових книг. Шифри в цьому плані набагато важливіші, тому що їхнє застосування не пов'язане зі змістом відкритого тексту.

До речі, у 1881 році була запатентована перша ідея телефонного шифратора Д.Х.Роджерсом. Ідея складалася в передачі телефонного повідомлення декількома (у найпростішому випадку – двома) лініями за допомогою почергових імпульсів у деякій послідовності, яка швидко змінювалася та нагадувала телеграфне повідомлення. Пропонувалося рознести такі лінії на значну відстань одна від одної для того, щоб усунути можливість підключення відразу до всіх одночасно. Підключення ж до однієї з них дозволяло б чути лише окремі нерозбірливі сигнали.

У XIX столітті застосовувалося, в основному, так зване, попереднє шифрування повідомлень. У цьому випадку відправник зашифровував передане повідомлення (у якому шифротекст задовольняв вимогам телеграфної передачі), після чого відносив шифроване повідомлення на телеграф. У ХХ столітті таке уповільнення в передачі повідомлень часто виявлялося неприйнятним. Треба було розробити методи так званої лінійної передачі шифрованих повідомлень, при якій апарат шифрування (шифратор) знаходився би безпосередньо в апаратурі передачі послань. Таким чином, передача шифрованого повідомлення в принципі не відрізнялася би від передачі нетаємного повідомлення.

Таку ідею автоматичного шифрування телеграфних повідомлень у грудні 1917 року запропонував американець Жильбер Вернам (1890—1960), молодий інженер компанії «Американський телефон і телеграф» (англ. American telephone and telegraph, AT&T) та талановитий винахідник. Він працював у телеграфному відділенні науково-дослідного відділу компанії, де займалися розробкою «телетайпу» – букводрукуючого телеграфного апарату.

Ще влітку, через кілька місяців після того, як Сполучені Штати оголосили війну Німеччині, в компанії почалася робота над секретним проектом щодо можливості зберігання в таємниці повідомлень, переданих телетайпом. Під час досліджень виявилося, що коливання струму в лінії зв'язку могли бути записані за допомогою осцилографу та потім легко перетворені в букви переданого повідомлення. Тому було вирішено внести зміни в з'єднання дротів друкуючого механізму телетайпу. У результаті текст повідомлення шифрувався методом одноалфавітної заміни. У телеграфному відділенні розуміли, що такий захист був занадто слабким, однак нічого іншого придумати не змогли та припинили займатися цією проблемою до тих самих пір, поки Вернам не повідав їм про свою ідею.

Він запропонував використовувати особливості телетайпного коду Бодо, в якому кожний знак складався з п'яти елементів. Кожний з цих елементів символізував наявність (»+») чи відсутність (» —») електричного струму в лінії зв'язку. Таким чином, було 32 різні комбінації «+» і «—». 26 з них повинні були відповідати буквам, а ті, що залишилися, позначали «службові комбінації» (пробіл між словами, перехід з букв на цифри та розділові знаки, зворотний перехід з цифр і розділових знаків на букви, повернення каретки друкуючого пристрою, перехід на новий рядок і холостий хід).

Наприклад, буква «А» позначалася комбінацією «++–», а перехід на цифри та розділові знаки позначався комбінацією «++—++». Закодоване повідомлення набивалося на перфострічці: «+» були дірками, а «—» – їхньою відсутністю. При зчитуванні перфострічки металеві щупи проходили через дірки, замикали електричне коло та посилали імпульси струму по дротах. А там, де на перфострічці знаходився «—», папір не дозволяв цим щупам замкнути коло, і в результаті струмовий імпульс не передавався.

Вернам запропонував готувати перфострічку з випадковими знаками (так звану «гаму») заздалегідь і потім електромеханічно складати її імпульси з імпульсами знаків відкритого тексту. «Гама» – це секретний ключ, що хаотичним набором букв того ж самого алфавіту. Отримана сума являла собою шифротекст, призначений для передачі по лінії зв'язку. Вернам установив таке правило підсумовування: якщо відразу обидва імпульси були «+» чи «—», то підсумковий імпульс буде «-», а якщо ці імпульси різні, то в результаті вийде «+».

Додавання, за сучасною термінологією, здійснюється «за модулем 2» («0» означає знак «—», а 1 – «+»): 0 +0 = 0; 0 +1 = 1; 1 +0 = 1; 1 +1 = 0. Нехай, наприклад, знак «гами» має вигляд: «+—+–» (10100). Тоді буква «А» – «++–» (11000) при шифруванні переходить у двійкову комбінацію «—++–»: (01100) = (11000) х (10100). При розшифруванні ту ж операцію необхідно повторити у зворотному порядку: (01100) х (10100) = (11000) – «++–» – буква «А».

Щоб підсумовувати електроімпульси при шифруванні, Вернам сконструював спеціальний пристрій, що складався з магнітів, реле та струмознімних пластин. А оскільки процедура розшифрування була аналогічна процедурі зашифрування, цей же прилад міг бути використаний і при розшифруванні. Імпульси надходили в пристрій підсумовування з двох зчитувачів: один зчитував «гаму», а інший – відкритий текст. «Плюси» й «мінуси», що отримували на виході, можна було передавати як звичайне телетайпне повідомлення. На прийомному кінці пристрій, винайдений Вернамом, додавав імпульси, що зчитувалися з ідентичної стрічки з «гамою», і відновлював вихідні імпульси відкритого тексту.

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

Основна перевага винайденого Вернамом методу засекречування повідомлень полягала не в механічному шифруванні відкритого тексту з наступною печаткою результату на папері, що було здійснено ще на початку 70-х років XIX століття французами Емілем Вінеєм і Жозефом Госсеном. Вернам уперше зумів поєднати два процеси – шифрування та передачу повідомлення. Він створив те, що згодом назвали лінійним шифруванням, щоб відрізняти його від традиційного попереднього шифрування. Вернам звільнив процес шифрування від кайданів часу й помилок, виключивши з цього процесу людину. Видатний внесок, зроблений Вернамом у практику шифрування, полягає саме в тому, що він привніс у шифрувальну справу автоматизацію, що вже встигла до початку XX століття послужити людям у багатьох сферах їхньої діяльності.

Навколо ідеї, висловленої Вернамом у колі колег, моментально розгорнулася активна діяльність. Спочатку Вернама змусили викласти цю ідею в короткій записці, яка була датована 17 грудня 1917 року. Компанія «AT&T» повідомила про винахід Вернама американське військово-морське відомство, з яким вона підтримувала тісне співробітництво. 18 лютого 1918 року відбулася нарада, у якій взяли участь Вернам і інші інженери з телеграфного відділення компанії «AT&T», з одного боку, і військові моряки, з іншого.

27 березня ці ж інженери зустрілися зі своїми колегами з американської компанії «Вестерн електрик», виробничої філії «AT&T», і домовилися з ними про виготовлення перших двох лінійних шифраторів із використанням якомога більшої кількості стандартних деталей. У лабораторії «Вестерн електрик» виготовлені шифратори були приєднані до телетайпів і здійснені перші іспити процесу, що назвали «автоматичним шифруванням». Усі пристрої, що входили до його складу, працювали без збоїв. Компанія «AT&T» проінформувала про цей факт майора Джозефа Моборна (1881—1971), що займав тоді посаду начальника відділу науково-дослідних і конструкторських розробок військ зв'язку Армії США.

Невирішеним залишалося всього одне питання – звідки брати «гаму». Спочатку «гама» для пристрою Вернама являла собою склеєні петлею короткі перфострічки, на які були набиті знаки, витягнуті навмання з різних відкритих текстів. Інженери компанії «AT&T» майже відразу звернули увагу на істотні вади такого процесу «автоматичного шифрування», пов'язані з недостатньою довжиною «гами». Тому, щоб ускладнити криптоаналіз, вони зробили перфострічки з «гамою» більш довгими. Але тоді ці перфострічки стало занадто важко використовувати.

Вернам запропонував підсумовувати дві короткі, що мають різну довжину «гами» таким чином, начебто б одна «гама» шифрувала іншу. Отримана в результаті так звана вторинна «гама», яка мала значно більшу довжину, ніж дві вихідні первинні «гами», що були використані для її генерації, була застосована для зашифрування відкритого тексту. Наприклад, якщо одна закільцьована стрічка мала 1000 знаків, а інша – 999, то дане розходження в довжинах усього в один знак давало 999 000 комбінацій, перш ніж результуюча послідовність повторювалася.

Однак Моборн розумів, що навіть удосконалена система Вернама дуже вразлива для криптоаналізу. У свої 36 років майбутній начальник військ зв'язку США Моборн був неабияким криптоаналітиком. Він ґрунтовно вивчив криптоаналіз в армійській школі зв'язку та був добре обізнаний з останніми досягненнями в цій сфері. Більш того, за кілька років до описуваних подій Моборн сам брав участь в одній науково-дослідній роботі, у ході якої фахівці з армійської школи зв'язку зробили висновок про те, що єдиною стійкою «гамою» була така, що порівняна по довжині з самим повідомленням. Будь-яке повторення в «гамі» піддавали величезному ризику отримані за її допомогою криптограми та, скоріше за все, привели би до їх розкриття.

Проведений Моборном аналіз системи «автоматичного шифрування» ще більше переконав його в цьому. Він зрозумів, що не має ніякого значення, чи знаходяться повторення в межах однієї криптограми чи вони розподілені по декількох, чи виходять вони шляхом комбінування двох первинних «гам», чи в результаті простого повторення в єдиній довгій «гамі». Важливим було те, що в «гамі» повторень не повинно бути ні за яких умов. Необхідно, щоб вона була зовсім унікальна й максимально хаотична.

Усвідомивши це, Моборн об'єднав властивість хаотичності «гами», на що спирався Вернам у своїй системі «автоматичного шифрування», із властивістю унікальності «гами», виробленою криптографами армійської школи зв'язку, у системі шифрування, що нині прийнято називати «одноразовим шифроблокнотом». Одноразовий шифроблокнот містив випадкову «гаму», що використовувалася тільки одного разу. При цьому для кожного знака відкритого тексту передбачалося використання абсолютно нового знака «гами», який не піддавався прогнозуванню.

Це була стійка шифросистема. Переважна більшість систем шифрування були абсолютно стійкими лише на практиці, оскільки криптоаналітик міг знайти шляхи їхнього розкриття при наявності в нього визначеної кількості шифротексту та достатнього часу для його дослідження. Одноразовий же шифроблокнот був абсолютно стійким як у теорії, так і на практиці. Яким би довгим не був перехоплений шифротекст, скільки б багато часу не приділялося на його дослідження, криптоаналітик ніколи не зможе розкрити одноразовий шифроблокнот, використаний для одержання цього шифротексту. І ось чому.

Розкриття багатоалфавітного шифру означало об'єднання всіх букв, зашифрованих за допомогою одного шифроалфавіту, у єдину групу, яку можна вивчати на предмет виявлення її лінгвістичних особливостей. Методи такого об'єднання могли бути різними в залежності від виду «гами». Так, метод Казиського полягав у виділенні ідентично «гамованих» букв відкритого тексту при повторюваній «гамі». Зв'язна «гама» могла бути розкрита шляхом взаємного відновлення відкритого тексту та «гами». А «гама», використана для зашифрування двох чи більше повідомлень, піддавалася розкриттю шляхом одночасного відновлення відкритих текстів цих повідомлень, причому правильність прочитання одного тексту контролювалася читаністю іншого. Майже для всіх різновидів багатоалфавітних шифрів був розроблений свій метод розкриття, заснований на їхніх відмінних рисах.

Зовсім іншою була ситуація з одноразовим шифроблокнотом. У цьому випадку криптоаналітик не мав відправної крапки для своїх досліджень, оскільки в одноразовій шифросистемі «гама» не містила повторень, не використовувалася більше одного разу, не була зв'язним текстом і не мала внутрішніх структурних закономірностей. Тому всі методи дешифрування, тією чи іншою мірою засновані на цих характеристиках, не давали ніяких результатів. Криптоаналітик заходив до тупика.

Залишався лише метод тотального випробування. Адже прямий перебір усіх можливих ключів, у кінцевому рахунку, обов'язково приводив криптоаналітика до відкритого тексту. Однак успіх, досягнутий цим шляхом, був ілюзорним. Тотальне випробування дійсно дозволяло одержати вихідний відкритий текст. Але воно також давало й кожен інший можливий текст тієї ж довжини, тому сказати, який з них є правильним, було неможливо.

Разом із тим, цей досконалий шифр не знайшов широкого застосування через величезну кількість «гам», що потребуються при його використанні. Проблеми, що виникають при виготовленні, розсиланні та знищенні «гами», людині, не обізнаній в усіх тонкощах організації шифрозв'язку, можуть здатися дріб'язковими, однак у воєнний час обсяги листування стають дуже великими. Протягом доби може знадобитися зашифрувати сотні тисяч слів, а для цього потрібно виготовити мільйони знаків «гами». І оскільки «гама» для кожного повідомлення повинна бути єдиною та неповторною, то її загальний обсяг буде еквівалентний обсягу всього листування за час війни.

Таким чином, практичні проблеми не дозволили застосовувати одноразові шифроблокноти у ситуаціях, які швидко змінюються, наприклад, у ході проведення військових операцій. Цих проблем не існувало в більш стабільних умовах: у генеральних військових штабах, дипломатичних представництвах або агентурному листуванні одноразові шифроблокноти були досить практичними та знайшли застосування. Однак і тут виникали нездоланні труднощі, якщо обсяг листування був занадто великим.

Це саме й відбулося, коли Моборн, улаштувавши перший великий іспит шифросистеми Вернама, установив його машини відразу в трьох містах. Навіть, при порівняно невеликому обсязі листування (до 135 коротких повідомлень щодня) виявилося неможливим виготовити достатню кількість якісної «гами». Тому, не знайшовши іншого виходу зі скрутного становища, Моборн став комбінувати з двома відносно короткими «гамами» з метою одержання з них більш довгої «гами», як це спочатку й пропонував робити сам Вернам.

У вересні 1918 року Вернам відправився до Вашингтона та подав там заявку на патент. Перша світова війна встигла закінчитися скоріше, ніж шифросистема Вернама зуміла хоч якось виявити свої достоїнства на практиці. Проте 22 липня 1919 року на неї був виданий патент №1310719 – найважливіший в історії криптології. Експерти з вашингтонського патентного бюро визнали можливу корисність цього винаходу й у мирний час.

Хоча прилад, утворений Вернамом, безсумнівно був цінним результатом творчої інженерної думки талановитого винахідника, у комерційному плані він зазнав повного «провалу». Телеграфні компанії та комерційні фірми, що, на думку «AT&T», повинні були масово закуповувати запатентовані шифроприставки Вернама до своїх телетайпів, віддавали перевагу старомодним кодам, що істотно знижували довжину повідомлень, тим самим зменшуючи телеграфні витрати й одночасно забезпечуючи хоч якусь, навіть невелику, безпеку листування. Після закінчення Першої світової війни бюджети збройних сил усіх країн були скорочені до мінімуму. Недолік засобів і недостатність матеріальних ресурсів змусили армійських зв'язківців знову повернутися до комбінування двох відносно коротких стрічок з «гамою», а продемонстрована військовими криптоаналітиками слабка стійкість такої системи генерації «гами» призвела до того, що шифросистема Вернама на якийсь час була забута.

Стосовно ж самого Вернама, то він продовжував займатися науково-дослідною роботою в компанії «AT&T». Учений удосконалив свою шифросистему, а також винайшов прилад для автоматичного шифрування написаного від руки тексту під час його передачі фототелеграфом. У 1929 році Вернама зі значним підвищенням перевели в одну з філій компанії «AT&T». Однак через чотири місяці в США вибухнула фінансова криза, і, оскільки Вернам ще не встиг заробити достатній виробничий стаж на новому місці, його незабаром звільнили. Він перейшов на роботу в іншу велику компанію, але різка зміна в його особистій долі, певно, подіяла на нього гнітюче. З кожним роком про Вернама було чути усе менше і менше, поки нарешті 7 лютого 1960 року людина, що автоматизувала процес шифрування, не вмерла практично в повному забутті.

Американська криптологія. Історія спецзв'язку

Подняться наверх