Розробка програми процесору МПС

Завдання на курсову роботу

Завдання на курсову роботу є:

Розробити схему МПС на базі ЦСП АDSP-2181 (або іншого процесора), та програму на асемблері цього процесору, що реалізує один із заданих криптографічних алгоритмів (AES, DES, 3-DES, ГОСТ 28147-89, RC-4, SHA-1, MD-5, RSA , DSA и др.).

Продемонструвати працездатність розробленої програми на базі лабораторного стенда або сімулятора.

Досліджувати ефективність програми за швидкістю виконання криптографічного алгоритму.

Оформити пояснювальну записку по звіту про зроблену роботу.

Студенті самостійно вивчають задані криптографічні алгоритми, вибирають найбільш оптимальні варіанти їх реалізації на МП, складають блок-схему програми і розробляють відповідну програму для ЦСП (або іншого процесора).

Курсова робота складається з наступних етапів:

1. Аналітичний огляд криптографічного алгоритму;

2. Моделювання роботи криптографічного алгоритму на ПК;

3. Розробка структурної та принциповою схеми МПС;

4. Розробка програми процесору МПС.

Отримані теоретичні знання про застосування МПС у галузі ЗІ необхідно систематизувати і застосувати комплексно, в рамках єдиного проекту. При цьому необхідно розуміти, що практична користь і успіх даної роботи залежить від того, наскільки продумано будуть обрані вихідні дані для проекту, що розроблюється. Невдалі, неграмотно викладені передумови проекту можуть призвести до непотрібних ускладнень при виконанні даної курсової роботи і навіть до необхідності повної переробки роботи. Для того, щоб проект був максимально реалістичним, і його розробка принесла корисний досвід, необхідно правильно задати обмеження проекту, в основному, це пріоритети, час і бюджет, хоча можуть бути і додаткові обмеження.

В процесі виконання курсової роботи необхідно сформувати вимоги до апаратурної та програмної частини МПС, дати характеристику оточення проекту, розробити структуру МПС, виконати розробку програми процесору, відладити її та провести аналіз роботи МПС.

Вихідні данні до варіантів завдань КР видаються викладачем. Варіанти різняться криптоалгоритмом та типом зовнішнього інтерфейсу МПС.

 

4. Графік виконання та захист курсової роботи

 

Термін виконання і захисту КР згідно з графіком навчального процесу, затвердженого ректором університету, але не пізніше 17-го тижня. Під час консультації проводиться контроль виконання частин КР. При цьому керівником КР контролюється відсоток готовності програмної частини КР і об’єм оформленої пояснювальної записки. При захисті роботи, крім знань з кожного розділу, враховується термін здачі частин, якість та можливості розробленої програми, а також якість оформлення пояснювальної записки. Невідповідність вимогам держстандарту приводить до зниження загальної оцінки КР.

5. Послідовність виконання завдання

 

5.1. Аналітичний огляд криптографічного алгоритму, що повинна реалізувати програма МП.

— Огляд літератури де описаний криптографічний алгоритм, що задано.

— Опис структури і роботи криптографічного алгоритму.

— Аналіз особливостей реалізації криптографічного алгоритму на ЦСП.

 

5.2. Моделювання роботи криптографічного алгоритму на ЕОМ за допомогою програми Matlab.

— Розробка тексту Matlab-програми, що моделює роботу криптографічного алгоритму.

— Відладка Matlab-програми.

— Аналіз результатів роботи Matlab-програми.

 

5.3. Розробка структурної та принципової схеми МПС

— Аналіз тренований к апаратної частини МПС на основі вхідних даних із завдання на КР.

— Призначення апаратних ресурсів МПС.

— Розробка структурної схеми МПС.

— Вибір елементної бази для МПС.

— Розробка принципової схеми МПС.

— Опис роботи МПС за принциповою схемою МПС.

 

Розробка програми процесору МПС

¾ Розробка структурної схеми програми.

¾ Розробка тексту програми на мові асемблеру процесора (см. Додаток1).

¾ Відладка програми процесора на лабораторному стенді (см. Додаток1).

¾ Досліджування ефективність програми за швидкістю виконання криптографічного алгоритму.

 

6. Вимоги до структури курсової роботи

 

Курсова робота складається з слідуючих частин:

— Титульний лист.

— Анотація (коротка інформація про зміст курсової роботи 0,5 — 1 сторінок).

— Завдання та вхідні данні до курсової роботи

