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

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

Info

Publication number
RU2452112C2
RU2452112C2 RU2010124849/08A RU2010124849A RU2452112C2 RU 2452112 C2 RU2452112 C2 RU 2452112C2 RU 2010124849/08 A RU2010124849/08 A RU 2010124849/08A RU 2010124849 A RU2010124849 A RU 2010124849A RU 2452112 C2 RU2452112 C2 RU 2452112C2
Authority
RU
Russia
Prior art keywords
data
component
encryption
data conversion
register
Prior art date
Application number
RU2010124849/08A
Other languages
English (en)
Other versions
RU2010124849A (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 RU2010124849A publication Critical patent/RU2010124849A/ru
Application granted granted Critical
Publication of RU2452112C2 publication Critical patent/RU2452112C2/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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

Изобретение относится к защите информации, а именно к обработке шифрования на основе алгоритма блочной шифровки. Техническим результатом является сокращение потребляемых ресурсов устройства обработки шифрования. Технический результат достигается тем, что устройство обработки шифрования на основе алгоритма блочной шифровки включает в себя блок расширения ключа и блок шифрования. Блок расширения ключа содержит компоненту регистрации данных блока расширения ключа и по меньшей мере одну компоненту преобразования данных блока расширения ключа. Блок шифрования содержит компоненту регистрации данных блока шифрования и по меньшей мере одну компоненту преобразования данных блока шифрования, причем количество компонент преобразования данных блока шифрования идентично количеству компонент преобразования данных блока расширения ключа, и кроме того, они находятся во взаимно однозначном соответствии. Выход субключа каждой компоненты преобразования данных блока расширения ключа соединен с соответствующим входом субключа каждой компоненты преобразования данных блока шифрования. 2 н. и 7 з.п. ф-лы, 6 ил.

Description

Данная заявка претендует на приоритет патентной заявки Китая №2000710019110.2, поданной в Патентное Ведомство Китая 19 ноября 2007 года, под заголовком «Block Cipher Algorithm Based Encryption Processing Device», содержание которой целиком включено сюда по ссылке.
Область техники, к которой относится изобретение
Настоящее изобретение относится к области защиты информации и, в частности, касается способа обработки шифрования на основе алгоритма блочной шифровки.
Уровень техники
Алгоритмы блочной шифровки в общем случае включают в себя алгоритм Стандарта шифрования данных (DES), алгоритм tri-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 бита=1024 бита.
В. Фаза шифрования данных
1) В компоненту регистра данных блока шифрования вводят внешние данные.
Внешние данные вводят в компоненту 300 регистра данных блока шифрования для регистрации.
2) Преобразование данных
Данные, зарегистрированные в компоненте 300 регистра данных блока шифрования, вводят в компоненту 301 преобразования данных блока шифрования, а данные, соответствующие первой строке массива субключей, запомненных в блоке 2 памяти массива субключей, вводят в компоненту 301 преобразования данных блока шифрования для преобразования.
3) Итеративная обработка данных
Данные, полученные в результате предыдущего преобразования, запоминают в компоненте 300 регистра данных блока шифрования, а затем данные, зарегистрированные в компоненте 300 регистра данных блока шифрования, вновь вводят в компоненту 301 преобразования данных блока шифрования для преобразования, после чего в компоненту 301 преобразования данных блока шифрования вводят следующую строку субключей блока 2 памяти массива субключей для преобразования данных. Этот процесс повторяется тридцать два раза, в результате чего получают данные.
В вышеуказанном алгоритме шифрования для обработки набора данных потребуется тридцать два тактовых цикла при низкой эффективности обработки. Для усовершенствования алгоритма можно повысить эффективность обработки, увеличив количество компонент преобразования данных. Например, набор 128-разрядных данных можно обработать за шестнадцать тактовых циклов, как показано на фиг.2.
Компонента памяти массива субключей является обязательной в существующей технологии. Если 1024-разрядную компоненту памяти массива субключей реализовать с помощью регистра в интегральной схеме, то тогда логический ресурс составит примерно десять тысяч логических элементов, что составляет примерно 40% от общего ресурса (общий ресурс при техническом решении по фиг.1 составляет примерно двадцать пять тысяч логических элементов), что потребует больших затрат.
Сущность изобретения
Задачей изобретения является обеспечение недорогого и эффективного способа обработки шифрования на основе алгоритма блочной шифровки для решения технической проблемы, связанной с высокой стоимостью способа обработки шифрования на основе алгоритма блочной шифровки при существующей технологии.
Техническое решение согласно изобретению заключается в следующем.
Устройство обработки шифрования на основе алгоритма блочной шифровки включает в себя блок расширения ключа и блок шифрования, где:
блок расширения ключа включает в себя компоненту регистра данных блока расширения ключа и по меньшей мере одну компоненту преобразования данных блока расширения ключа, блок шифрования включает в себя компоненту регистра данных блока шифрования и по меньшей мере одну компоненту преобразования данных блока шифрования, причем количество компонент преобразования данных блока шифрования идентично количеству компонент преобразования данных блока расширения ключа, и компоненты преобразования данных блока шифрования взаимно однозначно соединены с компонентами преобразования данных блока расширения ключа;
выход компоненты регистра данных блока расширения ключа соединен с входом первой компоненты преобразования данных блока расширения ключа, каждые две соседние компоненты преобразования данных блока расширения ключа соединены последовательно, и выход последней компоненты преобразования данных блока расширения ключа соединен с входом компоненты регистра данных блока расширения ключа;
выход компоненты регистра данных блока шифрования соединен с входом первой компоненты преобразования данных блока шифрования, каждые две соседние компоненты преобразования данных блока шифрования соединены последовательно, и выход последней компоненты преобразования данных блока шифрования соединен с входом компоненты регистра данных блока шифрования;
выход субключа каждой компоненты преобразования данных блока расширения ключа соединен с входом субключа соответствующей компоненты преобразования данных блока шифрования;
компонента регистра данных блока расширения адаптирована для регистрации введенного внешнего ключа и данных, полученных от последней компоненты преобразования данных блока расширения ключа;
компонента преобразования данных блока расширения ключа адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока расширения ключа, для расширения ключа на субключи, вводимые в соответствующую компоненту преобразования данных блока шифрования;
компонента регистра данных блока шифрования адаптирована для регистрации введенных внешних данных и данных, полученных от последней компоненты преобразования данных блока шифрования; и
компонента преобразования данных блока шифрования адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока шифрования, и для шифрования и преобразования принятых данных с использованием субключей, полученных от соответствующей компоненты преобразования данных блока расширения ключа.
Изобретение имеет следующие преимущества.
1. Устройство обработки шифрования согласно изобретению может эффективно сократить потребляемые ресурсы и, следовательно, стоимость устройства при сохранении эффективности существующей технологии, поскольку не требуется блок памяти массива субключей.
2. При использовании устройства обработки шифрования согласно изобретению потребляемые ресурсы составят лишь 60% от ресурсов по ныне существующей технологии в случае одной компоненты преобразования и 70% от ресурсов по ныне существующей технологии в случае двух компонент преобразования.
3. Поскольку добавляется блок регистра субключей, можно сократить критическую дорожку в интегральной схеме для повышения первичной частоты тактового генератора, а значит, и производительности устройства.
Краткое описание чертежей
Фиг.1 - схема, иллюстрирующая первую структуру устройства обработки шифрования и дешифрования согласно существующей технологии;
фиг.2 - схема, иллюстрирующая вторую структуру устройства обработки шифрования и дешифрования согласно существующей технологии;
фиг.3 - схема, иллюстрирующая первую структуру устройства обработки шифрования и дешифрования согласно изобретению;
фиг.4 - схема, иллюстрирующая вторую структуру устройства обработки шифрования и дешифрования согласно изобретению;
фиг.5 - схема, иллюстрирующая третью структуру устройства обработки шифрования и дешифрования согласно изобретению; и
фиг.6 - схема, иллюстрирующая четвертую структуру устройства обработки шифрования и дешифрования согласно изобретению.
Здесь 1 обозначает блок расширения ключа, 100 обозначает компоненту регистра данных блока расширения ключа, 101 (101а, 101b) обозначает компоненту преобразования данных блока расширения ключа, 2 обозначает блок памяти массива субключей, 3 обозначает блок шифрования, 300 обозначает компоненту регистра данных блока шифрования, 301 (301а, 301b) обозначает компоненту преобразования данных блока шифрования, 4 обозначает блок регистра субключей и 401 (401а, 401b) обозначает компоненту регистра субключей.
Подробное описание изобретения
Далее со ссылками на чертежи описывается устройство согласно настоящему изобретению.
Первый вариант осуществления
Как показано на фиг.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 преобразования данных блока шифрования, которая, в свою очередь, шифрует и преобразует данные.
5] Внутренние данные регистрируют: по поступлении фронта тактового импульса следующего тактового цикла данные, полученные из компоненты 101 преобразования данных блока расширения ключа, вводят в компоненту 100 регистра данных блока расширения ключа для регистрации, а данные, полученные из компоненты 301 преобразования данных блока шифрования, вводят в компоненту 300 регистра данных блока шифрования для регистрации.
6] Данные итеративно обрабатывают: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяют, пока данные не будут преобразованы столько раз, сколько задано в алгоритме блочной шифровки, после чего шифрование набора данных завершается.
Второй вариант осуществления
Как показано на фиг.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 преобразования данных блока шифрования.
В частности, количество компонент преобразования данных блока расширения ключа идентично количеству компонент преобразования данных блока шифрования и может быть равно трем, четырем и так далее, вплоть до тридцати двух или сорока восьми, но предпочтительно одному, двум или четырем.
Обратимся к фиг.4, где второе устройство обработки шифрования на основе алгоритма блочной шифровки выполняет следующие этапы способа согласно варианту осуществления изобретения.
1] Регистрируют внешний ключ: обработанный внешний ключ вводят в компоненту 100 регистра данных блока расширения ключа для регистрации по поступлении фронта тактового импульса тактового цикла.
2] Регистрируют внешние данные: набор внешних данных вводят в компоненту 300 регистра данных блока шифрования для регистрации по поступлении фронта тактового импульса тактового цикла.
3] Выполняют расширение ключа: в тактовом цикле данные, зарегистрированные в компоненте 100 регистра данных блока расширения ключа, вводят в компоненту 101а преобразования данных блока расширения ключа для расширения ключа на субключи, вводимые в компоненту 301а преобразования данных блока шифрования, а данные, выведенные из компоненты 101а преобразования данных блока расширения ключа, вводят в следующую компоненту 101b преобразования данных блока расширения ключа, так что компоненты преобразования данных блока расширения ключа последовательно расширяют ключ.
4] Шифруют и преобразуют данные: в тактовом цикле данные, зарегистрированные в компоненте 300 регистра данных блока шифрования, вводят в компоненту 301 преобразования данных блока шифрования, которая, в свою очередь, шифрует и преобразует данные, а данные, выведенные из компоненты 301а преобразования данных блока шифрования, вводят в следующую компоненту 301b преобразования данных блока шифрования, так что компоненты преобразования данных блока шифрования шифруют данные последовательно.
5] Внутренние данные регистрируют: по поступлении фронта тактового импульса следующего тактового цикла данные, выведенные из последней компоненты (101b в настоящем варианте осуществления) преобразования данных блока расширения ключа, вводят в компоненту 100 регистра данных блока расширения ключа для регистрации, а данные, выведенные из последней компоненты (301b в настоящем варианте осуществления) преобразования данных блока шифрования, вводят в компоненту 300 регистра данных блока шифрования для регистрации.
6] Данные итеративно обрабатывают: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяют, пока данные не будут преобразованы столько раз, сколько задано в алгоритме блочной шифровки, после чего шифрование набора данных завершается.
Третий вариант осуществления
Как показано на фиг.5, третье устройство обработки шифрования на основе алгоритма блочной шифровки включает в себя блок 1 расширения ключа, блок 4 регистра субключей и блок 3 шифрования.
Блок 1 расширения ключа включает в себя компоненту 100 регистра данных блока расширения ключа и компоненту 101 преобразования данных блока расширения ключа, причем выход компоненты 100 регистра данных блока расширения ключа соединен с входом компоненты 101 преобразования данных блока расширения ключа, а выход компоненты 101 преобразования данных блока расширения ключа соединен с входом компоненты 100 регистра данных блока расширения ключа.
Блок 4 регистра субключей включает в себя компоненту 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 преобразования данных блока шифрования, подают на вход компоненты 300 регистра данных блока шифрования.
7] Внутренние данные регистрируют: по поступлении фронта тактового импульса следующего тактового цикла данные, полученные из компоненты 101 преобразования данных блока расширения ключа, вводят в компоненту 100 регистра данных блока расширения ключа для регистрации, субключи компоненты 101 преобразования данных блока расширения ключа вводят в компоненту 401 регистра субключей для регистрации, а данные, полученные из компоненты 301 преобразования данных блока шифрования, вводят в компоненту 300 регистра данных блока шифрования для регистрации.
8] Данные итеративно обрабатывают: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяют, пока данные не будут преобразованы столько раз, сколько задано в алгоритме блочной шифровки, после чего шифрование набора данных завершается.
Четвертый вариант осуществления
Как показано на фиг.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 преобразования данных блока шифрования.
В частности, количество компонент преобразования данных блока расширения ключа, количество компонент регистра субключей и количество компонент преобразования данных блока шифрования идентичны и могут быть равны трем, четырем и так далее, вплоть до тридцати двух или сорока восьми, но предпочтительно одному, двум или четырем.
Обратимся к фиг.6, где четвертое устройство обработки шифрования на основе алгоритма блочной шифровки выполняет следующие этапы способа согласно варианту осуществления изобретения.
1] Регистрируют внешний ключ: обработанный внешний ключ вводят в компоненту 100 регистра данных блока расширения ключа для регистрации по поступлении фронта тактового импульса тактового цикла.
2] Выполняют предварительное расширение ключа: в тактовом цикле, в котором регистрируют внешний ключ, данные, зарегистрированные в компоненте 100 регистра данных блока расширения ключа, вводят в первую компоненту 101а преобразования данных блока расширения ключа для расширения ключа на субключи, подаваемые на вход соединенной с ней первой компоненты 401а регистра субключей, а данные, выводимые из первой компоненты 101а преобразования данных блока расширения ключа, подают на вход следующей компоненты 101b регистра данных блока расширения ключа для расширения ключа во второй раз, так что компоненты преобразования данных блока расширения ключа последовательно расширяют ключ на субключи, подаваемые на входы соответствующих соединенных с ними компонент регистра субключей, а данные, выводимые из последней компоненты (101b в настоящем варианте осуществления) преобразования данных блока расширения ключа, подают на вход компоненты 100 регистра данных блока расширения ключа.
3] Выполняют буферизацию и регистрацию ключа: по поступлении фронта тактового импульса следующего тактового цикла после этапа регистрации внешнего ключа данные, полученные из последней компоненты (101b в настоящем варианте осуществления) преобразования данных блока расширения ключа, вводят в компоненту 100 регистра данных блока расширения ключа для регистрации, а субключи из компоненты 101 преобразования данных блока расширения ключа вводят в соответствующие компоненты регистра субключей для регистрации.
4] Регистрируют внешние данные: набор внешних данных вводят в компоненту 300 регистра данных блока шифрования для регистрации по поступлении фронта тактового импульса следующего тактового цикла после этапа регистрации внешнего ключа.
5] Выполняют расширение ключа: в тактовом цикле данные, зарегистрированные в компоненте 100 регистра данных блока расширения ключа, вводят в первую компоненту 101а преобразования данных блока расширения ключа для расширения ключа на субключи, подаваемые на вход соединенной с ним первой компоненты 401а регистра субключей, и данные, выводимые из первой компоненты 101а преобразования данных блока расширения ключа, подают на вход следующей компоненты 101b регистра данных блока расширения ключа для расширения ключа во второй раз, так что компоненты преобразования данных блока расширения ключа последовательно расширяют ключ на субключи, подаваемые на входы соответствующих соединенных с ними компонент регистра субключей, а данные, выводимые из последней компоненты (101b в настоящем варианте осуществления) преобразования данных блока расширения ключа, подают на вход данных компоненты 100 регистра данных блока расширения ключа.
6] Шифруют и преобразуют данные: в тактовом цикле данные, зарегистрированные в компоненте 300 регистра данных блока шифрования, вводят в первую компоненту 301а преобразования данных блока шифрования, а субключи первой компоненты 401а регистра субключей вводят в первую компоненту 301а преобразования данных блока шифрования, которая, в свою очередь, шифрует и преобразует данные; зашифрованные и преобразованные данные из первой компоненты 301а преобразования данных блока шифрования вводят во вторую компоненту 301b преобразования данных блока шифрования, а субключи второй компоненты 401b регистра субключей вводят во вторую компоненту 301b преобразования данных блока шифрования, которая, в свою очередь, шифрует и преобразует данные, так что компоненты преобразования данных блока шифрования, соответствующие компонентам преобразования данных блока расширения ключа, последовательно шифруют и преобразуют данные, а данные, выводимые из последней компоненты (301b в настоящем варианте осуществления) преобразования данных блока шифрования, подают на вход компоненты 300 регистра данных блока шифрования.
7] Внутренние данные регистрируют: по поступлении фронта тактового импульса следующего тактового цикла данные, полученные из последней компоненты (101b в настоящем варианте осуществления) преобразования данных блока расширения ключа, вводят в компоненту 100 регистра данных блока расширения ключа для регистрации, субключи компонент преобразования данных блока расширения ключа вводят в соответствующие компоненты регистра субключей для регистрации, а данные, полученные из последней компоненты (301b в настоящем изобретении) преобразования данных блока шифрования, вводят в компоненту 300 регистра данных блока шифрования для регистрации.
8] Данные итеративно обрабатывают: этап расширения ключа, этап шифрования и преобразования данных и этап регистрации внутренних данных повторяют, пока данные не будут преобразованы столько раз, сколько задано в алгоритме блочной шифровки, после чего шифрование набора данных завершается.
Если в устройстве обработки шифрования предусмотрено множество компонент преобразования данных блока расширения ключа, множество компонент регистра субключей и множество компонент преобразования данных блока шифрования, то тогда они расширяют ключ и шифруют данные последовательно в том порядке, в котором они соединены.
Если в качестве алгоритма SMS4 выбран, в частности, алгоритм блочной шифровки, то тогда в способе шифрования по вышеописанным четырем вариантам осуществления выполняется итеративное преобразование данных, в частности, тридцать два раза.

