Научная статья на тему 'Математические основы процесса генерации ключей перестановки с использованием шифра Кардано'

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

CC BY
364
66
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
защита информации / шифр Кардано / шифровальные трафареты / алгоритмы перестановки / алгоритмы маршрутной перестановки / алгоритм "прямоугольные и квадратные решетки" / генерация ключей перестановки / криптоанализ / information security / code Cardano / encryption stencils / permutation algorithms / algorithms for routing permutations / "rectangular and square lattice" algorithm / generation of the permutation keys / cryptanalysis

Аннотация научной статьи по математике, автор научной работы — Грыцюк Ю. И., Грыцюк П. Ю.

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

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

Mathematical Foundations of the generation of keys using a permutation cipher Cardano

The features of the development of a reliable algorithm of key reshuffle generation has been considered. This system is based on a classical cipher Cardano "square lattice", which corresponds to the modern mathematical formulation. In general, the system allows you to generate a sequence of random numbers in a given range without repeat. It was found that the algorithm "square lattice" is a permutation routing algorithm, in which the sequence of placement of symbols is given by holes of the square stencil. This algorithm can be used to encrypt the block of the incoming message, and for generating a plurality of permutation keys. With the use of the main provisions of matrix algebra, a mathematical formulation of the algorithm "square lattice" for the generation of permutation keys has been developed. Also shown the mathematical formulation of the algorithm permutation of the rows of an incoming message, where the number of columns can be arbitrary.

Текст научной работы на тему «Математические основы процесса генерации ключей перестановки с использованием шифра Кардано»

The analysis of the probability characteristics of fatigue failure in the rubber materials under cyclic loading is presented. A research has been carried out based on the continuum damage mechanics. Kinetics of damage is determined by the characteristics of fatigue curves. The fatigue S-N curves are built relative to equivalent stress that represents the complex stress strain state to an equivalent simple state subjected to the possibility of appearance of finite strains. The study has been carried out for a material that is used as a matrix of pneumatic tire carcass. A comparative analysis of changes in the probability of failure due to fatigue of the rubber material before and after aging has been done.

Keywords: fatigue, continuum damage, rubber materials, aging.

УДК 681.3.05:004.056.5 Проф. Ю.1. Грицюк, д-р техн. наук - НУ "Львiвська

полтехшка"; здобувач П.Ю. Грицюк, магктр - НЛТУ Украти, м. Львiв

МАТЕМАТИЧН1 ОСНОВИ ПРОЦЕСУ ГЕНЕРУВАННЯ КЛЮЧ1В

ПЕРЕСТАВЛЯННЯ 3 ВИКОРИСТАННЯМ ШИФРУ КАРДАНО

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

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

Ключовг слова: захист шформаци, шифр Кардано, шифрувальш трафарети, перес-тановш алгоритми, алгоритми маршрутного переставляння, алгоримт "прямокутнi та квадратнi гратки", генерування ключгв переставляння, криптоаналiз.

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

Прикладом простого переставляння е запис блоку початкових даних у прямокутну таблицю рядками, а зчитування - стовпцями чи навпаки. Послвдов-нiсть заповнення рядк1в таблицi та зчитування зашифрованих даних стовпцями називають ключем переставляння. Вiдомими алгоритмами переставляння [4] е: мапчш квадрати та шаховi дошки; класичнi та табличш шифри переставляння; маршрутне переставляння з використанням трафаретiв; маршрутне переставляння з використання складних геометричних ф^р, наприклад, фiгур Гамшь-тона. У кожному iз цих алгоритмiв ключi переставляння утворюються за раху-нок рiзницi шляхiв запису символ1в початкових даних i шляхiв зчитування цих символiв у межах деяко! геометрично! фiгури [8]. Часто щ символи мають свою числову нумерацда, тому, як наслiдок, отриманi в таю способи послвдовноста чисел часто мають випадковий характер.

