Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПР_EK_2_Ф_БС_2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
177.66 Кб
Скачать

НАЦІОНАЛЬНА

АКАДЕМІЯ СТАТИСТИКИ, ОБЛІКУ ТА АУДИТУ

НАСОА

ЛАБОРАТОРНА РОБОТА №2

«Шифрування даних. Електронний цифровий підпис»

з дисципліни «Електронна комерція»

для студентів

денної форми навчання

2012

Лабораторна робота «Шифрування даних. Електронний цифровий підпис» з дисципліни дисципліни «Електронна комерція» для студентів денної форми навчання /Укл.: доц.. М.Є.Сіницький– Київ: НАСОА, 2010. – 17 с.

Рецензент: зав. каф., к.т.н. В.В. Козлов.

Затверджено

на засіданні кафедри “Інформаційних систем і технологій”

Протокол № 1

від 29.08.2012

Зміст

Завдання на практичну роботу 4

Приклади виконання завдань 5

Додаток А. Символи кирилиці (альтернативна кодова таблиця ASCII) 9

Додаток Б. Алгоритм шифрування RSA 10

Додаток В. Таблиця простих чисел 13

Додаток Г. Функція хешування 14

Додаток Д. Електронний цифровий підпис 15

Питання до підсумкового контролю 17

Література 18

Завдання на практичну роботу

Завдання №1. Шифр Цезаря

Використовуючи шифр Цезаря, зашифруйте свої дані: Прізвище Ім`я По-батькові.

Завдання №2. Алгоритм шифрування RSA

Згенеруйте відкритий і закритий ключі в алгоритмі шифрування RSA, обравши прості числа p і q із перших двох сотень. При цьому число p за порядковим номером у таблиці Додаток В має відповідати Вашому порядковому номеру у груповому журналі плюс 3, а число q – бути більшим за порядковим номером не менш, як на три номери.

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

Завдання №3. Функція хешування

Знайти хеш–образ свого Прізвища, використовуючи хеш–функцію , де n = pq; p, q взяти з Завдання №3.

Завдання №4. Електронний цифровий підпис

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

Приклади виконання завдань

Завдання №1. Шифр Цезаря. Використовуючи шифр Цезаря, зашифруйте свої дані: Прізвище Ім`я По-батькові.

Первинний текст:

«ДАШЕВСКАЯ ВЕРОНИКА ЕВГЕНЬЕВНА»

Використовуємо алфавіт, що містить 33 літери і пробіл, який стоїть після букви Я:

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯпробіл

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

ЖГЫЗЕФНГБВЕЗУСРЛНГВЗЕЁЗРЯЗЕРГ

Завдання №2. Алгоритм шифрування RSA.

Зашифруймо повідомлення, що складається з ПІБ.

Приклад (не за умовою завдання).

1. Генерування ключів (див. Додаток Б).

Оберемо два простих числа р = 37 і q = 79 (див. Додаток В).

Тоді модуль

n = pq=37*79 = 2923

і функція Ейлера

(n) = (p-1)(q-1) = 36*78 = 2808.

Закритий (приватний) ключ d обираємо з умов d < (n) і d - взаємно просте з (n) , тобто d і (n) не мають спільних дільників.

Нехай d = 17.

Відкритий ключ e обираємо з умов

e < (n) і de=1(mod (n)), e<2808,

17e=1(mod 2808).

Остання умова означає, що число 17e ділиться на 2808 з залишком 1, а 17e-1 має ділитись на 2808 без залишку.

Таким чином, для визначення e треба підібрати таке число k , що

17e-1 = 2808 k, або 17e-2808 k-1 = 0;

Цю задачу можна вирішити за допомогою інструмента «Поиск решения» MS Excel (див додаткові матеріали до даної роботи). Программа знаходить: k=11 і e=1817.

Тоді для нашого прикладу

(1817, 2923) – відкритий ключ,

(17, 2923) – секретний ключ.

2. Шифрування

Представимо повідомлення «ДВЕ», яке підлягає шифруванню, як послідовність цілих чисел. Нехай буква «Д» відповідає числу 5, буква «В» - числу 3 і буква «Е» - числу 6.

Зашифруємо повідомлення, використовуючи відкритий ключ (1817, 2923):

С1 = (51817) mod 2923= 762

С2 = (31817) mod 2923=469

С3 = (61817) mod 2923= 746

Таким чином, вхідному повідомленню (5, 3, 6) відповідає криптограма (762, 469, 746).

3. Дешифрування

Дешифруємо повідомлення (762, 469, 746), користуючись секретним ключем (17,2923):

М1 = (76217) mod 2923= 5

М2 = (46917) mod 2923=3

М3 = (74617) mod 2923= 6

В результаті розшифрування було одержано вихідне повідомлення (5, 3, 6), тобто "ДВЕ".

Примітки.

  1. Ч исла а і b порівнювані за mod n, якщо їх різниця ділиться на n:

Наприклад,

.

  1. Обчислення можна проводити, використовуючи правила модульної алгебри:

Н априклад:

123 = 1728 ≡ 246(mod247) = -1(mod247);

12120 = (123)40 ≡ (-1)40(mod247) = 1(mod247);

12121 ≡ 12(mod247);

44 ≡ 256(mod247) = 9(mod247);

412 ≡(44)3(mod247) = 93(mod247) = 729(mod247) = =235(mod247);

460 = (412)5 = 2355 = 716703146875 ≡ 144(mod247);

4120 = (460)2 = 1442 = 20736 ≡ 235(mod247);

4121 = 4*4120 = 235*4 = 940 ≡ 199(mod247);

і т.д.

Завдання3. Функція хешування

Використовуючи хеш–функцію , знайти хеш–образ свого Прізвища.

Повідомлення, що хешується  «ДАШЕВСКАЯ». Візьмемо два простих числа p=37, q=79. Позначимо n=pq=37*79=2923. Вектор ініціалізації обираємо рівним 10 (обираємо випадковим чином). Слово «ДАШЕВСКАЯ» можна представити послідовністю чисел (5,1,26,6,3,19,12,1,33) за номерами літер в абетці. Таким чином,

n=2923, H0=10, M1=5, M2=1, M3=26, M4=6, M5=3, M6=19, М7=12, М8=1, М9=33.

Використовуючи формулу

,

отримаємо хеш-образ повідомлення «ДАШЕВСКАЯ»:

H1=(H0+M1)2 mod n = ( 10 + 5)2 mod 2923 = 225

H2=(H1+M2)2 mod n = (225 + 1)2 mod 2923 = 1385

H3=(H2+M3)2 mod n = (1385 + 26)2 mod 2923 = 358

H4=(H3+M4)2 mod n = ( 358 + 6)2 mod 2923 = 961

H5=(H4+M5)2 mod n = ( 961 + 3)2 mod 2923 = 2705

H6=(H5+M6)2 mod n = (2705 + 19)2 mod 2923 = 1602

H7=(H6+M7)2 mod n = (1602 + 12)2 mod 2923 = 603

H8=(H7+M8)2 mod n = (603 + 1)2 mod 2923 = 2364

H9=(H8+M9)2 mod n = (2364 + 33)2 mod 2923 = 1914

В результаті отримаємо хеш-образ повідомлення «ДАШЕВСКАЯ», рівний 1914.

Завдання №4. Електронний цифровий підпис.

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

Нехай хеш-образ Прізвища дорівнює 1914, а закритий ключ алгоритму RSA рівний (17, 2923). Тоді електронний цифровий підпис повідомлення, що складається з Прізвища, обчислюється за правилом:

s = 191417 mod 2923 = 1565.

Для перевірки ЕЦП, використовуючи відкритий ключ (1817, 2923), знайдемо

H=1565 1817 mod 2923 = 1914.

Оскільки хеш-образ повідомлення співпадає зі знайденим значенням H, то підпис признається справжнім.

Додаток А. Символи кирилиці (альтернативна кодова таблиця ASCII)

Сим-л

Дес.

Двійк.

Сим-л

Дес.

Двійк.

А

192

11000000

б

225

11100001

Б

193

11000001

в

226

11100010

В

194

11000010

г

227

11100011

Г

195

11000011

д

228

11100100

Д

196

11000100

е

229

11100101

Е

197

11000101

ж

230

11100110

Ж

198

11000110

з

231

11100111

З

199

11000111

и

232

11101000

И

200

11001000

й

277

11101001

Й

201

11001001

к

234

11101010

К

202

11001010

л

235

11101011

Л

203

11001011

м

236

11101100

М

204

11001100

н

237

11101101

Н

205

11001101

о

238

11101110

О

206

11001110

п

239

11101111

П

207

11001111

р

240

11110000

Р

208

11010000

с

241

11110001

С

209

11010001

т

242

11110010

Т

210

11010010

у

243

11110011

У

211

11010011

ф

244

11110100

Ф

212

11010100

х

245

11110101

Х

213

11010101

ц

246

11110110

Ц

214

11010110

ч

247

11110111

Ч

215

11010111

ш

248

11111000

Ш

216

11011000

щ

249

11111001

Щ

217

11011001

ъ

250

11111010

Ъ

218

11011010

ы

251

11111011

Ы

219

11011011

ь

252

11111100

Ь

220

11011100

э

253

11111101

Э

221

11011101

ю

254

11111110

Ю

222

11011110

я

255

11111111

Я

223

11011111

пробіл

32

00010000

а

224

11100000

Додаток Б. Алгоритм шифрування RSA

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

Принцип функціонування асиметричної криптосистеми полягає в наступному:

  • користувач А генерує два ключі - відкритий (незасекречений) і секретний - і передає відкритий ключ по незахищеному каналу користувачеві Б;

  • користувач Б шифрує повідомлення, використовуючи відкритий ключ шифрування користувача А;

  • користувач Б посилає зашифроване повідомлення користувачеві А по незахищеному каналу;

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

Пари {відкритий ключ; секретний ключ} обчислюють за допомогою спеціальних криптоалгоритмів, причому жоден ключ не може бути виведений з другого.