27.05.2014 Views

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

SHOW MORE
SHOW LESS

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 раза).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!