Claims (9)

1. Устройство обработки шифрования на основе алгоритма блочной шифровки, содержащее блок расширения ключа и блок шифрования, причем:
блок расширения ключа содержит компоненту регистра данных блока расширения ключа и по меньшей мере одну компоненту преобразования данных блока расширения ключа, блок шифрования содержит компоненту регистра данных блока шифрования и по меньшей мере одну компоненту преобразования данных блока шифрования, причем количество компонент преобразования данных блока шифрования идентично количеству компонент преобразования данных блока расширения ключа, и компоненты преобразования данных блока шифрования взаимно однозначно соединены с компонентами преобразования данных блока расширения ключа;
выход компоненты регистра данных блока расширения ключа соединен с входом первой компоненты преобразования данных блока расширения ключа, причем каждые две соседние компоненты преобразования данных блока расширения ключа соединены последовательно, и выход последней компоненты преобразования данных блока расширения ключа соединен с входом компоненты регистра данных блока расширения ключа; выход компоненты регистра данных блока шифрования соединен с входом первой компоненты преобразования данных блока шифрования, причем каждые две соседние компоненты преобразования данных блока шифрования соединены последовательно, и выход последней компоненты преобразования данных блока шифрования соединен с входом компоненты регистра данных блока шифрования;
выход субключа каждой компоненты преобразования данных блока расширения ключа соединен с входом субключа соответствующей компоненты преобразования данных блока шифрования; компонента регистра данных блока расширения адаптирована для регистрации введенного внешнего ключа и данных, полученных от последней компоненты преобразования данных блока расширения ключа; компонента преобразования данных блока расширения ключа адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока расширения ключа, для расширения ключа на субключи, вводимые в соответствующую компоненту преобразования данных блока шифрования;
компонента регистра данных блока шифрования адаптирована для регистрации введенных внешних данных, и данных, полученных от последней компоненты преобразования данных блока шифрования; и компонента преобразования данных блока шифрования адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока шифрования, и для шифрования и преобразования принятых данных с использованием субключей, полученных от соответствующей компоненты преобразования данных блока расширения ключа.
2. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.1, в котором количество компонент преобразования данных блока расширения ключа находится в диапазоне от двух до тридцати двух, и тогда количество компонент преобразования данных блока шифрования находится в диапазоне от двух до тридцати двух соответственно.
3. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.2, в котором количество компонент преобразования данных блока расширения ключа составляет два или четыре, и тогда количество компонент преобразования данных блока шифрования составляет соответственно два или четыре.
4. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.1, в котором:
устройство обработки шифрования дополнительно содержит блок регистра субключей, содержащий по меньшей мере одну компоненту регистра субключей, количество которых идентично количеству компонент преобразования данных блока расширения ключа, и компоненты регистра субключей взаимно однозначно соединены с компонентами преобразования данных блока расширения ключа;
выход каждой компоненты преобразования данных блока расширения ключа соединен с входом соответствующей компоненты регистра субключей, а выход каждой компоненты регистра субключей соединен с входом соответствующей компоненты преобразования данных блока шифрования;
компонента преобразования данных блока расширения ключа адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока расширения ключа, для расширения ключа на субключи, подаваемые на вход компоненты регистра субключей; компонента регистра субключей адаптирована для регистрации субключей, полученных из компоненты преобразования данных блока расширения ключа; и
компонента преобразования данных блока шифрования адаптирована для приема субключей, зарегистрированных в компоненте регистра субключей, и для шифрования и преобразования принятых данных с использованием субключей.
5. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.4, в котором количество компонент преобразования данных блока расширения ключа находится в диапазоне от двух до тридцати двух, и тогда количество компонент регистра субключей находится в диапазоне от двух до тридцати двух соответственно, и количество компонент преобразования данных блока шифрования находится в диапазоне от двух до тридцати двух соответственно.
6. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.5, в котором количество компонент преобразования данных блока расширения ключа составляет два или четыре, и тогда количество компонент регистра субключей составляет два или четыре соответственно, и количество компонент преобразования данных блока шифрования составляет соответственно два или четыре.
7. Устройство обработки шифрования на основе алгоритма блочной шифровки по пп.4, 5 или 6, в котором компонента регистра субключей представляет собой обычный триггер или регистр.
8. Устройство обработки шифрования на основе алгоритма блочной шифровки, содержащее блок расширения ключа и блок шифрования, причем
блок расширения ключа содержит компоненту регистра данных блока расширения ключа и компоненту преобразования данных блока расширения ключа, блок шифрования содержит компоненту регистра данных блока шифрования и компоненту преобразования данных блока шифрования, и компонента преобразования данных блока шифрования соединена с компонентой преобразования данных блока расширения ключа;
выход компоненты регистра данных блока расширения ключа соединен с входом компоненты преобразования данных блока расширения ключа, и выход компоненты преобразования данных блока расширения ключа соединен с входом компоненты регистра данных блока расширения ключа; выход компоненты регистра данных блока шифрования соединен с входом компоненты преобразования данных блока шифрования, и выход компоненты преобразования данных блока шифрования соединен с входом компоненты регистра данных блока шифрования;
выход субключа компоненты преобразования данных блока расширения ключа соединен с входом субключа компоненты преобразования данных блока шифрования;
компонента регистра данных блока расширения ключа адаптирована для регистрации введенного внешнего ключа и данных, полученных от компоненты преобразования данных блока расширения ключа; компонента преобразования данных блока расширения ключа адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока расширения ключа, для расширения ключа на субключи, вводимые в компоненту преобразования данных блока шифрования;
компонента регистра данных блока шифрования адаптирована для регистрации введенных внешних данных и данных, полученных от компоненты преобразования данных блока шифрования; и компонента преобразования данных блока шифрования адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока шифрования, и для шифрования и преобразования принятых данных с использованием субключей, полученных от компоненты преобразования данных блока расширения ключа.
9. Устройство обработки шифрования на основе алгоритма блочной шифровки по п.8, в котором
устройство обработки шифрования дополнительно содержит блок регистра субключей, содержащий компоненту регистра субключей, и компонента регистра субключей соединена с компонентой преобразования данных блока расширения ключа;
выход компоненты преобразования данных блока расширения ключа соединен с входом компоненты регистра субключей, а выход компоненты регистра субключей соединен с входом компоненты преобразования данных блока шифрования;
компонента преобразования данных блока расширения ключа адаптирована для приема данных, зарегистрированных в компоненте регистра данных блока расширения ключа, для расширения ключа на субключи, подаваемые на вход компоненты регистра субключей; компонента регистра субключей адаптирована для регистрации субключей, полученных из компоненты преобразования данных блока расширения ключа; и
компонента преобразования данных блока шифрования адаптирована для приема субключей, зарегистрированных в компоненте регистра субключей, и для шифрования и преобразования принятых данных с использованием субключей.
RU2010124849/08A 2007-11-19 2008-11-13 Устройство обработки шифрования на основе алгоритма пакетной шифровки RU2452112C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710019110.2A CN100581101C (zh) 2007-11-19 2007-11-19 一种基于分组密码算法的加密处理设备
CN200710019110.2 2007-11-19

