КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Режим простой замены. Криптосхема, реализующая алгоритм шифрования в режиме простой замены, приведена на рисКриптосхема, реализующая алгоритм шифрования в режиме простой замены, приведена на рис. 4.12. Зашифрование открытых данных. Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. В КЗУ вводятся 256 бит ключа. Алгоритм зашифрования 64-разрядного блока открытых данных в режиме простой замены состоит из 32 циклов. В первом цикле начальное заполнение накопителя суммируется по модулю 2 в сумматоре с заполнением накопителя КЗУ, при этом заполнение накопителя сохраняется. Результата суммирования преобразуется в блоке подстановки K и полученный вектор поступает на вход регистра R, где циклически сдвигается на одиннадцать шагов в сторону старших разрядов. Результат сдвига суммируется поразрядно по модулю 2 в сумматоре с 32-разрядным заполнением накопителя . Полученный в результат записывается в , при этом старое заполнение переписывается в . Первый цикл заканчивается. Последующие циклы осуществляются аналогично, при этом, во втором цикле из КЗУ считывается заполнение , в 3-м - из и т.д.. в 8-м - ИЗ . В циклах с 9-го по 16-й, с 17-го но 24-й заполнение из КЗУ считываются в том же порядке, а в последних восьми циклах с 25-го по 32-й порядок считывания заполнения КЗУ обратный. В 32 цикле результат из сумматора вводится в накопитель , а в накопителе сохраняется старое заполнение. Полученные после 32-го цикла зашифрование заполнения накопителей и яв-ляются блоком зашифрованных данных, соответствующим блоку открытых данных, и выводятся из накопителей , в виде 64-разрядного блока зашифрованных данных, Расшифрование зашифрованных данных. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бит в каждом. Любой блок вводится в накопители и . Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнение накопителей считываются из КЗУ в циклах расшифрования в следующем порядке: в циклах с 1-го по 8-й считываются заполнения с , а в циклах с 9-го по 16-й, с 17-го по 24-й и с 25-го по 32-й считывание заполнений КЗУ осуществляется в обратном порядке с . Полученные после 32 циклов работы заполнения накопителей и составляют блок открытых данных. Уравнения шифрования подробно изложены в стандарте.
|