Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Стандарт шифрування DES

Предмет: 
Тип роботи: 
Лабораторна робота
К-сть сторінок: 
11
Мова: 
Українська
Оцінка: 

переставленим вхідним блоком R16L16 на першому раунді використовується ключ K16, на другому раунді – K15 і т.д. На 16-ому раунді використовується ключ K1. на останньому кроці останнього раунду будуть отримані послідовності L0 і R0, що конкатенуються (об’єднуються) в 64-бітову послідовність L0R0. Потім у цій послідовності 64 біта переставляються відповідно до матриці IP. Результат такого перетворення – вихідна послідовність бітів. (див. рис. 1.2.)

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

електронна кодова книга ЕСВ (Electronic Code Book);

зчеплення блоків шифру СВС (Cipher Block Chaining);

зворотний зв’язок по шифртексту СРВ (Cipher Feed Back);

зворотний зв’язок по виходу OFB (Output Feed Back)[3].

Режим "Електронна кодова книга". Довгий файл розбивають на 64-бітові відрізки (блоки) по 8 байтів. Кожний з цих блоків шифрують незалежно з використанням того ж самого ключа шифрування. Найбільша перевага цього режиму – простота реалізації. Недолік – відносно слабка стійкість проти кваліфікованих криптоаналітиків. Через фіксований характер шифрування при обмеженій довжині блоку (64 біта) можливе проведення криптоаналізу „зі словником”. Блок такого розміру може повторитися в повідомленні унаслідок великої розмірності тексту. Це приводить до того, що ідентичні блоки відкритого тексту в повідомленні будуть представлені ідентичними блоками шифротексту, що дає криптоаналітику деяку інформацію про зміст повідомлення [2].

Режим "Зчеплення блоків шифру". У цьому режимі вхідний файл М розбивається на 64-бітові блоки: М=M1M2...Mn. Перший блок M1 складається по модулю 2 з 64-бітовим початковим вектором (IV), що змінюється щодня і тримається в секреті. Отримана сума потім шифрується з використанням ключа DES. Отриманий 64-бітовий шифр C1 складається по модулю 2 із другим блоком тексту, результат шифрується і отримується другий 64-бітовий шифр С2, і т.д. Процедура повторюється доти, доки не будуть оброблені всі блоки тексту. Таким чином, для всіх i = 1...n (n – число блоків) результат шифрування Ci визначається у такий спосіб: Сi=DES(Mi xor Сi-1), де С0=IV-початкове значення шифру, що дорівнює початковому вектору ініціалізації. Очевидно, що останній 64-бітовий блок шифротексту є функцією секретного ключа, початкового вектора і кожного біта відкритого тексту незалежно від його довжини. Цей блок шифротексту називають кодом аутентифікації повідомлення (КАП). Код КАП може бути легко перевірений одержувачем, що володіє секретним ключем і початковим вектором, шляхом повторення процедури, виконаної відправником. Перевага даного режиму в тому, що він не дозволяє накопичуватися помилкам при передачі. Блок М, є функцією тільки Сi-1 і Ci. Тому помилка при передачі приведе до втрати тільки двох блоків вихідного тексту [2].

Режим "Зворотний зв’язок за шифром". У цьому режимі розмір блоку може відрізнятися від 64 біт. Файл, що підлягає шифруванню, зчитується послідовними блоками довжиною k бітів k=1...64). Вхідний блок (64-бітовий) спочатку містить вектор ініціалізації, вирівняний по правому краю. Припустимо, що в результаті розбивання на блоки ми одержали n блоків довжиною k бітів кожний (залишок дописується нулями чи пробілами). Тоді для будь-якого i=1...n блок шифротексту Сi=Mi xor Pi-1, де Pi-1 позначає k старших бітів попереднього зашифрованого блоку. Ці k старших бітів , що вже використані при шифруванні, відкидаються і вхідний блок зсовується на k бітів. Для відновлення зашифрованих даних Pi-1 і Сi, відкритий текст обчислюється аналогічним чином Мi=Сi xor Pi-1 [2].

Режим "Зворотний зв’язок по виходу". Цей режим теж використовує змінний розмір блоку і регістр зсуву , що ініціюється (набуває початкового значення) так само, як у режимі СРВ, а саме – вхідний блок спочатку містить вектор ініціалізації IV, вирівняний по правому краю. При цьому, для кожного сеансу шифрування даних необхідно використовувати новий початковий стан регістра, що повинний пересилатися по каналу відкритим текстом. Покладемо М = M1 М2... Мn. Для всіх i = 1... n Сi=Мi xor Рi , де Рi – старші k бітів операції DES (Ci-1). На відміну від режиму зворотного зв’язку по шифру, відновлення регістра зсуву здійснюється шляхом відкидання старших k бітів і дописування їх праворуч відносно Р1 [13].

 