Отже, суть бшьшосп вiдомих алгоритмiв переставляння полягае в подiлi початкових даних на блоки фшсовано!' довжини i в подальшому переставляннi символ1в усерединi кожного блоку за певним алгоритмом [1, ст. 171; 7, ст. 11]. Таю криптографiчнi перетворення призводять тшьки до змiни порядку розмь щення символiв у серединi будь-якого блоку вхщного повiдомлення. Наведенi вище алгоритми переставляння не повнiстю вщповщають ГПВЧ як таким, що мають довгий перюд повторення, чи послiдовнi значення чисел е незалежними i т.д. Тут важливо, щоб згенерованi послщовносп випадкових чисел знаходилися у заданому дiапазонi - вiд 1 до Я i без повторень [2]. Вважаеться [5], що при достатшй довжиш блоку, в межах якого здшснюеться переставляння вхiдних символ1в, i складному неповторному його порядку можна досягти прийнятно!' криптографiчноi стiйкостi алгоритму для простих практичних застосувань.

У робот [6] також було встановлено, що шифр " прямокутнi гратки", будучи алгоритмом маршрутного переставляння, в якому правило розмщення символ1в задаеться отворами в прямокутному трафаретi, можна використовува-ти не тшьки для шифрування блоку вхщного повiдомлення, але й для генеру-вання ключiв переставляння. З використанням основних положень матрично!' алгебри розроблено математичне формулювання алгоритму "прямокутнi гратки" для генерування ключ1в переставляння, а також математичне формулювання алгоритму переставляння стовпщв матриц вхщного повiдомлення, кiлькiсть рядкiв якого може бути довшьною.

Однак у жоднш iз вiдомих на сьогоднi роб^ не наведено реалiзацiю шифру Кардано "квадратш гратки" у його сучасному математичному формулю-ваннi, який би давав змогу генерувати послщовносп випадкових чисел у заданому дiапазонi без повторення. Також по^бно навести математичне формулювання алгоритму " квадратш гратки", яке б давало змогу здшснити надiйну прог-рамну його реалiзацiю, та провести аналiз криптографiчноl його стiйкостi. Об'ект до^дження - генерування ключiв переставляння. Предмет доЫдження - математичш основи реалiзацii шифру Кардано "квадратнi гратки" для генерування певно!' послiдовностi випадкових чисел у заданому дiапазонi без повторення.

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

1) вiдтворити юторто появи шифру Кардано, який належить до класичних ме-тодiв захисту шформацп;

2) здiйснити реалiзацiю шифру Кардано "прямокутш гратки" у його сучаснш його математичнiй штерпретацп, яка б давала змогу генерувати задаш пос-лiдовностi випадкових чисел у заданому дiапазонi без повторення;

3) навести математичне формулювання алгоритму "прямокутш гратки", яке б давало змогу здшснити надшну програмну його реалiзацiю;

4) провести аналiз криптографiчноl стшкост алгоритму маршрутного переставляння "прямокутш гратки";

5) зробити вщповщш висновки та надати рекомендацп щодо використання.

1. Iсторiя появи алгоритмiв маршрутного переставляння

У 1550 рощ Джироламо Кардано (1501-1576 рр.) запропонував викорис-товувати картонш прямокутнi гратки з отвори для зчитування послiдовностi ок-ремих символiв, з яких потiм мали складатися слова та будуватися речення. При цьому вхiдне послання записуеться у виглядi звичайного тексту, яке i е, во-чевидь, криптограмою. Отже, Кардано маскував сво'1 повiдомлення тд зви-чайне послання так, що б вони не були схожi на зашифрованi тексти.

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

Вщомо, що Кардинал Рiшелье (1585-1642 рр.) був прихильником шифру Кардано i використовував 1х у особистому та дшовому листуваннi. Освiченi мешканщ Свропи XVII ст. були знайомi з грою слiв у л^ератур^ в т.ч. з акро-вiршем, анаграмою i шифрами [1]. До кшця XVII ст. першi картонш гратки Кардано вже майже не використовувалися, але iнодi вони все ж таки з'являлися у виглядi зашифрованих повiдомлень, а також як лггературш шедеври. Наприк-лад, Джордж Гордон Байрон часто користувався картонними гратками Кардано швидше за все для демонстрацп сво'х лiтературних навиюв, нiж для серйозного шифрування шформацп.

Одна з рiзновидiв гратки Кардано - поворотна гратка або ситка, в основi яко'1 знаходиться шахова дошка, яка використовувалася в кшщ XVI ст. Поворотна гратка знову з'явилася в бiльш складнш формi в кiнцi XIX ст., але до цього часу будь-який зв'язок з граткою Кардано залишився тiльки в назвi. Воче-видь прямокутш гратки з отворами для записування певних символiв за одним порядком i зчитування 'х у шшому порядку можна назвати в честь Кардано, але 1х також називають просто картонними шифрувальними гратками.

2. Реалiзацiя шифру Кардано "квадратш гратки". Одним iз прикладiв алгоритму маршрутного переставляння е вщомий шифр Кардано, який вва-жаеться блоковим алгоритмом з перюдом Я = п2, де п - парне число. В цьому шифрi як ключ виготовляеться квадратний трафарет розмiром п*п, четверту частину (тобто, п2/4) клiтин якого вирiзають. На рис. 1 наведено приклад квадратного трафарету для п = 4, де сам квадрат показано штрих-пунктирною ль тею, а контури чотирьох вирiзаних отворiв видiлено суцтьною лшею.

Го~ г ] ! ; ; о г......].......| г.......г......1

0° 90° 180° 270°

Рис. 1. Квадратний трафарет та правило його повертання

Нехай n0Tpi6H0 зашифрувати блок вхщного повщомлення, у якому знаходиться n2 символiв. Повщомлення будемо записувати у клггини квадратного трафарету розмiром n*n, яку назвемо матрицею майбутньо'1 криптограми. Про-

цедура шифрування займае чотири кроки. На першому кроцi на початкову мат-рицю криптограми накладаемо трафарет i вписуемо першi и2/4 символи у отвори, починаючи з верхнього рядка. На другому крощ трафарет повертаемо на 90о за годинниковою стршкою вiдносно його центра i у отвори знову вписуемо наступи и2/4 символи повiдомлення. Аналогiчно виконуемо третiй i четвертий кроки, повертаючи щоразу трафарет на 90°, тсля чого у новi позицií отворiв вписуемо наступнi символи повiдомлення.

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

Повщомлення Трафарет

н а в ч о

а ю ч и

- в ч и

М- о с я

1 -ий крс ж Криптограма Ключ 1 Ключ 2 Ключ 3 Ключ 4

н о Н ;о 1 1 о I 1 1

а а 2 2 2 2

в в 3 3 3 3

ч ч 4 4 4 о 1 !о 4

2 -ий крок

а о: II а о 1 5 о 5 1 1 1 5 ;0 5 1 |

ю а ю : 6 6 2 2 6 6 ! 2

ч ч в 7 3 !3 7 7 3 | 3 7

и и ч 8 1 4 4 8 о 1 о 8 4 4 8

3 -ий крок

- - н а 9 1 5 5 1 9 °1 9 5 !5 9 1°

в \ а в 10 2 10 6 6 10 2 10 2 ! 6 6 1 | 2 10

ч ч в ч 7 3 11 11 3 7 п 3 | 3 11 7

и о и и Чо 8 12 4з о4 12 8 8 ! 4 12 12 4 8 |

4-ий крок

м - н а м 9 • 5 13 °5 13 1 9 1 9 13 13 5 9 1

о ! я в о ю 2 | 10 14 6 14 6 10 2 10 2 1 6 14 6 14 2 10

с с ч в ч 15 7 3 111 11 ! з 15 7 7 15 11 | 3 3 11 ! 7 15

\ о я о11 я и ч о8 16 12 1 4 4 112 8 16 16 8 | 4 12 12 4 16 «о

Рис. 2. Кроки шифрування вх1дного повiдомлення та можливi ключi переставляння

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

розмiщенi у матрищ криптограми за порядком, визначеним ключем 1х впису-вання. Зчитавши щ символи за рядками чи стовпцями, отримаемо зашифроване повiдомлення. На рис. 2 показано криптографiчне перетворення вхiдного повь домлення навчаючи вчимося (ёоеепёо discimus1) у таку криптограму намаво-юсчвчияич.

Шифрування даних з використанням квадратного трафарету е блоковим шифром з розмiром блоку Я = п2. У наведеному вище прикладi Я = 4x4 = 16 символ1в. Кiлькiсть можливих трафарепв Qn = 4п2/4 рiзко зростае зi збiльшенням значення п. Наприклад, для трафарету розмiром 2x2 - Q2 = 422/4 = 4, для 4x4 -Q4 = 442/4 = 256, а для 6x6 - Q6 = 4б2/4 = 262144. У кожному з цих ключiв перес-тавляння послщовш значення чисел хоча i матимуть малий перiод повторення, однак будуть незалежними мiж собою, що i е одним iз основних 1х досто'нств.

Шифр Кардано е алгоритмом маршрутного переставляння, в якому правило переставлення символ1в у блош задаеться квадратним трафаретом, тобто е зручним для реалiзацi1' на паперi ручним способом. Загалом цей алгоритм також дае змогу переставляти Я = п2 чисел у довшьному порядку з перюдом 1'х повторення Я! У нашому прикладi алгоритм " квадратш гратки" можна використову-вати для генерування ключiв переставляння довжиною Я = 42 = 16 чисел. Кшь-кiсть всiх можливих переставлянь у ключi тако1 довжини становить 16! = 2,09-1013, що в багато раз1в бшьше за кшьюсть трафаретiв Q4. Вирiшення зав-дання перебору ключ1в переставляння у цьому випадку навт для сучасних ЕОМ представляе iстотну складнiсть.

Ключ переставляння зручно задавати у виглядi такого одновимiрного масиву:

к-{kj, j-i,r}=\jli k2 ... j

К},

який показуе, що перший символ блоку вхвдного повщомлення займае к1 пози-ц1ю у блош криптограми, другий символ перемщаеться на позицда к2 i т.д. Наприклад, при Я = 42 ключ переставляння (ключ 1), отриманий при реалiзацi1' наведеного вище прикладу (рис. 2), при зчитуванш чисел рядками матриш зл1ва на право мае такий вигляд:

~ Г 1 2 3 4 5

={9 1 5 13 2 а для ключа 3 - такий вигляд

6 10

7

14

9

15

12 11

14 16

15 12

16] 4}'

- J1 2 3 4 5

K 3-{1 9 13 5 10

8

14

10 15

11 11

13 16

12 }•

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

1 Docendo discimus (з лат., дотвно - навчаючи навчаюсь) - латинська сентенщя, сформульована Сенекою (молодшим в його листах до свого друга Луцшш Молодшого - римського губернатора Сицилп в часи правлшня Нерона. В сьомому лисп "Моральних листiв до Луцiлiя" (лат. - Epistulae morales ad Lucilium) Сенека, серед шшого, зазначае, що люди навчаючи когось, навчаються самi.

Алгоритм маршрутного переставляння мквадратнi гратки" е легким у ви-користаннi. Проте дешифрування зашифровано'' iнформацií е не з легких. Щоб 11 дешифрувати потрiбно: мати квадратний трафарет; знати послщовшсть запов-нення його клiтин; правильно використовувати даний трафарет.

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

Можна використовувати як квадратш, так i прямокутнi трафарети [6]. Легшим у використанш е квадратнi трафарети. Вони можуть бути рiзних розмь рiв i рiзних шаблонiв. Кожен шаблон - це рiзний ключ шифрування. 1снуе р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в якого може бути довшьною. Для цього викорис-таемо шструментарш матрично'' алгебри1 [3].

3. Математичне формулювання алгоритму "квадратш гратки". Вхщш елементи шифру Кардано при N=4 подано на рис. 3.

Рис. 3. Вхiднi елементи алгоритму "квадратш Гратки ": а) - вхгдне повгдомлення; б) - квадратний трафарет з отворами; в) - матричне подання трафарету

З рисунку видно, що вхщне повщомлення (рис. 3, а) складаеться з Я=N =16 символiв (чисел - у нашому випадку). Подамо його у виглядi такого одновимiрного масиву:

