RU2444142C1 - Способ обработки шифрования на основе алгоритма пакетного шифрования - Google Patents

Способ обработки шифрования на основе алгоритма пакетного шифрования Download PDF

Info

Publication number
RU2444142C1
RU2444142C1 RU2010124832/08A RU2010124832A RU2444142C1 RU 2444142 C1 RU2444142 C1 RU 2444142C1 RU 2010124832/08 A RU2010124832/08 A RU 2010124832/08A RU 2010124832 A RU2010124832 A RU 2010124832A RU 2444142 C1 RU2444142 C1 RU 2444142C1
Authority
RU
Russia
Prior art keywords
data
component
encryption
registration
key expansion
Prior art date
Application number
RU2010124832/08A
Other languages
English (en)
Other versions
RU2010124832A (ru
Inventor
Вэй ВАН (CN)
Вэй Ван
Цзюнь ЦАО (CN)
Цзюнь ЦАО
Сян ЯНЬ (CN)
Сян ЯНЬ
Original Assignee
Чайна Ивнкомм Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Чайна Ивнкомм Ко., Лтд. filed Critical Чайна Ивнкомм Ко., Лтд.
Publication of RU2010124832A publication Critical patent/RU2010124832A/ru
Application granted granted Critical
Publication of RU2444142C1 publication Critical patent/RU2444142C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к области обработки шифрования на основе алгоритма блочного шифрования. Техническим результатом является повышение эффективности обработки шифрования. Способ обработки шифрования на основе алгоритма пакетного шифрования содержит следующие этапы: обработки регистрации внешнего ключа, регистрации внешних данных, расширения ключа, преобразования и шифрования данных, регистрации внутренних данных и итерации данных, которая решает проблемы известного способа шифрования на основе алгоритма пакетного шифрования, такие как низкая эффективность шифрования и высокие затраты на реализацию, и эффективно уменьшает потребление ресурсов с предположением сохранения высокой эффективности известного уровня техники, таким образом снижая затраты на реализацию устройства. Когда количество компонентов преобразования равно 1, потребление ресурсов составляет только около 60 процентов известного уровня техники; и, когда количество компонентов преобразования равно 2, потребление ресурсов составляет только около 70 процентов известного уровня техники. Настоящее изобретение добавляет блок регистрации подключей, который может уменьшить критические пути и повысить преобладающую тактовую частоту оборудования шифрования во время реализации интегральных схем. 4 з.п. ф-лы, 6 ил.

Description

По настоящей заявке испрашивается приоритет по дате подачи заявки на патент Китая № 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.

Claims (5)

1. Способ обработки шифрования на основе алгоритма блочного шифрования, содержащий:
регистрацию внешнего ключа: когда поступает фронт тактового импульса тактового периода, компонент регистрации данных блока расширения ключа регистрирует внешний ключ, который вводится;
регистрацию внешних данных: когда поступает фронт тактового импульса тактового периода, компонент регистрации данных блока шифрования регистрирует внешние данные, которые вводятся;
расширение ключа: во время тактового периода компонент преобразования данных блока расширения ключа принимает данные, зарегистрированные компонентом регистрации данных блока расширения ключа, выполняет расширение ключа и вводит полученные подключи в компонент преобразования данных блока шифрования;
шифрование и преобразование данных: во время тактового периода компонент преобразования данных блока шифрования принимает данные, зарегистрированные компонентом регистрации данных блока шифрования, и выполняет шифрование и преобразование данных над данными от приемной стороны посредством использования подключей, полученных на этапе расширения ключа;
регистрацию внутренних данных: когда поступает фронт тактового импульса следующего тактового периода,
компонент регистрации данных блока расширения ключа регистрирует данные, полученные компонентом преобразования данных блока расширения ключа;
компонент регистрации данных блока шифрования регистрирует данные, полученные компонентом преобразования данных блока шифрования;
итерацию данных: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяются до тех пор, пока количество раз, когда данные преобразуются, не достигнет количества, заданного в алгоритме блочного шифрования, и, таким образом, завершается шифрование набора данных.
2. Способ обработки шифрования на основе алгоритма блочного шифрования по п.1, в котором:
этап расширения ключа содержит во время тактового периода ввод зарегистрированных данных в компоненте регистрации данных блока расширения ключа в компонент преобразования данных блока расширения ключа для расширения ключа, ввод полученных подключен в компонент преобразования данных блока шифрования и одновременно ввод выходных данных компонента преобразования данных блока расширения ключа в следующий компонент преобразования данных блока расширения ключа; и последовательное выполнение расширения ключа множеством компонентов преобразования данных блока расширения ключа; и
этап шифрования и преобразования данных содержит: во время тактового периода ввод зарегистрированных данных в компоненте регистрации данных блока шифрования в компонент преобразования данных блока шифрования, выполнение шифрования и преобразования данных компонентом преобразования данных блока шифрования и ввод выходных данных компонента преобразования данных блока шифрования в следующий компонент преобразования данных блока шифрования; и последовательное выполнение шифрования данных множеством компонентов преобразования данных блока шифрования;
этап регистрации внутренних данных содержит: когда поступает фронт тактового импульса следующего тактового периода, ввод выходных данных последнего компонента преобразования данных блока расширения ключа в компонент регистрации данных блока расширения ключа для регистрации; и ввод выходных данных последнего компонента преобразования данных блока шифрования в компонент регистрации данных блока шифрования для регистрации.
3. Способ обработки шифрования на основе алгоритма блочного шифрования по п.1, дополнительно содержащий этап предварительного расширения ключа и этап регистрации буфера ключей между этапом регистрации внешнего ключа и этапом регистрации внешних данных;
причем этап предварительного расширения ключа содержит: во время тактового периода, в котором выполняется этап регистрации внешнего ключа, ввод зарегистрированных данных в компоненте регистрации данных блока расширения ключа в компонент преобразования данных блока расширения ключа для расширения ключа и ввод полученных подключей в порт ввода подсоединенного компонента регистрации подключей; ввод данных, преобразованных и полученных компонентом преобразования данных блока расширения ключа, в порт ввода компонента регистрации данных блока расширения ключа;
этап регистрации буфера ключей содержит: когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, ввод данных, преобразованных и полученных компонентом преобразования данных блока расширения ключа в компонент регистрации данных блока расширения ключа для регистрации; и ввод подключей компонента преобразования данных блока расширения ключа в компонент регистрации подключей для регистрации;
таким образом, этап расширения ключа содержит: прием компонентом преобразования данных блока расширения ключа данных, зарегистрированных компонентом регистрации данных блока расширения ключа, выполнение расширения ключа и ввод полученных подключей в порт ввода компонента регистрации подключей;
этап регистрации внутренних данных дополнительно содержит:
регистрацию компонентом регистрации подключей подключей, полученных компонентом преобразования данных блока расширения ключа; и
этап шифрования и преобразования данных содержит: во время тактового периода, в котором выполняется этап регистрации внутренних данных, прием компонентом преобразования данных блока шифрования подключей, зарегистрированных компонентом регистрации подключей, и выполнение шифрования и преобразования данных над данными от приемной стороны посредством использования подключа.
4. Способ обработки шифрования на основе алгоритма блочного шифрования по п.3, в котором:
этап предварительного расширения ключа содержит: во время тактового периода, в котором выполняется этап регистрации внешнего ключа, ввод зарегистрированных данных в компоненте регистрации данных блока расширения ключа в первый компонент преобразования данных блока расширения ключа для расширения ключа, ввод полученных подключей в порт ввода подсоединенного первого компонента регистрации подключей и одновременно ввод выходных данных первого компонента преобразования данных блока расширения ключа в следующий компонент преобразования данных блока расширения ключа для расширения ключа во второй раз; выполнение множеством компонентов преобразования данных блока расширения ключа, последовательного преобразования и ввод сгенерированных подключей в порт ввода подсоединенного компонента регистрации подключей, ввод выходных данных последнего компонента преобразования данных блока расширения ключа в порт ввода компонента регистрации данных блока расширения ключа;
этап регистрации буфера ключей содержит: когда поступает фронт тактового импульса следующего тактового периода после этапа регистрации внешнего ключа, ввод данных, преобразованных и полученных последним компонентом преобразования данных блока расширения ключа, в компонент регистрации данных блока расширения ключа для регистрации; ввод подключен в компоненте преобразования данных блока расширения ключа в соответствующий компонент регистрации подключей для регистрации;
этап расширения ключа содержит: ввод зарегистрированных данных в компоненте регистрации данных блока расширения ключа в первый компонент преобразования данных блока расширения ключа для расширения ключа, ввод полученных подключей в порт ввода подсоединенного первого компонента регистрации подключей и одновременно ввод выходных данных первого компонента преобразования данных блока расширения ключа в следующий компонент преобразования данных блока расширения ключа для расширения ключа во второй раз;
выполнение множеством компонентов преобразования данных блока расширения ключа последовательного расширения ключа и ввода сгенерированных подключей в порт ввода подсоединенного компонента регистрации подключей и ввод выходных данных последнего компонента преобразования данных блока расширения ключа в порт ввода данных компонента регистрации данных блока расширения ключа;
этап шифрования и преобразования данных содержит: во время тактового периода, в котором выполняется этап регистрации внутренних данных, ввод зарегистрированных данных в компоненте регистрации данных блока шифрования в первый компонент преобразования данных блока шифрования, ввод подключей в первом компоненте регистрации подключей в первый компонент преобразования данных блока шифрования, выполнение первым компонентом преобразования данных блока шифрования шифрования и преобразования данных и ввод зашифрованных и преобразованных данных в первом компоненте преобразования данных блока шифрования во второй компонент преобразования данных блока шифрования, ввод подключей во втором компоненте регистрации подключей во второй компонент преобразования данных блока шифрования и выполнение вторым компонентом преобразования данных блока шифрования, шифрования и преобразования данных; выполнение множеством компонентов преобразования данных блока расширения соответствующих компонентам преобразования данных блоков расширения ключа, последовательного шифрования и преобразования данных и ввод зашифрованных и преобразованных данных в последнем компоненте преобразования данных блока шифрования в порт ввода данных компонента регистрации данных блока шифрования;
этап регистрации внутренних данных содержит: когда поступает фронт тактового импульса следующего тактового периода после этапа расширения ключа, ввод данных, преобразованных и полученных последним компонентом преобразования данных блока расширения ключа в компонент регистрации данных блока расширения ключа для регистрации; ввод подключей в компоненте преобразования данных блока расширения ключа в соответствующий компонент регистрации подключей для регистрации; и ввод данных, преобразованных и полученных последним компонентом преобразования данных блока шифрования, в компонент регистрации данных блока шифрования для регистрации.
5. Способ обработки шифрования на основе алгоритма блочного шифрования по любому одному из пп.1-4, в котором алгоритмом блочного шифрования является алгоритм SMS4, опубликованный Государственным управлением криптографии Китая.
RU2010124832/08A 2007-11-19 2008-11-13 Способ обработки шифрования на основе алгоритма пакетного шифрования RU2444142C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710019109.X 2007-11-19
CNB200710019109XA CN100495961C (zh) 2007-11-19 2007-11-19 一种基于分组密码算法的加密处理方法

Publications (2)

Publication Number Publication Date
RU2010124832A RU2010124832A (ru) 2011-12-27
RU2444142C1 true RU2444142C1 (ru) 2012-02-27

Family

ID=39307481

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010124832/08A RU2444142C1 (ru) 2007-11-19 2008-11-13 Способ обработки шифрования на основе алгоритма пакетного шифрования

Country Status (7)

Country Link
US (1) US8385540B2 (ru)
EP (1) EP2216933A4 (ru)
JP (1) JP2011503665A (ru)
KR (1) KR101139011B1 (ru)
CN (1) CN100495961C (ru)
RU (1) RU2444142C1 (ru)
WO (1) WO2009067928A1 (ru)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838262B1 (fr) * 2002-04-08 2004-07-30 Oberthur Card Syst Sa Procede de securisation d'une electronique a acces crypte
CN100495961C (zh) 2007-11-19 2009-06-03 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理方法
CN100581101C (zh) 2007-11-19 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理设备
CN101969374B (zh) * 2010-10-27 2012-06-20 北京航空航天大学 分组密码算法中混淆层的实现方法
US9813235B2 (en) 2013-03-11 2017-11-07 Indian Institute of Technology Kharagpur Resistance to cache timing attacks on block cipher encryption
US9800406B2 (en) * 2014-05-21 2017-10-24 Intel Corporation Technologies for modifying a first cryptographic cipher with operations of a second cryptographic cipher
RU2631981C2 (ru) * 2016-02-12 2017-09-29 Федеральное государственное бюджетное учреждение науки Институт конструкторско-технологической информатики Российской академии наук (ИКТИ РАН) Способ блочной шифрации с закрытым ключом
US10218497B2 (en) * 2016-08-31 2019-02-26 Intel Corporation Hybrid AES-SMS4 hardware accelerator
CN109617671B (zh) * 2018-12-21 2023-06-09 成都海光集成电路设计有限公司 加解密、扩展方法及装置、加解密系统、终端
CN109617670B (zh) * 2018-12-21 2023-05-12 成都海光集成电路设计有限公司 一种加密系统及解密系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2206182C2 (ru) * 2000-04-10 2003-06-10 Клепов Анатолий Викторович Способ криптографической защиты информации в информационных технологиях и устройство для его осуществления
RU2206961C2 (ru) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ итеративного блочного шифрования двоичных данных
CN1845213A (zh) * 2006-03-02 2006-10-11 西安西电捷通无线网络通信有限公司 一种实现sms4密码算法中加解密处理的方法
WO2007075154A2 (en) * 2004-12-06 2007-07-05 The Trustees Of The Stevens Institute Of Technology Method and apparatus for maintaining data integrity for block-encryption algorithms

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381480A (en) * 1993-09-20 1995-01-10 International Business Machines Corporation System for translating encrypted data
US5835599A (en) * 1996-04-15 1998-11-10 Vlsi Technology, Inc. Muti-cycle non-parallel data encryption engine
JP2000056679A (ja) * 1998-08-11 2000-02-25 Fujitsu Ltd Desの鍵スケジュール装置
CN1734526B (zh) 2000-03-09 2013-09-18 三菱电机株式会社 数据变换装置和数据变换方法
US20040047466A1 (en) * 2002-09-06 2004-03-11 Joel Feldman Advanced encryption standard hardware accelerator and method
JP2005004048A (ja) * 2003-06-13 2005-01-06 Oki Electric Ind Co Ltd 鍵拡張装置、鍵拡張方法および鍵拡張プログラム
US7561689B2 (en) * 2004-06-17 2009-07-14 Agere Systems Inc. Generating keys having one of a number of key sizes
EP1860630B1 (en) 2005-03-16 2018-12-26 Mitsubishi Electric Corporation Data converting apparatus and data converting method
CN100525183C (zh) 2006-03-31 2009-08-05 西安西电捷通无线网络通信有限公司 一种实现sms4加解密算法的设备
IL174784A0 (en) * 2006-04-04 2006-12-31 Nds Ltd Robust cipher design
US8155308B1 (en) * 2006-10-10 2012-04-10 Marvell International Ltd. Advanced encryption system hardware architecture
US8625781B2 (en) * 2007-09-07 2014-01-07 Greenpeak Technologies B.V. Encrypton processor
CN100495961C (zh) * 2007-11-19 2009-06-03 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理方法
CN100581101C (zh) * 2007-11-19 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2206182C2 (ru) * 2000-04-10 2003-06-10 Клепов Анатолий Викторович Способ криптографической защиты информации в информационных технологиях и устройство для его осуществления
RU2206961C2 (ru) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ итеративного блочного шифрования двоичных данных
WO2007075154A2 (en) * 2004-12-06 2007-07-05 The Trustees Of The Stevens Institute Of Technology Method and apparatus for maintaining data integrity for block-encryption algorithms
CN1845213A (zh) * 2006-03-02 2006-10-11 西安西电捷通无线网络通信有限公司 一种实现sms4密码算法中加解密处理的方法

Also Published As

Publication number Publication date
US8385540B2 (en) 2013-02-26
WO2009067928A1 (fr) 2009-06-04
JP2011503665A (ja) 2011-01-27
KR101139011B1 (ko) 2012-04-25
CN101159545A (zh) 2008-04-09
EP2216933A1 (en) 2010-08-11
CN100495961C (zh) 2009-06-03
EP2216933A4 (en) 2012-10-17
KR20100083848A (ko) 2010-07-22
US20100254530A1 (en) 2010-10-07
RU2010124832A (ru) 2011-12-27

Similar Documents

Publication Publication Date Title
RU2444142C1 (ru) Способ обработки шифрования на основе алгоритма пакетного шифрования
Kavun et al. A lightweight implementation of keccak hash function for radio-frequency identification applications
US20100322411A1 (en) Encrypton Processor
Khose et al. Implementation of AES algorithm on FPGA for low area consumption
US20180097613A1 (en) Encryption device and memory device
Nadjia et al. Aes ip for hybrid cryptosystem rsa-aes
El-meligy et al. 130nm Low power asynchronous AES core
Jothi et al. Parallel RC4 Key Searching System Based on FPGA
Rais et al. Efficient hardware realization of advanced encryption standard algorithm using Virtex-5 FPGA
Rao et al. FPGA implementation of combined S-Box and InvS-Box of AES
Samiee et al. A novel area-throughput optimized architecture for the AES algorithm
RU2452112C2 (ru) Устройство обработки шифрования на основе алгоритма пакетной шифровки
Abdelmoghni et al. Implementation of AES coprocessor for wireless sensor networks
Rashidi et al. FPGA based a new low power and self-timed AES 128-bit encryption algorithm for encryption audio signal
Rais et al. A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box
Kim et al. Low power circuit architecture of AES crypto module for wireless sensor network
Bu et al. ’A Compact Implementation of SM4 Encryption and Decryption Circuit’
Junias et al. Implementation of efficient mix column transformation for aes encryption
D’haeseleer Hardware design for cryptanalysis
Kristianti et al. Implementation optimization of the DES algorithm on FPGA to support smartcard processors
Rady et al. Design and implementation of area optimized AES algorithm on reconfigurable FPGA
Abbas et al. Reusable data-path architecture for encryption-then-authentication on FPGA
Yang et al. Celerity hardware implementation of the AES with data parallel and pipelining architecture inside the Round Function
CN106877999B (zh) 一种des加解密密钥生成器及密钥生成方法
Vinay et al. Power Aware GALS Based Pipelined DES System