МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
/
КУРСОВА РОБОТА
з навчальної дисципліни: “ Комп`ютерні методи високорівневого проектування пристроїв захисту ” на тема:
“Розроблення та синтез VHDL-моделей елементів пристроїв захисту інформації”
Львів – 2012
Зміст
Завдання………………………………………………………...……………..2
Аналітичний розділ з роз’ясненням та аналізом основних принципів побудови та реалізації пристрою в ПЛІС……………………………………3
Розділ з описом заданих алгоритмів шифрування та режимів обробки даних…………………………………………………………………………...5
Розділ з описом розробки архітектури пристрою та його структурної схеми на рівні між регістрових передач……………………………………..9
Розділ з описом розробки VHDL – моделей компонент пристрою та VHDL – пристрою в цілому……………………………………..…………..11
Розділ з описом розробки системи тестування тестування для виконання тестування пристрою та з результатами симуляції пристрою у формі часових діаграм, результати синтезу пристрою…………………………...21
Cинтез розробленої VHDL - моделі пристрою в ПЛІС…………………...23
Висновки……………………………………………………………………..27
Список використаної літератури…………………………………………...28
Завдання
Відповідно до НЗК (номера залікової книжки) визначити варіант завдання наступним чином: (аb тоd 25 + 1), аb - дві останні цифри НЗК. Варіант завдання подано в таблиці нижче.
Виконати архітектурне проектування та розробити VHDL - модель пристрою реалізації заданих завданням режимів обробки даних. Як модуль шифрування використати імітаційну модель пристрою, що виконує заданий завданням алгоритм симетричного блокового шифрування.
Розробити систему тестування та з її допомогою виконати функціональну симуляцію розробленої VHDL - моделі пристрою.
4. Для магістрів - виконати синтез розробленої VHDL - моделі пристрою в ПЛІС за власним вибором, а також виконати часову симуляцію розробленої VHDL - моделі пристрою з допомогою розробленої системи тестування.
Варіант
Алгоритм СБШ
Режими обробки даних
1
AES-128
CTR, СВС, ECB
Аналітичний розділ з роз’ясненням та аналізом основних принципів побудови та реалізації пристрою в ПЛІС
Етапи проектування програмних моделей процесорів на рівні міжрегістрових передач та їх реалізації у програмовних логічних інтегральних схемах (ПЛІС) зображено на рис. 1.
/
Рис. 1. Етапи проектування програмних моделей процесорів на рівні міжрегістрових передач та їх реалізації у програмовних логічних інтегральних схемах.
Структура процесора визначається під час його функціональної декомпозиції: кожен з модулів процесора повинен бути функціонально незалежним. В загальному критеріями якості розбиття схеми на модулі є функціональна незалежність модулів та кількість міжмодульних з'єднань (чим менше - тим краще).
Розробник, володіючи методикою проектування програмних моделей процесорів мовами опису апаратних засобів, створює якісну програмну модель. Під час розробки програмної моделі та після її закінчення проводиться функціональна симуляція, яка дає змогу виявити помилки, відлагодити роботу процесора та підтвердити його відповідність технічному завданню.
Для ефективного тестування окремих компонент та всієї програмної моделі процесора розробляють системи тестування. Система тестування - це спеціальне середовище (модель), у яке поміщається тестований пристрій і яке імітує роботу реальної системи, у якій буде працювати надвелика інтегральна схема. Архітектура системи тестування розробляється відповідно до вимог конкретного тестованого пристрою. Помилки, що виявляються на етапі функціональної симуляції, усуваються шляхом модифікації програмної моделі процесора на етапі його опису мовою опису апаратних засобів. Такі помилки усуваються найлегше, проте інколи це вимагає змін в архітектурі процесора.
Після функціональної симуляції проводиться логічний синтез програмної моделі процесора у ПЛІС. На цьому етапі код з мови опису апаратних засобів транслюється у код, який використовується як вхідний при програмуванні кристалу. На етапі логічного синтезу процесора у ПЛІС отримуються його характеристики - частота роботи та розмір на кристалі (затрати обладнання). Таким чином розробник може визначити, чи задовольняє розробка вимоги технічного завдання, чи ні. Дуже важливим є те, що засоби логічного синтезу ПЛІС генерують результуючий файл мовою опису апаратних засобів, який відображає фізичну модель синтезованого процесора. Ця модель є описом процесора на рівні логічних комірок (примітивів) ПЛІС, яку використовують, і відображає всі часові затримки при проходженні інформації у кристалі. Розробник, використовуючи розроблену систему тестування, може перевірити, чи є працездатною фізична модель процесора. Цей процес називається часовою симуляцією синтезованого процесора. Помилки, що виникають на етапі часової симуляції, виявляються та усуваються значно важче ніж ті, що виникають на етапі функціональної симуляції. Такі помилки свідчать або про неякісно розроблену програмну модель процесора, або про невдале використання особливостей примітивів ПЛІС (наприклад, наявність так званих хибних шляхів, завищення частоти синхроімпульсів тощо). Якщо синтезована модель успішно витримала часову симуляцію, то наступним кроком є програмування ПЛІС. Результат перевірки пристрою, реалізованого у ПЛІС, дає змогу зробити висновок про відповідність розробленого процесора технічному завданню. Якщо процесор відповідає технічному завданню, то його передають на етап системного тестування. Якщо системний тест не виявив помилок, то процесор готовий до використання. Помилки, які можуть виникнути на цьому етапі, виявити та усунути найважче. Вони можуть бути спричинені відсутністю сигналу скиду у певних елементах ПМП чи порушенням синхронізації. Інколи це трапляється через порушення температурного режиму роботи кристалу, завищення частоти синхроімпульсів чи від відхилення взірця кристалу від його стандартних технічних параметрів.
Типовий склад конструкторської документації проекту програмної моделі процесора є наступним:
функціональна модель процесора, написана мовою опису апаратних засобів, VHDL або Verilog (VHDL - модель, Verilog - модель);
фізичні моделі процесора, орієнтовані на його реалізацію в конкретних кристалах ПЛІС;
модель системи тестування для перевірки функцій та параметрів процесора;
текстова документація з детальним описом інтерфейсу та принципів функціонування процесора, яка складається з його функціонального опису, інструкції користувача та рекламного листа.
Розділ з описом заданих алгоритмів шифрування та режимів обробки даних
Електронна книга кодів (ECB)
Найпростішим з режимів шифрування є режим електронної книги кодів (англ. electronic codebook, ECB). Повідомлення розбивається на блоки і кожен блок шифрується окремо.
/
/
Рис.2 Схеми шифрування і розшифрування режиму електронної кодової книги.
Вадою цього методу є те, що однакові блоки відкритого тексту шифруються в однакові блоки шифротексту; отже шаблон погано приховується. Цей режим не забезпечує серйозну безпеку повідомленням, і його взагалі не радять використовувати в криптографічних протоколах.
Типовий приклад ступеня збереження шаблонів ECB відкритого тексту в шифротексті можна побачити, коли ECB використовують для шифрування bitmap зображень, які використовують великі площі однорідних кольорів. Хоча колір кожного окремого пікселя зашифровано, загальну картинку можна розрізнити як маску однокольорових пікселів картинки на вході.
Ланцюгування шифроблоків (CBC)
IBM винайшла режим ланцюгування шифроблоків (англ. cipher-block chaining, CBC) у 1976. В CBC режимі, кожен блок відкритого тексту XOR-ять з попереднім шифроблоком перед шифруванням. Так, кожен шифроблок, залежить від усіх блоків оброблених до нього. Для отримання унікальних повідомлень потрібно використовувати ініціалізаційний вектор у першому блоці.
/
/
Рис.3 Схеми шифрування і розшифрування режиму ланцюгування шифроблоків.
Якщо перший блок має індекс 1, математична формула для CBC шифрування буде наступною: