41912

ВИКОРИСТАННЯ СИСТЕМИ S-KEYS ТА ЗАСТОСУВАННЯ РЕЖИМУ ІМІТОВСТАВКИ АЛГОРИТМУ ГОСТ 28147-89

Лабораторная работа

Информатика, кибернетика и программирование

Проімітуйте роботу системи S/key при одноразовому підключенні користувача. Для цього підготуйте послідовність . Використовуйте хеш-функцію , значення пароля і параметра з наступної таблиці (пароль заданий в системі числення з основою 16).

Русский

2013-10-26

349.39 KB

2 чел.

Державний університет інформаційно-комунікаційних технологій

Навчально-науковий інститут захисту інформації

Кафедра безпеки інформаційних технологій

Прикладна криптологія

З В І Т

з лабораторної роботі № 13

ВИКОРИСТАННЯ СИСТЕМИ S-KEYS ТА ЗАСТОСУВАННЯ

РЕЖИМУ ІМІТОВСТАВКИ АЛГОРИТМУ ГОСТ 28147-89

Варіант № 26

Виконав(ла): студент(ка) БСД – 42

Прізвище І.Б.________Фураєв  В. В_____

Дата здачі/захисту____________________

Перевірив__________________________

Оцінка_____________________________

2011

  1.  Проімітуйте роботу системи S/key при одноразовому підключенні користувача. Для цього підготуйте послідовність . Використовуйте хеш-функцію , значення пароля і параметра  з наступної таблиці (пароль заданий в системі числення з основою 16).

26

E

13

  1.  Виберемо значення пароля m=14 (пароль заданий в системі числення з основою 16) і параметра p=13.

Підготуємо послідовність , , , де – хеш-функція :

h1(14)=[(143 + 9)]mod(13-1)= 5 (mod 12);

h2(14)=h(h1(14))=h(5)=[(53 + 9)]mod(13-1)=2(mod 12);

h3(14)=h(h2(14))=h(2)=[(23 + 9)]mod(13-1)=5(mod 12).

Таким чином, маємо послідовність: 5, 2, 5.

  1.  Звернемося до сервера аутентифікації.
  2.  Сервер посилає запит, який включає порядковий номер 2 для очікуваного одноразового пароля.
  3.  Відправимо на сервер аутентифікації значення h2(14)=2
  4.  Сервер перевіряє співвідношення : y=h(2)=5(mod 12). Співвідношення виконується, і ми дістаємо доступ в систему.

2. Граючи роль абонента , використовуйте протокол взаємної аутентифікації за наявності сервера ключів для імітації процедури формування спільного з абонентом сеансового ключа Х для алгоритму ГОСТ 28147-89.

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

Для обміну з сервером ключів  використовуйте значення ідентифікаторів, задані в наступній таблиці.

26

E

6

В ході протоколу використовуйте довільні 8-бітові значення ключів  

Для обміну з сервером ключів використовуємо:

значення ідентифікаторів:A=E, B=6.

8-бітові значення ключів:

– ключ абонента K[A]=1100 1011

– ключ абонента K[B]=1001 0001

одноразовий сеансовий ключ =1100 1011.

Крок 1. . Абонент запрошує у сервера ключів  сеансовий ключ для встановлення захищеного з'єднання з абонентом . У повідомлення включені:

– ідентифікатор ;

– зашифрований на ключі відкритий текст, в який включені:

ідентифікатор ,

ідентифікатор даної транзакції – випадкове двійкове число

=1001 1110=9E

додаткова (змістовна) інформація:

text=11.11.2011 = BB 7DB

Для шифрування відкритий текст

, , text = 69 EB B7 DB

перепишемо в двійковому представленні: 

0110 1001 1110 1011 1011 0111 1101 1011

Зашифруємо на ключі K[A]=1100 1011:

0110 1001 1110 1011 1011 0111 1101 1011

1100 1011 1100 1011 1100 1011 1100 1011

1010 0010 0010 0000 0111 1100 0001 0000

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

1110 1010 0010 0010 0000 0111 1100 0001 0000

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

Це повідомлення включає наступні елементи, призначені для абонента :

– ідентифікатор даної транзакції – двійкове число =1001 1111, де – оборотна функція-модифікатор: _

– одноразовий сеансовий ключ _

– ідентифікатор абонента _

– два елементи, призначені абонентові  для ідентифікації , зашифровані ключем :

одноразовий сеансовий ключ ,

ідентифікатор .

Виконаємо шифрування на ключі K[B]= 1001 0001:

= 1100 1011  1110

1001 0001  1001

=0101 1010  0111

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

