Исходный код программного обеспечения приведен в Приложении А.

Основой устройства является высокопроизводительный (50 MIPS) 32-х разрядный ARM микроконтроллер AT91SAM7S64. Программное обеспечение для этого микроконтроллера было написано на языке “C” в программном продукте IAR Embedded Workbench 4.40A. Отладка программы производилась в устройстве через интерфейс JTAG.

После подачи питания на микроконтроллер, программа выполняет инициализацию регистров микроконтроллера и периферийных модулей (схему ФАПЧ, контроллер потребляемой мощности, контроллер прерываний, генератор случайных чисел). Если установка параметров микроконтроллера прошла успешно, программа зажигает красный светодиод – индикация работы устройства.

На следующем этапе работы программа микроконтроллера проходит процедуру энумерации USB устройства (перевод устройства в адресное состояние, выбор конфигурации, выбор интерфейса). Устройство имеет одну конфигурацию и один интерфейс. Если энумерация прошла успешно, программа зажигает зеленый светодиод – индикация распознанного системой USB устройства.

Далее программа переходит в цикл ожидания управляющих команд от драйвера устройства.

Команды, поддерживаемые устройством:

получение версии устройства;

загрузка в устройство мастер ключа;

считывание номера мастер ключа;

запись номера мастер ключа, с которым будут производится операции шифрования;

назначение символического имени ключу с указанным номером;

шифрование файла;

расшифровка файла;

При получении запроса на шифрование файла, программа ожидает запроса с номером мастер ключа (К1), который хранится в памяти микроконтроллера и будет использоваться для шифрования сеансового ключа.

После получения номера мастер ключа программа с помощью ГСЧ генерирует сеансовый ключ (К2). Далее происходит инициализация алгоритма Blowfish для ключа К2 и шифрование выбранного файла (шифруются получаемые устройством пакеты, размером 64 байта). После того как файл зашифрован ключ К2 шифруется алгоритмом Blowfish с ключом К1 и зашифрованный ключ К2 передается в персональный компьютер.

Для расшифровки файла, программа микроконтроллера считывает зашифрованный ключ К2 и номер ключа К1. Программа расшифровывает ключ К2 и далее расшифровывает файл используя ключ К2.

На рисунке 4.1. представлена блок-схема программы для микроконтроллера.

Структура программы микроконтроллера

Рис. 4.1 – Структура программы микроконтроллера

Другие публикации

Проектирование удаленного устройства индикации
Широко распространенное семейство микроконтроллеров MCS51, выпускаемое целым рядом фирм-производителей (Intel, Philips, Temic, OKI, Siemens и др.), уже являлось де- ...

Многомодовое оптическое волокно
Оптоволоконный кабель со стеклянным сердечником, по которому передаются световые импульсы, начинает приобретать все большую популярность. В силу того, что оптоволокон ...

Меню

Copyright @2019, TECHsectors.ru.