КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Режим выработки имитовставки
Режим гаммирования с обратной связью Принцип работы алгоритма в режиме гаммирования с обратной связью отличается от принципа работы предыдущего режима тем, что если на первом шаге при формировании гамма-шифра используется синхропосылка, то на всех последующих шагах — предыдущий блок зашифрованных данных. За счет этого достигается сцепление блоков шифруемых данных: каждый блок данных при шифровании зависит от всех предыдущих. Шифрование открытых данных в этом режиме происходит по той же схемной реализации, что и в режиме гаммирования, и отличается лишь введением дополнительной обратной связи с выхода сумматора СМЗ на входы накопителей HI и Н2. Для пояснения процесса шифрования данных в режиме гаммирования с обратной связью вновь обратимся к рис. 4.16 и приведем последовательность выполняемых процедур. В ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит, после чего формируется синхропосылка S, записываемая в накопители HI и Н2, содержимое которых шифруется в режиме простой замены. Результат шифрования в накопителях HI и Н2 представляет собой первый 64-разрядный блок гамма-шифра П. Полученный гамма-шифр Г1 суммируется поразрядно по модулю 2 с первым 64-разрядным блокойГЬткрытых данных Т01 в сумматоре СМ5. Результат суммирования—первый 64-разрядный блок зашифрованных данных Тш1. Первый блок зашифрованных данных Тш1 по обратной связи поступает на накопители HI и Н2 и является исходной информацией для формирования второго блока гамма-шифра Г2. Содержимое накопителей HI и Н2 шифруется в режиме простой замены. Результат шифрования в накопителях HI и Н2 представляет второй 64-разрядный блок гамма-шифра Г2. Этот гамма-шифр суммируется по модулю 2 поразрядно со вторым 64-разрядным блоком открытых данных Т02 в сумматоре СМ5. В результате получается второй 64-разрядный блок зашифрованных данных Тш2 и т. д. Если в последнем m блоке открытых данных Тот число двоичных разрядов меньше 64, неиспользованная часть гамма-шифра отбрасывается. Расшифровка данных происходит в обратном порядке на основе знания ключевой последовательности и синхропосылки S. Режим выработки имитовставки предназначен для обнаружения случайных и преднамеренных ошибок при передаче шифрованных данных потребителям и одинаков для любого из режимов шифрования открытых данных. Имитовставка представляет собой дополнительный блок данных U из L бит, который формируется либо перед шифрованием всего сообщения, либо совместно с шифрованием по блокам. Число двоичных разрядов L в имитовставке определяется криптографическими требованиями с учетом вероятности возникновения ложной имитовставки: Ро = 2 -L. Первые блоки открытых данных, которые участвуют в формировании имитовставки, как правило, содержат служебную информацию (адресную часть, время, синхро-посылку) и не зашифровываются. Процесс формирования имитовставки поясним также с помощью рис. 4.16. Как и в рассмотренных выше режимах, в ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит. Далее первый 64-разрядный блок открытых данных ТЫ поступает в накопители HI и Н2, содержимое которых подвергается преобразованию, соответствующему первым 16-и циклам итеративного процесса шифрования в режиме простой замены. Результат шифрования в режиме простой замены с накопителей HI и Н2 суммируется по модулю 2 со вторым блоком открытых данных То2 в сумматоре СМ5. Результат суммирования из сумматора СМ5 поступает в накопители HI и Н2 и после 16-и циклов шифрования в режиме простой замены суммируется по модулю 2 с третьим блоком открытых данных в сумматоре СМ 5 и т. д. Последний 64-разрядный блок открытых данных ТОт, дополненный при необходимости до полного 64-разрядного числа нулями, суммируется по модулю 2 с результатом работы алгоритма на (m-1) шаге в сумматоре СМ5 и снова зашифровывается по первым 16-и циклам режима простой замены. Из полученного таким образом последнего заполнения накопителей Н1 и Н2 выбирается имитовставка U длиной L бит. В большинстве практических случаев в качестве имитовставки используется содержимое накопителя HI (32 младших бита последнего блока зашифрованных данных). Имитовставка U передается по каналам связи в конце зашифрованных данных или после каждого шифрованного блока. Поступившие данные расшифруются и из полученных блоков открытых данных TOi вырабатывается имитовставка U, которая сравнивается с имитовставкой, полученной по каналу связи. В случае несовпадения ими-товставок расшифрованные данные считают ложными. Познакомившись с принципом работы криптографического алгоритма ТОСТ 28147-89, рассмотрим его эффективность и практическую реализацию. Российский стандарт шифрования ГОСТ 28147-89 удобен как для аппаратной, так и для программной реализации. При размере блока данных 64 бита основная работа ведется с половинками этого блока — 32-битными словами, что позволяет эффективно реализовать российский стандарт шифрования на большинстве современных компьютеров. При реализации на 32-битных машинах наиболее трудоемка операция замены. Предусмотренные ГОСТом подстановки в 4-битных группах при программной реализации дают возможность попарно объединить и выполнить замену в 8-битных группах, что существенно эффективнее. Надлежащая организация замены позволяет также избежать вращения слова на выходе функции шифрования, если хранить узлы замены как массивы 4-байтовых слов, в которых уже выполнено вращение. Такая «раздутая» таблица замен потребует для своего хранения 4*28*4 = 212 байт или 4К оперативной памяти. Указанные шаги оптимизации позволяют реализовать раунд шифрования по ГОСТу за 10 машинных команд, включая выделение и загрузку в регистры отдельных байтов из 4-байтовых слов. С учетом способности процессоров Intel Pentium параллельно выполнять команды, раунд ГОСТа может быть реализован за 6 тактов работы процессора, а весь процесс шифрования — за 32*6 =192 такта. Добавляя еще 8 тактов на различные внутрипроцессорные задержки, получим оценку затрат процессорного времени на реализацию цикла шифрования по алгоритму ГОСТ 28147-89 в 200 тактов. На процессоре Pentium Pro 200 это позволит достичь предела быстродействия шифрования миллион блоков в секунду, или 8 Мбайт/с (на самом деле эта величина будет меньше). Рассматриваемый алгоритм шифрования может быть также эффективно реализован и на 8-битных микроконтроллерах, поскольку составляющие его элементарные операции входят в систему команд большинства наиболее распространенных контроллеров. При этом суммирование по модулю 232 придется разделить на одну операцию сложения без переноса и три операции сложения с переносом, выполняемые каскадно. Все остальные операции также легко могут быть представлены в виде 8-байтовых операндов. При аппаратной реализации ГОСТа один раунд предполагает последовательное выполнение трех операций над 32-битными аргументами: суммирование, замена, выполняемая одновременно во всех восьми 4-битных группах, и побитовое суммирование по модулю 2. Циклический сдвиг не является отдельной операцией, так как обеспечивается простой коммутацией проводников. Таким образом, при аппаратной реализации цикл шифрования требует выполнения 106 элементарных операций, и эту работу нельзя распараллелить. Характеристики быстродействия программных реализаций, выполненных по алгоритму ГОСТ 28147-89 и новому американскому стандарту шифрования — шифру Rijndael, представлены в табл. 4.5. Таблица 4.5. Показатели быстродействия реализаций алгоритмов шифрования
Из табл. 4.5 видно, что рассмотренные алгоритмы обладают сопоставимыми характеристиками быстродействия при реализации на 32-битных платформах. При использовании 8-битных платформ картина будет примерно такой же. Что касается аппаратной реализации, то, в отличие от алгоритмов шифрования ГОСТа, Rijnael позволяет достичь высокой степени параллелизма при выполнении шифрования, оперирует блоками меньшего размера и содержит меньшее число раундов, в силу чего его аппаратная реализация на базе одной и той же технологии теоретически может быть более быстродействующей (примерно в 4 раза). Проведенное выше сопоставление параметров алгоритмов шифрования ГОСТ28147-89 и Rijndael показывает, что, несмотря на существенное различие архитектурных принципов, на которых базируются шифры, их основные рабочие параметры примерно одинаковы. Исключением является то, что, по всей вероятности, Rijnael будет иметь определенное преимущество в быстродействии перед ГОСТом при аппаратной реализации на базе одной и той же технологии. По ключевым параметрам криптостойкости для алгоритмов такого рода ни один из них не обладает значительным преимуществом; примерно одинаковы и скорости оптимальной программной реализации для процессоров Intel Pentium, что можно экстраполировать на все современные 32-разрядные процессоры. Таким образом, можно сделать вывод, что отечественный стандарт шифрования соответствует требованиям, предъявляемым к современным шифрам, и может оставаться стандартом еще достаточно долгое время. Очевидным шагом в его оптимизации может стать переход от замен в 4-битных группах к байтовым заменам, за счет чего должна возрасти устойчивость алгоритма к известным видам криптоанализа.
Дата добавления: 2014-01-07; Просмотров: 1193; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |