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


 

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

36909. Кластерный анализ. Агломеративные методы 16.97 KB
  В качестве выбора нового расстояния между кластерами рассмотреть: 1Метод дальнего соседа 2Метод ближнего соседа. 3 Используем метод дальнего соседа. 4 Используем метод ближнего соседа. Решение поставленной задачи: 1Центрируем и нормируем: 2Рассчитаем матрицу расстояний: 1 2 3 4 5 6 Далее поскольку матрицы будут симметричными будут записаны полученные данные только над главной диагональю 3По методу...
36910. МОДЕЛИРОВАНИЕ ЗВЕНЬЕВ АВТОМАТИЧЕКСКИХ СИСТЕМ 346.5 KB
  1 Безынерционное звено Рис. 2 Интегрирующее звено Рис. 3 Апериодическое звено 1 порядка Рис. 4 Колебательное звено Переходные ht и передаточные Wp характеристики звеньев имеют вид: Безынерционное звено Wp=k Интегрирующее звено Wp=k p Апериодическое звено Wp=k Tp1 Колебательное звено Wp=k1 T2p22k2Tp1...
36911. Файлы и папки 185 KB
  Скопируйте этот файл с заданием в свою сетевую папку на studdc1 Загрузить программу Проводник. Создайте на своем рабочем столе структуру папок: Для этого щелкните правой кнопкой мыши для вызова контекстного меню выберите команду Создать Папку. Откройте текстовый файл и наберите текст: Переместите файл МОЙ ТЕКСТ в папку SUB. В любой папке доступной на Вашем компьютере выберите три файла вразброс используя для выделения клавишу Ctrl и скопируйте их в папку SUB.
36912. Операционная система MS DOS, конфигурирование и настройка 58.5 KB
  ОС MSDOS – основные системные команды. Системные команды MS DOS MSDOS сокр. MSDOS – самая известная ОС из семейства DOS ранее устанавливаемая на большинство PCсовместимых компьютеров.
36913. Исследование характеристик ТТЛ элемента 49.5 KB
  Исследование характеристик ТТЛ элемента. Цель лабораторной работы: исследовать основные свойства стандартного ТТЛ элемента переходную характеристику входную характеристику и выходные характеристики. На рабочем столе собрать принципиальную электрическую схему логического элемента ТТЛ. На вход элемента подключить источник напряжения изменяющегося по треугольному закону.
36914. Выделение и перемещение фрагментов изображения, кадрирование изображений 158.5 KB
  dobe Photoshop Тема: Выделение и перемещение фрагментов изображения кадрирование изображений Цель: приобрести навыки работы с инструментами выделения фрагментов изображений научиться перемещать и копировать выделенные фрагменты. Краткие теоретические сведения В данном уроке используются следующие инструменты: Инструмент Zoom Масштаб позволяет получать изображение на экране в увеличенном или в уменьшенном виде. Инструмент Crop Рамка позволяет выделить прямоугольный фрагмент изображения и удалить ту его часть которая осталась за...
36915. КОМПЬЮТЕРНАЯ СИСТЕМА PROJECT EXPERT. ФОРМИРОВАНИЕ ФИНАНСОВОЙ МОДЕЛИ ПРОЕКТА 47.5 KB
  ФОРМИРОВАНИЕ ФИНАНСОВОЙ МОДЕЛИ ПРОЕКТА Цель: изучить систему команд Project Expert формирования финансовой модели инвестиционного проекта для предприятия. Построив с помощью Project Expert финансовую модель собственного предприятия или инвестиционного проекта можно получить такие возможности: разработать детальный финансовый план и определить потребность в денежных средствах на перспективу; определить схему финансирования предприятия оценить возможность и эффективность привлечения денежных средств из различных источников; разработать...
36916. Структура управления регионального международного аеропорта (РМА) 55 KB
  Непосредственно генеральному директору аэропорта подчиняются его замы и директора по направлениям а также самостоятельные структурные подразделения и службы. Типовая структура РМА представлена на схеме: Деятельность отдельных подразделений и служб аэропорта Основные функции службы качества: 1. разработка перспективных направлений повышения качества услуг авиакомпаниям и клиентам аэропорта; 2.
36917. Исследование статической и динамической характеристики термопары 188 KB
  Исследование статической и динамической характеристики термопары. Ознакомиться со схемами включения измерительного прибора в цепь термопары. Экспериментально получить статическую и динамическую характеристики термопары. Определить математическую модель термопары.