з програмами представленими в рамках курсового проекту.
Додаток 5 містить листинги трьох бібліотечних файлів використовуються в зазначених вище додатках. Їх об'єктний код підключається через відповідні h-файли, але для наочності в лістингах використовуються не відкомпілювалися файли з розширенням *. Cpp. p align="justify"> Всі додатки реалізовані в середовищі алгоритмічного програмування Turbo C + + v1.01, і через те, що використовують інструкції тільки i8086 процесора мають дуже низькі вимоги до системи. Реалізація програм на аssembler е дозволить дещо збільшити швидкість шифрування.
4. Крипостійкість алгоритму розподілу ключів
При використанні методу лінійних перетворень для формування спільного ключа (основний режим) вибір розміру використовуваних матриць визначався виходячи з заданої кількості витримуються компрометації (L = 5). Таким чином, симетрична матриця Т має розмірність Т [6,6] і довжину кожного елемента матриці рівну довжині ключа шифрування (128 біт). Елементи матриці генерувалися равновероятно і взаімонезавісімие. p align="justify"> Адреси абонентів є векторами виду Р i = (P 1 i , P 2 i , ..., P L i ), де L = 6. Розмір кожного елемента адреси дорівнює 16 бітам, що визначається максимальною кількістю абонентів конфіденційної мережі (2 16 > 50000). Адреса кожного користувача розраховується так, щоб елементи вектора були лінійно-незалежними.
При виконанні даних умов сформовані секретні ключі S i кожного користувача мережі будуть також рівноімовірними і лінійно-незалежними, що є необхідною умовою криптостойкости на основі заданого числа компрометації. Якщо ж порушник перехопив (або йому стали відомі) більше 6 секретних ключів та відповідних їм адрес абонентів, то система конфіденційного зв'язку вважається розкритою, оскільки можуть бути обчислені будь-які залишилися секретні ключі.
При використанні алгоритму Діффі і Хелмана для формування сеансового ключа (резервний режим) використовувалися наступні дані:
- Р - 128 бітове просте число;
- g - генератор поля Z p (64 біта , вибирався випадково з перевіркою за теотеме Альберта);
- X - випадкове число розмірності 64 біта;