1001 1111 1100 1011 0110 0101 1010 0111

1001 0001 1001 0001 1001 0001 1001 0001

0000 1110 0101 1010 1111 0100 0011 0110

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

Це повідомлення включає:

– два елементи, призначені абонентові  для ідентифікації ,зашифровані ключем :

одноразовий сеансовий ключ ,

ідентифікатор .

– ідентифікатор даної транзакції – двійкове число =1101 0011, зашифроване

на пропонованому сервером сеансовому ключі .

Виконаємо шифрування на ключі :

=1101 0011

=1100 1011

=0001 1000

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

0101 1010  0111 0001 1000

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

1101 0100

1110 1110

, = 1101 0100 1110 1110

= 1100 1011 1100 1011

=0001 1111 0010 0101

Після розшифрування повідомлення, може переконатися в достовірності .

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

=1110 1110

=1100 1011

= 0010 0101

Після розшифрування повідомлення, може переконатися в достовірності .

4. Побудуємо сеансовий ключ Х для алгоритму ГОСТ 28147-89. Для побудови сеансового ключа Х восьмибітовий ключ =1100 1011, отриманий від сервера ключів, запишемо підряд 32 рази:

Х = 32

Х = 1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

1100 1011  1100 1011  1100 1011  1100 1011

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

0000 1000 0000 0000   0800 0000 0000 0000.

Для вироблення імітовставки для кожного блоку використовуємо шифрування за допомогою алгоритму ГОСТ 28147-89 в режимі простої заміни із скороченою кількістю циклів, рівною 16. У навчальних цілях виконаємо 2 цикли. Для зашифрування в режимі простої заміни відкритий текст

0000 1000 0000 0000   0800 0000 0000 0000

заданий в шістнадцятирічній системі числення, перепишемо в двійковому представленні:

=0000 0000 0000 0000  0001 0000 0000 0000  0000 0000 0000 0000  0000 0000 0000 0000  

=0000 1000 0000 0000  0000 0000 0000 0000  0000 0000 0000 0000  0000 0000 0000 0000  

Перший цикл зашифрування.

Крок 1. Розіб'ємо перший 64-бітовий блок даних на дві частини:

ліву :  0000 0000 0000 0000  0001 0000 0000 0000  

і

праву : 0000 0000 0000 0000  0000 0000 0000 0000  

Крок 2. Сеансовий ключ розміром 256 біт складається з восьми 32-розрядних підключів (у нашому випадку вони однакові).

Візьмемо перший підключ сеансового ключа :

: 1100 1011  1100 1011  1100 1011  1100 1011

Крок 3. Знайдемо значення функції перетворення :

1) Обчислення суми і за mod :

: 0000 0000 0000 0000  0000 0000 0000 0000  

+

: 1100 1011 1100 1011  1100 1011 1100 1011

 1100 1011 1100 1011  1100 1011 1100 1011

2) Перетворення за допомогою таблиці замін.

Результат підсумовування розіб'ємо на 4-бітові блоки – тетради

1100 1011 1100 1011  1100 1011 1100 1011

Для кожного 4-бітового блоку (тетради) обчислимо його адресу в таблиці замін . Кожен блок пропускаємо через свій вузол таблиці замін за наступним правилом: перетворимо двійкове число до десяткового вигляду. Номер блоку відповідає номеру стовпця, десяткове значення блоку відповідає номеру рядка в таблиці замін. Наприклад, 6-й блок (1011) замінюється заповненням 11-го рядка і шостого стовпця в таблиці заміни. Заповнення 11-го рядка для 6-го вузла заміни дорівнює А, що в двійковому вигляді є 1010. Таким чином, 4-бітовий блок 1011 замінюється на 1010. Решта блоків замінюється аналогічно.

Перетворення за допомогою таблиці замін оформимо у вигляді таблиці:

номер вузла

К1

К2

К3

К4

К5

К6

К7

К8

вхід

1100

1011

1100

1011

1100

1011

1100

1011

адреса

12

11

12

11

12

11

12

11

заповнення

0

0

9

9

А

А

Е

Е

результат

0000

0000

1111

1001

1010

1010

1110

1110

Виходи всіх восьми вузлів заміни об'єднуються в 32-бітове слово, вихідна послідовність має вигляд

0000 0000 1111 1001 1010 1010 1110 1110

3) В отриманій послідовності циклічно зсуваємо біти вліво на 11 позицій.

0000 0000 111  |  1 1001 1010 1010 1110 1110

=1100 1101 0101 0111 0111 0000 0000 0111

Крок 4. Обчислимо :

:  0000 0000 0000 0000  0001 0000 0000 0000  

: 1100 1101 0101 0111  0111 0000 0000 0111

:  1100 1101 0101 0111  0110 0000 0000 0111

Крок 5. Зсув по ланцюжку: у результаті кроків 1-4 з'являється нова права половина , а стара права половина стає новою лівою .

Результат першого циклу ГОСТ для першого 64-бітового блоку даних :

0000 0000 0000 0000  0000 0000 0000 0000  1100 1101 0101 0111  0110 0000 0000 0111

Другий цикл зашифрування.

Крок 1. Розіб'ємо отриманий в першому циклі 64-бітовий блок даних на дві частини:

ліву :  0000 0000 0000 0000  0000 0000 0000 0000  

і

праву : 1100 1101 0101 0111  0110 0000 0000 0111

Крок 2. Візьмемо другий подключ сеансового ключа :

: 1100 1011  1100 1011  1100 1011  1100 1011

Крок 3. Знайдемо значення функції перетворення :

1) Обчислення суми і за mod :

: 1100 1101 0101 0111  0110 0000 0000 0111

+

: 1100 1011 1100 1011  1100 1011 1100 1011

 0000 0110 1001 1100  1010 1011 1100 1100

2) Перетворення за допомогою таблиці замін.

Результат підсумовування розіб'ємо на тетради

0000 0110 1001 1100  1010 1011 1100 1100

Перетворення за допомогою таблиці замін оформимо у вигляді таблиці:

номер вузла

К1

К2

К3

К4

К5

К6

К7

К8

вхід

0000

0110

1001

1100

1010

1011

1100

1100

адреса

0

6

9

12

10

11

12

11

заповнення

A

A

7

A

9

A

E

E

результат

1010

1010

0111

1010

1001

1010

1110

1110

Виходи всіх восьми вузлів заміни об'єднуються в 32-бітове слово, вихідна послідовність має вигляд

1010 1010 0111 1010 1001 1010 1110 1110

3) В отриманій послідовності циклічно ззсуваємо біти вліво на 11 позицій.

1010 1010 011 | 1 1010 1001 1010 1110 1110

=1101 0100 1101 0111 0111 0101 0101 0011

Крок 4. Обчислимо :

:  0000 0000 0000 0000  0000 0000 0000 0000  

:  1101 0100 1101 0111  0111 0101 0101 0011

:  1101 0100 1101 0111  0111 0101 0101 0011

Крок 5. Зсув по ланцюжку: у результаті кроків 1-4 з'являється нова права половина а стара права половина стає новою лівою .

Результат другого циклу ГОСТ для першого 64-бітового блоку даних :

=1100 1101 0101 0111  0110 0000 0000 0111  1101 0100 1101 0111  0111 0101 0101 0011

Отриманий блок  підсумуємо за модулем 2 з другим блоком даних :

=1100 1101 0101 0111  0110 0000 0000 0111  1101 0100 1101 0111  0111 0101 0101 0011

=0000 1000 0000 0000  0000 0000 0000 0000  0000 0000 0000 0000  0000 0000 0000 0000

=1100 0101 0101 0111  0110 0000 0000 0111  1101 0100 1101 0111  0111 0101 0101 0011

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

Перший цикл зашифрування.

Крок 1. Розіб'ємо 64-бітовий блок даних  на дві частини:

ліву :  1100 0101 0101 0111  0110 0000 0000 0111  

і

праву : 1101 0100 1101 0111  0111 0101 0101 0011

Крок 2. Візьмемо перший підключ сеансового ключа :

: 1100 1011  1100 1011  1100 1011  1100 1011

Крок 3. Знайдемо значення функції перетворення :

1) Обчислення суми і за mod :

: 1101 0100 1101 0111  0111 0101 0101 0011

+

: 1100 1011 1100 1011  1100 1011 1100 1011

  1101 1111 0001 1100  1011 1110 1001 1000

2) Перетворення за допомогою таблиці замін.

Результат підсумовування розіб'ємо на тетради

1101 1111 0001 1100  1011 1110 1001 1000

Перетворення за допомогою таблиці замін оформимо у вигляді таблиці:

номер вузла

К1

К2

К3

К4

К5

К6

К7

К8

вхід

1101

1111

0001

1100

1011

1110

1001

1000

адреса

13

15

1

12

11

14

9

8

заповнення

B

A

7

A

A

7

A

A

результат

1011

1010

0111

1010

1010

0111

1010

1010

Виходи всіх восьми вузлів заміни об'єднуються в 32-бітове слово, вихідна послідовність має вигляд

1011 1010 0111 1010  1010 0111 1010 1010

