Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Методы разработки программных и программно-аппаратных СКЗИ



В соответствии с принципом абстракции при проектировании СКЗИ разработчики могут идти по меньшей мере двумя путями: от аппаратуры "вверх" – к программному обеспечению, реализующему пользовательский интерфейс, или, наоборот, от заданного набора пользовательских функций "вниз" – к реальному оборудованию.

Это и есть два основных метода проектирования – метод снизу вверх и метод сверху вниз. Остальные описываемые методы по своей сути сводятся к этим двум или являются их сочетанием.

Метод "снизу вверх" предполагает проектирование начинается с основного аппаратного оборудования системы. При проектировании все модули системы разбиваются на ряд слоев, причем нулевой слой образует аппаратура. Каждый следующий слой последовательно добавляет новые функции, используя уже реализованные в предыдущих слоях. На самом верхнем слое должна достигаться функциональность, полностью отвечающая всем требованиям, поставленным перед разработчиком.

К недостаткам метода проектирования снизу вверх относят:

· необходимость с самого начала принимать решение о выборе способа реализации компонент СКЗИ – с помощью аппаратуры, микропрограмм или программ, что сделать очень трудно;

· возможность проектирования программной части только после разработки аппаратуры;

· расхождение между конечным продуктом и определенным в техническом задании (ТЗ).

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

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

Определяется абстракция описания компонент СКЗИ высшего уровня. Далее систематически проводится анализ, достаточно ли определены компоненты, чтобы можно их было реализовать, используя некоторые примитивные понятия. Если нет, то каждая функция каждой компоненты представляется функциями компонент следующего слоя, которому соответствует более низкий уровень абстракции, и снова проводится анализ на возможность их реализации.

В иерархическом методе целесообразно использовать принцип модульного проектирования и структурный принцип.

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

Преимущества использования модульного принципа состоят в следующем:

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

· обеспечивается возможность организации совместной работы коллективов разработчиков, т. к. каждый программист имеет дело с независимой от других частью программы;

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

Структурный принцип имеет фундаментальное значение и составляет основу большинства реализаций. Согласно этому принципу, для построения программы требуются только три основных составляющих блока:

· функциональный блок;

· конструкция обобщенного цикла;

· конструкция принятия двоичного решения.

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




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.