с = (с, = и] = 1ТЯ} ^ (С> = {^,] = I = й =

Г1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 161 (1)

I=1 блок

I=2 блок

I=3 блок

I=4 блок

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

1 Матрична алгебра [таШх а^еЬга] - роздш алгебри, присвячений правилам дш над матрицями.

де Ь=4 - кшьккть крокiв процесу шифрування. У цьому масивi для 1-го кроку видшено вiдповiднi блоки чисел вхвдного повiдомлення.

Квадратний трафарет при 0° мае таке матричне подання:

о°== &о,}=1, щ, и=1, N =

0 1 0 0

1 0 0 0

0 0 1 0

0 0 0 1

(2)

Матрицю ^ертування рядкiв чи стовпщв матрицi подання трафарету сформуемо за допомогою такого виразу:

I =

I =

и={0

якщо I = N - 1 +1; . —~Гг п • 1 = 1, N

0 - 1накше,

и = 1, N

0 0 0 1

0 0 1 0

0 1 0 0

1 0 0 0

(3)

Початкова матриця криптограми мае такий вигляд:

т(0) = Т(0) = И = о, 1=1, N, и=1, N =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

(4)

Крок 1. Процедура вписування символов (чисел) /=1-го блоку вхiдного поввдомлення через отвори трафарету при 0° у клггини матрицi криптограми мае таке математичне формулювання:

/ :{С(1),О10} » Т10 ^ Т10 = Т° = = Р(е™ +,,), 1 = 1,N,« = 1,N =

= {1 2 3 4}^

де Р() - функцк, яка програмно ре^зуе дИ" зазначено! процедури. Матриця криптограми на 1 -му крощ мае такий вигляд:

Т (0) + Т0 = т(1) = |т(1) = 1 = 1 + г0, 1 = Щ,и = Ш =

' У у и ^ \ ]

0 1 0 0 0 1 0 0

1 0 0 0 2 0 0 0

0 0 1 0 0 0 3 0

0 0 0 1 0 0 0 4

(5)

0 0 0 0 0 1 0 0 0 1 0 0

0 0 0 0 + 2 0 0 0 2 0 0 0

0 0 0 0 0 0 3 0 0 0 3 0

0 0 0 0 0 0 0 4 0 0 0 4

(6)

Крок 2. Процедуру повертання трафарету на кут 90° реалiзуемо, виходя-чи з попереднього його стану, за допомогою такого матричного виразу:

О10 х I = О90 =

О90 =

= £ g0k • ^, 1 = 1, N

,г = 1,N

0 1 0 0 0 0 0 1 0 0 1 0

1 0 0 0 х 0 0 1 0 0 0 0 1

0 0 1 0 0 1 0 0 0 1 0 0

0 0 0 1 1 0 0 0 1 0 0 0

(7)

к=1

Пpоцедypa вписyвaння символiв (чисел) 1=2-го 6локу вхщного повщом-лення чеpез отвоpи тpaфapетy пpи 9G° y клiтини мaтpицi кpиптогpaми мae тaке мaтемaтичне фоpмyлювaння:

f : {C(2),G90} ^ T9G ^ T90 = ?90 = j = F(c®+ j,g90), j = 1,N,i = 1,N\ =

= {5 б 7

■ ^

GGlG G G G l G l G G lGGG

■N+j

G G S G

G G G б

G 7 G G SGGG

(8)

Maipm^ кpиптогpaми нa 2-му кpоцi мae тaкий вигляд:

T (1) + T9G = T(2) = ? (2) = J = t(1) +19", j=Щ ,i=ÎN| =

^ М/ y y j j I \

G l G G G G s G G l 5 G

2 G G G + G G G б 2 G G б

G G З G G 7 G G G 7 З G

G G G 4 S G G G S G G 4

(9)

Крон З. Пpоцедypy повеpтaння тpaфapетy нa кут l8G° pеaлiзyeмо, вихо-дячи з попеpеднього його стaнy, зa допомогою тaкого мaтpичного виpaзy:

I xG90 = G180 =

G180 =

gl80 = Ei, g9G,j=1,N

i = 1, N

G G G l G G l G l G G G

G G l G x G G G l G l G G

G l G G G l G G G G G l

l G G G l G G G G G l G

(1G)

Пpоцедypa вписyвaння символiв (чисел) 1=3-го блоку вхщного повщом-лення чеpез отвоpи тpaфapетy пpи 18G° y кттини мaтpицi кpиптогpaми мae тaке мaтемaтичне фоpмyлювaння:

f :{C(3), G

G} ^ T180 ^ T180 = p™ = t180 = F(c®+j,g180), j = 1,N ,i = 1, N =

= {9 1G 11 12} ^

Maipm^ кpиптогpaми нa 3-му кpоцi мae тaкий вигляд:

t (2) + T ™=T ®=i?;(з)=j = j + tl8°, J=ш ,i=ïN|=

l G G G 9 G G G

G l G G G lO G G

G G G l G G G ll

G G l G G G l2 G

(ll)

G l S G 9 G G G 9 l S G

2 G G б + G lO G G 2 lO G б

G 7 З G G G G ll G 7 З ll

S G G 4 G G l2 G S G l2 4

(12)

Крон 4. Пpоцедypy повеpтaння тpaфapетy нa кут 27G° pеaлiзyeмо, вихо-дячи з попеpеднього його CTa^, зa допомогою тaкого мaтpичного виpaзy:

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

9=1

318

36ipHiiK HayKoBo-rexHÍ4Hix пpaць

О х I = О270 =

0.270 =

У = £ & к, у = 1, N

,г = 1,N

1 0 0 0 0 0 0 1 0 0 0 1

0 1 0 0 х 0 0 1 0 0 0 1 0

0 0 0 1 0 1 0 0 1 0 0 0

0 0 1 0 1 0 0 0 0 1 0 0

(13)

Процедура вписування символiв (чисел) /=4-го блоку вхвдного повщом-лення через отвори трафарету при 280° у клггини матриц криптограми мае таке математичне формулювання:

/ :{С(4),О270} ^ Т270

^ Т- = Т2'и = У = F(с34),ё»»), у = 1,N ,, = 1,N =

= {13 14 15 16} ^

Матриця криптограми на 4-му крощ мае такий вигляд:

0 0 0 1 0 0 0 13

0 0 1 0 0 0 14 0

1 0 0 0 15 0 0 0

0 1 0 0 0 16 0 0

(14)

Т (з) + т = Т =

9 15 0

2 10 0 6

0 7 3 11

8 0 12 4

Т № = и № = г(3) +111

Т ГУ 1У + гУ

0 0

15

0

0 0 0

16

0 13 14 0

00 00

и = 1, N1,г = 1, N =

9 1 5 13

2 10 14 6

15 7 3 11 '

8 16 12 4

(15)

(16)

Перетворення елементш матрицi криптограми у елементи одновишрно-го масиву при зчитуваннi символiв (чисел) рядками матрищ злша на право ви-конуемо за такою формулою:

/ : Т(4) ^ К ^ К = {к,_1).N+и = С и = ; - = }; Я = N2 ^ К = {ки,и = ТТЯ} = {9 1 5 13 2 10 14 6 15 7 3 11 8 16 12 4},

де К - ключ переставляння рядка символiв. Роботу алгоритму завершено.

4. Математичне формулювання алгоритму переставляння

Для розумшня подальших дш ключ переставляння подамо у дещо мен-шому виглядi [6], а саме:

К = {к.,у = 1М} = {3,5,2,6,1,4}: М = 6. (17)

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

Р =

Ри =

= {1, якщок = = 1М 0 - шакше

= 1, М

к, \ У 1 2 3 4 5 6

3 0 0 1 0 0 0

5 0 0 0 0 1 0

2 0 1 0 0 0 0

6 0 0 0 0 0 1

1 1 0 0 0 0 0

4 0 0 0 1 0 0

(18)

к =1

+

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

P - =

P- =

1 J1, якщо k = i; . —— Pij = L . j j = 1, M j !Q - 1накше,

i = 1, M

i \ kj 3 5 2 6 1 4

1j 0 0 0 0 1 0

2 0 0 1 0 0 0

3 1 0 0 0 0 0

4 0 0 0 0 0 1

5 0 1 0 0 0 0

6 0 0 0 1 0 0

(19)

Прямий хiд. Вхiдне повiдомлення: Добулавитребамудрогголови! складаеться з R=30 символiв. Подамо його у виraядi одновимiрного масиву:

С = {cj, j = 1,R} = {До_булави_треба_мудрог _голови!}. (20)

Сформуемо таблицю символов вхiдного повщомлення, у якш кiлькiсть рядкiв мае вщповщати розмiру ключа, тобто M = 6, а юльккть рядкiв таблиц обчислимо за такою формулою: N = R/M = 30/6 = 5. Якщо символш у ос-танньому рядку таблищ не вистачае, ix потрiбно додати випадково. Перетво-

рення одновимiрного масиву символш у двовимiрний масив f: С ^ С вико-нуемо за такою формулою:

С = {С ={cj = C(j-1).M+i, i = 1,M}, j = 1,n} =

i \ j 1 2 3 4 5

1 Д а е д о

2 о в б Р л

3 и а о о

4 б i в

5 у т м и

6 л Р у г !

(21)

Перетворення двовимiрного масиву символiв вхiдного повiдомлення у матрицю числових кодiв символiв (згiдно з таблицею ASCII) f: С ^ T вико-нуемо за такою формулою:

T = T = к = KSym(c ), j = 1, N , i = 1,M =

196 238 95 225 243 235

224 226 232 95 242 240

229 225 224 95 236 243

228 240 238 191 95 227

238 235 238 226 232 33

(22)

Для виконання дц переставляння рядюв матриц числових кодiв симво-лiв вхвдного повiдомлення використовуемо такий матричний вираз:

f: T ^ T' ^ P х T = T ' =

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

T '=

<j = j^Piktkj, j = 1, N

,i = 1, M

0 0 1 0 0 0 196 224 229 228 238 95 232 224 238 238

0 0 0 0 1 0 238 226 225 240 235 243 242 236 95 232

0 1 0 0 0 0 х 95 232 224 238 238 238 226 225 240 235

0 0 0 0 0 1 225 95 95 191 226 235 240 243 227 33

1 0 0 0 0 0 243 242 236 95 232 196 224 229 228 238

0 0 0 1 0 0 235 240 243 227 33 225 95 95 191 226

(23)

k=1

внаслiдок чого отримуемо матрицю числових код1в символов зашифрованого повiдомлення.

Перетворення матрицi числових код1в символiв зашифрованого повщом-лення у двовимiрний масив символ1в (зпдно з таблицею ASCII) f: T' ^ C' ви-конуемо за такою формулою:

C' = {C = {c" = Sym(t'), i = 1,M}, j = 1,N} =