Хід виконання роботи

Таблиця 1 – Ключ

1234567891011121314151617181920212223242526272829303132

01001011110000110101001011000011

3334353637383940414243444546474849505152535455565758596061626364

00000100110100000101101101011101

 

Функція PC1 первісної підготовки ключа

5749413325179

1585042342618

1025951433527

1911360524436

63554739312315

7625446383022

1466153453729

211352820124

Таблиця 2 – Отриманий за допомогою функції РС1 регистр C0

5749413325179158504234261810259514335271911360524436

0010101011101111000000001110

Таблиця 3 – Отриманий за допомогою функції РС1 регистр D0

6355473931231576254463830221466153453729211352820124

0100111110010000110000010100

 

Таблиця 4 – Отриманий за допомогою зсуву вліво на 1біт регистр C1

12345678910111213141516171819202122232425262728

0101010111011110000000011100

 

Таблиця 5 – Отриманий за допомогою зсуву вліво на 1біт регистр D1

29303132333435363738394041424344454647484950515253545556

1001111100100001100000101000

Таблиця 6 – Отриманий за допомогою функції РС2 підключ К1 

Функція РС2

1417112415

3281562110

2319124268

1672720132

415231374755

304051453348

444939563453

464250362932

123456789101112131415161718192021222324

000001001001100101010010

252627282930313233343536373839404142434445464748

110000110000010011010000

 

Таблиця 7 – Шифротекст

311000110  00000110  11000011  10010001    01101010  00110110  01110001 11000100

 

 

1234567891011121314151617181920212223242526272829303132

11000110000001101100001110010001

3334353637383940414243444546474849505152535455565758596061626364

01101010001101100111000111000100

 

Матриця початкової перестановки IP

585042342618102

605244362820124

625446383022146

645648403224168

57494133251791

595143352719113

615345372921135

635547393123157

Таблиця 8 – Старші біти шифротексту отримані за допомогою  функції IP

L0

1234567891011121314151617181920212223242526272829303132

10001101011100000001000000110111

Таблиця 9 – Молодші біти шифротексту отримані за допомогою  функції IP R0

1234567891011121314151617181920212223242526272829303132

11010101011010001010001101001100

Матриця розширення E

3212345

456789

8910111213

121314151617

161718192021

202122232425

242526272829

28293031321

Таблиця 10 – Розширення молодших бітів шифротексту за допомогою  функції E R0

32123454567898910111213121314151617

011010101010101101010001

16171819202120212223242524252627282928293031321

010100000110101001011001

Таблиця 11 – XOR розширеного R0 та К1

№123456789101112131415161718192021222324

К1000001001001100101010010

R0011010101010101101010001

Ре011011101011001000000011

№252627282930313233343536373839404142434445464748

К1110000110000010011010000

R0010100000110101001011001

Ре100100110110111010001001

 

b1b2b3b4b5b6123456№ рядка

b1b6№

рядка№

стовпця

b2b3b4b5№

стовпцяЧисло

десятковеЧисло

двійкове,S

S1(B1)01101101111011350101

S2(B2)10101111301015151111

S3(B3)0010000000100460110

S4(B4)0000110110001181000

S5(B5)1001001020010210001

S6(B6)110110102101111101010

S7(B7)11101010211011350101

S8(B8)00100101101004101010

 

Таблиця 12 – Перетворення XOR розширеного R0 та К1 функцією S

№123456789101112131415161718192021222324

Ре011011101011001000000011

S0101111101101000

№252627282930313233343536373839404142434445464748

Ре100100110110111010001001

S0001101001011010

Таблиця 13 – Результат роботи функції S

1234567891011121314151617181920212223242526272829303132

01011111011010000001101001011010

Таблиця 14 – Результат роботи функції P

16720212912281711523261518311028241432273919133062211425

01111010001100111100000001010110

Функція P перестановки бітів

1672021

29122817

1152326

15183110

282414

322739

1913306

2211425

 

Таблиця 15 – Результат роботи функції P

№1234567891011121314151617181920212223242526272829303132

Р01111010001100111100000001010110

L10001101011100000001000000110111

Х11110111010000111101000001100000

 

Таблиця 16 – Результати роботи першого раунду

№1234567891011121314151617181920212223242526272829303132

R11110111010000111101000001100000

L11010101011010001010001101001100

Висновки: В результаті виконання лабораторної роботи опановано методику шифрування алгоритмами збивання. На прикладі DES виконано перший раунд шифрування.

 

Фото Капча