Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптографічні методи захисту.doc
Скачиваний:
76
Добавлен:
02.05.2014
Размер:
331.26 Кб
Скачать

3. Алгоритми шифрування

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

3.1 Алгоритми заміни(підстановки)

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

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

Початкові символи шифруе-мого тексту

а

b

з

d

e

f

g

h

i

j

до

l

m

n

о

р

q

r

s

t

u

v

w

x

у

z

Замінюючі символи

s

р

x

l

r

z

i

m

а

у

e

d

w

t

b

g

v

n

j

о

з

f

h

q

u

до

Таблиця 3.1.1 Таблиця простій заміни

Використовуючи цю таблицю, зашифруємо текст: In this book the reader will find а comрrehensive survey... Отримаємо наступне зашифроване повідомлення: At omiy рbbe omr nrsirn fadd zail s xbwgnrmrtjafr jcnfru... Проте такий шифр має низьку стійкість, оскільки зашифрований текст має ті ж статистичні характеристики, що і результатний. Наприклад, текст англійською мовою містить символи з наступними частотами появи (в порядку убування): Е — 0,13, Т — 0,105, А — 0,081, Про — 0,079 і т.д. У зашифрованому тексті найбільші частоти появи в порядку убування мають букви R — 0,12, O — 0,09, A і N по 0,07.

Природно припустити, що символом R зашифрована буква Е, символом Про — буква Т і т.д. Це дійсно відповідає таблиці заміни. Подальша розшифровка не складає труднощів.

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

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

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

Схема шифрування Віжінера. Таблиця Віжінера є квадратною матрицею з n2 елементами, де n — число символів використовуваного алфавіту. На Рис.3.1.2 показана верхня частина таблиці Віжінера для кирилиці. Кожен рядок отриманий циклічним зрушенням алфавіту на символ. Для шифрування вибирається буквений ключ, відповідно до якого формується робоча матриця шифрування.

а

би

у

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

би

у

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

у

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

г

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

г

д

І т.д. до 33-ей рядка..

Мал. 3.1.2 Таблиця Віжінера

а

би

у

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

г

д

е

е

же

з

і

й

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

г

д

е

е

же

з

і

й

до

л

м

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

г

д

е

е

же

з

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

би

у

а

би

у

г

д

е

е

же

з

і

й

до

л

м

н

о

п

р

з

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

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

Процес шифрування здійснюється таким чином:

Мал. 3.1.3 Робоча матриця шифрування для ключа «книга».

  1. під кожною буквою шифрованого тексту записуються букви ключа. Ключ при

цьому повторюється необхідне число разів.

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

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

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

максимально допустимою ціною є п'ятсот крб. за штуку

книгакнигак нигакнигак нигак нигакниг акнигак ниг ак нигак

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

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

Розшифровка тексту проводиться в наступній послідовності:

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

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

  3. отриманий текст групується в слова по сенсу.

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

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

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

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

  • у всіх (окрім першої) рядках таблиці букви розташовуються в довільному порядку.

  • Як ключ використовується випадковість послідовних чисел. З таблиці Віжінера вибираються десять довільних рядків, які кодуються натуральними числами від 0 до 10. Ці рядки використовуються відповідно до чергування цифр у вибраному ключі.

Відомі також і багато інших модифікацій методу.