А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 4. Криптографические методы защиты информации 355<br />
реализации дают возможность попарно объединить и выполнить замену в 8-битных<br />
группах, что существенно эффективнее. Надлежащая организация замены позволяет<br />
также избежать вращения слова на выходе функции шифрования, если хранить узлы<br />
замены как массивы 4-байтовых слов, в которых уже выполнено вращение.<br />
Такая «раздутая» таблица замен потребует для своего хранения 4*28*4 = 212 байт<br />
или 4К оперативной памяти. Указанные шаги оптимизации позволяют реализовать<br />
раунд шифрования по ГОСТу за 10 машинных команд, включая выделение и загрузку<br />
в регистры отдельных байтов из 4-байтовых слов. С учетом способности процессоров<br />
Intel Pentium параллельно выполнять команды, раунд ГОСТа может быть реализован<br />
за 6 тактов работы процессора, а весь процесс шифрования — за 32*6 = 192 такта.<br />
Добавляя еще 8 тактов на различные внутрипроцессорные задержки, получим оценку<br />
затрат процессорного времени на реализацию цикла шифрования по алгоритму ГОСТ<br />
28147-89 в 200 тактов. На процессоре Pentium Pro 200 это позволит достичь предела<br />
быстродействия шифрования миллион блоков в секунду, или 8 <strong>М</strong>байт/с (на самом деле<br />
эта величина будет меньше).<br />
Рассматриваемый алгоритм шифрования может быть также эффективно реализован<br />
и на 8-битных микроконтроллерах, поскольку составляющие его элементарные операции<br />
входят в систему команд большинства наиболее распространенных контроллеров.<br />
При этом суммирование по модулю 232 придется разделить на одну операцию сложения<br />
без переноса и три операции сложения с переносом, выполняемые каскадно. <strong>В</strong>се остальные<br />
операции также легко могут быть представлены в виде 8-байтовых операндов.<br />
При аппаратной реализации ГОСТа один раунд предполагает последовательное<br />
выполнение трех операций над 32-битными аргументами: суммирование, замена, выполняемая<br />
одновременно во всех восьми 4-битных группах, и побитовое суммирование<br />
по модулю 2. Циклический сдвиг не является отдельной операцией, так как обеспечивается<br />
простой коммутацией проводников. Таким образом, при аппаратной<br />
реализации цикл шифрования требует выполнения 106 элементарных операций, и эту<br />
работу нельзя распараллелить.<br />
Характеристики быстродействия программных реализаций, выполненных по алгоритму<br />
ГОСТ 28147-89 и новому американскому стандарту шифрования — шифру<br />
Rijndael, представлены в табл. 4.5.<br />
Таблица 4.5. Показатели быстродействия реализаций алгоритмов шифрования<br />
Процессор<br />
Pentium 166<br />
Pentium III 433<br />
ГОСТ 281 47-89<br />
2,04 <strong>М</strong>байт/с<br />
8,30 <strong>М</strong>байт/с<br />
Rijndael, 14 раундов<br />
2,46 <strong>М</strong>байт/с<br />
9,36 <strong>М</strong>байт/с<br />
Из табл. 4.5 видно, что рассмотренные алгоритмы обладают сопоставимыми характеристиками<br />
быстродействия при реализации на 32-битных платформах. При использовании<br />
8-битных платформ картина будет примерно такой же.<br />
Что касается аппаратной реализации, то, в отличие от алгоритмов шифрования<br />
ГОСТа, Rijnael позволяет достичь высокой степени параллелизма при выполнении<br />
шифрования, оперирует блоками меньшего размера и содержит меньшее число раундов,<br />
в силу чего его аппаратная реализация на базе одной и той же технологии теоретически<br />
может быть более быстродействующей (примерно в 4 раза).