- •Лекція 1. Основні поняття безпеки, сервісів та механізмів захисту. Загрози інформації:
- •Сервіси безпеки:
- •Механізми захисту
- •Умовні позначення:
- •Традиційне (симетричне) шифрування
- •Лекція 2. Симетричні блокові шифри.
- •Шифр Файстеля
- •Диференціальний і лінійний крипто аналіз
- •Лекція №3. Стандарт шифрування даних або des (Data Encryption Standart)
- •Алгоритм des
- •Подвійний des
- •Лекція №4. Режими роботи блочних шифрів (алгоритму des)
- •Режим електронної шифрувальної книги – ecb
- •Режим зчеплення шифрованих блоків – cbc.
- •Режим зворотного зв’язку по виходу
- •Проблема та схеми розподілу ключів симетричного та асиметричного шифрування
- •Наскрізне та канальне шифрування
- •Розподіл ключів шифрування
- •Лекція №5. Схеми розподілу ключів шифрування.
- •Генерування випадкових чисел.
- •Генератор псевдовипадкових чисел
- •Вимоги до якості генератора псевдовипадкових чисел
- •Лекція №6 Криптографія з відкритим ключем
- •Особливість алгоритма
- •Загальна схема
- •Умови застосування методів криптографії з відкритим ключем
- •Лекція № 7. Алгоритм rsa.
- •Елементи
- •Алгоритм
- •Обчислювальні аспекти
- •Лекція 8. Методи розподілу публічних ключів
Умови застосування методів криптографії з відкритим ключем
Процес генерування пари ключів не повинно викликати обчислювальну складність.
Для відправника А не повинен викликати трудності генерування шифрованого тексту при наявності відкритого ключа В і повідомлення М. С = EKUB(M).
3. Для отримувача В повинно легко обчислюватись дешифроване повідомлення приватним ключем:
M = DKRB(EKUB(M))
4. Для противника повинно бути не можливо відновити приватний ключ по публічному.
5. Повинно бути обчислювально не можливо відновити М по С і КU.
6. Функція шифрування і дешифрування може застосовуватися в довільному порядку
M = EKUB (DKRB (M))
Y =
(x) …
X =
(Y)
…
Лекція № 7. Алгоритм rsa.
Rivast, Shamir и Adelman, 1977 р.
Це блоковий шифр, в якому відкритий і шифрований текст представляється числами від 0 до n-1. Безпека алгоритму RSA побудована на принципі складності факторизації (розклад на множники). Тут вихідний код і зашифрований розглядаэться як двійкові числа. Доцільний коли велика кількість субєктів повинна спілкуватись всі з усіма
2k<n<=2k+1
Використовуэ два ключа – відкритий і секретний.
Елементи
p і q - два великі прості числа, що є секретними, вибирається адресатом.
n=pq – обчислюється, є відкритим. Його розрядність це довжина ключа.
e, є таке що gcd (Ф(n),e)=1, 1<e<Ф(n).Де gcd означає найбільший спільний дільник.
d=e-1 mod Ф(n) – є секретним і обчислюється. Обирається так щоб e*d=1 modФ(n).
Ф- це функція Ейлера, яка має таку особливість: Ф(n)=(p-1)(q-1)
KU={e, n} – публічний ключ
KR={d, n} – приватний ключ
Взлом:
1. Задача факторизації – розклад n на прості множники.
2. Підбір функції Ейлера за відомим n
Алгоритм
C=Memod n – блок шифрування відкритого тексту
M=Cdmod n – блок закритого тексту
a
Ф(n)=1
mod n
aФ(n)+1 =a mod n
aФ(n)=1kmod n за теоремою Ейлера
akФ(n)=1 mod n
akФ(n)+1=a mod n
Стандартна довжина ключа 1024 біти (до 4096)
Обчислювальні аспекти
Дешифрування
Алгоритм повільний і потребує багато пам’яті. Пришвидшити можна так:
1.
2. замість M*M*M…….M(100 раз) краще M64* M32* M4(8 раз)
3. якщо треба знайти ат, де а, т – цілі додатні числа, то можна представити т як:
bk*bk-1…b0
Використання алгоритма RSA.
Вибираєм два простих числа p=7; q=17 (на справді ці числа набагато більші). Вданому випадку n = p*q буде дорівнювати 119. Тепер вибираємо e=5. Вибираємо число d=77 так, щоб d*e=1 mod [(p-1)(q-1)]. d - секретний ключ, а e и n характеризують відкритий ключ. Нехай текст який будемо шифрувати M=19. C=Memod n. Отримаємо шифрований текст C=66.
Лекція 8. Методи розподілу публічних ключів
Публічне оголошення – ключ оголошується публічно(на сайті і тд.) Недолік – не забезпечується співвідношення користувача і ключа
Публічно доступний каталог – розміщуються ключі та імена користувачів, ключі розміщує надійна організація. Кожен учасник реєструє публічний ключ за допомогою захищених каналів зв’язку. Будь який учасник в будьякий момент може змінити ключ. Обєкт уповноважений вести каталог періодично викладає каталог та оновлення.
Авторитетне джерело відкритих ключів – 1) А->ЦРК: Запит || T1 2) ЦРК->А: ЕК rauth [KUb||Запит||Т1] 3) A->B : ЕК Ub (iD||N1) 4) B->ЦРК: || T2 5) ЦРК -> B : ЕК rauth [KUa||Запит||Т2] 6) B -> A : EKua [N1||N2] 7) A -> B : EKub [N2]
T1, Т2 – мітки часу для запобігання атаки повтором.
N1,N2 – оказії
KUb, KUa – публічні ключі від авторитетного джерела
Недолік: всі повинні зареєструввати публічні ключі, прийти до ЦРК.
Сертифікати – підписане повідомлення з ідентифікатором користувача. Центрам сертифікації сертифікати видаються та підписуються центром вищого рівня.
Через ланцюжок довіри ми можемо перевірити будь-яки сертифікат.
Списки довірених сертифікатів постачаються з операційної системи.
Кожен центр сертифікації періодично публікує список відкликаних сертифікатів. (CLR)
1) А->ЦРК: Запит || KUA 2) ЦРК->А: CA 3) B->ЦРК: KUa 4) ЦРК->B : CB
----------------------
5) A -> B : CA
6) B -> A : CB
Розподіл секретних ключів за допомогою системи з відкритим ключем
Простий розподіл секретних ключів.
A -> B : (KUa||Da)
B -> A : EKUa || Ks
Розподіл секретних ключів із забезпеченням конфіденційності та аутентифікації.
A -> B : (N1||Da)
B -> A : (N1|| N2)
A -> B : (N2)
A -> B : EKUb (KURa ||Ks)
Обмін ключами за схемою Діффі Хелдмана. Призначений для сеансового обміну ключів шифрування. Дві сторони незалежно вибирають по оному випадковому числу. Первісний корінь а простого числа р, такий що набір: a mod p, a 2 mod p … ap-1 mod p, дають всі неповторювані числа від 0 до р-1 b = aimod p i – дискретний логарифм (індекс b за основою а по модуолю р) i=inda,p(b) Елнменти схеми:
Глобальні відкриті елементи q – просте число L<q – первісний корінь q
Секретне випадкове число: ХА – вибирається ХА<q
Рахуємо відкрите значення Ya Ya=LXa mod q
– 5 Xb ,Yb
Сторони обмінюються значеннями Ya Yb
KS = YbXa mod q KS = YaXb mod q
Не захищений від атаки «Людина посередник» Для практичного використання потрібна аутентифікація повідомлень, що містять У.
