
- •Аналіз криптографічного протоколу
- •Розподіл ключів
- •1.2 Криптографічний протокол Wide-mouthed Frog
- •Аналіз протоколу з використанням ban–логіки
- •Постулати ban–логіки
- •Аналіз протоколу Wide-mouthed Frog
- •Розробка Спеціалізованого засіб
- •Розробка операційного автомату спеціалізованого засобу
- •Узагальнена структура засобу
- •Визначення технічних характеристик спеціалізованого процесора
- •Програмний засіб Wide-mouthed Frog
- •Обґрунтування вибору програмних засобів
- •Тестування засобу
- •Висновки
- •Перелік використаних джерел
-
Розробка Спеціалізованого засіб
-
Розробка операційного автомату спеціалізованого засобу
Складовою частиною спеціалізованого засобу, що реалізує криптографічний протокол, є операційний автомат. Математично операційний автомат описується таким набором множин:
OA={DI,DO,S,Y,X},
Де DI – множина вхідних даних;
DO – множина вихідних даних;
S – множина проміжних даних;
Y – множина виконуваних операцій;
X – множина логічних умов.
Визначимо для протоколу автентифікації множини, що входять до складу операційного автомату для сторін Аліса, Тренд і Боб згідно криптографічному протоколу:
DI={А, В, К, Kas,Kbs, RВ};
DO={Kbs, Kas , RВ, А};
S={ RВ};
Y={fшиф, fрозш},
деА і В – ідентифікатори Аліси та Боба;
К – випадковий сеансів ключ;
Kas,Kbs– спільні ключі шифрування для Аліси і Тренда та Тренда і Боба;
RВ – псевдо випадкове число Боба;
fшиф, fрозш –блок шифруваннята розшифрування;
Таким чином операційний автомат для протоколу Wide-Mouthed Frog доволі простий та не включає в себе великої кількості функцій та проміжних даних.
-
Узагальнена структура засобу
На початку роботи програми на стороні Аліси дані для шифрування приходять з кількох регістрів. З регістру В – ідентифікатор Боба, з регістру
К – сеансовий ключ і з регістру, RВ – випадкове число Боба. Ці дані шифруються в блоці шифрування AES за допомогою спільного ключа Аліси та Тренда, який приходить з регістру сторони А. До зашифрованих даних прикріплюються ідентифікатор Аліси, що надійшов з регістру А та спільний ключ Аліси та Тренда. Далі повідомлення передається Тренду (рис 3.1).
Рисунок 3.1 – Вигляд структура пристрою для Аліси
Відправлене Алісою зашифроване повідомлення приходять до Тренда. В регістрі А ідентифікатор Аліси, а в регістрі ЕА ключ для розшифрування та самі дані. За допомогою спільного ключа Аліси та Тренда розшифровуються дані, що прийшли в регістрі ЕА. Після розшифрування з них добувається випадкове число RВ та сеансовий ключ К. Випадкове число порівнюється з тим яке прислав Боб. Ідентифікатор Боба, що прийшов разом з повідомленням порівнюється з ідентифікатором на стороні Тренда. Псевдо випадкове число разом з ідентифікатором Аліси та сеансовим ключем шифруються та переправляються від Тренда Бобу (рис 3.2).
ЕА(RВ,B,K)
RВ
Рисунок 3.2 – Вигляд структура пристрою для Тренда
Від Тренда повідомлення приходить Бобу. В регістрі ЕВ приходять всі відправлені Трендом параметри. В блоці розшифрування параметри розшифровуються за допомогою спільного ключа Тренда і Боба. Видобута мітка часу ТВ віднімається від часу розшифрування повідомлення і результат порівнюється з допустимим часом пересилання (рис 3.3).
Рисунок 3.3 – Вигляд структура пристрою для Боба
Узагальнена структура засобу для кожної із сторін доволі проста і не включає в себе великої кількості складних блоків та функцій.
-
Визначення технічних характеристик спеціалізованого процесора
Аналізуючи схему електричну структурну наведену в графічній частині можна обрахувати обсяг пам’яті використовуваний програмою. На схемі є 14 регістрів. Регістр згенерованого псевдовипадкового числа має розмір 32 біти, а інші 13 регістрів 128 біт. Тобто обсяг пам’яті буде дорівнювати:13*128+1*32=1696 біт.
Апаратна складність визначається як сума розмірностей всіх пристроїв схеми, що виконують дії над регістрами. Два блоки шифрування/розшифрування – Ашиф/Арозш та два компаратори Аком. Апаратна складність дорівнює: 2Ашиф+2Арозш+2Аком.
Час виконання визначається як сума швидкості виконання всіх блоків та пристроїв програми. В схемі використовується 2 компаратори – tпор, 2 блоки шифрування – tшифр та 2 блоки розшифрування – tрозш. Сумарний час виконання програми дорівнюватиме: t=2* tпор +2* tшифр +2* tрозш. Виконані розрахунки показують, що програма доволі швидка у виконанні та використовує невеликий обсяг пам’яті.