СПОСОБ ОБРАБОТКИ ШИФРОВАНИЯ НА ОСНОВЕ АЛГОРИТМА ПАКЕТНОГО ШИФРОВАНИЯ
METHOD TO PROCESS CODING BASED ON PACKET CODING LOGIC

По настоящей заявке испрашивается приоритет по дате подачи заявки на патент Китая № 200710019109.х, поданной 19 ноября 2007 г. и озаглавленной «METHOD FOR ENCRYPTION PROCESSING BASED ON BLOCK CIPHER ALGORITHM», которая полностью включена в данный документ по ссылке.
Область техники, к которой относится изобретение
Настоящее изобретение относится к области технологий защиты информации и, в частности, к способу обработки шифрования на основе алгоритма блочного шифрования.
Уровень техники
Алгоритм блочного шифрования включает в себя, главным образом, алгоритм стандарта шифрования данных (DES), алгоритм тройного DES (3DES), алгоритм усовершенствованного стандарта шифрования (AES), международный алгоритм шифрования данных (IDEA) и алгоритм SMS4, опубликованный Государственным управлением криптографии Китая. Главными компонентами для осуществления алгоритма блочного шифрования являются блок расширения ключа, блок шифрования и блок хранения массива подключей. Причем блок расширения ключа и блок шифрования имеют подобную внутреннюю конструкцию, которая включает в себя, главным образом, компонент регистрации данных и компонент преобразования данных.
Компонент регистрации данных применяет, главным образом, универсальный триггер для регистрации данных. Во время тактового периода не изменяются данные, зарегистрированные компонентом. Универсальный триггер представляет собой устройство регистрации данных, которое вводит данные на порту ввода данных в порт вывода триггера по переднему фронту или заднему фронту тактового периода; но в другие моменты данные на порту вывода триггера не изменяются.
Компонент преобразования данных представляет собой компонент для обработки данных согласно алгоритму блочного шифрования, например компонент для обработки данных согласно алгоритму шифрования SMS4. Операция, выполняемая компонентом преобразования данных, имеет только одну синтетическую замену, определенную алгоритмом шифрования.
Блок хранения массива подключей выполнен с возможностью хранения массива подключей. В существующей технологии массив подключей представляет собой, в основном, массив данных, который предварительно конфигурируется перед обработкой шифрования и расшифрования и генерируется блоком расширения ключа. В алгоритме шифрования SMS4 данные блока хранения массива подключей упорядочиваются в порядке адресов и могут называться как rk0, rk1 … rk31.
В настоящий момент процесс шифрования данных и процесс расшифрования согласно алгоритму шифрования SMS4 включает в себя два независимых этапа: этап расширения ключа и этап шифрования данных. Как показано на фиг.1, сначала блок расширения ключа расширяет ключ до массива подключей и сохраняет его в блоке хранения массива подключей в соответствии с порядком предшествования, и затем блок шифрования выполняет шифрование данных посредством использования массива подключей, сгенерированного блоком расширения ключа.
А) Этап расширение ключа
1) Ввод внешнего ключа в компонент регистрации данных блока расширения ключа
После предварительной обработки внешний ключ вводится в компонент 100 регистрации данных блока расширения ключа для регистрации.
2) Преобразование данных
Данные, зарегистрированные в компоненте 100 регистрации данных блока расширения ключа, вводятся в компонент 101 преобразования данных блока расширения ключа для преобразования, и получаются подключи.
3) Итерация данных
Данные после предыдущей обработки преобразования сохраняются в компоненте 100 преобразования данных блока расширения ключа, и одновременно полученные подключи сохраняются в первой строке блока 2 хранения массива подключей, затем данные, зарегистрированные в компоненте 100 регистрации данных блока расширения ключа, снова вводятся в компонент 101 преобразования данных блока расширения ключа для преобразования данных, и подключи, полученные после обработки, сохраняются на следующей строке блока 2 хранения массива подключей, и обработка преобразования данных повторяется 32 раза, таким образом получается массив подключей из 32×32 бита = 1024 битов.
В) Этап шифрования данных
1) Ввод внешних данных в компонент регистрации данных блока шифрования
Внешние данные вводятся в компонент 300 регистрации данных блока шифрования для регистрации.
2) Преобразование данных
Данные, зарегистрированные в компоненте 300 регистрации данных блока шифрования, вводятся в компонент 301 преобразования данных блока шифрования, и одновременно данные, соответствующие первой строке массива подключей, хранимого в блоке 2 хранения массива подключей, вводятся в компонент 301 преобразования данных блока шифрования для преобразования.
3) Итерация данных
Данные после предыдущей обработки преобразования данных регистрируются в компоненте 300 регистрации данных блока шифрования, затем данные, зарегистрированные в компоненте 300 регистрации данных блока шифрования, снова вводятся в компонент 301 регистрации данных блока шифрования, и одновременно подключи со следующей строки блока 2 хранения массива подключей также вводятся в компонент 301 преобразования данных блока шифрования снова для преобразования данных, и обработка повторяется 32 раза, и получается окончательный результат обработки данных.
В вышеупомянутом алгоритме шифрования требуется 32 тактовых периода для обработки набора данных, и эффективность является низкой. Чтобы решить данную проблему, эффективность обработки может быть повышена увеличением количества компонентов преобразования данных, например, в решении, показанном на фиг.2, набор данных из 128 битов может обрабатываться в 16 тактовых периодах.
В существующей технологии компонент хранения массива подключей является необходимым компонентом. Если регистр используется в интегральной схеме для реализации компонента хранения массива подключей с 1024 битами, потребляется логический ресурс около 10000 вентилей (в решении по фиг.1 общее потребление ресурсов составляет около 25000 вентилей), который занимает около 40% общих ресурсов, таким образом затраты на реализацию являются очень высокими.
Сущность изобретения
Задачей настоящего изобретения является обеспечение недорого и высокоэффективного способа обработки шифрования на основе алгоритма блочного шифрования, чтобы решить техническую проблему известного способа, т.е. высокие затраты на реализацию обработки шифрования на основе алгоритма блочного шифрования.
Техническое решение изобретения следующее.
Способ обработки шифрования на основе алгоритма блочного шифрования, включающий в себя:
1] регистрацию внешнего ключа: когда поступает фронт тактового импульса тактового периода, компонент регистрации данных блока расширения ключа регистрирует внешний ключ, который вводится;
2] регистрацию внешних данных: когда поступает фронт тактового импульса тактового периода, компонент регистрации данных блока шифрования регистрирует внешние данные, которые вводятся;
3] расширение ключа: во время тактового периода компонент преобразования данных блока расширения ключа принимает данные, зарегистрированные компонентом регистрации данных блока расширения ключа, выполняет расширение ключа и вводит полученные подключи в компонент преобразования данных блока шифрования;
4] шифрование и преобразование данных: во время тактового периода компонент преобразования данных блока шифрования принимает данные, зарегистрированные компонентом регистрации данных блока шифрования, и выполняет шифрование и преобразование данных над данными от приемной стороны посредством использования подключей, полученных на этапе расширения ключа;
5] регистрацию внутренних данных: когда поступает фронт тактового импульса следующего тактового периода,
компонент регистрации данных блока расширения ключа регистрирует данные, полученные компонентом преобразования данных блока расширения ключа;
компонент регистрации данных блока шифрования регистрирует данные, полученные компонентом преобразования данных блока шифрования;
6] итерацию данных: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и, таким образом, завершается шифрование набора данных.
Вышеупомянутое техническое решение имеет следующие преимущества.
1) Так как исключается блок хранения массива подключей, способ обработки шифрования согласно изобретению может эффективно уменьшить потребление ресурсов, в то же время сохраняя высокую эффективность; таким образом уменьшаются затраты на реализацию устройства.
2) Посредством способа обработки шифрования согласно изобретению, когда количество компонентов преобразования равно 1, потребление ресурсов составляет только 60% от потребления известного способа, и, когда количество компонентов преобразования составляет 2, потребление ресурсов составляет только 70% от потребления известного способа.
3) Добавляется блок регистрации подключей, который может уменьшить критические пути и повысить тактовую частоту оборудования шифрования во время реализации интегральных схем. Таким образом, улучшаются возможности шифрования способа изобретения.
Краткое описание чертежей
Фиг.1 представляет собой схематическое представление, изображающее первую конструкцию устройства, используемого в существующем способе обработки шифрования и расшифрования;
фиг.2 представляет собой схематическое представление, изображающее вторую конструкцию устройства, используемого в существующем способе обработки шифрования и расшифрования;
фиг.3 представляет собой схематическое представление, изображающее первую конструкцию устройства, используемого в способе обработки шифрования согласно изобретению;
фиг.4 представляет собой схематическое представление, изображающее вторую конструкцию устройства, используемого в способе обработки шифрования согласно изобретению;
фиг.5 представляет собой схематическое представление, изображающее третью конструкцию устройства, используемого в способе обработки шифрования согласно изобретению; и
фиг.6 представляет собой схематическое представление, изображающее четвертую конструкцию устройства, используемого в способе обработки шифрования согласно изобретению.
Детально: 1 - блок расширения ключа; 100 - компонент регистрации данных блока расширения ключа; 101 (или 101а, 101b) - компонент преобразования данных блока расширения ключа; 2 - блок хранения массива подключей; 3 - блок шифрования; 300 - компонент регистрации данных блока шифрования; 301 (или 301а, 301b) - компонент преобразования данных блока шифрования; 4 - блок регистрации подключей; 401 (или 401а, 401b) - компонент регистрации подключей.
Подробное описание вариантов осуществления
Способ изобретения реализуется, главным образом, посредством устройства обработки шифрования на основе алгоритма блочного шифрования. Изобретение ниже конкретно иллюстрируется вместе с чертежами.
Вариант 1 осуществления:
Первое устройство обработки шифрования на основе алгоритма блочного шифрования, изображенное на фиг.3, включает в себя блок 1 расширения ключа и блок 3 шифрования.
Блок 1 расширения ключа включает в себя компонент 100 регистрации данных блока расширения ключа и компонент 101 преобразования данных блока расширения ключа. Порт вывода компонента 100 регистрации данных блока расширения ключа соединен с портом ввода компонента 101 преобразования данных блока расширения ключа, и порт вывода компонента 101 преобразования данных блока расширения ключа соединен с портом ввода компонента 100 регистрации данных блока расширения ключа.
Блок 3 шифрования включает в себя компонент 300 регистрации данных блока шифрования и компонент 301 преобразования данных блока шифрования. Порт вывода компонента 300 регистрации данных блока шифрования соединен с портом ввода компонента 301 преобразования данных блока шифрования, и порт вывода компонента 301 преобразования данных блока шифрования соединен с портом ввода компонента 300 регистрации данных блока шифрования.
В частности, порт вывода подключей компонента 101 преобразования данных блока расширения ключа соединен с портом ввода подключей компонента 301 преобразования данных блока шифрования.
Как показано на фиг.3, этапы реализации варианта осуществления способа изобретения при помощи первого устройства обработки шифрования на основе алгоритма блочного шифрования следующие.
1] Регистрация внешнего ключа: Когда поступает фронт тактового импульса тактового периода, внешний ключ, который обрабатывается, вводится в компонент 100 регистрации данных блока расширения ключа для регистрации.
2] Регистрация внешних данных: Когда поступает фронт тактового импульса тактового периода, набор внешних данных вводится в компонент 300 регистрации данных блока шифрования для регистрации.
3] Расширение ключа: Во время тактового периода зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в компонент 101 преобразования данных блока расширения ключа для расширения ключа, и полученные подключи вводятся в компонент 301 преобразования данных блока шифрования.
4] Шифрование и преобразование данных: Во время тактового периода зарегистрированные данные в компоненте 300 регистрации данных блока шифрования вводятся в компонент 301 преобразования данных блока шифрования, и компонент 301 преобразования данных блока шифрования выполняет шифрование и преобразование данных.
5] Регистрация внутренних данных: Когда поступает фронт тактового импульса следующего тактового периода, данные, полученные компонентом 101 преобразования данных блока расширения ключа, вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации; и данные, полученные компонентом 301 преобразования данных блока шифрования, вводятся в компонент 300 регистрации данных блока шифрования для регистрации.
6] Итерация данных: Этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и завершается шифрование набора данных.
Вариант 2 осуществления:
Второе устройство обработки шифрования на основе алгоритма блочного шифрования, показанное на фиг.4, включает в себя блок 1 расширения ключа и блок 3 шифрования.
Блок 1 расширения ключа включает в себя компонент 100 регистрации данных блока расширения ключа и два компонента 101а и 101b преобразования данных блока расширения ключа. Порт вывода компонента 100 регистрации данных блока расширения ключа соединен с портом ввода первого компонента 101а преобразования данных блока расширения ключа. Два компонента 101а и 101b преобразования данных блока расширения ключа соединены последовательно. Порт вывода второго компонента 101b преобразования данных блока расширения ключа соединен с портом ввода компонента 100 регистрации данных блока расширения ключа.
Блок 3 шифрования включает в себя компонент 300 регистрации данных блока шифрования и два компонента 301а и 301b преобразования данных блока шифрования. Порт вывода компонента 300 регистрации данных блока шифрования соединен с портом ввода первого компонента 301а преобразования данных блока шифрования. Два компонента 301а и 301b преобразования данных блока шифрования соединены последовательно. Порт вывода второго компонента 301b преобразования данных блока шифрования соединен с портом ввода компонента 300 регистрации данных блока шифрования.
Порт вывода подключей первого компонента 101а преобразования данных блока расширения ключа соединен с портом ввода подключей первого компонента 301а преобразования данных блока шифрования. Порт вывода подключей второго компонента 101b преобразования данных блока расширения ключа соединен с портом ввода подключей второго компонента 301b преобразования данных блока шифрования.
Количество компонентов преобразования данных блока расширения ключа равно количеству компонентов преобразования данных блока шифрования и может составлять от 3, 4 до 32 или 48 и равны предпочтительно 1, 2 или 4.
Как показано на фиг.4, этапы реализации варианта осуществления способа изобретения при помощи второго устройства обработки шифрования на основе алгоритма блочного шифрования следующие.
1] Регистрация внешнего ключа: Когда поступает фронт тактового импульса тактового периода, внешний ключ, который обрабатывается, вводится в компонент 100 регистрации данных блока расширения ключа для регистрации.
2] Регистрация внешних данных: Когда поступает фронт тактового импульса тактового периода, набор внешних данных вводится в компонент 300 регистрации данных блока шифрования для регистрации.
3] Расширение ключа: Во время тактового периода зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в компонент 101а преобразования данных блока расширения ключа для расширения ключа, и полученные подключи вводятся в компонент 301а преобразования данных блока шифрования, тогда как выходные данные компонента 101а преобразования данных блока расширения ключа вводятся в следующий компонент 101b преобразования данных блока расширения ключа. Множество компонентов преобразования данных блока расширения ключа последовательно выполняют расширение ключа.
4] Шифрование и преобразование данных: Во время тактового периода зарегистрированные данные в компоненте 300 регистрации данных блока шифрования вводятся в компонент 301а преобразования данных блока шифрования. Компонент 301а преобразования данных блока шифрования выполняет шифрование и преобразование данных, и выходные данные компонента 301а преобразования данных блока шифрования вводятся в следующий компонент 301b преобразования данных блока шифрования. Множество компонентов преобразования данных блока шифрования последовательно выполняют шифрование данных.
5] Регистрация внутренних данных: Когда поступает фронт тактового импульса следующего тактового периода, выходные данные последнего компонента (101b в данном варианте осуществления) преобразования данных блока расширения ключа вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации. Выходные данные последнего компонента (301b в данном варианте осуществления) преобразования данных блока шифрования вводятся в компонент 300 регистрации данных блока шифрования для регистрации.
6] Итерация данных: Этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и завершается шифрование набора данных.
Вариант 3 осуществления:
Третье устройство обработки шифрования на основе алгоритма блочного шифрования, показанное на фиг.5, включает в себя блок 1 расширения ключа, блок 4 регистрации подключей и блок 3 шифрования.
Блок 1 расширения ключа включает в себя компонент 100 регистрации данных блока расширения ключа и компонент 101 преобразования данных блока расширения ключа. Порт вывода компонента 100 регистрации данных блока расширения ключа соединен с портом ввода компонента 101 преобразования данных блока расширения ключа, и порт вывода компонента 101 преобразования данных блока расширения ключа соединен с портом ввода компонента 100 регистрации данных блока расширения ключа.
Блок 4 регистрации подключей включает в себя компонент 401 регистрации подключей. Компонентом 401 регистрации подключей может быть универсальный триггер или регистр.
Блок 3 шифрования включает в себя компонент 300 регистрации данных блока шифрования и один компонент 301 преобразования данных блока шифрования. Порт вывода компонента 300 регистрации данных блока шифрования соединен с портом ввода компонента 301 преобразования данных блока шифрования, и порт вывода компонента 301 преобразования данных блока шифрования соединен с портом ввода компонента 300 регистрации данных блока шифрования.
Порт вывода подключей компонента 101 преобразования данных блока расширения ключа соединен с портом ввода компонента 401 регистрации подключей, и порт вывода компонента 401 регистрации подключей соединен с портом ввода подключей компонента 301 преобразования данных блока шифрования.
Как показано на фиг.5, этапы реализации варианта осуществления способа изобретения при помощи третьего устройства обработки шифрования на основе алгоритма блочного шифрования следующие.
1] Регистрация внешнего ключа: Когда поступает фронт тактового импульса тактового периода, внешний ключ, который обрабатывается, вводится в компонент 100 регистрации данных блока расширения ключа для регистрации.
2] Предварительное расширение ключа: Во время тактового периода, в котором выполняется этап регистрации внешнего ключа, зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в компонент 101 преобразования данных блока расширения ключа для расширения ключа. Полученные подключи вводятся в порт ввода подсоединенного компонента 401 регистрации подключей. Данные, преобразованные и полученные компонентом 101 преобразования данных блока расширения ключа, вводятся в порт ввода компонента 100 регистрации данных блока расширения ключа.
3] Регистрация буфера ключей: Когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, данные, преобразованные и полученные компонентом 101 преобразования данных блока расширения ключа, вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации. Подключи компонента 101 преобразования данных блока расширения ключа вводятся в компонент 401 регистрации подключей для регистрации.
4] Регистрация внешних данных: Когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, набор внешних данных вводится в компонент 300 регистрации данных блока шифрования для регистрации.
5] Расширение ключа: Во время тактового периода зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в компонент 101 преобразования данных блока расширения ключа для расширения ключа. Полученные подключи вводятся в порт ввода подсоединенного компонента 401 регистрации подключей. Одновременно выходные данные компонента 101 преобразования данных блока расширения ключа вводятся в порт ввода компонента 100 регистрации данных блока расширения ключа, и подключи, выводимые компонентом 401 регистрации подключей, вводятся в компонент 301 преобразования данных блока шифрования.
6] Шифрование и преобразование данных: Во время тактового периода зарегистрированные данные в компоненте 300 регистрации данных блока шифрования вводятся в компонент 301 преобразования данных блока шифрования. Компонент 301 преобразования данных блока шифрования выполняет шифрование и преобразование данных. Выходные данные компонента 301 преобразования данных блока шифрования вводятся в порт ввода компонента 300 регистрации данных блока шифрования.
7] Регистрация внутренних данных: Когда поступает фронт тактового импульса следующего тактового периода, данные, преобразованные и полученные компонентом 101 преобразования данных блока расширения ключа, вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации. Подключи компонента 101 преобразования данных блока расширения ключа вводятся в компонент 401 регистрации подключей для регистрации. Данные, преобразованные и полученные компонентом 301 преобразования данных блока шифрования, вводятся в компонент 300 регистрации данных блока шифрования для регистрации.
8] Итерация данных: Этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и тогда завершается шифрование набора данных.
Вариант 4 осуществления:
Четвертое устройство обработки шифрования на основе алгоритма блочного шифрования, показанное на фиг.6, включает в себя блок 1 расширения ключа, блок 4 регистрации подключей и блок 3 шифрования.
Блок 1 расширения ключа включает в себя компонент 100 регистрации данных блока расширения ключа и два компонента 101а и 101b преобразования данных блока расширения ключа. Порт вывода компонента 100 регистрации данных блока расширения ключа соединен с портом ввода первого компонента 101а преобразования данных блока расширения ключа, и два компонента 101а и 101b преобразования данных блока расширения ключа соединены последовательно. Порт вывода второго компонента 101b преобразования данных блока расширения ключа соединен с портом ввода компонента 100 регистрации данных блока расширения ключа.
Блок 4 регистрации подключей включает в себя два компонента 401а и 401b регистрации подключей. Компонентом регистрации подключей может быть универсальный триггер или регистр.
Блок 3 шифрования включает в себя компонент 300 регистрации данных блока шифрования и два компонента 301а и 301b преобразования данных блока шифрования. Порт вывода компонента 300 регистрации данных блока шифрования соединен с портом ввода первого компонента 301а преобразования данных блока шифрования, и два компонента 301а и 301b преобразования данных блока шифрования соединены последовательно. Порт вывода второго компонента 301b преобразования данных блока шифрования соединен с портом ввода компонента 300 регистрации данных блока шифрования.
Порт вывода подключей первого компонента 101а преобразования данных блока расширения ключа соединен с портом ввода первого компонента 401а регистрации подключей, и порт вывода первого компонента 401а регистрации подключей соединен с портом ввода подключей первого компонента 301а преобразования данных блока шифрования. Порт вывода подключей второго компонента 101b преобразования данных блока расширения ключа соединен с портом ввода второго компонента 401b регистрации подключей, и порт вывода второго компонента 401b регистрации подключей соединен с портом ввода подключей второго компонента 301b преобразования данных блока шифрования.
В частности, количество компонентов преобразования данных блока расширения ключа, количество компонентов регистрации подключей и количество компонентов преобразования данных блока шифрования равны друг другу и могут быть равны от 3, 4 до 32 или 48, и предпочтительно равны 1, или 2, или 4.
Как показано на фиг.6, этапы реализации варианта осуществления способа изобретения при помощи четвертого устройства обработки шифрования на основе алгоритма блочного шифрования следующие.
1] Регистрация внешнего ключа: Когда поступает фронт тактового импульса тактового периода, внешний ключ, который обрабатывается, вводится в компонент 100 регистрации данных блока расширения ключа для регистрации.
2] Предварительное расширение ключа: Во время тактового периода, в котором выполняется этап регистрации внешнего ключа, зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в первый компонент 101а преобразования данных блока расширения ключа для расширения ключа. Полученные подключи вводятся в порт ввода подсоединенного первого компонента 401а регистрации подключей, и одновременно выходные данные первого компонента 101а преобразования данных блока расширения ключа вводятся в следующий компонент 101b преобразования данных блока расширения ключа для расширения ключа во второй раз. Множество компонентов преобразования данных блока расширения ключа выполняют преобразование последовательно и вводят сгенерированные подключи в порт ввода подсоединенного компонента регистрации подключей. Выходные данные последнего компонента (101b в данном варианте осуществления) преобразования данных блока расширения ключа вводятся в порт ввода компонента 100 регистрации данных блока расширения ключа.
3] Регистрация буфера ключей: Когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, данные, преобразованные и полученные последним компонентом (101b в данном варианте осуществления) преобразования данных блока расширения ключа, вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации. Подключи в компоненте преобразования данных блока расширения ключа вводятся в соответствующий компонент регистрации подключей для регистрации.
4] Регистрация внешних данных: Когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, набор внешних данных вводится в компонент 300 регистрации данных блока шифрования для регистрации.
5] Расширение ключа: Во время тактового периода зарегистрированные данные в компоненте 100 регистрации данных блока расширения ключа вводятся в первый компонент 101а преобразования данных блока расширения ключа для расширения ключа. Полученные подключи вводятся в порт ввода подсоединенного первого компонента 401а регистрации подключей. Одновременно выходные данные первого компонента 101а преобразования данных блока расширения ключа вводятся в следующий компонент 101b преобразования данных блока расширения ключа для расширения ключа во второй раз. Множество компонентов преобразования данных блока расширения ключа выполняют расширение ключа последовательно и вводят сгенерированные подключи в порт ввода подсоединенного компонента регистрации подключей. Выходные данные последнего компонента (101b в данном варианте осуществления) преобразования данных блока расширения ключа вводятся в порт ввода данных компонента 100 регистрации данных блока расширения ключа.
6] Шифрование и преобразование данных: Во время тактового периода зарегистрированные данные в компоненте 300 регистрации данных блока шифрования вводятся в первый компонент 301а преобразования данных блока шифрования, подключи в первом компоненте 401а регистрации подключей вводятся в первый компонент 301а преобразования данных блока шифрования. Первый компонент 301а преобразования данных блока шифрования выполняет шифрование и преобразование данных. Зашифрованные и преобразованные данные в первом компоненте 301а преобразования данных блока шифрования вводятся во второй компонент 301b преобразования данных блока шифрования, и подключи во втором компоненте 401b регистрации подключей вводятся во второй компонент 301b преобразования данных блока шифрования. Второй компонент 301b преобразования данных блока шифрования выполняет шифрование и преобразование данных. Множество компонентов преобразования данных блока шифрования, соответствующих компонентам преобразования данных блока расширения ключа, выполняют шифрование и преобразование данных последовательно, и зашифрованные и преобразованные данные в последнем компоненте (301b в данном варианте осуществления) преобразования данных блока шифрования вводятся в порт ввода данных компонента 300 регистрации данных блока шифрования.
7] Регистрация внутренних данных: Когда поступает фронт тактового импульса следующего тактового периода, данные, преобразованные и полученные последним компонентом (101b в данном варианте осуществления) преобразования данных блока расширения ключа, вводятся в компонент 100 регистрации данных блока расширения ключа для регистрации. Подключи в компоненте преобразования данных блока расширения ключа вводятся в соответствующий компонент регистрации подключей для регистрации. Данные, преобразованные и полученные компонентом (301b в данном варианте осуществления) преобразования данных блока шифрования, вводятся в компонент 300 регистрации данных блока шифрования для регистрации.
8] Итерация данных: Этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и тогда завершается шифрование набора данных.
Если устройство шифрования имеет множество компонентов преобразования данных блока расширения ключа, множество компонентов регистрации подключей и множество компонентов преобразования данных блока шифрования, они выполняют расширение ключа и шифрование данных последовательно в соответствии с зависимостью соединений.
В случае если алгоритм SMS4 специально применяется в качестве алгоритма блочного шифрования, количество преобразований во время итерации данных в способе обработки шифрования в вышеупомянутых четырех вариантах осуществления равно 32.