и т в

P а

(24)

(25)

Перетворення двовимрного масиву символiв зашифрованого повщом-лення у одновимiрний масив f: C' ^ C' виконуемо за такою формулою:

C' = |cUm+i = c", i = 1M j = 1N};M • N = Л ^ C '= {c', j = 1, R} = {_ уолДбитвра _ амбуе _ о _ ргдюил!ов}.

Отже, зашифроване повiдомлення мае такий вигляд:

_уолДбитвра_амбуе_о_ргдюил!ов

Зворотний хвд. Для виконання зворотного переставляння рядк1в матрищ числових кодiв символiв зашифрованого поввдомлення використаемо такий матричний вираз:

f: T T " ^ P - х T ' = T " =

t" = Е ¿¿Ч, j = 1, N

,i = 1, M

0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 010000 000100

95 232 224 238 238

243 242 236 95 232

238 226 225 240 235

235 240 243 227 33

196 224 229 228 238

225 95 95 191 226

196 238 95 225 243 235 224 226 232 95 242 240 229 225 224

95

240

236 243 228 238 191 95 227 238 235 238 226 232 33

(26)

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

Перетворення матрищ числових код1в символiв розшифрованого повь

домлення у двовимiрний масив символiв (згiдно з таблицею ASCII) f: T" ^ C" виконуемо за такою формулою:

C = {C" = {C" = Sym(tj), j = 1,N},i = 1,M} =

