
- •6.050103 – Програмна інженерія
- •1.2.2 Перетворення мережею Фейстеля
- •1.2.3 Алгоритм des
- •1.3Завдання до виконання роботи
- •1.5Контрольні запитання та завдання
- •2Програмна реалізація шифрування даних за допомогою несиметричного криптоалгоритму rsa
- •3Мета роботи
- •4Теоретичні відомості
- •Алгоритм створення відкритого і секретного ключів
- •Шифрування і розшифрування
- •Алгоритм обміну ключами Діффі-Хеллмана
- •4.2.1 Еліптичні криві над простим полем
- •4.2.2 Правила додавання, подвоєння і скалярного множення для еліптичних кривих над простим полем
- •4.2.3 Алгоритм асиметричного шифрування на базі еліптичних кривих eces
- •12.1Завдання до виконання роботи
- •12.2Контрольні запитання та завдання
- •13Створення програмного засобу для цифрового підпису інформації з використанням стандартів гост 34.10 та dss
- •14Мета роботи
- •15Теоретичні відомості
- •5.2.1 Стандарт цифрового підпису dss
- •5.2.2 Стандарт цифрового підпису гост 34.10
- •16Завдання до виконання роботи
- •18Контрольні запитання та завдання
- •Перелік посилань
Алгоритм обміну ключами Діффі-Хеллмана
Загальновідомі елементи:
Q – просте число;
А – примітивний корінь Q, A<Q.
Створення пари ключів користувачем В:
вибір випадкового числа ХВ (закритий ключ), ХВ<Q
знаходження числа YB (відкритий ключ). YB=АХв mod Q.
Створення пари ключів користувачем C:
вибір випадкового числа ХC (закритий ключ), ХC<Q;
знаходження числа YC (відкритий ключ). YC=АХc mod Q.
Створення загального секретного ключа користувачем В:
К=( YC) Хв mod Q.
Створення загального секретного ключа користувачем С:
К=( YB) Хc mod Q.
Передбачається, що існують два відомі всім числа: просте число Q і ціле A, яке є примітивним коренем Q. Припустимо, що користувачі В і С хочуть обмінятися ключем для алгоритму симетричного шифрування. Користувач В вибирає випадкове число ХВ<Q і обчислює YВ = AXв mod Q. Аналогічно користувач С незалежно вибирає випадкове ціле число ХС<Q і обчислює YС=AXс mod Q. Кожна сторона тримає значення Х в секреті і робить значення Y доступним для іншої сторони. Тепер користувач В обчислює ключ як К=(YC)Хвmod Q, і користувач С обчислює ключ як К=( YB)Хc mod Q. Внаслідок цього обидва отримають одне й те саме значення.
Таким чином, дві сторони обмінялися секретним ключем. Оскільки ХВ і ХC є закритими, супротивник може отримати тільки такі значення: Q, A, YB і YC. Для обчислення ключа атакуючий має зламати дискретний логарифм, тобто обчислити ХC = ind a, q (YC).
Безпека обміну ключами в алгоритмі Діффі-Хеллмана випливає з того факту, що, хоча відносно легко обчислити експоненти за модулем простого числа, дуже важко вирахувати дискретні логарифми. Для великих простих чисел завдання вважається нерозв'язним.
Слід зауважити, що даний алгоритм уразливий для атак типу "man-in-the-middle". Якщо супротивник може здійснити активну атаку, тобто має можливість не тільки перехоплювати повідомлення, а й замінювати їх іншими, він може перехопити відкриті ключі учасників YB і YC, створити свою пару відкритого та закритого ключа і послати кожному з учасників свій відкритий ключ. Після цього кожен учасник обчислить ключ, який буде спільним з противником, а не з іншим учасником. Якщо немає контролю цілісності, то учасники не зможуть виявити подібну підміну.
11.3Завдання до виконання роботи
Створити програмну реалізацію алгоритму обміну ключами Діффі-Хеллмана.
Створити приємний і зрозумілий інтерфейс для перевірки зробленої роботи.
Сформувати звіт в електронному вигляді.
11.4Зміст звіту
1. Тексти розроблених програм.
2. Копії екранних форм з результатами.
3. Висновки.
11.5Контрольні запитання
Для чого створені алгоритми обміну ключами?
Що розуміється під поняттям примітивного кореня простого числа?
Як створюються пари ключем для обох сторін?
З чого виходить, що обмін ключами за алгоритмом Діффі-Хеллмана вважається безпечним?
Що таке атака типа "man-in-the-middle"?
12АЛГОРИТМ АСИМЕТРИЧНОГО ШИФРУВАННЯ НА БАЗІ ЕЛІПТИЧНИХ КРИВИХ ECES
4.1 Мета роботи
Вивчити основні поняття та визначення з розділу еліптичної криптографії. Реалізувати програмно алгоритм асиметричного шифрування на базі еліптичних кривих ECES [3, 61-66].
4.2 Теоретичні відомості
Еліптична криптографія – розділ криптографії, який вивчає асиметричні криптосистеми, засновані на еліптичних кривих над кінцевими полями. Основна перевага еліптичної криптографії полягає в тому, що дотепер не відомо субекспоненціальних алгоритмів для вирішення задачі дискретного логарифмування в групах точок еліптичних кривих.
Складність
перетворень у групах точок еліптичної
кривої пропорційно
,
n
–
порядок базової точки на еліптичній
кривій. Ця складність набагато більше,
ніж субекспоненціальна
,
в полях і кільцях.
Для
підвищення складності системи необхідно
збільшити параметри
,
проте це саме по собі підвищує складність
криптографічних перетворень.
У криптографії знаходять застосування такі еліптичні криві:
еліптичні криві над простим полем;
еліптичні криві над розширеним полем.