— Зміст.

— Вступ — актуальність роботи, обґрунтування необхідності проекту.

— Розділ 1: Аналітичний огляд криптографічного алгоритму, що повинна реалізувати програма МП.

— Розділ 2: Моделювання криптографічного алгоритму на ПК за допомогою програми Matlab.

— Розділ 3: Розробка структурної та принциповою схеми МПС.

— Розділ 4: Розробка програми процесору МПС.

— Висновки.

— Список використаної літератури.

— Додатки (текст Matlab-програми, що моделює криптографічній алгоритм, схеми МПС, структурна схема програми процесору МПС, текст програми процесору МПС та ін.).

 

7. Вимоги до пояснювальної записки

 

Всі частини пояснювальної записки повинні бути виконані у відповідності зі стандартами єдиної системи конструкторської документації (ЕСКД), єдиної системи програмної документації (ЕСПД), державних стандартів України (ДСТУ) та інші, а також з урахуванням рекомендацій даних методичних указівок. На кафедрі «Інформаційна безпека» є методичні вказівки з вимогами до структури, оформлення, змісту пояснювальної записки КР.


Література

 

1. Вальпа О.Д. Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++. – М.: Горячая линия - Телеком, 2007. – 270 с.

2. Руководство пользователя по сигнальным микропроцессорам смейства ADSP-2100 / Пер. с англ. О. В. Луневой; Под ред. А. Д. Викторова; Санкт-Петербургский гос. электротехн. ун-т. – СПб, 2001. – 520 с.

3. DSP Microcomputer ADSP-2181: Analog Devices Data Sheet. – Htpp://www.analog.com, 1997. – 32 p.

4. Рябко Б.Я., Фионов А.Н. Криптографические методы защиты информации: Учебное пособие для вузов. – М.: Горячая линия-Телеком, 2005. – 229 с.

5. Мухачев В.А., Хорошко В.А. Методы практической криптографии. – К.: ООО «Полиграф-Консалтинг», 2005. – 215 с.


Додаток 1

Порядок розробки та відладки проекту програми

Для процесора ADSP-2181

1. Встановити на персональному комп'ютері (ПК) віртуальну машину (ВМ) Microsoft Virtual РС 2007 з операційною системою Windows 98 і наступним програмним забезпеченням (ПО):

¾ текстовий редактор EDIT.COM;

¾ Windows Comander 32;

¾ пакет інструментів ADI_DSP;

¾ Нортон-командер NC (размещается в папке C:\Windows);

¾ емулятор EZICE8X;

¾ Matlab 6.5.1(усічена версія без Simulink, Demo і т.п.).

2. Розробити алгоритм програми в графічному або текстовому вигляді.

3. Відладити розроблений алгоритм з використанням мови Matlab.

4. Розбити алгоритм на модулі (підпрограми).

5. За допомогою текстового редактора EDIT.COM розробити тексти програм модулів на мові Асемблера ADSP-2181.

6. На віртуальній машині в каталозі С:\ ЛР МПС\ створити теку проекту програми, в якій розмістити базовий набір файлів згідно таблиці Д1.1.

7. Розмістити в теці проекту текстове файли модулів програми з розширенням «.dsp».

8. За допомогою текстового редактора EDIT.com внести до файлу Asm21.bat команди асемблювання модулів проекту. Спочатку в цьому файлі приведена команда тільки для модуля main.dsp.

9. Аналогічно п.7 у файлі File_all вказати список модулів проекту.

10. Розмістити в теці проекту файли даних, що завантажуються в програму, якщо це необхідно.


Таблиця Д1.1.

Базовий набір файлів проекту

Ім'я файлу Найменування Призначення
EDIT.com Текстовий редактор Редагування текстових файлів проекту (не обов’язково).
File_all Список модулів Текстовий файл, що містить відрядковий список імен модулів програми, що оголошуються директивою асемблера «.MODULE».
Asm.bat Командный файл асемблювання програмних модулів Bat-файл, що містить команди асемблювання текстових файлів модулів програми на мові Асемблера ADSP-21xx з розширенням «.dsp». Вид рядка файлу: Asm21 (ім'я модуля) -2181
Ld.bat Командный файл лінкированія модулів програми Bat-файл, що містить команду лінкування модулів програми, які перераховано у файлі File_all. Вид файлу: ld21 -i file_all -х - g.
Sim.bat Командний файл сімулятора Bat-файл, що містить команду запуску сімулятора: sim2181 -a adsp2181 -e 210x
Udel.bat Командний файл видалення bat-файл, що містить команди видалення допоміжних файлів проекту з розширеннями: «.obj», «.int», «.cde», «.map», «.sym», «win», «.exe», які генеруються в ході асемблювання, лінкування та сімулювання.

 


Продовження таблиці Д1.1.

210x.ach Файл архітектури  
Adsp2181.ach Файл архітектури  
Tabl.h Таблиця переривань Текстовий файл, що містить команди обслуговування векторів переривань.
asm21.exe Компілятор асемблера Виконуваний файл асемблювання модулів програми.
Id21 .exe Компонувальник (редактор зв'язків - лінкер) Виконуваний файл лінкування модулів.
sim2181.exe Сімулятор Виконуваний файл симулювання виконання програми ADSP-2181

 

Примітки:

1. Базовий набір файлів проекту содержіться в теці С:\ ЛР МПС\BASE віртуальної машини.

2. Опис розширень файлів проекту приведений в таблиці Д1.2.

3. У разі розміщення теки з інструментами Adi_dsp в кореневому каталозі диска С, і додавання в autoexec.bat строчок:

PATH C:\ADI_DSP\21XX\BIN

SET ADI_DSP=C:\ADI_DSP

файли № 10-12 розміщувати в теці проекту не треба.


 

Таблиця Д1.2

Опис розширень файлів проекту

Розширення Опис  
bat Командний файл
sys Початковий файл системної архітектури
ach Файл опису архітектури
dsp Файл асемблерного модуля (текст програми)
lst Файл лістингу
int Файл ініціалізації
obj Об'єктний файл
cde Файл коду
dat Файл ініціалізації даних коду
exe (lda) Файл завантаження образу пам'яті
map Файл розподілу пам'яті
sym Файл символів

 

11. Ввиконати: «Пуск Завершение работыПерегрузить компьютер в режим MS-DOSОК».

12. В режиме MS-DOS запустить NC:

C:\WINDOWS>NC\NC, ENTER.

13. В NC открыть папку проекта.

13. Запустити файл Asm.bat для асемблювання модулів проекту.

14. У разі виникнення помилок, виправити їх внісши зміни до dsp-файлів за допомогою редактора EDIT.com, і повторити п.13.

15. За відсутності помилок асемблювання запустити файл Ld.bat для лінкування модулів програми.

16. У разі виникнення помилок, виправити їх внісши зміни до dsp-файлів за допомогою редактора EDIT.com і повторити п.13-15, поки не буде створений файл образу пам'яті програми процесора 210x.exe.

17. Запустити файл Sim.bat для симулювання виконання програми процесора ADSP-2181 (файл 210x.exe).

18. Перевірити виконання програми ADSP-2181 за допомогою стимулятора. Зробити dump пам'яті даних, що містить результати виконання програми.

19. Вивантажити з пам'яті процесора дані, що представляє результат роботи програми, і зберегти їх у вигляді текстового файлу (розширення «.txt») в теці проекту.

20. Зібрати лабораторний стенд згідно структурної схеми, приведеної на малюнку. Д1.1. Склад устаткування лабораторного стенду:

¾ персональний комп'ютер (ПК);

¾ плата емулятора (ПЕ) EZ-ICE;

¾ цільова плата (ЦП) з процесором ADSP-2181 і роз'ємом для підключення;

¾ блок живлення ЦП;

¾ блок живлення ПЕ;

¾ кабель для підключення ОП до COM-порту ПК;

¾ шлейф для підключення ПЕ до ЦП.

16. На віртуальній машині запустити емулятор EZICE8X.

17. За допомогою кнопки зробити скидання плати емулятора EZ-ICE.

18. Після встановлення зв'язку за допомогою COM-порту ПК і ПЕ, відкрити файл 210x.exe проекту програми.

19. Призначити точки контрольного останову програми.

20. Запустити програму 210x.exe на виконання процесором цільової плати.

21. У разі потреби відладити програму використовуючи покрокове виконання, вивантаження вмісту регістрів і пам'яті процесора і т.п.

22. Зупинити виконання програми.

23. Вивантажити з пам'яті процесора дані, що представляє результат роботи програми, і зберегти їх у вигляді файлу 16-ричных даних (розширення «.hex») в теці проекту.

 

Рисунок Д1.1. Структурна схема лабораторного стенду