Вивчення криптографічних методів підстановки заміни

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ДЕРЖАВНЕ УСТАНОВА

ВИЩОЇ ОСВІТИ

«БІЛОРУСЬКО-Російського університету»

Кафедра «Автоматизовані системи управління»

Реферат на тему:

"Вивчення криптографічних методів підстановки (заміни)"

з дисципліни

"Криптографія та ОХОРОНА КОМЕРЦІЙНОЇ ІНФОРМАЦІЇ"

Виконав:

Студент гр. АСОІР-081

Чупілін А.М.

Перевірив:

Доцент, кандидат техн. наук

Євсеєнко І.А.

Могилів, 2010

Вивчення криптографічних методів підстановки (заміни)

Визначення. Підстановкою p на алфавіті Z m називається автоморфізм Z m, при якому літери початкового тексту t заміщені літерами шифрованого тексту

p (t): Z m à Z m; p: t à p (t).

Набір всіх підстановок SYM (Z m) називається симетричною групою Z m.

SYM (Z m) має такі властивості:

Замкнутість: твір підстановок p 1 p 2 є підстановкою:

p: t à p 1 (p 2 (t)).

Асоціативність: результат твори p 1 p 2 p 3 не залежить від порядку розстановки дужок: (p 1 p 2) p 3 = p 1 (p 2 p 3)

Існування нейтрального елемента: підстановка i, обумовлена ​​як i (t) = t, 0 £ t <m, є нейтральним елементом SYM (Z m) за операції множення: i p = p i для "pÎ SYM (Z m).

Існування зворотного: для будь-якої підстановки p існує єдина зворотна підстановка p -1, яка задовольнить умові pp -1 = p -1 p = i.

Проста заміна.

У найбільш простому методі підстановки (заміни) символи шіфруемого тексту замінюються іншими символами, взятими з одного-(одно-або моноалфавитной підстановка) або декількох (багато-або поліалфавітного підстановка) алфавітів.

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

Таблиця 3 - Таблиця простої заміни

Вихідні символи шіфруемого

тексту

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

р

q

r

s

t

u

v

w

x

y

z

Замінюють символи

s

р

x

l

r

z

i

m

a

y

e

d

w

t

b

g

v

n

j

o

c

f

h

q

u

k

Використовуючи цю таблицю, Зашифруємо текст: «So ist das Leben. Eilen tut nicht gut. Das Leben ist schoen. Sie ist zu kurz wie Augenblick ». Отримаємо наступне зашифроване повідомлення: «Jb ajo lsj Drprt. Radrt oco taxmo ico. Lsj Drprt ajo jxmbrt. Jar ajo kc ecnk har Scirtpdaxe ». Однак такий шифр має низьку стійкість, так як зашифрований текст має ті ж статистичні характеристики, що й вихідний. Подальша розшифровка не складає труднощів. Якби обсяг зашифрованого тексту був набагато більше, ніж у розглянутому прикладі, то частоти появи літер у зашифрованому тексті були б ще ближче до частот появи літер в англійській або німецькій алфавіті і розшифровка була б ще простіше. Тому просту заміну використовують рідко і лише в тих випадках, коли шіфруемий текст короткий.

Шифр Цезаря

Є окремим випадком шифру простої заміни (одноалфавітной підстановки). При шифруванні вихідного тексту кожна буква замінялася на іншу букву того ж алфавіту шляхом зміщення за алфавітом від вихідної літери на К букв. При досягненні кінця алфавіту виконувався циклічний перехід до його початку. Цезар використовував шифр заміни при зміщенні К = 3. Наприклад, послання Цезаря VENI VIDI VICI (в перекладі на російську означає "Прийшов, побачив, переміг"), спрямоване його другу Амінт після перемоги над понтійським царем Фарнаком, сином Мітрідата, виглядало б у зашифрованому вигляді так:

YHQL YLGL YLFL

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

Розглядаючи алфавіт криптосистеми як безліч цілих чисел Z m, ми можемо записати функцію шифрування Е k для k = 3 у шифрі Цезаря як

Е k : X(x + 3) mod m, "x Î Z m,

де x - числовий код букви відкритого тексту;

x + 3 - числовий код відповідної букви шифртекста;

m - кількість символів в алфавіті.

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

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

Шифр Цезаря з ключовим словом

Цей шифр також є одноалфавітним. Особливістю його є використання ключового слова для зсуву та зміни порядку символів в алфавіті підстановки.

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

Приклад. Правило підстановки для k = 3 і ключа «інформація»:

вихідний текст: абвгдежзійклмнопрстуфхцч ...

шифрований текст: еюінформацябвгдежзйклоп ...

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

Шифр Цезаря Многоалфавитная.

На відміну від простого шифру Цезаря, Многоалфавитная утворюється безліччю одноалфавітних підстановок, що визначаються функціями шифрування Е k для різних значень ключа k, причому 0 <k <m, де m - кількість символів алфавіту.

У відповідності до цієї системи буква x Î Z m відкритого тексту перетворюється на букву y Î Z m шифртекста згідно з наступним правилом:

Е k: y = (x + k) mod m,

де x - числовий код букви відкритого тексту; y-числовий код відповідної букви шифртекста.

Концепція, закладена в систему шифрування Цезаря, виявилася дуже плідною, про що свідчать її численні модифікації.

Шифри складної заміни

Шифри складної заміни називають Многоалфавитная. Многоалфавитная підстановка послідовно і циклічно змінює використовувані алфавіти. При r-алфавітній підстановці символ х 0 вихідного повідомлення замінюється символом з алфавіту В 0, символ х 1 символом з алфавіту B 1, і так далі, символ х r-1 замінюється символом з алфавіту B r-1, символ х r замінюється символом знову з алфавіту В 0, і т.д.

Загальна схема Многоалфавитная підстановки (r = 4):

Вхідний символ х 0 х 1 х 2 х 3 х 4 х 5 х 6 х 7 х 8 х 9

Алфавіт підстановки B 0 B 1 B 2 B 3 B 0 B 1 B 2 B 3 B 0 B 1

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

Ступінь захисту, який він теоретично пропорційна довжині періоду r в послідовності використовуються алфавітів В.

У разі блокового шифру ця підстановка шифрує n-граму (блок) відкритого тексту 0, х 1, х 2, ..., х n -1) в n-граму (y 0, y 1, y 2, ..., y n -1) шифртекста відповідно до формули:

y i = π ii), 0 <i <n, n = 1, 2, 3, ... .

При n ® ∞ ми наближаємося до теоретично стійкою одноразової системі шифрування.

Даний шифр може бути використаний і для потокового шифрування, де відкритий текст шифрується побуквенно (літера за літерою).

При цьому i-а літера шифртекста є функцією тільки i-ої компоненти π i ключа К і i-ої літери х i; відкритого тексту.

Схема шифрування Вижинера

Схема шифрування Вижинера вперше була опублікована в 1586 р. і є однією з найстаріших і найбільш відомих Многоалфавитная систем. Свою назву вона отримала на честь французького дипломата XVI століття Блеза Вижинера. Цей шифр Многоалфавитная заміни можна описати таблицею шифрування, званої таблицею (квадратом) Вижинера. Розмір таблиці Вижинера дорівнює довжині алфавіту. Таблиця Вижинера являє собою квадратну матрицю з n 2 елементами, де n - число символів використовуваного алфавіту. У таблиці 4 показано верхня частина таблиці Вижинера для кирилиці.

Таблиця 4 - Таблиця Вижинера

а

б

в

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

б

в

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

в

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

г

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

г

д

І т.д. до тридцять третього рядка

Перший рядок має цифровий ключ «0» і заповнюється усіма символами за алфавітом, друга має цифровий ключ «1» і заповнюється тими ж символами, зсунутими праворуч на один символ по колу, і далі k - а має цифровий ключ «k -1» і заповнюється тими ж символами, зсунутими вправо на (k -1) символ по колу.

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

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

Таблиця 5 - Робоча матриця шифрування для ключа «книга»

а

б

в

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

Ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

г

д

е

е

ж

з

і

ї

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

г

д

е

е

ж

з

і

ї

до

л

м

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

г

д

е

е

ж

з

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

а

б

в

а

б

в

г

д

е

е

ж

з

і

ї

до

л

м

н

про

п

р

з

т

у

ф

х

ц

ч

ш

щ

'

и

ь

е.

ю

я

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

Нехай, наприклад, потрібно зашифрувати повідомлення:

«Максимально допустимої ціною».

Відповідно з першим правилом записуємо під буквами шіфруемого тексту букви ключа. Отримуємо (таблиця 6):

Таблиця 6 - Перший етап шифрування для ключа «книга»

м

а

до

з

і

м

а

л

ь

н

про

д

про

п

у

з

т

і

м

про

ї

ц

е

н

про

ї

до

н

і

г

а

до

н

і

г

а

до

н

і

г

а

до

н

і

г

а

до

н

і

г

а

до

Далі здійснюється безпосереднє шифрування відповідно до другого правилом, а саме: беремо першу літеру шіфруемого тексту (М) і відповідну їй букву ключа (К); по букві шіфруемого тексту (М) входимо в робочу матрицю шифрування і вибираємо під нею букву, розташовану в рядку, що відповідає букві ключа (К), - у нашому прикладі такою буквою є Ч; обрану таким чином букву поміщаємо в зашифрований текст. Ця процедура циклічно повторюється до зашифрування всього тексту.

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

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

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

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

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

З метою підвищення стійкості шифрування можна використовувати вдосконалені варіанти таблиці Вижинера. Розглянемо один з них. В усіх (крім першої) рядках таблиці літери розташовуються в довільному порядку. Як ключ використовується випадковість послідовних чисел. З таблиці Вижинера вибираються десять довільних рядків, які кодуються натуральними числами від 0 до 10. Ці рядки використовуються відповідно до чергуванням цифр у вибраному ключі.

Шифри Вижинера з коротким періодичним ключем використовуються і в наші дні в системах шифрування, від яких не потрібна висока крипостійкість. Так, наприклад вони використовувалися у програмі-архіваторі ARJ і в програмі Word версії 6.

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

Нехай ключова послідовність системи Вижинера має довжину r, тоді ключ r - алфавітної підстановки, який є рядком букв або цифр можна уявити у вигляді послідовності підстановок

π = (π 0, π 1, ..., π r -1),

Функція шифрування Вижинера Е π: хy перетворює відкритий текст х = 0, х 1, х 2, ..., х n -1) в шифртекст y = (y 0, y 1, y 2, ..., y n - 1) відповідно до правила:

y = (y 0, y 1, y 2, ..., y n -1) = (π 0 0), π 1 1), ..., π n -1 n -1)),

де π i = π (i mod r).

Диск Альберті

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

Шифр Гронсфельда

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

Шифртекст отримують аналогічно, як у шифрі Цезаря, але відраховують за алфавітом не третю букву (як це робиться в простому шифрі Цезаря), а вибирають ту букву, яка зміщена за алфавітом на відповідну цифру ключа (таблиця 7).

Таблиця 7 - Приклад використання шифру Гронсфельда

Повідомлення

У

Про

З

Т

Про

Ч

Н

И

Й


Е

До

З

П

Р

Е

З

З

Ключ

2

7

1

8

2

7

1

8

2


7

1

8

2

7

1

8

2

Шифртекст

Д

Х

Т

Ь

Р

Ю

Про

Г

Л


Д

Л

Щ

З

Ч

Ж

Щ

У

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

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

Афінна система підстановок Цезаря

Афінна система шифрування відноситься до класу шифрів, заснованих на аналітичних перетвореннях шифрованих даних. У системі шифрування Цезаря використовувалися тільки адитивні властивості безлічі цілих Z m, тобто вона розглядалася як група з операцією додавання.

Розглядаючи безліч цілих чисел Z m з двома операціями додавання і множення за модулем m, що є кільцем, можна отримати систему підстановок, яку називають афінної системою шифрування Цезаря.

Визначимо в такій системі перетворення Е a, b: Z mZ m:

Е a, b (x) = ax + b mod m,

де в якості ключа k = (A, b) використовується пара цілих чисел, які відповідають умовам 0   a, b <m, і НОД (а, m) = 1.

У даному перетворенні буква, відповідна числа x у відкритому тексті, замінюється на літеру шифртекста, відповідну числовому значенню y = (ax + b) mod m (наприклад m = 26 в латинському алфавіті).

Слід зауважити, що перетворення Е a, b (x) є взаємно однозначним відображенням на безлічі Z m тільки у тому випадку, якщо НОД (а, m) = 1, тобто а і m повинні бути взаємно простими числами.

Це умова взаємної простоти необхідно для забезпечення ін'єктивні відображення Е a, b (x) = ax + b mod m. Якщо воно не виконується, можлива ситуація, коли дві різні букви відображаються в одну (виникає неоднозначність розшифрування), а деякі букви відсутні в шифртекст, оскільки ніякі букви в них не відображаються.

Перевагою афінної системи є зручне управління ключами - ключі шифрування і розшифрування представляються в компактній формі у вигляді пари чисел (а, b). У порівнянні з простою системою шифрування Цезаря, кількість можливих ключів значно більше і алфавітний порядок слів при шифруванні не зберігається.

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

Криптосистема Хілла і її окремий випадок шифр Плейфеpа

Ці криптосистеми також належать до класу шифрів, заснованих на аналітичних перетвореннях шифрованих даних як і афінна система шифрування. Вони засновані на підстановці не окремих символів, а n - грам (шифр Хілла) або 2-грам (шифр Плейфеpа). При більш високій криптостійкості вони значно складніше для реалізації і вимагають досить великої кількості ключової інформації.

Алгебраїчний метод, узагальнюючий афінних підстановку Цезаря для шифрування n-грам, був сформульований Лестером С. Хіллом.

Шифрування ведеться шляхом виконання множення вектора на матрицю. Матриця є ключем шифрування. Відкритий текст розбивається на n-грами - блоки довжиною n, що дорівнює розмірності матриці і кожна n-грами х = 0, х 1, х 2, ..., х n-1) розглядається як вектор.

Ключова матриця Т розміром п × п виду Т = {t i, j}, i, j = 0,1, ..., n - 1 задає відображення, що є лінійним перетворенням:

Т: Z m, nZ m, n, Т: ху; у = Тх,

де .

Для розшифрування шифртекста необхідно виконати зворотне перетворення:

х = Т -1 у.

Для того, щоб лінійне перетворення Т, заданий своєї матрицею, могло бути криптографічним перетворенням необхідно щоб воно було оборотним (або невиродженим), тобто повинна існувати зворотна матриця Т -1: така, що:

Т Т -1 = Т -1 Т = I, де I - одинична матриця.

Доведено, що для цього необхідно, щоб визначник матриці det Т, не ділився на будь-яке просте р, яке ділить m.

Шифри гамування

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

Гамма шифру - це псевдослучайная послідовність, вироблена за заданим алгоритмом для шифрування відкритих даних і дешифрування зашифрованих даних. Під гаммированием розуміють процес накладення за певним законом гами шифру на відкриті дані, він може виконуватися як в режимі блокового, так і потокового шифрування. Він є типовим і найбільш простим прикладом реалізації абсолютно стійкого шифру (при використанні нескінченного ключа п = ).

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

Слід зазначити, що при блочному шифруванні відкриті дані розбивають на блоки Т 0 (i) однакової довжини, зазвичай по 64 біта. Гамма шифру виробляється у вигляді послідовності блоків γ i аналогічної довжини.

Рівняння зашифрування можна записати у вигляді

c i = γ im i, i = 1, ..., M,

де c i - i-ий блок шифртекста; γ i - i-ий блок гами шифру; m i - i-ий блок відкритого тексту; М - кількість блоків відкритого тексту.

Процес дешифрування зводиться до повторної генерації гами шифру і накладенню цієї гами на зашифровані дані. Рівняння розшифрування має вигляд

m i = γ i   c i, i = 1, ..., M.

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

Щоб отримати лінійні послідовності елементів гами, довжина яких перевищує розмір шифрованих даних, використовуються датчики псевдовипадкових чисел (ПСЧ). Одним із добрих конгруентних генераторів є лінійний конгруентний датчик ПСЧ. Він виробляє послідовності псевдовипадкових чисел γ i, описувані співвідношенням

γ i +1 = γ i + B) mod m,

де а і b - константи; γ 0 - вихідна величина, вибрана в якості породжує числа. Очевидно, що ці три величини і утворюють ключ.

Такий датчик генерує псевдовипадкові числа з певним періодом повторення, що залежать від вибраних значень а і b. Необхідно вибирати числа a і b такі, щоб період був максимальним. Як показано Д. Кнутом, це можливо тоді і тільки тоді, коли b - непарне і взаємно просте з m, і величина а mod 4 = 1. За іншими рекомендаціями b - взаємно просте з m, і а непарне.

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

R i = (S i + G) mod (k -1),

де R i, S i, G - символи відповідно зашифрованого, вихідного тексту і гамми.

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

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

Таблиця 8 - Приклад шифрування гаммированием

Шіфруемий текст

Б

У

Д

Ь ...


010010

100000

110010

100000

Знаки гами

7

1

8

2 ...


000111

000001

001000

000010

Зашифрований текст

010101

1000001

111010

100010


Стійкість шифрування методом гамування визначається головним чином властивістю гами - тривалістю періоду і рівномірністю статистичних характеристик. Остання властивість забезпечує відсутність закономірностей у появі різних символів в межах періоду.

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

Як гами може бути використана будь-яка послідовність випадкових символів, наприклад, послідовність цифр числа p і т.п. При шифруванні за допомогою, наприклад, апаратного шифратора послідовність гами може формуватися за допомогою датчика псевдовипадкових чисел (ПСЧ). В даний час розроблено декілька алгоритмів роботи таких датчиків, які забезпечують задовільні характеристики гами.

Метод гамування стає безсилим, якщо зловмисникові стає відомий фрагмент вихідного тексту і відповідна йому шифрограма. Простим вирахуванням за модулем виходить відрізок псевдовипадковою послідовності (ПСП) і по ньому відновлюється вся послідовність. Зловмисники може зробити це на основі припущень про зміст вихідного тексту. Так, якщо більшість посилаються повідомлень починається зі слів "СОВ.СЕКРЕТНО", то криптоаналіз всього тексту значно полегшується. Це слід враховувати при створенні реальних систем інформаційної безпеки.

Шифр Вернама

Цей метод є окремим випадком шифрування гаммированием для двійкового алфавіту (при значенні модуля m = 2).

Конкретна версія цього шифру, запропонована в 1926 році співробітником фірми AT & T Вернама, використовує двійкове представлення символів вихідного тексту. Кожна літера в повідомленні в алфавіті, розширеному деякими додатковими знаками, спочатку переводилася з використанням телеграфного коду Бодо в пятібітовий символ. Тобто алфавіт криптосистеми представляє собою безліч Z 32 всіх пятібітових послідовностей.

Ключ k = (K 0, k 1 ,..., k n -1), де "k i Î Z 32 записувався на паперовій стрічці. При шифруванні ключ додавався до початкового тексту підсумовуванням за модулем 2.

У загальному випадку система шифрування Вернама здійснює побітове складання п-бітового відкритого тексту і п-бітового ключа:

y i = x i k i, i = 1, ..., n

Тут х 1 х 2 ... x п - відкритий текст, k 1 k 2 ... k п - ключ, y 1 y 2 ... y п - шифрований текст.

Розшифрування полягає у додаванні за модулем 2 символів у шифртекста з тією ж послідовністю ключів k:

yk = x.

Метод Вернама використовує довгу випадкову ключову послідовність і при його реалізації виникають проблеми, пов'язані з необхідністю передачі ключа.

Полібіанскій квадрат

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

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

Шифрувальні таблиці Трісемуса

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

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

Приклад. Для російського алфавіту шифруюча таблиця може мати розмір 4x8. Виберемо в якості ключа слово бандеролі. Шифруюча таблиця набуде вигляду:

Таблиця 9 - Приклад використання шифрів таблиці Трісемуса

Б

А

Н

Д

Е

Р

Про

Л

Ь

У

Г

Ж

3

І

І

До

М

П

З

Т

У

Ф

X

Ц

Ч

Ш

Щ

И

'

Е

Ю

Я

При шифруванні за допомогою цієї таблиці

повідомлення В И Л Е Т А Є М П Я Т О Г О

отримуємо шифртекст П Д К З У З Ч Ш Л И Й З Й

Шифр Вінстона

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

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

Приклад. Нехай є дві таблиці розміром з випадково розташованими в них російськими алфавітами. Дві таблиці з випадково розташованими символами російського алфавіту для шифру "подвійний квадрат Вінстона" наведені в таблиці 10.

Таблиця 10 - Приклад використання шифру Вінстона

Ж

Щ

Н

Ю

Р


І

Ч

Г

Я

Т

І

Т

Ь

Ц

Б


1

Ж

Ь

М

Про

Я

М

Е

.

З


3

Ю

Р

У

Щ

У

И

П

Ч



Ц

:

П

Е

Л

:

Д

У

Про

До


'

А

Н

.

X

3

Е

Ф

Г

Ш


Е

До

З

Ш

Д

X

А

1

Л

'


Б

Ф

У

И


Припустимо, що шифрується біграм вихідного тексту ІЛ. Буква І знаходиться у колонці 1 і рядку 2 лівої таблиці. Буква Л знаходиться в стовпці 5 і рядку 4 правої таблиці. Це означає, що прямокутник утворений рядками 2 і 4, а також стовпцями 1 лівої таблиці та 5 правої таблиці. Отже, в біграм шифртекста входять буква О, розташована в стовпці 5 і рядку 2 правої таблиці, і буква В, розташована у стовпці 1 та рядку 4 лівої таблиці, тобто отримуємо біграм шифртекста ОВ.

Якщо обидві літери біграм повідомлення лежать в одному рядку, наприклад ТО, то біграм повідомлення ТО перетворюється на біграм шифртекста ЖБ. Аналогічним чином шифруються всі біграм повідомлення:

Повідомлення ПР ІЛ ЕТ АЮ _ш ЄС ТО ГО

Шифртекст ПЕ ОВ ЩН ФМ Еш РФ БЖ ДЦ

Шифрування методом "подвійного квадрата" дає дуже стійкий до розтину і простий у застосуванні шифр. Злом шифртекста "подвійного квадрата" вимагає великих зусиль, при цьому довжина повідомлення повинна бути не менше тридцяти рядків.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
132кб. | скачати


Схожі роботи:
Експертиза продовольчих товарів 2 Вивчення методів
Система патетичних показників і методів вивчення концентрації
Методика вивчення методів практичного виявлення та вимірювання радіоактивного випромінювання
Вивчення історичних джерел на основі застосування кількісних методів і нових інформаційних
Використання інтерактивних методів на уроках біології під час вивчення теми Молюски
Цілі і завдання управління профвідбору персоналу в Росії і вивчення методів відбору до підрозділів
Застосування тригонометричної підстановки для розв`язання алгебраїчних задач
Розробка імовірнісної моделі криптографічних протоколів
Шифрування і дешифрування даних за допомогою симетричних криптографічних алгоритмів
© Усі права захищені
написати до нас