Научная статья на тему 'Використання машини Тьюринга для розв’язання криптографічної задачі поліноміальної складності'

Використання машини Тьюринга для розв’язання криптографічної задачі поліноміальної складності Текст научной статьи по специальности «Математика»

CC BY
661
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
машина Тьюринга / алгоритм шифрування / квадрат Полібія / Turing machine / encryption algorithm / Polybius square

Аннотация научной статьи по математике, автор научной работы — Петрова Олена Олександрівна, Бурменський Рустам Валерійович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using the Turing machine to solve cryptographic task polynomial complexity

A model of the process to calculate the deterministic tape Turing machine to implement a symmetric encryption algorithm using Polybius square. Here given the steps of encoding data and a program that simulates the MT work to solve cryptographic tasks. The constucted model of deterministic algorithm and software make it possible to proof the existence or nonexistence of algorithms for solving problems.

Текст научной работы на тему «Використання машини Тьюринга для розв’язання криптографічної задачі поліноміальної складності»

КОМПЬЮТЕРНЫЕ^ НАУКИ й^

УДК 510.582

ВИКОРИСТАННЯ МАШИНИ ТЬЮРИНГА ДЛЯ РОЗВ'ЯЗАННЯ КРИПТОГРАФ1ЧНО1 ЗАДАЧ1 ПОЛ1НОМ1АЛЬНО1 СКЛАДНОСТ1

ПЕТРОВА О.О, БУРМЕНСЬКИЙ Р.В._

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

Ключовi слова: машина Тьюринга, алгоритм шифрування, квадрат Полiбiя.

Key words: Turing machine, encryption algorithm, Polybius square.

Вступ

Проблемы ршення задач можна роздшити на класи вiдповiдно до складност !х розв'язання. Клас P скла-даеться з проблем, як можна вирiшиги за полшомь альний час, клас NP - iз проблем, як можна вирiшиги за полiномiальний час тальки на недетермшованш машинi Тьюринга (МТ). Як вiдмiчаеться в робот [1], важливiсгь NP у криптографп полягае в тому, що бтьшють симметричних алгоригмiв i алгоригмiв з вiдкритими ключами можуть бути зламанi за недетер-мшований полiномiальний час. Для даного шифро-тексту C крипгоаналiгик просто вгадуе вiдкригий текст X i ключ k, i за полiномiальний час виконуе алгоритм шифрування з входами X i k та перевiряе, чи дорiвнюе результат C. Клас NP включае клас P, оскшьки будь-яка проблема, вирiшувана за полшом-iальний час на дегермiнованiй МТ, буде також вирь шена за полiномiальний час на недегермiнованiй машиш Тьюринга, при цьому пропускаеться етап припущення. Якщо всi NP проблеми вирiшуюгься за полiномiальний час на детермшованш машинi, то P = NP.

Бшьшють задач, цiкавих з практично! точки зору, мають полiномiальнi алгоритми вирiшення. Це озна-чае, що час роботи алгоритму на входi довжини n складае не бшьше O(nk) для деяко! константи k, яка е незалежною ввд довжини входу.

Задача називаеться полiномiальною, то бто вадносить-ся до класу P, якщо iснуе константа k i алгоритм, що вирiшуе задачу з Fa(n)=O(nk), де n - довжина входу алгоритму в бггах.

Таким чином, задачi класу Р е уточненням означення «практично виршувано!» задачi.

Актуальность: в сучасному свiтi висококлалiфiкова-ний спецiалiст може отримати доступ практично до будь-яко! шформацп на комп'ютерi. Для запоб^ання несанкцiонованого втручання необхвдно використо-вувати методи захисту шформацп, що е основою сучасно! криптографп, в якш використовуеться си-метричне та асиметричне шифрування.

Мета роботи: побудова функционально! схеми машини Тьюринга для ршення задачi криптографп.

Для досягнення поставлено! мети сформульован так завдання:

- ознайомлення з задачами криптографп, яш мають полiномiальний алгоритм виршення;

- розробка моделi процесу обчислення на детермшованш однострiчковiй МТ;

- аналiз сучасних дослiджень шифрування з використанням МТ;

- побудова МТ для реалiзаци симетричного алгоритму шифрування з використанням полiбiанського квадрату.

