SM4 (шифр)

редактировать
S M4
Генерал
КонструкторыПравительство Китая
Впервые опубликовано2006 г. (рассекречено; стандартизовано 21 марта 2012 г.)
Детали шифра
Размеры ключей 128 бит
Размеры блоков 128 бит
Структуранесбалансированная сеть Фейстеля
Раунды32
Лучшее общедоступное криптоанализ
Линейные и дифференциальные атаки против 22 раундов

SM4 (ранее SMS4 ) - это блочный шифр используется в китайском национальном стандарте для беспроводной локальной сети WAPI (инфраструктура проводной аутентификации и конфиденциальности).

SM4 был шифром, предложенным для стандарта IEEE 802.11i, но до сих пор отвергнутым ISO. Одной из причин отказа было противодействие предложению WAPI Fast Track со стороны IEEE.

. Алгоритм SM4 был изобретен Лу Шуваном (китайский : 吕 述 望). Алгоритм был рассекречен в январе 2006 г. и стал национальным стандартом (GB / T 32907-2016) в августе 2016 г.

Содержание
  • 1 Шифр ​​
  • 2 Термины и определения
    • 2.1 Word и байт
    • 2.2 S-box
    • 2.3 Ключи и ключевые параметры
  • 3 Замечание
  • 4 Ссылки
  • 5 Внешние ссылки
Детали шифра

Некоторые детали шифра SM4 являются:

  • Он имеет размер блока 128 бит.
  • Он использует 8-битный S-блок.
  • Размер ключа составляет 128 бит.
  • Единственный используются 32-битные побитовые операции XOR, 32-битные циклические сдвиги и приложения S-box.
  • Шифрование или дешифрование одного блока данных состоит из 32 раундов.
  • Каждый раунд обновляет четверть (т. Е. 32 бита) внутреннего состояния.
  • Нелинейное расписание ключей используется для создания ключей раунда.
  • Для дешифрования используются те же круглые ключи, что и для шифрования, за исключением того, что они расположены в обратном порядке.
Термины и определения

Слово и байт

Определить Z 2 e {\ displaystyle Z_ {2} ^ { e}}Z_ {2} ^ {e} как векторный набор из e битов.

Z 2 32 {\ displaystyle Z_ {2} ^ {32}}Z_ {2} ^ {{32}} - это слово .

Z 2 8 {\ displaystyle Z_ {2} ^ {8}}Z_ {2} ^ {8} - это байт .

S-блок

S-блок фиксирован для 8-битного ввода и 8-битного вывода, обозначенный как Sbox (). Как и в случае с AES, S-блок основан на мультипликативном обратном над GF (2). Аффинные преобразования и полиномиальные основы отличаются от AES, но благодаря аффинному изоморфизму его можно эффективно вычислить с помощью AES Rijndael S-box.

Ключи и ключевые параметры

Длина ключей шифрования составляет 128 бит, представленных как MK = (MK 0, MK 1, MK 2, MK 3) {\ displaystyle MK = (MK_ {0}, \ MK_ {1}, \ MK_ {2}, \ MK_ {3})}MK = (MK_ {0}, \ MK_ {1}, \ MK_ {2}, \ MK_ {3}) , в котором MK i (i = 0, 1, 2, 3) {\ displaystyle MK_ {i} \ (i = 0, \ 1, \ 2, \ 3)}MK_ {i} \ (я = 0, \ 1, \ 2, \ 3) - слово.

Круглый ключ представлен как (rk 0, rk 1,…, rk 31) {\ displaystyle (rk_ {0}, \ rk_ {1}, \ \ ldots, \ rk_ {31) })}(rk_ { 0}, \ rk_ {1}, \ \ ldots, \ rk _ {{31}}) , где каждый rki (i = 0,…, 31) {\ displaystyle rk_ {i} (i = 0, \ \ ldots, \ 31)}{\ displaystyle rk_ {i} (i = 0, \ \ ldots, \ 31)} это слово. Он генерируется ключом шифрования.

FK = (FK 0, FK 1, FK 2, FK 3) {\ displaystyle FK = (FK_ {0}, \ FK_ {1}, \ FK_ {2}, \ FK_ {3})}FK = (FK_ {0}, \ FK_ {1}, \ FK_ {2}, \ FK_ {3}) - системный параметр.

CK = (CK 0, CK 1,…, CK 31) {\ displaystyle CK = (CK_ {0}, \ CK_ {1}, \ \ ldots, \ CK_ {31})}CK = (CK_ {0}, \ CK_ {1}, \ \ ldots, \ CK _ {{31}}) - фиксированный параметр, используемый для создания rki {\ displaystyle rk_ {i}}{\ displaystyle rk_ {i}} .

FK i {\ displaystyle FK_ {i}}FK_ {i} и CK i {\ displaystyle CK_ {i}}CK_ {i} - слова, используемые для расширения алгоритма.

Примечание

21 марта 2012 года правительство Китая опубликовало промышленный стандарт «GM / T 0002-2012 SM4 Block Cipher Algorithm», официально переименовав SMS4 в SM4.

Описание SM4 на английском языке доступно как Internet Draft. Он содержит эталонную реализацию в ANSI C.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-06 03:44:39
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте