Устройство для преобразования блоков данных при шифровании

 

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

Полезная модель относится к средствам криптографического преобразования информации в электронных вычислительных комплексах и ЭВМ.

Известно устройство шифрования информации [RU 2389141, C1, H04L 9/00, 10.05.2010], содержащее на передающей стороне генератор ключа, блок формирования ключевой матрицы, шифрующий блок, блок управления, блок формирования информационного вектора и блок формирования порождающей матрицы.

Недостатком устройства является относительно узкие функциональные возможности.

Известно также устройство для шифрования двоичной информации [RU 2091983, C1, H04L 9/00, 27.09.1997], содержащее первый сумматор по модулю два, регистр для хранения секретного ключа, блок возведения в n степень модулю P, параллельно последовательный регистр ключевой группы, четыре последовательно параллельных регистра, регистр показателя степени, блок перемешивания бит последовательности, второй сумматор по модулю два, блок управления, ключ и элементы И и ИЛИ, причем, выход блока возведения в n степень по модулю P соединен с соответствующими входами регистра для хранения секретного ключа и параллельно последовательного регистра ключевой группы, с входом основания степени блока возведения в n степень по модулю P, с выходами первого последовательно параллельного регистра и регистра для хранения секретного ключа, выходы n младших разрядов блока возведения в n степень по модулю P подключены к соответствующим входам регистра показателя степени, выходы разрядов которого соединены с входами n младших разрядов показателя степени блока возведения в n степень по модулю P, входы всех разрядов показателя степени которого соединены с выходами соответствующих разрядов второго последовательно параллельного регистра, выходы m старших разрядов блока возведения в n степень по модулю P, где m<n, соединены с первыми информационными входами блока перемешивания бит последовательности, входы модуля и обратной величины модуля блока возведения в n степень по модулю P соединены соответственно с соответствующими выходами третьего и четвертого последовательно параллельных регистров, причем информационные входы второго, третьего и четвертого последовательно параллельных регистров являются соответственно входами начальной установки значений показателя степени, модуля и обратной величины, модуля устройства, а информационный вход первого последовательно параллельного регистра соединен с выходом элемента ИЛИ, первый вход которого является входом начальной установки значения основания степени устройства, второй вход элемента ИЛИ соединен с выходом первого элемента И и входом сигнала о приеме шифрованного текста блока управления, выход второго элемента И соединен с первыми входами блока управления и второго сумматора по модулю два и с входом-выходом ключа и является входом открытого текста устройства, входы начальной установки первого, второго, третьего и четвертого последовательно параллельных регистров и блока возведения в n степень по модулю P соединены между собой и с соответствующим выходом блока управления, первые входы первого и второго элементов И соединены между собой и являются входом для приема закрытого текста устройства, вторые входы первого и второго элементов И соединены с соответствующими выходами блока управления, второй вход второго сумматора по модулю два соединен с выходом блока перемешивания бит последовательности и первым входом первого сумматора по модулю два, второй вход которого соединен с выходом ключа, с входом которого соединен выход второго сумматора по модулю два, а вход управления ключа соединен с соответствующим выходом блока управления и является выходом выработки сигнала разрешения приема открытого текста устройства, выход первого сумматора по модулю два соединен с выходом третьего элемента И и является выходом закрытого текста устройства, первый вход третьего элемента И соединен с выходом регистра ключевой группы и вторым информационным входом блока перемешивания бит последовательности, вход управления которого соединен с соответствующим выходом блока управления, другие выходы которого соединены соответственно с вторым входом третьего элемента И, входами приема сигналов начала возведения в степень и синхроимпульсов сопровождения блоков возведения в n степень по модулю P и входами управления регистров показателя степени секретного ключа и ключевой группы, выход сигнала конца возведения в степень блока возведения в n степень по модулю P соединен с соответствующим входом блока управления, другие входы которого являются соответственно входами определения режимов шифрации-дешифрации, выработки ключевой последовательности, открытого ключа, подачи задающей частоты и начальной установки устройства.

Недостатком устройства является его относительно высокая сложность при аппаратной и программной реализации.

Наиболее близким по технической сущности к предлагаемому является устройство [Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. ГОСТ 28147-89, п.2.1., с.5], содержащее блок накопителей, выполненный из первого и второго накопителей, соединенных своими входами-выходами, сумматор по модулю 32, первый вход которого соединен с выходом первого накопителя, блок подстановки, вход которого соединен с выходом сумматора по модулю 32, регистр сдвига, вход которого соединен с выходом блока подстановки, сумматор по модулю 2, первый вход которого соединен с выходом регистра сдвига, а выход - соединен с входами первого и второго накопителей, выход которого соединен со вторым входом сумматора по модулю 2, а также блок памяти ключа, выход которого соединен со вторым входом сумматора по модулю 32.

Недостатком устройства является относительно низкое быстродействие, связанное с тем, что элементы устройства работают последовательно и суммарное время T выполнения всех четырех стадий преобразования при шифровании составляет T=т1+т2+т3+т4, где т1т4, соответственно, время выполнения операций на каждой стадии преобразования - на сумматоре по модулю 32, блоке подстановки, сдвигающем регистре и сумматоре по модулю 2.

Требуемый технический результат заключается в повышении быстродействия.

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

Требуемый технический результат заключается в повышении быстродействия.