3) У отриманій послідовності циклічно зсуваємо біти вліво на 11 позицій.

1011 1010 011  |   1 1010 1010 0111 1010 1010

=1101 0101 0011 1101 0101 0101 1101 0011

Крок 4. Обчислимо :

:  1100 0101 0101 0111  0110 0000 0000 0111  

: 1101 0101 0011 1101  0101 0101 1101 0011

:  0001 0000 0110 1010  0011 0101 1101 0100

Крок 5. Зсув по ланцюжку: у результаті кроків 1-4 з'являється нова права половина а стара права половина стає новою лівою .

Результат першого циклу ГОСТ для 64-бітового блоку даних :

1101 0100 1101 0111  0111 0101 0101 0011  0001 0000 0110 1010  0011 0101 1101 0100

Другий цикл зашифрування.

Крок 1. Розіб'ємо отриманий в першому циклі 64-бітовий блок даних на дві частини

ліву : 1101 0100 1101 0111  0111 0101 0101 0011  

і

праву : 0001 0000 0110 1010  0011 0101 1101 0100

Крок 2. Візьмемо другий підключ сеансового ключа :

: 1100 1011  1100 1011  1100 1011  1100 1011

Крок 3. Знайдемо значення функції перетворення :

1) Обчислення суми і за mod :

: 0001 0000 0110 1010  0011 0101 1101 0100

+

: 1100 1011 1100 1011  1100 1011 1100 1011

 1101 1011 1010 0001  1111 1110 0001 1111

2) Перетворення за допомогою таблиці замін.

Результат підсумовування розіб'ємо на тетради

1101 1011 1010 0001  1111 1110 0001 1111

Перетворення за допомогою таблиці замін оформимо у вигляді таблиці:

номер вузла

К1

К2

К3

К4

К5

К6

К7

К8

вхід

1101

1011

1010

0001

1111

1110

0001

1111

адреса

13

11

10

1

15

14

1

15

заповнення

B

0

0

0

7

7

9

9

результат

1011

0000

0000

0000

0111

0111

1001

1001

Виходи всіх восьми вузлів заміни об'єднуються в 32-бітове слово, вихідна послідовність має вигляд

1011 0000 0000 0000  0111 0111 1001 1001

3) В отриманій послідовності циклічно зсуваємо біти вліво на 11 позицій.

1011 0000 000 | 0 0000  0111 0111 1001 1001

=0000 0011 1011 1100 1100 1101 1000 0000

Крок 4. Обчислимо :

:  1101 0100 1101 0111 0111 0101 0101 0011  

:  0000 0011 1011 1100 1100 1101 1000 0000

:  1101 0111 0110 1011 1111 1000 1101 0011

Крок 5. Зсув по ланцюжку: в результаті кроків 1-4 з'являється нова права половина а стара права половина стає новою лівою .

Результат другого циклу ГОСТ для 64-бітового блоку даних :

=0001 0000 0110 1010  0011 0101 1101 0100  1101 0111 0110 1011 1111 1000 1101 0011

З отриманого на виході блоку як імітовставку візьмемо 27 його молодших бітів:

=0001 0000 0110 1010  0011 0101 110

Імітовставка передається по каналу зв'язку в кінці зашифрованих даних, тобто , :

1100 1101 0101 0111  0110 0000 0000 0111  1101 0100 1101 0111  0111 0101 0101 0011

0001 0000 0110 1010  0011 0101 1101 0100  1101 0111 0110 1011 1111 1000 1101 0011

0001 0000 0110 1010  0011 0101 110


 

А также другие работы, которые могут Вас заинтересовать

84529. Фізіологічні механізми голоду та насичення 40.95 KB
  Голод – фізіологічний стан зумовлений зниженням концентрації поживних речовин у крові спрямований на відновлення їх балансу в крові. Насичення – сума процесів що змушує організм відмовитися від приймання їжі при підвищенні рівня поживних речовин в крові до певного рівня. Активність обох центрів регулюється рівнем поживних речовин в крові інформація про котрий надходить від периферичних та центральних рецепторів глікорецептори ліпорецептори.
84530. Загальна характеристика системи кровообігу. Фактори, які забезпечують рух крові по судинах, його спрямованість та безперервність 43.29 KB
  Фактори які забезпечують рух крові по судинах його спрямованість та безперервність. СИСТЕМА КРОВООБІГУ ВИКОНАВЧІ ОРГАНИ МЕХАНІЗМИ РЕГУЛЯЦІЇ Нервові Гуморальні Серце Судини Хвилинний об’єм крові ХОК який є адекватним потребам організму В залежності від потреби організму ХОК може змінюватися у дорослої людини від 5 л хв спокій до 30 л хв стан фізичного навантаження у добре тренованого спортсмена. Причиною руху крові по судинам та через камери серця є різниця градієнт тисків що створюється завдяки: нагнітальній насосній функції...
84531. Автоматія серця. Градієнт автоматії. Дослід Станіуса 45.23 KB
  Ця здатність є у структурах серця побудованих з атипічних кардіоміоцитів а саме в стимульному комплексі провідній системі серця: Пазуховопередсердний вузол nodus sinutrilis; Передсердношлуночковий вузол nodus trioventriculris; Передсердношлуночковий пучок або пучок Гіса; Ніжки пучка Гіса права та ліва; Волокна Пуркіньє. Ці елементи провідної системи серця носять назву центрів автоматії й мають певний порядок. Градієнт автоматії – зменшення ступеня автоматії елементів провідної системи серця в напрямку від...
84532. Потенціал дії атипових кардіоміоцитів сино-атріального вузла, механізми походження, фізіологічна роль 43.38 KB
  Така зміна стану каналів мембран АКМЦ веде до повільного зменшення мембранного потенціалу деполяризація мембрани. Частота з якою центр автоматії генерує ПД залежить від двох факторів: 1 величина порогового потенціалу; чим вона більша тим частота менша; в звичайних умовах під впливом механізмів регуляції частіше змінюється рівень мембранного потенціалу спокою зміна порогового потенціалу зміна частоти генерації імпульсів збудження водієм ритму зміна частоти серцевих скорочень; 2 швидкість повільної діастолічної деполяризації ПДД;...
84533. Провідна система серця. Послідовність і швидкість проведення збудження по серцю 42.64 KB
  Послідовність і швидкість проведення збудження по серцю. Швидкість проведення збудження по структурах серця різна. Чинниками що впливають на швидкість проведення збудження по м’язовим волокнам є: діаметр волокон амплітуда ПД величина порогу деполяризації швидкість розвитку піку ПД наявність нексусів між міокардіоцитами – вони мають низький опір що сприяє швидкій передачі ПД з одного КМЦ на другий і збільшенню швидкості проведення збудження. Причинами великої швидкості проведення збудження по провідній системі серця є: великий діаметр...
84534. Потенціал дії типових кардіоміоцитів шлуночків, механізми походження, фізіологічна роль. Співвідношення у часі ПД одиночного скороченння міокарда 51.9 KB
  Типові кардіоміоцити ТКМЦ не мають властивості автоматії і генерують ПД під впливом подразника ПД що йде від водія ритму серця. ПД в ТКМЦ має особливості а саме він дуже тривалий – в шлуночках до 300 мс в нервових волокнах 1 мс в скелетних м’язах 25 мс. Фази ПД ТКМЦ: 1. Пов’язана з виходом із ТКМЦ йонів калію та вхід хлору 3.
84535. Періоди рефрактерності під час розвитку ПД типових кардіоміоцитів, їх значення 40.19 KB
  Значення великої тривалості ПД ТКМЦ стає зрозумілим якщо співставити його в часі з графіком зміни збудливості ТКМЦ при збудженні з графіком поодинокого скорочення міокарда: ПД ТКМЦ тривалий через наявність фази плато. АР відповідає розвитку латентного періоду поодинокого м’язевого скорочення періоду укорочення та значної частини періоду розслаблення. Завдяки такому співвідношенню у часі фаз збудливості та періодів поодинокого скорочення міокарда досягається: неможливість виникнення в міокарді тетанічних скорочень; наступний цикл...
84536. Спряження збудження і скорочення в міокарді. Механізми скорочення і розслаблення міокарду 44.46 KB
  Тобто ПД викликає скорочення таким чином: ПД поширюється по мембрані ТКМЦ в тому числі і по мембрані Ттрубочок відкриття кальцієвих каналів саркоплазматичного ретикулума СПР вихід йонів кальцію із СПР підвищення концентрації йонів кальцію в міоплазмі з 108 до 105 моль л дифузія йонів кальцію до скоротливих білків протофібрил взаємодія з регуляторними білками з тропоніном зміна третинної структури тропоніну та тропоміозину відкриття активних центрів актину взаємодія активних головок міозину з активними центрами актину...
84537. Векторна теорія формування ЕКГ. ЕКГ, відведення. Походження зубців, сегментів, інтервалів ЕКГ 42.75 KB
  ЕКГ відведення. Походження зубців сегментів інтервалів ЕКГ. Крива змін цієї різниці потенціалів в часі називається електрокардіограмою ЕКГ.