- •Екзаменаційні питання та відповіді з дисципліни "Безпека програм та даних".
- •Класифікація загроз безпеки мережі
- •Розмір блоку шифрування, кількість раундів та довжина ключа алгоритмів rc5 та des
- •Загальна характеристика алгоритмів шифрування з відкритим ключем
- •Математичний вираз лінійного конгруентного генератора псевдовипадкових чисел та вплив його параметрів на характеристики послідовності
- •Криптографічно стійкі генератори псевдовипадкових чисел
- •Критерій наступного біта та генератор bbs
- •Означення дифузії та конфузії, як характеристик алгоритмів шифрування
- •Проблеми класичної криптографії та причини розробки криптосистем з відкритим ключем
- •Реалізація основних операцій в алгоритмах симетричного блокового шифрування
- •Слаба і сильна опірність колізіям
- •Визначення і вимоги до функцій хешування
- •Основне призначення сертифікатів
- •Сервіс безпеки, які забезпечуються функціями хешування, цифровим підписом
- •Базові операції алгоритму rsa
- •Математичні співвідношенням асиметричних алгоритмів (rsa, Діффі-Хеллмана)
- •Важкі математичні проблеми, які забезпечують стійкість асиметричних алгоритмів
- •2 Рівень
- •Основні вимоги до послідовності випадкових чисел
- •Критерії перевірки послідовності чисел на випадковість
- •Означення псевдовипадкових послідовностей чисел
- •Означення функції хешування та порівняння її з кодом автентичності повідомлення
- •Опис схеми передачі даних, заданих у вигляді формул
- •Означення колізії, сильної та слабкої опірності.
- •3 Рівень
- •Описати деталі схеми розподілу ключів, заданої формулами.
- •Основні проблеми використання симетричних алгоритмів шифрування
- •Основні підходи до побудови системи розподілу ключів за допомогою симетричних алгоритмів шифрування.
- •Чому в режимі rc5-cbc-Pad алгоритму rc5 відкритий текст, довжина якого кратна кількості блоків, все одно доповнюється байтами заповнювача?
- •Опис схем передачі даних, заданих у вигляді формул.
- •Які класи функції можуть служити для створення аутентифікатора повідомлень?
- •Описати схеми обміну даними або розподілу ключів залежно від заданих сервісів безпеки.
- •Основні властивості функцій хешування.
Важкі математичні проблеми, які забезпечують стійкість асиметричних алгоритмів
З математичної точки зору стійкість асиметричних крипто алгоритмів заснована на складності рішення відомих математичних задач, таких як, наприклад, задач факторизації цілого числа і дискретного логарифмування в кінцевому полі. Алгоритми рішення даних задач мають субекспоненціальную складність, тому при певних розмірах ключів їх рішення покладається неможливим на сучасному етапі розвитку обчислювальної техніки. У 90-і рр. XX ст. набули поширення асиметричні криптоалгоритми на основі еліптичних кривих. Дані алгоритми будуються за допомогою еретворення сімейства алгоритмів Ель-Гамаля, а їх стійкість заснована на складності рішення задачі дискретного логарифмування в групі точок еліптичної кривої. Відомо, що задача дискретного логарифмування в кінцевому полі не складніше завдання дискретного логарифмування в групі точок еліптичної кривої,заданої над кінцевим полем.
Залежності сильної та слабкої опірності колізіям, атакам з перебором усіх варіантів від довжини хешу.
Використання кодів автентичності повідомлень на основі хеш-функцій (HMAC) замість кодів на основі симетричних блокових шифрів зумовлено:
1. Криптографічні функції хешування в програмній реалізації виконуються швидше ніж симетричні блокові шифри
2. Програмні бібліотеки для криптографічних функцій хешування широко доступні
3. На функції хешування нема обмежень на експорт, для симетричних шифрів вони є навіть для вичеслення МАС
Алгоритми, які використовуються в стандарті DSS
Використовується алгоритм, покликаний забезпечити тільки функцію цифрового підпису.
2 Рівень
Базові операції симетричних блокових шифрів
Операція перестановки - перемішує біти повідомлення по деякому закону. Це дає змогу досягти «лавинного ефекту».
Операція підстановки – вносить в алгоритм лінійність.
Принципи роботи режимів електронної шифрувальної книги та зчеплення шифрованих блоків
Блочний шифр RC5. Алгоритм прямого шифрування, при якому береться блок даних заданого розміру (2w бітів) і з нього за допомогою залежного від ключа перетворення генерується блок шифрованого тексту такого самого розміру. Цей режим часто називають режимом ECB (режим електронної шифрувальної книги).
RC5-CBC. Режим зв'язаних шифрованих блоків для RC5. В режимі СВС обробляються повідомлення, довжина яких кратна розміру блока RC5 (тобто кратна 2w бітам). Режим СВС забезпечує вищий ступінь захисту, ніж ЕСВ, оскільки генерує різні блоки шифрованого тексту для однакових повторних блоків відкритого тексту.
Основні недоліки алгоритму DES
Наявність слабких ключів
Невелика довжина ключа (64 біт)
Ідеальний шифр, який неможливо зламати з точки зору теорії інформації Шеннона
Основну роль Шеннон присвятив виявленню надлишковості у шифрограмах. Якщо ймовірності зустрічі символів в шифрограмі рівні, то криптосистема має бути «ідеальною».
Криптосистема не повинна лишати слідів для статичних дослідів по Шеннону.
Будь-який ключ повинен бути «підходящим» по Фейстелю
Класифікація шифрів за розміром логічної одиниці шифрування
Блочні шифри – логічною одиницею шифрування є деякий блок відкритого тексту , після роботи якого є блок шифрованого тексту такої самої довжини (шифр Файстеля);
Потокові шифри – шифрування всіх елементів відкритого тексту послідовно (один за іншим).
Принципи роботи блокових шифрів
Текст шифрується блоками. Блок відкритого тексту ділиться на 2 різні частини. На виході отримуємо текст такої самої довжини.
Використання оказій в криптографічних протоколах
Оказія – це випадкове число. Використовуються для уникнення атаки відтворення. Передаються одні і ті самі дані, але в зашифрованому виді вони повинні розрізнятися.
Критерій сильного лавинного ефекту
Це поняття зазвичай застосовується для блочних шифрів та криптографічним хеш-функціям. Зміна малої кількості біт у вхідному тексті чи в ключі призводить до «лавиннної» зміни вихідних бітів шифрованого тексту. Залежність всіх вихідних бітів від кожного вхідного біта.
Генератори псевдовипадкових чисел ANSI X9.17 та BBS
ГПСЧ из стандарта ANSI X9.17 используется во многих приложениях финансовой безопасности и PGP. В основе этого ГПСЧ лежит тройной DES. Генератор ANSI X9.17 состоит из следующих частей:
Вход: генератором управляют два псевдослучайных входа. Один является 64-битным представлением текущих даты и времени, которые меняются каждый раз при создании числа. Другой является 64-битным исходным значением. Оно инициализируется некоторым произвольным значением и изменяется в ходе генерации последовательности псевдослучайных чисел.
Ключи: генератор использует три модуля тройного DES. Все три используют одну и ту же пару 56-битных ключей, которая держится в секрете и применяется только при генерации псевдослучайного числа.
Выход: выход состоит из 64-битного псевдослучайного числа и 64-битного значения, которое будет использоваться в качестве начального значения при создании следующего числа.
DTi — значение даты и времени на начало i-ой стадии генерации.
Vi — начальное значение для i-ой стадии генерации.
Ri — псевдослучайное число, созданное на i-ой стадии генерации.
K1, K2 — ключи, используемые на каждой стадии.
Тогда:
Ri = EDEK1,K2 [ EDEK1,K2 [ DTi] Vi ]
Vi+1 = EDEK1,K2 [ EDEK1,K2 [ DTi] Ri]
Схема включает использование 112-битного ключа и трех EDE-шифрований. На вход даются два псевдослучайных значения: значение даты и времени и начальное значение текущей итерации, на выходе получаются начальное значение для следующей итерации и очередное псевдослучайное значение. Даже если псевдослучайное число Ri будет скомпрометировано, вычислить Vi+1 из Ri не является возможным за разумное время, и, следовательно, следующее псевдослучайное значение Ri+1, так как для получения Vi+1 дополнительно выполняются три операции EDE.
Алгоритм Блюм — Блюма — Шуба (англ. Algorithm Blum — Blum — Shub, BBS) — это генератор псевдослучайных чисел, предложенный в 1986 году Ленор Блюм, Мануэлем Блюмом и Майклом Шубом (Blum et al, 1986).
BBS выглядит так:
где
является
произведением двух больших простых
и
.
На каждом шаге алгоритма выходные данные
получаются из
путём
взятия либо бита
чётности,
либо одного или больше наименее значимых
бит
.
Два
простых числа,
и
,
должны быть оба сравнимы с
3 по модулю 4 (это гарантирует, что
каждый квадратичный
вычет имеет
один квадратный
корень,
который также являетсяквадратичным
вычетом)
и наибольший
общий делитель НОД
должен
быть мал (это увеличивает длину цикла).
Интересной
особенностью этого алгоритма является
то, что для получения
необязательно
вычислять все
предыдущих
чисел, если известно начальное состояние
генератора
и
числа
и
.
-ное
значение может быть вычислено «напрямую»
используя формулу:
