Ascon (Ascon)
Ascon | |
---|---|
Создатель |
Кристоф Добрауниг, Мария Айхелзидер, Флориан Мендел, Мартин Шлаффер |
Создан | 2016 |
Опубликован | 2016 |
Тип | Блочный шифр |
Ascon — семейство блочных шифров, используемых для аутентифицированного шифрования с присоединёнными данными и хеширования. Набор шифров был разработан Кристофом Добраунигом, Марией Айхелзидер, Флорианом Менделем и Мартином Шлаффером. Шифры Ascon-128 и Ascon-128a стали победителями соревнования CAESAR в категории применения в приложениях с ограниченными ресурсами[1].
Историческая справка
[править | править код]Семейство шифров Ascon, используемое для аутентифицированного шифрования с присоединёнными данными и хеширования, было разработано Кристофом Добраунигом, Марией Айхелзидер, Флорианом Менделем и Мартином Шлаффером[2].
Шифры Ascon-128 и Ascon-128a были участниками соревнования CAESAR (2014 - 2019) и стали победителями в категории применения в приложениях с ограниченными ресурсами[1].
В августе 2019 года шифры семейства Ascon прошли во второй раунд процесса стандартизации Национального института стандартов и технологий в категории легковесной криптографии (англ. Lightweight Cryptography).[3]
Алгоритмы в семействе Ascon
[править | править код]Аутентифицированное шифрование
[править | править код]Параметры в алгоритмах семейства Ascon, используемых для аутентифицированного шифрования[4]:
- Размер ключа ( ≤ 160 бит)
- Размер блока данных
- Число , количество раундов перестановок на начальной и завершающей стадиях
- Число , количество раундов перестановок на промежуточных стадиях
Рекомендованы к использованию следующие конфигурации, соответствующие шифрам Ascon-128 и Ascon-128a [5].
Название | Значения параметров | |||
---|---|---|---|---|
k | r | a | b | |
Ascon-128 | 128 бит | 64 бита | 12 | 6 |
Ascon-128a | 128 бит | 128 бит | 12 | 8 |
Описание алгоритмов: аутентифицированное шифрование
[править | править код]Каждая непосредственная реализация алгоритма, заданная параметрами , , , определяет алгоритмы шифрования E(a, b, k, r) и дешифрования-верификации D(a, b, k, r).
Входные и выходные данные
[править | править код]Алгоритм шифрования E(a, b, k, r)
[править | править код]Входными данными для алгоритма шифрования являются[6]:
- исходный текст P
- присоединённые данные A
- секретный ключ K размером k бит
- публичный номер сообщения N
Выходные данные для алгоритма шифрования[6]:
- Аутентифицированный шифротекст C (такой же длины, как и P)
- Тег аутентификации T
Алгоритм дешифрования-верификации D(a, b, k, r)
[править | править код]Входными данными для алгоритма дешифрования-верификации являются[6]:
- ключ K
- одноразовый код N (Nonce)
- шифротекст C
- тег T
Выходными данными являются исходный текст P, если проверка тега была успешной, или (индикатор неуспешности верификации) в случае неуспеха[6].
Стадии алгоритма
[править | править код]В алгоритмы шифрования и дешифрования входят следующие стадии[7]:
- Инициализация
- Обработка присоединённых данных
- Обработка исходного текста / шифротекста
- Завершающая стадия
Стадия инициализации
[править | править код]Внутреннее состояние в алгоритмах семейства Ascon задаётся 320-битным числом S[8]. На стадии инициализации оно формируется из секретного ключа K из k бит, одноразового кода N из 128 бит, и числа IV, характеризующего алгоритм и формируемого из параметров , , , , записанных 8-битными целыми числами[9]:
Затем к начальному состоянию S применяется раундов перестановок с последующим XOR со значением секретного ключа K[9]:
Стадия обработки присоединённых данных
[править | править код]При шифровании и дешифровании Ascon обрабатывает присоединённые данные A блоками по бит. К присоединённым данным A приписывается единица и минимальное число нулей, необходимое для получения числа с размером кратным бит. Далее получившееся число делится на блоков по бит в каждом. В случае, когда присоединённые данные отсутствуют, данные операции опускаются[10].
Далее к каждому блоку применяется операция XOR c первыми битами состояния S. Затем выполняется раундов перестановок над числом S[10]:
В конце производится операция XOR c однобитной константой разделения[10]:
Стадия обработки исходного текста / шифротекста
[править | править код]Ascon обрабатывает исходный текст P блоками по бит. К исходному тексту P приписывается единица и минимальное число нулей, необходимое для получения числа с размером кратным бит. Далее получившееся число делится на блоков по бит в каждом[11]:
Шифрование
[править | править код]Из каждого блока , используя XOR c первыми битами состояния S, получается блок шифротекста . При этом при выделении каждого из блоков кроме последнего над состоянием S производится раундов перестановок[11]:
При выделении последнего блока его размер преобразуется так, чтобы размер полученнего шифротекста совпадал с размером исходного текста[10]:
Дешифрование
[править | править код]Для каждого из блоков шифротекста кроме последнего блок исходного текста получается за счёт применения XOR к первым битам состояния S. При этом эти бит замещаются соответствующим . Кроме того, для всех блоков кроме последнего при выделении состояние S преобразуется за счёт раундов перестановок[11]:
Преобразование для последнего преобразованного блока [11]:
Завершающая стадия
[править | править код]В завершающей стадии применяется операция XOR к секретному ключу и состоянию S. Затем к состоянию S применяются раундов перестановок. Тег T получается за счёт применения операции XOR к последним 128 битам состояния S (наименее значимым) и к последним 128 битам ключа K[11]:
Алгоритм шифрования возвращает тег T вместе с шифротекстом .
Алгоритм дешифрования-верификации возвращает исходный текст в случае, если сгенерированный тег совпадает с тегом, переданным как параметр.
Перестановки в шифрах Ascon
[править | править код]Главные процессы в шифрах Ascon это перестановки и . Они осуществляются над внутренним состоянием S, которое делится на 5 слов по 64 бит каждое . В алгоритме перестановок последовательно применяется преобразование, которое основывается на SP-сети. Данное преобразование составляют 3 основных стадии[12]:
- Стадия прибавления констант
- Стадия замещения с 5-битным блоком замещения (англ. Substitution Box или S-box)
- Стадия линейной диффузии с 64-битными диффузионными функциями
Стадия прибавления констант
[править | править код]На данной стадии к слову в раунде перестановки добавляется константа , где для перестановок и для перестановок [12]:
Значения констант задаются следующей таблицей[12]:
Константа | Константа | ||||||
---|---|---|---|---|---|---|---|
0 | 000000000000000000f0 | 6 | 2 | 0 | 00000000000000000096 | ||
1 | 000000000000000000e1 | 7 | 3 | 1 | 00000000000000000087 | ||
2 | 000000000000000000d2 | 8 | 4 | 2 | 00000000000000000078 | ||
3 | 000000000000000000c3 | 9 | 5 | 3 | 00000000000000000069 | ||
4 | 0 | 000000000000000000b4 | 10 | 6 | 4 | 0000000000000000005a | |
5 | 1 | 000000000000000000a5 | 11 | 7 | 5 | 0000000000000000004b |
Стадия замещения
[править | править код]На стадии замещения параллельно применяется 5-битный блок замещения (S-блок) к каждому соответствующему битовому массиву из слов . Представленный в виде таблицы поиска S-блок для семейства шифров Ascon[13]:
x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1a | 1b | 1c | 1d | 1e | 1f |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S(x) | 4 | b | 1f | 14 | 1a | 15 | 9 | 2 | 1b | 5 | 8 | 12 | 1d | 3 | 6 | 1c | 1e | 13 | 7 | e | 0 | d | 11 | 18 | 10 | c | 1 | 19 | 16 | a | f | 17 |
Стадия линейной диффузии
[править | править код]На стадии линейной диффузии делается преобразование диффузии в каждом 64-битном слове за счёт применения линейных функций к каждому слову [13]:
Для семейства Ascon линейные диффузионные функции реализованы как[13]:
Преимущества шифров Ascon
[править | править код]Высокий уровень надёжности
[править | править код]Шифры Ascon-128 и Ascon-128a стали победителями соревнования CAESAR в категории применения в приложениях с ограниченными ресурсами[1]. На данный момент с учётом продолжительного публичного исследования и криптоанализа предложенных шифров не было выявлено недостатков в надёжности шифров[14].
Простота реализации
[править | править код]Алгоритмы Ascon работают с 64-битными словами и используют лишь простые побитовые операции. Это существенно упрощает реализацию алгоритмов семейства на новых платформах[14].
Интерактивность и однопроходность
[править | править код]Алгоритмы семейства Ascon могут быть использованы в интерактивном режиме, т.е. в условиях, когда входные данные и их длина ещё не известны полностью. Кроме того, для работы алгоритмов шифрования и дешифрования достаточно лишь одного прохода по данным[14].
Примечания
[править | править код]- ↑ 1 2 3 Ascon v1.2. Submission to NIST, 2019, p. 4.
- ↑ Cryptanalysis of Ascon, 2015, p. 1.
- ↑ Lightweight Cryptography (LWC) Standardization: Round 2 Candidates Announced (англ.). NIST (30 августа 2019). Дата обращения: 24 декабря 2019. Архивировано 24 декабря 2019 года.
- ↑ Ascon v1.2. Submission to NIST, 2019, p. 5.
- ↑ Ascon v1.2. Submission to NIST, 2019, p. 6.
- ↑ 1 2 3 4 Ascon v1.2. Submission to the CAESAR Competition, 2016, p. 2.
- ↑ Ascon v1.2. Submission to the CAESAR Competition, 2016, pp. 2 – 6.
- ↑ Cryptanalysis of Ascon, 2015, p. 2.
- ↑ 1 2 Ascon v1.2. Submission to NIST, 2019, p. 8.
- ↑ 1 2 3 4 Ascon v1.2. Submission to NIST, 2019, p. 9.
- ↑ 1 2 3 4 5 Ascon v1.2. Submission to NIST, 2019, p. 10.
- ↑ 1 2 3 Ascon v1.2. Submission to NIST, 2019, p. 13.
- ↑ 1 2 3 Ascon v1.2. Submission to NIST, 2019, p. 14.
- ↑ 1 2 3 Ascon v1.2. Submission to NIST, 2019, p. 17.
Литература
[править | править код]- Christoph Dobraunig, Maria Eichlseder, Florian Mendel, Martin Schläffer. Ascon v1.2. Submission to NIST (англ.) // NIST submissions. — 2019. — С. 48.
- Christoph Dobraunig, Maria Eichlseder, Florian Mendel, Martin Schläffer. Ascon v1.2. Submission to the CAESAR Competition (англ.) // CAESAR submissions. — 2016. — С. 27.
- William Diehl, Farnoud Farahmand, Abubakr Abdulgadir, Jens-Peter Kaps, Kris Gaj. Face-off Between the CAESAR Lightweight Finalists: ACORN vs. Ascon (англ.) // 2018 International Conference on Field-Programmable Technology (FPT). — IEEE, 2018-12, 2018. — ISSN 978-1-72810-214-6. ISBN 978-1-72810-214-6.. — doi:10.1109/fpt.2018.00066.
- Christoph Dobraunig, Maria Eichlseder, Florian Mendel, Martin Schläffer. Cryptanalysis of Ascon (англ.) // Lecture Notes in Computer Science. — Cham: Springer International Publishing, 2015. — С. 371–387. — ISSN 978-3-319-16715-2 978-3-319-16714-5, 978-3-319-16715-2.
- William Diehl, Abubakr Abdulgadir, Farnoud Farahmand, Jens-Peter Kaps, Kris Gaj. Comparison of Cost of Protection against Differential Power Analysis of Selected Authenticated Ciphers (англ.) // Cryptography. — 2018. — 19 сентября (т. 2, вып. 3). — С. 26. — ISSN 2410-387X ISSN 2410-387X. — doi:10.3390/cryptography2030026.
Ссылки
[править | править код]- CAESAR submissions . CAESAR submissions.
На эту статью не ссылаются другие статьи Википедии. |