Д а е д о

о в б р л

_ и а о о

б _ _ 1 в

у т м _ и

л р у г !

(27)

о

k=1

х

Перетворення двовимрного масиву символш розшифрованого повщом-лення у одновимiрний масив /: С' ^ С" виконуемо за такою формулою:

Роботу алгоритму завершено.

Криптографiчна стшккть алгоритму залежить вщ довжини блоку (роз-мiрностi матрищ). Так, для блоку довжиною 64 символи (матриця 8x8) можли-вi 8! -8!~1,6109 комбiнацiй ключа. Для блоку довжиною 256 символiв (матриця 16x16) кшьккть ключiв сягае ~4,4-1026. Вирiшення завдання перебору клю-чiв у останньому випадку навт для сучасних ЕОМ представляе ктотну складнiсть.

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

Висновки

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

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

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

1. Адаменко М.В. Основы классической криптологии: секреты шифров и кодов / М.В. Ада-менко. - М. : Изд-во "ДМК Прес", 2012. - 256 с.

2. Архипов А.Е. О моделировании некоторых типов случайных последовательностей / А.Е. Архипов // Вестник Киевского политехнического института. - К. : Изд-во Киев. политехн. ин-та, 1988. - Вып. 12. - С. 39-44.

(28)

С' = {с",] = 1,Я} = {До_булави_ треба_ мудроI _голови!}