Publications (2)

Publication Number Publication Date
RU2010124849A RU2010124849A (ru) 2011-12-27
RU2452112C2 true RU2452112C2 (ru) 2012-05-27

Family

ID=39307480

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US8311216B2 (ru)
EP (1) EP2216934A4 (ru)
JP (1) JP2011503666A (ru)
KR (1) KR101126776B1 (ru)
CN (1) CN100581101C (ru)
RU (1) RU2452112C2 (ru)
WO (1) WO2009067929A1 (ru)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100581101C (zh) 2007-11-19 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理设备
CN100495961C (zh) * 2007-11-19 2009-06-03 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理方法
CN103336920B (zh) * 2013-05-29 2019-01-08 东南大学 用于无线传感网络soc芯片的安全系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243470B1 (en) * 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
EP1202488A2 (en) * 2000-10-31 2002-05-02 Sharp Kabushiki Kaisha Encryption sub-key generation circuit
RU2206182C2 (ru) * 2000-04-10 2003-06-10 Клепов Анатолий Викторович Способ криптографической защиты информации в информационных технологиях и устройство для его осуществления
RU2206961C2 (ru) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ итеративного блочного шифрования двоичных данных
US7123720B2 (en) * 2000-06-13 2006-10-17 Hynix Semiconductor, Inc. Key scheduler for encryption apparatus using data encryption standard algorithm

Family Cites Families (17)

* 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
EP1016240A1 (en) 1997-09-17 2000-07-05 Frank C. Luyster Improved block cipher method
JP2000056679A (ja) * 1998-08-11 2000-02-25 Fujitsu Ltd Desの鍵スケジュール装置
CA2373432C (en) 2000-03-09 2005-02-08 Mitsubishi Denki Kabushiki Kaisha Block cipher apparatus using auxiliary transformation
KR100525389B1 (ko) * 2001-01-17 2005-11-02 엘지전자 주식회사 실시간 입력 스트림의 암호화/복호화 장치
US7212631B2 (en) * 2001-05-31 2007-05-01 Qualcomm Incorporated Apparatus and method for performing KASUMI ciphering
US7519182B2 (en) 2002-05-10 2009-04-14 Sony Corporation Encryption device and decryption device
JP2005004048A (ja) * 2003-06-13 2005-01-06 Oki Electric Ind Co Ltd 鍵拡張装置、鍵拡張方法および鍵拡張プログラム
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
JP4742614B2 (ja) 2005-02-25 2011-08-10 ソニー株式会社 データ変換装置および方法、データ逆変換装置および方法、情報処理システム、記録媒体、並びにプログラム
US7949807B2 (en) 2005-03-16 2011-05-24 Mitsubishi Electric Corporation Data conversion apparatus and data conversion method
CN100369074C (zh) 2006-03-02 2008-02-13 西安西电捷通无线网络通信有限公司 一种实现sms4密码算法中加解密处理的方法
IL174784A0 (en) * 2006-04-04 2006-12-31 Nds Ltd Robust cipher design
CN101013938B (zh) 2007-01-12 2010-04-07 广州市诚毅科技软件开发有限公司 一种分组密码加密方法
CN100495961C (zh) 2007-11-19 2009-06-03 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理方法
CN100581101C (zh) 2007-11-19 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于分组密码算法的加密处理设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243470B1 (en) * 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
RU2206182C2 (ru) * 2000-04-10 2003-06-10 Клепов Анатолий Викторович Способ криптографической защиты информации в информационных технологиях и устройство для его осуществления
US7123720B2 (en) * 2000-06-13 2006-10-17 Hynix Semiconductor, Inc. Key scheduler for encryption apparatus using data encryption standard algorithm
EP1202488A2 (en) * 2000-10-31 2002-05-02 Sharp Kabushiki Kaisha Encryption sub-key generation circuit
RU2206961C2 (ru) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ итеративного блочного шифрования двоичных данных

Also Published As

Publication number Publication date
CN100581101C (zh) 2010-01-13
WO2009067929A1 (en) 2009-06-04
KR101126776B1 (ko) 2012-03-29
EP2216934A1 (en) 2010-08-11
US20100284534A1 (en) 2010-11-11
US8311216B2 (en) 2012-11-13
KR20100076078A (ko) 2010-07-05
CN101159544A (zh) 2008-04-09
JP2011503666A (ja) 2011-01-27
RU2010124849A (ru) 2011-12-27
EP2216934A4 (en) 2012-02-08

Similar Documents

Publication Publication Date Title
US7688974B2 (en) Rijndael block cipher apparatus and encryption/decryption method thereof
RU2444142C1 (ru) Способ обработки шифрования на основе алгоритма пакетного шифрования
Bulens et al. Implementation of the AES-128 on Virtex-5 FPGAs
US7561689B2 (en) Generating keys having one of a number of key sizes
US20030059054A1 (en) Apparatus for generating encryption or decryption keys
JP2009211071A (ja) 一連の変換を行って一変換を分離する命令を含む命令の組合せ
US20100322411A1 (en) Encrypton Processor
RU2000122712A (ru) Способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования
KR20090092735A (ko) 병렬 연산 모드에서 aes 암호화 및 암호 해독을 최적화하는 방법 및 장치
CN104253684A (zh) 加密方法和加密装置
JP5652363B2 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
US20050244000A1 (en) Fast-key generator for encryption, authentication or security
RU2452112C2 (ru) Устройство обработки шифрования на основе алгоритма пакетной шифровки
US7257229B1 (en) Apparatus and method for key scheduling
Singh et al. Efficient VLSI architectures of LILLIPUT block cipher for resource-constrained RFID devices
US20190268136A1 (en) Method and circuit for performing a substitution operation
US20090034718A1 (en) Encryption apparatus and method therefor
Bu et al. ’A Compact Implementation of SM4 Encryption and Decryption Circuit’
D’haeseleer Hardware design for cryptanalysis
Ahmed et al. An effective storage encryption solution
KR102348802B1 (ko) Aes 암호화 및 복호화 회로
CN106877999B (zh) 一种des加解密密钥生成器及密钥生成方法
KR20180021473A (ko) 암호화 장치
WO2022164381A1 (en) An advanced encryption standard (aes) device
JP2006235440A (ja) 半導体集積回路