Требуемый технический результат достигается тем, что, в устройство, содержащее первый блок накопителей, выполненный из первого и второго накопителей, соединенных своими входами-выходами, сумматор по модулю 32, блок подстановки, регистр сдвига, сумматор по модулю 2 и блок памяти ключа, выход которого соединен с первым входом сумматора по модулю 32, введены n-1 блоков накопителей, где n=4 - числу стадий преобразования, селектор, вход которого соединен с выходом сумматора по модулю 2, а выходы - к соответствующим входам блоков накопителей, первый коммутатор, входы которого соединены с выходами первых накопителей блоков накопителей, а выход - соединен с первым входом сумматора по модулю 2, второй коммутатор, входы которого соединена с выходами вторых накопителей блоков накопителей, а выход - соединен со вторым входом сумматора по модулю 32, первый буферный накопитель, вход которого соединен с выходом сумматора по модулю 32, а выход - соединен со входом блока подстановки, второй буферный накопитель, вход которого соединен с выходом блока подстановки, а выход - соединен со входом регистра сдвига, и третий буферный накопитель, вход которого соединен с выходом регистра сдвига, а выход - соединен со вторым входом сумматора по модулю 2.

На чертеже представлена электрическая структурная схема устройства для преобразования блоков данных при шифровании.

Устройство для преобразования блоков данных при шифровании содержит n блоков 1-i накопителей, где i=1n, n=4 - максимальное число стадий преобразования, каждый из которых, выполнен из первого i-1 и второго i-2 накопителей, соединенных своими входами-выходами.

Кроме того, устройство для преобразования блоков данных при шифровании содержит сумматор 2 по модулю 32, блок 3 подстановки, регистр 4 сдвига, сумматор 5 по модулю 2 и блок 6 памяти ключа, выход которого соединен с первым входом сумматора 2 по модулю 32.

Дополнительно к этому устройство для преобразования блоков данных при шифровании содержит селектор 7, вход которого соединен с выходом сумматора 5 по модулю 2, а выходы - к соответствующим входам блоков 1-i накопителей, первый коммутатор 8, входы которого соединены с выходами первых накопителей i-1 блоков 1-i накопителей, а выход - соединен с первым входом сумматора 5 по модулю 2, второй коммутатор 9, входы которого соединена с выходами вторых накопителей i-2 блоков 1-i накопителей, а выход - соединен со вторым входом сумматора 2 по модулю 32, первый буферный накопитель 10, вход которого соединен с выходом сумматора 2 по модулю 32, а выход - соединен со входом блока 3 подстановки, второй буферный накопитель 11, вход которого соединен с выходом блока 3 подстановки, а выход - соединен со входом регистра 4 сдвига, и третий буферный накопитель 12, вход которого соединен с выходом регистра 4 сдвига, а выход - соединен со вторым входом сумматора 5 по модулю 2.

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

Работает устройство для преобразования блоков данных при шифровании следующим образом.

Вторые накопители из блоков 1-i накопителей посредством второго коммутатора 9 последовательно подключаются к входу «конвейера», образованного элементами 2-5, 9-12, преобразование данных на каждой стадии преобразования (на сумматоре по модулю 32, блоке подстановки, сдвигающем регистре и сумматоре по модулю 2) производится аналогично прототипу (по требованиям ГОСТа).

Для разделения данных, относящихся к разным стадиям преобразования используются первый 10, второй 11 и третий 12 буферные накопители. На последней стадии преобразования данных в сумматор 5 по модулю 2 через первый коммутатор 8 поступают данные из первых накопителей блоков 1-i накопителей. Результат работы «конвейера» (данные с выхода сумматора 5 по модулю 2) через селектор 7 записывается в соответствующий блок 1-i накопителей и цикл преобразования повторяется в соответствии с требованиями ГОСТа.

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

Число блоков накопителей одновременно участвующих в преобразовании на каждом этапе конвейера может быть увеличено за счет одновременной обработки на каждой стадии конвейера нескольких блоков данных.

Таким образом, в предложенном устройстве, благодаря конвейерной обработке данных, за одни цикл преобразования обрабатывать несколько блоков входных данных (причем, число одновременно обрабатываемых блоков данных соответствует числу стадий конвейерной обработки, которое соответствует числу преобразований над блоком данных - четыре стадии), обеспечивается повышение его быстродействия, поскольку повышается скорость обработки данных (формирование данных в зашифрованном виде).

Устройство для преобразования блоков данных при шифровании, содержащее первый блок накопителей, выполненный из первого и второго накопителей, соединенных своими входами-выходами, сумматор по модулю 32, блок подстановки, регистр сдвига, сумматор по модулю 2 и блок памяти ключа, выход которого соединен с первым входом сумматора по модулю 32, отличающееся тем, что введены n-1 блоков накопителей, где n=4 - числу стадий преобразования, селектор, вход которого соединен с выходом сумматора по модулю 2, а выходы - к соответствующим входам блоков накопителей, первый коммутатор, входы которого соединены с выходами первых накопителей блоков накопителей, а выход соединен с первым входом сумматора по модулю 2, второй коммутатор, входы которого соединены с выходами вторых накопителей блоков накопителей, а выход соединен со вторым входом сумматора по модулю 32, первый буферный накопитель, вход которого соединен с выходом сумматора по модулю 32, а выход соединен со входом блока подстановки, второй буферный накопитель, вход которого соединен с выходом блока подстановки, а выход соединен со входом регистра сдвига, и третий буферный накопитель, вход которого соединен с выходом регистра сдвига, а выход соединен со вторым входом сумматора по модулю 2.



 

Наверх