Лггература

3. Василенко В.С. Матричн криптографiчнi перетворення в задачах захисту дiлiсностi ш-формаци / В.С. Василенко, О.В. Дубчак, М.Ю. Василенко // Захист шформацй : наук.-практ. журнал. - К. : Вид-во НАУ. - 2012. - № 4. - С. 42-50.

4. Герасимчук М.В. Шифрування шформацй методом переставляння / М.В. Герасимчук, Ю.1. Грицюк // Науковий вюник НЛТУ Украши : зб. наук.-техн. праць. - Львiв : РВВ НЛТУ Украши. - 2011. - Вип. 21.4. - С. 329-336.

5. Емець В. Сучасна криптографiя: основн1 поняття / В. Емець, А. Мельник, Р. Попович. -Львш : Вид-во "БаК", 2003. - 144 с.

6. Жвалюк Юлiя. Використання шифру "прямокутш гратки" для генерування ключш переставляння / Юлiя Жвалюк, Юрш Грицюк // Захист шформацй : зб. наук.-техн. праць. - К. : Вид-во НАУ. - 2013. - Т. 15, № 2, кви-ень-червень. - С. 175-184.

7. Захарченко М.В. Розвинення криптологл та й мiсце в сучасному суспiльствi : навч. по-сiбн. / М.В. Захарченко, Л.Г. Йона, Ю.В. Щербина, О.В. Онацький. - Одеса : Вид-во ОНАЗ iм. О.С. Попова, 2003. - 180 с.

8. Dharwadker Ashay. A new algorithm for finding Hamiltonian circuits / Ashay Dharwadker. [Electronic resource]. - Mode of access http://www.dharwadker.org/hamilton/

Грыцюк Ю.И., Грыцюк П.Ю. Математические основы процесса генерации ключей перестановки с использованием шифра Кардано

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

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

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

Gryciuk Yu.I., Grytsyuk P. Yu. Mathematical Foundations of the generation of keys using a permutation cipher Cardano

The features of the development of a reliable algorithm of key reshuffle generation has been considered. This system is based on a classical cipher Cardano "square lattice", which corresponds to the modern mathematical formulation. In general, the system allows you to generate a sequence of random numbers in a given range without repeat.

It was found that the algorithm "square lattice" is a permutation routing algorithm, in which the sequence of placement of symbols is given by holes of the square stencil. This algorithm can be used to encrypt the block of the incoming message, and for generating a plurality of permutation keys. With the use of the main provisions of matrix algebra, a mathematical formulation of the algorithm "square lattice" for the generation of permutation keys has been developed. Also shown the mathematical formulation of the algorithm permutation of the rows of an incoming message, where the number of columns can be arbitrary.

Keywords: information security, code Cardano, encryption stencils, permutation algorithms, algorithms for routing permutations, "rectangular and square lattice" algorithm, generation of the permutation keys, cryptanalysis.

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