Halka
Halka | |
---|---|
Создатель | Сурав Дас |
Создан | 2014 год |
Опубликован | 2014 год |
Размер ключа | 80 бит |
Размер блока | 64 бит |
Число раундов | 24 |
Тип | SP-сеть |
Halka—блочный шифрс размером блока 64бита,длиной ключа 80 бит и количеством раундов 24. В данном шифре используются в качестве нелинейных элементов 8-битныеS-блоки.Главной особенностью является вычислениемультипликативной инверсии[англ.]на основеLFSR[1],требующего 138логических элементов[2],что делает данный шифр применимым воблегчённой криптографии,несмотря на использование 8-битного S-блока. Развёртывание ключа осуществляется по схеме, аналогичной той, что используется для блочного шифраPRESENT[3]. Данный шифр был представлен в 2014 году.
История
[править|править код]Несмотря на существование широко используемых блочных шифров, таких какAES,который был создан еще в 1998 году, область разработки новых блочных шифров является активной и в настоящее время. В 2014 году был разработан шифр Halka. По заявлению автора, шифр стал уникальным во многих отношениях[4]:
- это первое использование 8-битногоS-блокав облегчённой криптографии;
- традиционноLFSRбыл использован только впотоковых шифрах,в то время как Halka — блочный;
- Halka сочетает в себе сильные стороны как AES, так и PRESENT.
Возможное применение
[править|править код]Применение шифра возможно вповсеместных вычислениях,включающихRFID,сенсорных сетяхи устройствах, для которых достаточно 80-битного размера ключа[5].
Алгоритм
[править|править код]Halka состоит из 24 раундов. Ниже приведён алгоритм шифра[5].
Обозначим в-м раунде состояние 64-битного блока каки раундовый ключ, т.е. ключ, используемый в одном раунде и получаемый из первоначального ключа, как.
- На вход принимаютсязначениеключаи незашифрованный текст.
- Значение блокав первом раунде равняется.
- Генерируются раундовые ключи на основе ключа.
- Далее циклически для 24 раундов выполняются:
- Трансформация при шифровании, при которой к состояниюприменяетсяXORс раундовым ключом,
- AES-подобноенелинейное преобразование (S-блок),построение которого состоит из взятия мультипликативной инверсии с использованием LFSR в поле Галуа,причем предварительноразделяется на восемь равных 8-битных частей, над которыми и производятся данные операции, после чего результаты конкатенируются.
- Перестановка битов в блокеслучайным образом, однако с условием, что все биты одной 8-битной части текущего блокапереходят в биты различных 8-битных частей блока следующего уровня.
- Цикл завершается.
- Выполняется последняя операция XOR дляи.
Мультипликативная инверсия с использованием LFSR
[править|править код]Главной особенностью Halka является реализация мультипликативного инвертирования для нелинейного преобразования (S-блок) с использованием LFSR, использующего в качестве функции обратной связипримитивный многочлени требующего на 8-битный S-блок всего 138 логических элементов. В то время как для ранее известных реализаций требуется не менее 253[6][7].Реализация шифра Halka малоресурсна, но несмотря на это, она удобна в использовании по отношению к программному обеспечению[7].
В данном разделе описывается вычисление мультипликативной инверсии при помощи регистра сдвига с обратной связью (LFSR)[1].
Математическое описание
[править|править код]Преобразование LFSR дляциклов может быть записано как[8]:
, где—матрица преобразования LFSR,— состояние LFSR в-й отсчёт времени или начальное состояние, а— состояние LFSR в-й отсчёт времени, то есть после запускатактовых циклов.
Так как в качестве функции обратной связи используется примитивный многочлен, LFSR будет генерироватьпоследовательность с максимальным периодом.Поэтому если— длина LFSR, то выполнениециклов возвращает начальное состояние, при этом все промежуточные значения будут различными:
.
Для вычисления мультипликативной инверсии заданного входного векторанеобходимо определить новое состояние LFSRтакое, что:
,что равносильно.
Для 8-битного LFSR это означает следующее:
Последнее равенство используется в реализации алгоритма мультипликативной инверсии с использованием LFSR[8].Произвольный выбор начального состоянияпозволяет не выделять аффинное преобразование после взятия мультипликативной инверсии в отдельный шаг, как это сделано в AES, так какуже является результатом применения к мультипликативной инверсиинекоторого преобразования, однозначно определяемого по.Такой подход позволяет избежать трудоёмких операций вроде матричного умножения. При этом выбор конкретного начального значения не оказывает существенного влияния на криптографические свойства шифра[2].
Реализуемый алгоритм
[править|править код]Следующий алгоритм выполняется в аппаратной реализации мультипликативной инверсии:
- Имеются:8-битный LFSR, начальное состояниеinitial_seed=и первоначальныйS-box_input=.
- Преобразование LFSR инициализируется какlfsr_state=S-box_input=.
- Преобразование LFSR запускается до тех пор, пока не будет выполнено равенство:lfsr_state=initial_seed=.
- Затем запускается обратное преобразование LFSR до тех пор, пока не будет совершенно в сумме 255 преобразований (то есть если прямое преобразование было выполненораз, то обратноераз).
- На выходе принимаетсяlfsr_state=.
Данный алгоритм даёт на выходе мультипликативную инверсию входного 8-битного блокаS-box_input[8].
Аппаратная реализация
[править|править код]Аппаратная реализация осуществляется следующим образом[9]:
- Конструируется LFSR из восьмитриггеровс двумя входами (например,D-триггеры).
- Конструируются необходимые логические элементы, обеспечивающие на входе LFSR функцию обратной связи.
- Конструируется логическая схема, подключающаяся ко входам триггеров, обеспечивающая обратное преобразование LFSR для того же примитивного многочлена.
- Выход LFSR подключается к 8-входномувентилюNAND(через несколько вентилейNOT), выход которого подключён ко входам триггеров так, чтобы организовать логику управления LFSR в обратном направлении.
- Используется 8-битный счётчик LFSR. Выходной сигнал счётчика подключается к 8-входному вентилю NAND (через несколько вентилей NOT), чтобы сигнализировать о завершении 255 циклов. Конечное состояние LFSR содержит мультипликативную инверсию поданного начального значения.
Криптоанализ
[править|править код]Дифференциальный и линейный криптоанализ
[править|править код]Для 8-битных S-блоков, используемых в Halka, вероятностьдифференциальной характеристикисоставляет[10].За раунд дифференциальная вероятность равняется[11].После 24 раундов общая вероятность любой дифференциальной характеристики составит[10].Также существуют исследования, которые доказывают, что шифр Halka не так устойчив к дифференциальному анализу, как утверждает автор шифра[12].
Линейноесмещение мультипликативной инверсии равно.Тогда полное линейное смещение Halka составит после 24 раундов[10].
Алгебраическая атака
[править|править код]Для Halka не требуется анализ противалгебраических атак,потому что AES-подобное нелинейное преобразование(S-блок) не может быть описано квадратными уравнениями[13].
Анализ на связанных ключах и сдвиговая атака
[править|править код]Нет никаких доказательств того, что алгоритм планирования ключей PRESENT, используемый в Halka, может быть подверженатаке на связанных ключахисдвиговой атаке.Кроме того, 8-битный S-блок, используемый в Halka, усиливает данный алгоритм развёртывания ключей[13].
Кубическая атака
[править|править код]Так как AES невосприимчив ккубическим атакам[англ.],то и Halka устойчив к подобным атакам[14].
Структурные атаки
[править|править код]В силу побитовой перестановки Halka получение словоподобных структур, используемых винтегральныхиколлизионных атаках,невозможно, что делает его невосприимчивым к подобным атакам[13].
Примечания
[править|править код]- ↑12R. Lidl, H. Niederreiter, 1994.
- ↑12Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR, 2014.
- ↑A. Bogdanov, 2007,p. 453—454.
- ↑Sourav Das, 2014.
- ↑12Sourav Das, 2014,p. 6.
- ↑D. Canright, 2005,p. 453.
- ↑12G. Hatzivasilis, 2017,p. 153.
- ↑123Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR, 2014,p. 2—3.
- ↑Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR, 2014,p. 4.
- ↑123Sourav Das, 2014,p. 8.
- ↑S. Hong, S. Lee, J. Lim, J. Sung, D. Cheon, I. Cho, 2001.
- ↑Shun, Yasutaka, Toshinobu, 2017.
- ↑123Sourav Das, 2014,p. 9.
- ↑Sourav Das, 2014,p. 9—10.
Литература
[править|править код]- Книги
- R. Lidl, H. Niederreiter.Introduction to Finite Fields and Their Applications. — Revised Edition. — Cambridge: Cambridge University Press, 1994. — 416 с. —ISBN 0-521-46094-8.
- Статьи
- Sourav Das.Halka: A Lightweight, Software Friendly Block Cipher Using Ultra-lightweight 8-bit S-box(англ.).— IACR Cryptology ePrint Archive, 2014. —Vol. 2014,no. 110.—P. 1—16.
- Sourav Das.Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR(англ.).— IACR Cryptology ePrint Archive, 2014. —Vol. 2014,no. 22.—P. 1—11.Архивировано20 октября 2019 года.
- D. Canright.A Very Compact S-Box for AES(англ.)// Cryptographic Hardware and Embedded Systems. — Springer, Berlin, Heidelberg, 2005. —P. 441—455.—ISBN 978-3-540-28474-1.—doi:10.1007/11545262_32.
- George Hatzivasilis.A review of lightweight block ciphers(англ.)// Journal of Cryptographic Engineering. — Springer, Berlin, Heidelberg, 2017. —P. 141—184.—doi:10.1007/s13389-017-0160-y.
- A. Bogdanov, L. R. Knudsen, G. Leander, C. Paar, A. Poschmann, M. J. B. Robshaw, Y. Seurin, C. Vikkelsoe.PRESENT: An Ultra-Lightweight Block Cipher(англ.)// International workshop on cryptographic hardware and embedded systems. — Springer, Berlin, Heidelberg, 2007. —P. 450—466.—ISBN 978-3-540-74734-5.—doi:10.1007/978-3-540-74735-2_31.
- S. Hong, S. Lee, J. Lim, J. Sung, D. Cheon, I. Cho.Provable Security against Differential and Linear Cryptanalysis for the SPN Structure(англ.)// FSE 2000. Lecture Notes in Computer Science. — Springer, Berlin, Heidelberg, 2001. —Vol. 1978.—P. 273—283.—ISBN 978-3-540-44706-1.—doi:10.1007/3-540-44706-7_19.
- S. Hong, S. Lee, J. Lim, J. Sung, D. Cheon, I. Cho.Provable Security against Differential and Linear Cryptanalysis for the SPN Structure(англ.)// FSE 2000. Lecture Notes in Computer Science. — Springer, Berlin, Heidelberg, 2001. —Vol. 1978.—P. 273—283.—ISBN 978-3-540-44706-1.—doi:10.1007/3-540-44706-7_19.
- Trung trạch tuấn, ngũ thập lam bảo long, kim tử mẫn tín.Khinh lượng hình ブロック ám hào Halka の soa phân パス giải tích(яп.)// Computer Security Symposium 2017. — the Information Processing Society of Japan, 2017. — 24 10 nguyệt. —Đệ 896—902 hiệt.—ISSN1882-0840.
Ссылки
[править|править код]- Облегчённая криптография(англ.)
Эта статья входит в числодобротных статейрусскоязычного раздела Википедии. |