Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Simon / диплом.doc
Скачиваний:
93
Добавлен:
16.04.2013
Размер:
9.51 Mб
Скачать
    1. Программная и аппаратная гибкость реализации

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

      1. Оценка сложности программной и аппаратной реализации

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

Если рассматривать тот факт, что каждый логический элемент формирует выходной сигнал с некоторой задержкой, причем задержки разных элементов отличаются незначительно, т.е. τне ≈ τи ≈ τили = τл.е л.е – среднее значение задержки сигнала на логическом элементе любого типа). Следовательно, любую схему можно оценить по быстродействию, подсчитав число ступеней из логических элементов, которое проходит сигнал от входа схемы до ее выхода.

В частности для алгоритма маскирования, использующего операцию умножения 32 битных чисел, в отношении алгоритма маскирования, использующего операцию сложение по модулю 2 32 битных чисел, эти оценки будут значительно больше т.к. множительное устройство затрачивает 3*n оборудования, где n- разрядность числа.

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

    1. Вычислительная сложность (скорость) зашифрования/расшифрования

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

      1. Оценочное время выполнения зашифрования/расшифрования блока данных

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

Однако в зависимости от того, что мы считаем, время может быть определено различными способами. Наиболее простой способ определения времени называется астрономическим временем, временем ответа (response time), временем выполнения(execution time) или прошедшим временем (elapsed time). Это задержка выполнения задания, включающая буквально все: работу процессора, обращения к диску, обращения к памяти, ввод/вывод и накладные расходы операционной системы. Однако при работе в мультипрограммном режиме во время ожидания ввода/вывода для одной программы, процессор может выполнять другую программу, и система не обязательно будет минимизировать время выполнения данной конкретной программы (алгоритма).

Для измерения времени работы процессора на данном алгоритме используется специальный параметр - время ЦП (CPU time), которое не включает время ожидания ввода/вывода или время выполнения другой программы. Очевидно, что время ответа, видимое пользователем, является полным временем выполнения программы, а не временем ЦП. Время ЦП может далее делиться на время, потраченное ЦП непосредственно на выполнение алгоритма и называемое пользовательским временем ЦП, и время ЦП, затраченное операционной системой на выполнение заданий, затребованных алгоритмом, и называемое системным временем ЦП.

Таким образом, при измерениях производительности алгоритма используется сумма пользовательского и системного времени ЦП (Рисунок 3.3.).

Рис. 3.3. Время шифрования блока данных 4096 бит

Соседние файлы в папке Simon