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


 

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

20154. Проекторы 61 KB
  Применение совмещенного изображения . проектор оптикомеханический или оптикоцифровой прибор позволяющий при помощи источника света проецировать изображения объектов на поверхность расположенную вне прибора на экран. Для поддержания картинки не требуется постоянного питания энергия расходуется только в момент изменения изображения. Оптикомеханическая система развёртки изображения и система фокусировки расположены в проекционной головке которая соединяется с источником лазерного излучения при помощи гибкого оптоволоконного кабеля.
20155. Микроскопы 111 KB
  1 освещается источником света 1 через конденсор 2 и преломившись в объективе световой поток дает нам изображение которое будет увеличенным действительным но перевернутое. Если в плоскости изображения предмета поместить экран в виде стеклянной пластины то оператор увидит через окуляр в плоскости этой пластины обратное изображение предмета которое по сравнению с изображением будет еще увеличенным но уже мнимым.ИЗО2 ОГУ22 эта головка двойного изображения которая используется для измерений расстояния между осями отверстий. Если...
20156. Классификация КИМ и область применения 74 KB
  1 Ручной трехкоординатный прибор ОУ отсчетное устройство; ЦПМ принтер Все операции связанные с измерением детали на ручном типе КИМ выполняются оператором вручную. Типичными операциями для такого типа машин являются: измерение межцентровых расстояний; определение расстояний между плоскостями; определение координат точек плавных криволинейных поверхностей и др. В настоящее время такой тип машин практически не выпускается. КИМ данного типа обеспечивают высокую точность измерения но обладают низкой производительностью поэтому не нашли...
20157. Узлы координатных перемещений и измерительные преобразователи КИМ 33.5 KB
  Трехкоординатные измерительные приборы предназначены для измерения и контроля размеров корпусных деталей блоки цилиндров корпуса насосов для контроля штампов прессформ для подготовки программ к станкам с ЧПУ. Измерительные системы координатных перемещений предназначены для отсчета перемещения подвижных узлов ТИП при измерении координат точек. Подавляющее большинство ТИП до 80 оснащено фотоэлектрическими измерительными системами имеющими растровые измерительные линейки штриховые меры.
20158. Устройства взаимодействия с измеряемой деталью КИМ 221.5 KB
  Три группы устройств: жесткие щупы; щуповые головки; оптические и проекционнооптические устройства. Щуповые головки являются одним из основных узлов и они в равной степени с измерительным преобразователем и узлами координатных перемещений участвуют в измерении координат точек и определяют точность универсальность и производительность КИМ. Щуповые головки дают возможность автоматизировать процесс измерения на КИМах. Все щуповые головки по принципу функционирования подразделяются на 2е большие группы: щуповые головки нулевыеголовки...
20159. Приборы для измерения угловых величин. Автоколлиматоры. Гоннометры. ОДГ 308 KB
  Изображение секундной и минутной шкал наблюдается с помощью окуляра 6 через полупентопризму 13 которая из мнимого изображения делает действительное. Неподвижный узел сетка с минутной шкалой и указателем секундной шкалы. Изображение марки отразившись от зеркала 1 попадает между штрихами минутной шкалы и в процессе измерения его совмещают с ближайшим штрихом минутной шкалы. Смещение Δ измеряется по секундной шкале жестко связанной с линзой относительно указателя на минутной шкале и т.
20160. Приборы для измерения угловых величин. Уровни. Квадранты 480 KB
  Преобразователи угловых перемещений. Преобразователи угловых перемещений. непосредственное измерение углов в угловых величинах по угловым шкалам.
20161. Механические и гидростатические приборы при измерении отклонений от прямолинейности и плоскостности 1.31 MB
  Для более точной оценки просвета используют образец просвета рис. Рис.1 Рис.2 На рис.
20162. Оптико-механические и оптические приборы при измерении отклонений от прямолинейности и плоскостности 393 KB
  При проверке автоколлимационным и коллимационным методами измеряют углы наклона последовательно расположенных участков равных шагу измерения по отношению к исходной прямой заданной оптической осью трубы. Сущность метода визирования заключается в измерении расстояния от проверяемой поверхности до оптической оси зрительной трубы. Визирную ось зрительной трубы устанавливают параллельной прямой проходящей через крайние точки проверяемой поверхности при этом отсчёты в крайних точках должны быть одинаковыми. Этот недостаток можно устранить...