1. Аналiз попередшх дослщжень

Симетричн алгоритми, яш iнодi назизвають умовни-ми, представляють собою алгоритми, у яких ключ шифрування, може бути розрахований за ключем дешифрування i навпаки [1]. У бшьшост симетрич-них алгорттшв ключi шифрування i дешифрування одт й т ж. Цi алгоритми, яш також називають алгоритмами iз секретним ключем або алгоритмами з одним ключем, вимагають, щоб вiдправник i отримувач уз-годили ключ, що використовуеться перед початком безпечно! передачi повiдомлень. Безпечнiсть симетричного алгоритму визначаеться ключем, розкриття ключа означае, що хто завгодно зможе шифрувати i дешифрувати поввдомлення. Доки повiдомлення, що передаються, повинн бути таемними, ключ повинен збер^атися у секрет! Шифрування i дешифрування з використанням симетричного алгоритму позначаеть-ся як: ЕК(М)=С DK(C)=M.

На сьогодн розроблена велика кшьшсть алгорттшв стойко! криптографi!. В цьому аспект цiкавим пред-ставляеться доведення розв'язання криптографiчно! задачi на МТ.

В [2] автор кодуе правила роботи МТ шпбгторною мережею Петрi та вiдмiчае, що програма не е повнютю визначеною, оскшьки е некоректш конфiгурацi! МТ.

В робот [3] розглядаеться побудова МТ, що шифруе текст за допомогою таблщ ввдповвдносп. Кожнш лiтерi латинського алфавiту зютавляеться вiдповiдний бшар-ний код. У шифротекст додаються «смгтш символик», що ускладнюють процес дешифрування, але шифротекст дуже легко пiддаеться розшифровщ. Для цього необхiдно виокремити з нього бiнарнi числа i розшифрувати код за таблицею вiдповiдностi.

Автором Чернушко М.М. у робот! [4] була розглянута «...задача ре^заци за допомогою МТ алгоритму симетричного шифрування методом перестановки та алгоритму шифрування методом одноалфавпно! постановки». При використанн шифрування методом од-ноалфавгто! пiдстановки автор розглядав алфавiт, який складаеться тальки з символiв «АБВГДЕ», що суттево звужуе дiапазон ^в, як тдлягають шифру-ванню.

В наведенш у данiй статп функцюнальнш схемi МТ подолано це обмеження i е можливiсть шифрування ^в з усiх лiтер англiйського алфавпу та деяких спецiальних символiв.

Як бачимо, кожен iз запропонованих алгоритшв шифрування, реалiзований на МТ, мае сво! переваги та недолiки.

2. Основний матерiал

МТ е найбшьш загальною математичною моделлю «детермшованого перетворювача слiв», тобто моделлю, за допомогою яко! може бути обчислена будь—яка функщя з множини слiв в одному алфавiтi в множину слiв в iншому алфавт. Кожна окрема МТ здатна виконувати тальки один алгоритм, для визначення якого можна користуватись термiном «програма МТ» - набiр iнструкцiй, як спрощенi до однотипно! схеми. В« МТ вiдрiзняються сво!ми програмами [5].

МТ мае в розпорядженн шнцеве число знаков (сим-волiв): ü], a2,...,am,що утворюють зовнiшнiй алфавит, в якому кодуються вiдомостi, що подаються в машину, а також тт, як виробляються в нш. В МТ обробка шформаци, як i в комп'ютерi, виконуеться в логiчному блощ, який може перебувати в одному з шнцево! кшькост станiв: qi, q2,.qn. Блок мае два вх1дних канали: через один iз них на кожнш стади роботи машини (в кожному такп) надходить знак з клпинки, яку оглядають, через iнший - знак q, того стану, який приписуеться блоку на даний такт. Через вихвдний канал блок посилае в клiтинку, яку оглядае, ввдповь дний «перепрацьований» знак а, що е однозначною функщею вiд сигналiв a-qi поданих на вхiд (рис. 1).

складае ^т) тршку знаков: Таку лопчну

функцiю зручно подавати у виглядi прямокутно! таб-лицi, стовпчики яко! занумерованi знаками стану, а рядки - знаками зовшшнього алфавiту. В кожнш клггинщ таблицi записано вiдповiдну вихiдну тршку знаков. Таку таблицю можна називати функщональ-ною схемою машини [5].

В роботах [6,7] наведено схематичне зображення де-термшовано! однострчково! машини Тьюринга, описано стуруктуру МТ та розроблено протоколи про-грам МТ для ршення задач обчислювально! математики.

В данш статп наведено функцiональну схему МТ для симетричного алгоритму шифрування методом квадрата Полiбiя.

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

1снуе дек1лька методав використання квадрата Полiбiя.

1. Суть першого методу полягае в тому, що замють кожно! лiтери в словi використовуеться вiдповiдна !й лггера знизу (А = F, В = G).

2. В другому метода зазначаються вiдповiднi кожнш лiтерi цифри з таблицi: першою пишеться цифра по вертикалi, другою - по горизош^ (А = 11, В = 21).

3. Третш метод базуеться на попередньому метода, при цьому записаний попарно первюний код здвигаеться влiво на одну позищю, в другий раз роздшяеться попарно, в результат чого отримуеться шифр [8].

4. Четвертий метод аналопчний другому методовi, але на вiдмiну вiд нього шифр роздшяеться на 2 блоки: цифри по вертикалi пишуться в лiвому блощ, а по горизонталi - в правому.

В запропонованш робот концепщю полiбiанського квадрата реалiзовано з використанням англiйських лiтер та спецiальних знаков на основi четвертого мето -ду використання квадрата Полiбiя в таблищ розмiром

6x6 (рис. 2).

Рис. 1. Обробка шформаци в МТ

Лопчний блок реалiзуе функщю, яка ставить у за-лежнють кожнiй парi знаков: qn (кшьшсть таких пар

1 2 3 4 S 6

1 А В с D Е F

2 G н 1 J К L

3 М N 0 Р Q R

4 S т и V W X

5 У Z , : (В

6 + = ( ) ?

Рис. 2. Квадрат Полiбiя

Для кращого po3yMÍHra шифрування цим методом наведемо приклад: слово CODE шифруеться двома блоками цифр 3345 1311. Якщо роздшити код попарно 33 45 13 11, то зпдно з символами, наведеними в таблиц (рис. 2), отримаемо сукупнють символiв «O,MA».

Четвертий метод використання квадрата Полiбiя було реалiзовано в програмному iнтерпретаторi машини Тьюринга ALGO 2000 [9].

Розроблена авторами програма, що моделюе шифрування тексту методом квадрата Полiбiя, працюе за таким принципом: у сташ qo МТ переглядае символ у клггиш, на якш розташована головка, тсля чого, якщо цей символ наявний у квадрат Полiбiя, головка записуе вiдповiднy йому цифру шифру по вертикат у поточну клiтинy та переходить у вiдповiдний стан q¡ -q6, де iндекс q вказуе на цифру шифру по горизонтали У разi, якщо в сташ q0 не було знайдено символу, що входить до квадрата Полiбiя (головка дiйшла до шнця символьно! послiдовностi), то робота МТ завершуеть-ся.

У станах q¡ - q¿ головка МТ перемiщyеться у кшець символьно! послiдовностi до порожньо! клiтини та ставить ввдповвдну iндексy стану q цифру шифру по горизонтал^ пiсля чого МТ переходить у стан q-r.

У сташ q7 головка МТ перемiщyеться у початок символьно! послiдовностi, тсля чого МТ переходить у початковий стан qo.

Для перевiрки роботи запропонованого алгоритму було введено прiзвище Алана Тьюринга (рис. 3).

Результат шифрування слова «TURING» методом квадрата Полiбiя наведено на рис. 4.

кЛ

3 10 11 12 13 |14 115 16 17 18 13 20 21 22 23

| | | | | |T|U|r|I M G I I I I

Внешний алфавт: |ABCDEFGHIJKLMNOPQRSTUVWXYZ ,:@-t=0?123156

A\Q Q2 Q3 CM Q5 Q6 Q7

А А -4 Ü2 A4Q3 A4Q( A4Q5 A -4 Qg A Q7

В B-fQz В -4 Q3 B1Q| В -f Q5 В Q6 В -»- Q7

С C-fQz С -4 Q3 C+Q( С -f Q5 С -4 Об С +■ Q7

D D-fÜ2 D+Q3 D->Q( □ -f Q5 D4Qe D Q7

Е Е -4 Ü2 E4Q3 E 4Q( E -f Q5 E -4 Qg E Q7

F F-fQz F -4 Q3 F+Q( F4Q5 F -4 Q6 F -»- Q7

G G->Q2 G -4 Q3 G+Q( G -f Q5 G -4 Об G +■ Q7

Н H+Q2 H-fQ3 H->Q( H -f Q5 H4Qe H •»■ Q7

1 1 -4 Ü2 1 -4Q3 1 ■+ Ü4 1 4Q5 1 -4 Q6 1 Q7

J J ->Q2 J -4Q3 J 1Q| J -4 Q5 J -4 Об J -4 Q7

К K->Ü2 К -4 Q3 K1Q| К -f Q5 К -4 Q6 К +■ Q7

L L+Q2 L-fQ3 L->Q( L -f Q5 L 4Qe L •»■ Q7

М M4Q2 M -4 Q3 M -HJ4 M 4Ü5 M -4 Qg M Q7

N N-►02 N -4 Q3 N1Q| N4Q5 N-►06 N -»- Q7

0 O -4 Q2 O -4 Q3 0+Q( O -4 Q5 O -4 Q6 O +■ Q7

Р P +Q2 P-fQ3 P->Q( P -f Q5 P -4 Об P •»■ Q7

Q Q +Q2 Q -4 Q3 ü -HJ4 Q4Q5 Q -4 Q6 Q Q7

R R -4 Q2 R -4 Q3 R+Q( R -4 Q5 R -4 Об R -»- Q7

Рис. 3. Фрагмент протоколу побудовано! МТ

Рис. 4. Результат шифрування

Для представлення шформацл в текстовому виглядi отриманий шифр розбиваеться попарно: 23 63 21 44 32 32 i отриманим парам цифр знаходяться вiдповiднi лiтери в таблищ. Результатом шифрування слова «TURING» буде сукупнють лггер «NRBVII».

Висновки

На основi результатов дослiджень запропонована фун-кцiональна схема машини Тьюринга, яка доводить алгоритм розв'язання запропоновано! крипгографiч-но! задачi полiномiально! складностт Наведено структуру розроблено! МТ, розглянуто операцi!, як вона виконуе, виконано програмне моделювання роботи МТ для реалiзацi! криптографiчного алгоритму.

До переваг запропонованого методу шифрування належать:

-можливють довшьного заповнення таблицi символами, що може ускладнити дешифрування без наявно! у отримувача таблицi Полiбiя на вiдмiну вiд методу шифру Цезаря та шифру iз кодовим словом;

-неможливiсть дешифрування «на льоту» на вiдмiну вiд шифру одноалфавггаою пiдстановкою чи перестановкою та вщносна складнють визначення шифру, оскшьки дешифрування тексту за трьома першими методами квадрата Полiбiя не приведе до успiху;

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

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

тичною у плат громiздкостi программ для МТ. Тому доречшшим для ре^зацп бiльш досконалих алго-pMTMiB шифрування буде використання мов програ-мування.

Лтгература: 1. Левина А.Б. Моделирование криптосистем. Санкт-Петербург: НИУ ИТМО, 2013. 82 с. 2. Зайцев Д.А. Ингибиторная сеть Петри, исполняющая произвольную заданную машину Тьюринга / Д.А. Зайцев // Систем. дослщж. та шформ. технологи. 2012. № 2. С. 26-41. 3. Z. Saqib, M. A. Shahid, M. U. Ashraf. Encryption and Decryption Using Automata Theory/ International Journal of Multidisciplinary Sciences and Engineering, Vol. 6, No. 4, April 2015. Р. 14-21. 4. ЧернушкоМ.М. Применение машины Тьюринга для реализации алгоритмов шифрования [Текст] / М. М. Чернушко // Технические науки: теория и практика: материалы II междунар. науч. конф. Чита: Молодой ученый, 2014. С. 19-22. 5. Трахтенброт Б.А. Алгоритмы и машинное решение задач. М.: Государственное издательство технико-теоретической литературы, 1957. 96 с. 6. Петрова О.О., Бурменський Р.В. Моде-лювання машини Тьюринга обчислення додатку чисел / / Всеукрашська студентська наукова конференщя «Нау-кова Укра!на» (з мiжнародною участю), м. Дшпропет-ровськ, 2015. С. 215-218. 7. Петрова О., Бурменський Р. Функцюнальна схема машини Тьюринга для множення числа на 11 // Матерiали VII Украшсько-польсько! науко-во-практично! конференцп «Електрошка та шформацшш технологи» (ЕлГГ -2015), Львiв-Чинадieво-2015. С. 139-141. 8. Tumblr. 14 способов шифрования. [Електронний ресурс]. Режим доступу: http:// thereichenbachblog.tumblr.com/typesofcipher 9. Эмулятор машины Поста (ALGO 2000). [Електронний ресурс]. Режим доступу: http://teach.sc585.spb.ru/inf/2011/11/21/эму-лятор-машины-поста-algo-2000/

Транслитерированный список литературы:

Лггература: 1. Levina A.B. Modelirovanie kriptosistem. Sankt-Peterburg: NIU ITMO, 2013. 82 s. 2. Zajcev D.A. Ingibitornaja set' Petri, ispolnjajushhaja proizvol'nuju zadannuju mashinu T'juringa / D.A. Zajcev // Sistem. doslidzh. ta inform. tehnologi! 2012. № 2. S. 26-41. 3. Z. Saqib, M. A.

Shahid, M. U. Ashraf. Encryption and Decryption Using Automata Theory/ International Journal of Multidisciplinary Sciences and Engineering, Vol. 6, No. 4, April 2015. С. 14-21. 4. Chernushko M. M. Primenenie mashiny T'juringa dlja realizacii algoritmov shifrovanija [Tekst] / M. M. Chernushko // Tehnicheskie nauki: teorija i praktika: materialy II mezhdunar. nauch. konf. Chita: Molodoj uchenyj, 2014. S. 19-22. 5. Trahtenbrot B.A. Algoritmy i mashinnoe reshenie zadach. M.: Gosudarstvennoe izdatel'stvo tehniko-teoreticheskoj literatury, 1957. 96 s. 6. Petrova O.O., Burmens'ky'j R.V. Modelyuvannya mashy'ny' T'yury'nga obchy'slennya dodatku chy'sel // Vseukrayins'ka students'ka naukova konferenciya «Naukova Ukrayina» (z mizhnarodnoyu uchastyu), m. Dnipropetrovs'k, 2015. S. 215-218. 7. Petrova O., Burmens'ky'j R. Funkcional'na sxema mashy'ny' T'yury'nga dlya mnozhennya chy'sla na 11 // Materialy' VII Ukrayins'kopol's'koyi naukovo-prakty'chnoyi konferenciyi «Elektronika ta informacijni texnologiyi» (ElIT -2015), L'viv-Chy'nadiyevo-2015. S.139-141. 8. Tumblr. 14 sposobov shifrovanija. [Електронний ресурс]. http:// thereichenbachblog.tumblr.com/typesofcipher 9. Эмулятор машины Поста (ALGO 2000). [Електронний ресурс]. http:/ /teach.sc585.spb.ru/inf/2011/11/21/эмулятор-машины-по-ста-algo-2000/

Надшшла до редколегп 12.11.2015

Рецензент: д-р техн. наук Гшь М.1.

Петрова Олена Олександр1вна, канд. техн. наук, доцент каф. Економiчноl юбернетики та iнформацiйнмх технологи Харкiвського нацiонального унiверситету будiвниц-тва та архгтектури. Науковi iнтереси: штучний штелект, експертнi системи. Адреса: Укра!на, 20322. Харкiв, вул. Сумська, 40, тел. +38 098 8499 076.

Бурменський Рустам Валершович, студент Харювського нацюнального унiверситету будiвництва та архгтектури. Науковi iнтереси: програмування, тривимiрне комп'ю-терне модедювання. Захоплення та хоббг читання науко-во! лiтератури про шформацшш технологи та космос. Адреса: Укра!на, 61204. Харкiв, пр. Перемоги, 62Г, тел. +38 097 4352 219.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.