Хеш-функция облегчённой криптографии: различия между версиями
[непроверенная версия] | [непроверенная версия] |
м определение |
добавил ссылки и LSB |
||
Строка 1: | Строка 1: | ||
'''Хеш-функция облегченной криптографии''' - криптостойкая [[хеш-функция]], используемая в «легковесной» [[Криптография|криптографии]]. |
'''Хеш-функция облегченной криптографии''' - криптостойкая [[хеш-функция]], используемая в «легковесной» [[Криптография|криптографии]].<ref>{{Статья|ссылка=http://dx.doi.org/10.5220/0004042502390244|заглавие=Towards Pervasive Cryptographic Access Control Models|год=2012|издание=Proceedings of the International Conference on Security and Cryptography|издательство=SciTePress - Science and and Technology Publications|isbn=978-989-8565-24-2|doi=10.5220/0004042502390244}}</ref> |
||
== Концепция облегченной криптографии == |
== Концепция облегченной криптографии == |
||
Облегчённая криптография – раздел криптографии, в котором рассматриваются алгоритмы для устройств не обладающих достаточными ресурсами для реализации существующих [[Шифр|шифров]], [[Хеш-функция|хеш-функций]], [[Электронная подпись|электронных подписей]] и т.д.<ref>{{Статья|автор=Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha|год=2017-03|заглавие=Report on lightweight cryptography|ссылка=http://dx.doi.org/10.6028/nist.ir.8114|место=Gaithersburg, MD|издательство=National Institute of Standards and Technology}}</ref> «Легковесная» криптография приобрела исключительную актуальность в настоящее время в связи распространением парадигмы [[ |
Облегчённая криптография – раздел криптографии, в котором рассматриваются алгоритмы для устройств не обладающих достаточными ресурсами для реализации существующих [[Шифр|шифров]], [[Хеш-функция|хеш-функций]], [[Электронная подпись|электронных подписей]] и т.д.<ref>{{Статья|автор=Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha|год=2017-03|заглавие=Report on lightweight cryptography|ссылка=http://dx.doi.org/10.6028/nist.ir.8114|место=Gaithersburg, MD|издательство=National Institute of Standards and Technology}}</ref> «Легковесная» криптография приобрела исключительную актуальность в настоящее время в связи распространением парадигмы [[Домашняя автоматизация|умного дома]], где множество приборов небольшого размера, с ограниченной вычислительной мощностью, лимитированным объемом памяти и малым энергопотреблением коммуницируют между собой, обмениваясь конфедициальной информацией жильца, для выполнения своих задач.<ref>{{Статья|автор=Megha Agrawal, Jianying Zhou, Donghoon Chang|год=2019|isbn=978-3-030-12329-1, 978-3-030-12330-7|страницы=71–94|заглавие=A Survey on Lightweight Authenticated Encryption and Challenges for Securing Industrial IoT|ссылка=http://dx.doi.org/10.1007/978-3-030-12330-7_4|место=Cham|издательство=Springer International Publishing|издание=Security and Privacy Trends in the Industrial Internet of Things}}</ref><ref>{{Статья|автор=Susha Surendran, Amira Nassef, Babak D. Beheshti|год=2018-05|doi=10.1109/lisat.2018.8378034|isbn=978-1-5386-5029-5|заглавие=A survey of cryptographic algorithms for IoT devices|ссылка=http://dx.doi.org/10.1109/lisat.2018.8378034|издательство=IEEE|издание=2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT)}}</ref> Также особый интерес представляют алгоритмы для [[RFID]] меток.<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-540-71641-9_18|автор=Damith C. Ranasinghe|заглавие=Lightweight Cryptography for Low Cost RFID|год=2008|место=Berlin, Heidelberg|издание=Networked RFID Systems and Lightweight Cryptography|издательство=Springer Berlin Heidelberg|страницы=311–346|isbn=978-3-540-71640-2, 978-3-540-71641-9}}</ref> Для того, чтобы злоумышленики не воспользовались приватной информацией пользователя, требуется специальная разработка и оптимизация алгоритмов способных работать при ограниченных ресурсах и обеспечивать должный уровень безопасности.<ref>{{Статья|автор=Susha Surendran, Amira Nassef, Babak D. Beheshti|год=2018-05|doi=10.1109/lisat.2018.8378034|isbn=978-1-5386-5029-5|заглавие=A survey of cryptographic algorithms for IoT devices|ссылка=http://dx.doi.org/10.1109/lisat.2018.8378034|издательство=IEEE|издание=2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT)}}</ref> |
||
== Хеш-функции == |
== Хеш-функции == |
||
=== Применение === |
=== Применение === |
||
Для того, чтобы адресату убедиться в том, что ему было прислано сообщение от настоящего адресанта, оно отправляется вместе с электронной подписью. На практике подписывают не сообщение, а его хеш-сумму, это позволяет значительно уменьшить вычислительные ресурсы на создание подписи (т.к. обычно хеш-сумма на порядки меньше ключа) и повысить криптостойкость (злоумышленник не сможет узнать исходные данные только из хеша). Хеш-функции используются в технологии [[блокчейн]] для того, чтобы определить блок, который добавится в общую цепь. Например: для добавления нового блока в платформу [[Биткойн|Bitcoin]] требуется найти хеш-сумму [[SHA-2|SHA-256]] меньше, чем определенное целевое число. В следующий созданный блок будет записан хеш предыдущего.<ref>{{Статья|ссылка=http://dx.doi.org/10.1109/spw.2015.27|автор=Guy Zyskind, Oz Nathan, Alex 'Sandy' Pentland|заглавие=Decentralizing Privacy: Using Blockchain to Protect Personal Data|год=2015-05|издание=2015 IEEE Security and Privacy Workshops|издательство=IEEE|isbn=978-1-4799-9933-0|doi=10.1109/spw.2015.27}}</ref> |
Для того, чтобы адресату убедиться в том, что ему было прислано сообщение от настоящего адресанта, оно отправляется вместе с электронной подписью. На практике подписывают не сообщение, а его хеш-сумму, это позволяет значительно уменьшить вычислительные ресурсы на создание подписи (т.к. обычно хеш-сумма на порядки меньше ключа) и повысить криптостойкость (злоумышленник не сможет узнать исходные данные только из хеша).<ref>{{Статья|ссылка=http://dx.doi.org/10.1109/icip.2003.1246725|автор=F. Lefebvre, J. Czyz, B. Macq|заглавие=A robust soft hash algorithm for digital image signature|издание=Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429)|издательство=IEEE|isbn=0-7803-7750-8|doi=10.1109/icip.2003.1246725}}</ref> Хеш-функции используются в технологии [[блокчейн]] для того, чтобы определить блок, который добавится в общую цепь. Например: для добавления нового блока в платформу [[Биткойн|Bitcoin]] требуется найти хеш-сумму [[SHA-2|SHA-256]] меньше, чем определенное целевое число. В следующий созданный блок будет записан хеш предыдущего.<ref>{{Статья|ссылка=http://dx.doi.org/10.1109/spw.2015.27|автор=Guy Zyskind, Oz Nathan, Alex 'Sandy' Pentland|заглавие=Decentralizing Privacy: Using Blockchain to Protect Personal Data|год=2015-05|издание=2015 IEEE Security and Privacy Workshops|издательство=IEEE|isbn=978-1-4799-9933-0|doi=10.1109/spw.2015.27}}</ref> Более того, хеш-функции, в частности хеш-функции облегченной криптографии могут применяться на стыке дисциплин. Например: они применяются в блокчейне LSB, который предназначен для использования в интернете вещей.<ref>{{Статья|ссылка=http://dx.doi.org/10.1016/j.jpdc.2019.08.005|автор=Ali Dorri, Salil S. Kanhere, Raja Jurdak, Praveen Gauravaram|заглавие=LSB: A Lightweight Scalable Blockchain for IoT security and anonymity|год=2019-12|издание=Journal of Parallel and Distributed Computing|том=134|страницы=180–197|issn=0743-7315|doi=10.1016/j.jpdc.2019.08.005}}</ref> |
||
Также хеш-суммы используются при проверке паролей. Если бы операционные системы хранили пароли в файлах, то взломщики с помощью несанкционированного доступа смогли бы получить к ним доступ, извлечение хеша, в свою очередь, им ничего не даст. |
Также хеш-суммы используются при проверке паролей. Если бы операционные системы хранили пароли в файлах, то взломщики с помощью несанкционированного доступа смогли бы получить к ним доступ, извлечение хеша, в свою очередь, им ничего не даст.<ref>{{Статья|ссылка=http://dx.doi.org/10.1016/s0167-4048(00)05032-x|автор=Mohammad Peyravian, Nevenko Zunic|заглавие=Methods for Protecting Password Transmission|год=2000-07|издание=Computers & Security|том=19|выпуск=5|страницы=466–469|issn=0167-4048|doi=10.1016/s0167-4048(00)05032-x}}</ref> |
||
=== Требования === |
=== Требования === |
||
Основные требования к хеш-функциям облегченной криптографии такие же, как и к обычным криптографическим хеш-функциям: |
Основные требования к хеш-функциям облегченной криптографии такие же, как и к обычным криптографическим хеш-функциям<ref>{{Статья|ссылка=http://dx.doi.org/10.6028/nist.ir.8114|автор=Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha|заглавие=Report on lightweight cryptography|год=2017-03|место=Gaithersburg, MD|издательство=National Institute of Standards and Technology}}</ref>: |
||
* '''Стойкость к восстановлению первого прообраза''' - при наличии хеш-суммы ''H(m)'' невозможность вычислить ''m'' |
* '''Стойкость к восстановлению первого прообраза''' - при наличии хеш-суммы ''H(m)'' невозможность вычислить ''m'' |
||
Строка 24: | Строка 24: | ||
=== Атаки на хеш-функции === |
=== Атаки на хеш-функции === |
||
Среди атак на хеш-функции наиболее распространены следующие: |
|||
# [[Атака «дней рождения»]] - используется для поиска [[Коллизия хеш-функции|коллизии второго рода]], эксплуатирует [[парадокс дней рождения]]. Для успешной атаки число обращений к хеш-функции должно составлять примерно 2<sup>n/2</sup>, а квантовым компьютерам 2<sup>n/3</sup><ref>{{Статья|ссылка=http://dx.doi.org/10.1007/bfb0054319|автор=Gilles Brassard, Peter HØyer, Alain Tapp|заглавие=Quantum cryptanalysis of hash and claw-free functions|год=1998|место=Berlin, Heidelberg|издание=LATIN'98: Theoretical Informatics|издательство=Springer Berlin Heidelberg|страницы=163–169|isbn=978-3-540-64275-6, 978-3-540-69715-2}}</ref> |
# [[Атака «дней рождения»]] - используется для поиска [[Коллизия хеш-функции|коллизии второго рода]], эксплуатирует [[парадокс дней рождения]]. Для успешной атаки число обращений к хеш-функции должно составлять примерно 2<sup>n/2</sup>, а квантовым компьютерам 2<sup>n/3</sup><ref>{{Статья|ссылка=http://dx.doi.org/10.1007/bfb0054319|автор=Gilles Brassard, Peter HØyer, Alain Tapp|заглавие=Quantum cryptanalysis of hash and claw-free functions|год=1998|место=Berlin, Heidelberg|издание=LATIN'98: Theoretical Informatics|издательство=Springer Berlin Heidelberg|страницы=163–169|isbn=978-3-540-64275-6, 978-3-540-69715-2}}</ref> |
||
# [[:en:Cube_attack|Кубическая атака]] - эффективна для атак на хеш-функций и шифров, которые используют [[Регистр сдвига с линейной обратной связью|LFSR]]<ref>{{Статья|ссылка=http://dx.doi.org/10.1080/01611190701743690|автор=Raphael C.-W. Phan, Adi Shamir|заглавие=Improved Related-key Attacks on DESX and DESX+|год=2008-01-10|издание=Cryptologia|том=32|выпуск=1|страницы=13–22|issn=0161-1194, 1558-1586|doi=10.1080/01611190701743690}}</ref> |
# [[:en:Cube_attack|Кубическая атака]] - эффективна для атак на хеш-функций и шифров, которые используют [[Регистр сдвига с линейной обратной связью|LFSR]]<ref>{{Статья|ссылка=http://dx.doi.org/10.1080/01611190701743690|автор=Raphael C.-W. Phan, Adi Shamir|заглавие=Improved Related-key Attacks on DESX and DESX+|год=2008-01-10|издание=Cryptologia|том=32|выпуск=1|страницы=13–22|issn=0161-1194, 1558-1586|doi=10.1080/01611190701743690}}</ref> |
||
# [[:en:Linear_cryptanalysis|Линейные атаки]] - разработана для хеш-функций, использующих блочные и потоковые шифры |
# [[:en:Linear_cryptanalysis|Линейные атаки]] - разработана для хеш-функций, использующих блочные и потоковые шифры<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-642-34117-5_11|автор=Lei Wang, Yu Sasaki, Kazuo Sakiyama, Kazuo Ohta|заглавие=Polynomial-Advantage Cryptanalysis of 3D Cipher and 3D-Based Hash Function|год=2012|место=Berlin, Heidelberg|издание=Advances in Information and Computer Security|издательство=Springer Berlin Heidelberg|страницы=170–181|isbn=978-3-642-34116-8, 978-3-642-34117-5}}</ref> |
||
# [[:en:Differential_cryptanalysis|Дифференциальные атаки]] - действенны для хеш-функций с блочными шифрами |
# [[:en:Differential_cryptanalysis|Дифференциальные атаки]] - действенны для хеш-функций с блочными шифрами<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/3-540-48329-2_31|автор=Bart Preneel, René Govaerts, Joos Vandewalle|заглавие=Hash functions based on block ciphers: a synthetic approach|место=Berlin, Heidelberg|издание=Advances in Cryptology — CRYPTO’ 93|издательство=Springer Berlin Heidelberg|страницы=368–378|isbn=978-3-540-57766-9}}</ref> |
||
# [[Атака методом бумеранга#Применение к хеш-функциям|Атака методом бумеранга]] - усовершенствованная дифференциальная атака, которая успешно применяется к хеш-функциям<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-540-74143-5_14|автор=Antoine Joux, Thomas Peyrin|заглавие=Hash Functions and the (Amplified) Boomerang Attack|место=Berlin, Heidelberg|издание=Advances in Cryptology - CRYPTO 2007|издательство=Springer Berlin Heidelberg|страницы=244–263|isbn=978-3-540-74142-8}}</ref>. Так, например, для нахождения коллизий [[SHA-1|SHA-0]] с помощью этой атаки потребовался всего лишь один час на обычном [[Персональный компьютер|ПК]]<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-540-71039-4_2|автор=Stéphane Manuel, Thomas Peyrin|заглавие=Collisions on SHA-0 in One Hour|место=Berlin, Heidelberg|издание=Fast Software Encryption|издательство=Springer Berlin Heidelberg|страницы=16–35|isbn=978-3-540-71038-7, 978-3-540-71039-4}}</ref> |
# [[Атака методом бумеранга#Применение к хеш-функциям|Атака методом бумеранга]] - усовершенствованная дифференциальная атака, которая успешно применяется к хеш-функциям<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-540-74143-5_14|автор=Antoine Joux, Thomas Peyrin|заглавие=Hash Functions and the (Amplified) Boomerang Attack|место=Berlin, Heidelberg|издание=Advances in Cryptology - CRYPTO 2007|издательство=Springer Berlin Heidelberg|страницы=244–263|isbn=978-3-540-74142-8}}</ref>. Так, например, для нахождения коллизий [[SHA-1|SHA-0]] с помощью этой атаки потребовался всего лишь один час на обычном [[Персональный компьютер|ПК]]<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-540-71039-4_2|автор=Stéphane Manuel, Thomas Peyrin|заглавие=Collisions on SHA-0 in One Hour|место=Berlin, Heidelberg|издание=Fast Software Encryption|издательство=Springer Berlin Heidelberg|страницы=16–35|isbn=978-3-540-71038-7, 978-3-540-71039-4}}</ref> |
||
# [[Атака удлинением сообщения]] - применяется для хеш-функций, основанных на Структура Меркла — Дамгора. Суть атаки заключается в добавлении новых битов в конец сообщения. Среди уязвимых функций: [[MD5]] и [[SHA-1]]<ref>{{Статья|ссылка=http://dx.doi.org/10.31979/etd.fm5j-tzcm|автор=Narayana D. Kashyap|заглавие=A Meaningful MD5 Hash Collision Attack|издательство=San Jose State University Library}}</ref><ref>{{Статья|ссылка=http://dx.doi.org/10.1007/springerreference_199|заглавие=Davies-Meyer Hash Function|место=Berlin/Heidelberg|издание=SpringerReference|издательство=Springer-Verlag}}</ref> |
# [[Атака удлинением сообщения]] - применяется для хеш-функций, основанных на Структура Меркла — Дамгора.<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/11535218_26|автор=Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya|заглавие=Merkle-Damgård Revisited: How to Construct a Hash Function|год=2005|место=Berlin, Heidelberg|издание=Advances in Cryptology – CRYPTO 2005|издательство=Springer Berlin Heidelberg|страницы=430–448|isbn=978-3-540-28114-6, 978-3-540-31870-5}}</ref> Суть атаки заключается в добавлении новых битов в конец сообщения. Среди уязвимых функций: [[MD5]] и [[SHA-1]]<ref>{{Статья|ссылка=http://dx.doi.org/10.31979/etd.fm5j-tzcm|автор=Narayana D. Kashyap|заглавие=A Meaningful MD5 Hash Collision Attack|издательство=San Jose State University Library}}</ref><ref>{{Статья|ссылка=http://dx.doi.org/10.1007/springerreference_199|заглавие=Davies-Meyer Hash Function|место=Berlin/Heidelberg|издание=SpringerReference|издательство=Springer-Verlag}}</ref> |
||
# Мультиколлизионная атака Жу<ref>{{Статья|ссылка=http://dx.doi.org/10.1145/2523514.2523551|автор=Mohammad A. AlAhmad, Imad Fakhri Alshaikhli, Mridul Nandi|заглавие=Joux multicollisions attack in sponge construction|год=2013|место=New York, New York, USA|издание=Proceedings of the 6th International Conference on Security of Information and Networks - SIN '13|издательство=ACM Press|isbn=978-1-4503-2498-4|doi=10.1145/2523514.2523551}}</ref> - направлена на хеш-функции, использующие в качестве своей основы функцию губки, которая распространена среди функций облегченной криптографии |
# Мультиколлизионная атака Жу<ref>{{Статья|ссылка=http://dx.doi.org/10.1145/2523514.2523551|автор=Mohammad A. AlAhmad, Imad Fakhri Alshaikhli, Mridul Nandi|заглавие=Joux multicollisions attack in sponge construction|год=2013|место=New York, New York, USA|издание=Proceedings of the 6th International Conference on Security of Information and Networks - SIN '13|издательство=ACM Press|isbn=978-1-4503-2498-4|doi=10.1145/2523514.2523551}}</ref> - направлена на хеш-функции, использующие в качестве своей основы функцию губки, которая распространена среди функций облегченной криптографии |
||
# [[Rebound attack|Rebound атака]] - предназначена для AES-подобных алгоритмов<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-642-10366-7_7|автор=Krystian Matusiewicz, María Naya-Plasencia, Ivica Nikolić, Yu Sasaki, Martin Schläffer|заглавие=Rebound Attack on the Full Lane Compression Function|год=2009|место=Berlin, Heidelberg|издание=Advances in Cryptology – ASIACRYPT 2009|издательство=Springer Berlin Heidelberg|страницы=106–125|isbn=978-3-642-10365-0, 978-3-642-10366-7}}</ref> |
|||
# [[Rebound attack|Rebound атака]] - предназначена для AES-подобных алгоритмов (Например: [[Хеш-функции облегченной криптографии#PHOTON|PHOTON]]) |
|||
# [[:en:Rotational_cryptanalysis|Ротационная атака]] - создана для взлома хеш-функций, основанных на ARX ([[сравнение по модулю]] |
# [[:en:Rotational_cryptanalysis|Ротационная атака]] - создана для взлома хеш-функций, основанных на ARX ([[сравнение по модулю]]-[[битовый сдвиг]]-[[Сложение по модулю 2|XOR]])<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-642-13858-4_19|автор=Dmitry Khovratovich, Ivica Nikolić|заглавие=Rotational Cryptanalysis of ARX|год=2010|место=Berlin, Heidelberg|издание=Fast Software Encryption|издательство=Springer Berlin Heidelberg|страницы=333–346|isbn=978-3-642-13857-7, 978-3-642-13858-4}}</ref> |
||
== Виды хеширований == |
== Виды хеширований == |
||
Все применяемые на данный момент алгоритмы хеширования в облегченной криптографии можно разделить на 2 класса: |
|||
=== [[Структура Меркла — Дамгора|Меркл — Дамгор]] === |
=== [[Структура Меркла — Дамгора|Меркл — Дамгор]] === |
||
Строка 56: | Строка 53: | ||
* H(m) = d = c<sub>L</sub> |
* H(m) = d = c<sub>L</sub> |
||
==== Усовершенствованный алгоритм<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/11535218_26|автор=Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya|заглавие=Merkle-Damgård Revisited: How to Construct a Hash Function|год=2005|место=Berlin, Heidelberg|издание=Advances in Cryptology – CRYPTO 2005|издательство=Springer Berlin Heidelberg|страницы=430–448|isbn=978-3-540-28114-6, 978-3-540-31870-5}}</ref>==== |
|||
==== Усовершенствованный алгоритм ==== |
|||
Для усиления защиты от атак, основанных на расширении входного сообщения, можно добавить новый блок, в котором будет записана длина сообщения. В нашем случае это будет: |
Для усиления защиты от атак, основанных на расширении входного сообщения, можно добавить новый блок, в котором будет записана длина сообщения. В нашем случае это будет: |
||
Строка 66: | Строка 63: | ||
=== [[Функция губки]] === |
=== [[Функция губки]] === |
||
Функция губки<ref>{{Статья|автор=Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche|год=2010|isbn=9783642150302, 9783642150319|страницы=33–47|заглавие=Sponge-Based Pseudo-Random Number Generators|ссылка=http://dx.doi.org/10.1007/978-3-642-15031-9_3|место=Berlin, Heidelberg|издательство=Springer Berlin Heidelberg|издание=Cryptographic Hardware and Embedded Systems, CHES 2010}}</ref> широко используется в криптографии, с помощью неё создаются алгоритмы [[Генератор псевдослучайных чисел|ГПСЧ]], [[Потоковый шифр|потоковых]] и [[Блочный шифр|блочных]] шифров, а также хеш-функций. |
Функция губки<ref>{{Статья|автор=Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche|год=2010|isbn=9783642150302, 9783642150319|страницы=33–47|заглавие=Sponge-Based Pseudo-Random Number Generators|ссылка=http://dx.doi.org/10.1007/978-3-642-15031-9_3|место=Berlin, Heidelberg|издательство=Springer Berlin Heidelberg|издание=Cryptographic Hardware and Embedded Systems, CHES 2010}}</ref> широко используется в криптографии, с помощью неё создаются алгоритмы [[Генератор псевдослучайных чисел|ГПСЧ]]<ref>{{Статья|ссылка=http://dx.doi.org/10.2172/4486759|автор=R.O. Gilbert|заглавие=Evaluation of four pseudo-random number generators|год=1973-05-01|издательство=Office of Scientific and Technical Information (OSTI)}}</ref>, [[Потоковый шифр|потоковых]]<ref>{{Статья|ссылка=http://dx.doi.org/10.24114/cess.v2i1.4966|автор=Aidil Halim Lubis|заглавие=DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM|год=2017-01-31|издание=Computer Engineering, Science and System Journal|том=2|выпуск=1|страницы=97–101|issn=2502-7131, 2502-714X|doi=10.24114/cess.v2i1.4966}}</ref> и [[Блочный шифр|блочных]]<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-642-28496-0_19|автор=Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche|заглавие=Duplexing the Sponge: Single-Pass Authenticated Encryption and Other Applications|год=2012|место=Berlin, Heidelberg|издание=Selected Areas in Cryptography|издательство=Springer Berlin Heidelberg|страницы=320–337|isbn=978-3-642-28495-3, 978-3-642-28496-0}}</ref> шифров, а также хеш-функций<ref>{{Статья|ссылка=http://dx.doi.org/10.24114/cess.v2i1.4966|автор=Aidil Halim Lubis|заглавие=DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM|год=2017-01-31|издание=Computer Engineering, Science and System Journal|том=2|выпуск=1|страницы=97–101|issn=2502-7131, 2502-714X|doi=10.24114/cess.v2i1.4966}}</ref>. |
||
==== Основная идея ==== |
==== Основная идея ==== |
||
Строка 79: | Строка 76: | ||
# Выжимание |
# Выжимание |
||
#* Считываются первые ''r'' бит внутреннего состояния губки |
#* Считываются первые ''r'' бит внутреннего состояния губки |
||
#* Внутреннее состояние обрабатывается функцией перестановки<ref>{{Статья|ссылка=http://dx.doi.org/10.2172/4486759|автор=R.O. Gilbert|заглавие=Evaluation of four pseudo-random number generators|год=1973-05-01|издательство=Office of Scientific and Technical Information (OSTI)}}</ref><ref>{{Статья|ссылка=http://dx.doi.org/10.24114/cess.v2i1.4966|автор=Aidil Halim Lubis|заглавие=DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM|год=2017-01-31|издание=Computer Engineering, Science and System Journal|том=2|выпуск=1|страницы=97–101|issn=2502-7131, 2502-714X|doi=10.24114/cess.v2i1.4966}}</ref> |
|||
#* Внутреннее состояние обрабатывается функцией перестановки |
|||
==== П-губка и Т-губка ==== |
==== П-губка и Т-губка ==== |
Версия от 14:21, 30 ноября 2019
Хеш-функция облегченной криптографии - криптостойкая хеш-функция, используемая в «легковесной» криптографии.[1]
Концепция облегченной криптографии
Облегчённая криптография – раздел криптографии, в котором рассматриваются алгоритмы для устройств не обладающих достаточными ресурсами для реализации существующих шифров, хеш-функций, электронных подписей и т.д.[2] «Легковесная» криптография приобрела исключительную актуальность в настоящее время в связи распространением парадигмы умного дома, где множество приборов небольшого размера, с ограниченной вычислительной мощностью, лимитированным объемом памяти и малым энергопотреблением коммуницируют между собой, обмениваясь конфедициальной информацией жильца, для выполнения своих задач.[3][4] Также особый интерес представляют алгоритмы для RFID меток.[5] Для того, чтобы злоумышленики не воспользовались приватной информацией пользователя, требуется специальная разработка и оптимизация алгоритмов способных работать при ограниченных ресурсах и обеспечивать должный уровень безопасности.[6]
Хеш-функции
Применение
Для того, чтобы адресату убедиться в том, что ему было прислано сообщение от настоящего адресанта, оно отправляется вместе с электронной подписью. На практике подписывают не сообщение, а его хеш-сумму, это позволяет значительно уменьшить вычислительные ресурсы на создание подписи (т.к. обычно хеш-сумма на порядки меньше ключа) и повысить криптостойкость (злоумышленник не сможет узнать исходные данные только из хеша).[7] Хеш-функции используются в технологии блокчейн для того, чтобы определить блок, который добавится в общую цепь. Например: для добавления нового блока в платформу Bitcoin требуется найти хеш-сумму SHA-256 меньше, чем определенное целевое число. В следующий созданный блок будет записан хеш предыдущего.[8] Более того, хеш-функции, в частности хеш-функции облегченной криптографии могут применяться на стыке дисциплин. Например: они применяются в блокчейне LSB, который предназначен для использования в интернете вещей.[9]
Также хеш-суммы используются при проверке паролей. Если бы операционные системы хранили пароли в файлах, то взломщики с помощью несанкционированного доступа смогли бы получить к ним доступ, извлечение хеша, в свою очередь, им ничего не даст.[10]
Требования
Основные требования к хеш-функциям облегченной криптографии такие же, как и к обычным криптографическим хеш-функциям[11]:
- Стойкость к восстановлению первого прообраза - при наличии хеш-суммы H(m) невозможность вычислить m
- Стойкость к восстановлению вторых прообразов - при наличии m невозможность найти n, такое что H(n) = H(m)
- Стойкость к коллизиям - невозможность найти m и n, такие что H(n) = H(m)[12]
Принимая в расчет возможности вычислительных устройств, на которых будут производиться алгоритмы, а также задачи, которые требуется выполнить, к основным требованиям добавляются специальные:
- Малое потребление энергии
- Небольшой размер внутреннего состояния[13]
Атаки на хеш-функции
- Атака «дней рождения» - используется для поиска коллизии второго рода, эксплуатирует парадокс дней рождения. Для успешной атаки число обращений к хеш-функции должно составлять примерно 2n/2, а квантовым компьютерам 2n/3[14]
- Кубическая атака - эффективна для атак на хеш-функций и шифров, которые используют LFSR[15]
- Линейные атаки - разработана для хеш-функций, использующих блочные и потоковые шифры[16]
- Дифференциальные атаки - действенны для хеш-функций с блочными шифрами[17]
- Атака методом бумеранга - усовершенствованная дифференциальная атака, которая успешно применяется к хеш-функциям[18]. Так, например, для нахождения коллизий SHA-0 с помощью этой атаки потребовался всего лишь один час на обычном ПК[19]
- Атака удлинением сообщения - применяется для хеш-функций, основанных на Структура Меркла — Дамгора.[20] Суть атаки заключается в добавлении новых битов в конец сообщения. Среди уязвимых функций: MD5 и SHA-1[21][22]
- Мультиколлизионная атака Жу[23] - направлена на хеш-функции, использующие в качестве своей основы функцию губки, которая распространена среди функций облегченной криптографии
- Rebound атака - предназначена для AES-подобных алгоритмов[24]
- Ротационная атака - создана для взлома хеш-функций, основанных на ARX (сравнение по модулю-битовый сдвиг-XOR)[25]
Виды хеширований
Меркл — Дамгор
Основная идея
Допустим, нам дан вектор инициализации IV {0, 1}n (фиксированный и открытый), функция сжатия h отображающая {0,1}n×{0,1}k в {0,1}n и сообщение m = (m0, m1, ..., mL-1), где mi блок из k битов, если m не кратно k, то последний блок мы дополняем 1 и нулями. Например: если
m = 123456789,
то на вход мы подаем 2 блока:
12345678 91000000,
где единица добавляется для избежания коллизий. Теперь можно определить хеш-функцию H[26]:
- c0 = IV
- ci+1 = h(ci, mi)
- H(m) = d = cL
Усовершенствованный алгоритм[27]
Для усиления защиты от атак, основанных на расширении входного сообщения, можно добавить новый блок, в котором будет записана длина сообщения. В нашем случае это будет:
12345678 91000000 00000009
Также есть оптимизация, которая позволяет экономить ресурсы памяти (что важно для задач облегченной криптографии): если в последнем блоке достаточно места для записи длины сообщения, то она будет там и записана:
12345678 91000009
Функция губки
Функция губки[28] широко используется в криптографии, с помощью неё создаются алгоритмы ГПСЧ[29], потоковых[30] и блочных[31] шифров, а также хеш-функций[32].
Основная идея
Губку размера b можно разделить на 2 части: битовую скорость r и мощность c. При инициализации внутреннее состояние губки обнуляется; сообщение m дополняется нулями, чтобы его размер был кратен r.
Далее следуют 2 стадии:
- Абсорбция
- Первые r бит внутреннего состояния заменяются результатом операции XOR этих бит и очередного блока исходного сообщения
- Внутреннее состояние обрабатывается функцией перестановки
- Выжимание
П-губка и Т-губка
П(ерестановочная)-губка и Т(рансформационная)-губка[35] - губки, использующие соответственно случайную перестановку и ГПСЧ для обновления своего внутреннего состояния. В статье, в которой были введены функции губки, было показано, что губки с мощностью c, битовой скоростью r и вектором размера n, принимающие на вход сообщения длиной m < 2c/2, таковы, что для различных атак в среднем требуется следующее количество обращений к функциям обновлении(приведены степени двойки):
Губка | Первый прообраз | Второй прообраз | Коллизия | Нахождение цикла |
---|---|---|---|---|
T-губка | min(n, c+r) | min(n, c-log2(m)) | min(n, c)/2 | (c+r)/2 |
П-губка | c-1 | min(n, c/2) | min(n, c)/2 | c+r |
JH-губка
JH-губку[36] называют так, потому что она похожа на структуру хеш-функции JH.
У неё стадия абсорбции состоит из трех частей:
- Первые r бит внутреннего состояния заменяются результатом операции XOR этих бит и очередного блока исходного сообщения
- Внутреннее состояние обрабатывается функцией перестановки
- Последние r бит внутреннего состояния заменяются результатом операции XOR этих бит и очередного блока исходного сообщения
Примеры хеш-функций в облегченной криптографии
GLUON
GLUON[37]- это хеш-функция, использующая T-губку, основанную на программно-ориентированных потоковых шифрах X-FCSR-v2 и F-FCSR-H-v3[38]: внутреннее состояние губки дополняется и загружается в FCSR, который синхронизируется за фиксированное количество времени. Затем некоторые ячейки FCSR складываются по модулю 2 для формирования первого слова следующего внутреннего состояния, FCSR синхронизируется, эти же слова складываются по модулю 2 для формирования второго слова следующего внутреннего состояния и т.д.
Функция обладает высокой криптографической стойкостью. Например: атака нахождения прообраза в общем случае имеет сложность 23ωr/2 , где ω×ω - размер матрицы T (которая определяет FCSR), а r - размер слова, подаваемого на FCSR.
Особенность реализации GLUON состоит в том, что данные в FCSR записываются не последовательно, а параллельно, что значительно повышает скорость исполнения. Также был оптимизирован adder (элемент, осуществляющий сложение), который используется в FCSR, следующим образом: s = (a ⊕ b) ⊕ c, где c = (a.b) ⊕ (a ⊕ b).c (здесь . используется в качестве обозначения логического И).
Функция обновления GLUON-64 является многозначной, и ее поведение сильно отличается от поведения ГПСЧ.
QUARK
QUARK[39] - это хеш-функция, использующая П-губку с аппаратно-ориентированной перестановкой. Была реализована под влиянием облегченных блочных шифров KTANTAN[40] и KATAN[41] и аппаратно-ориентированного потокового шифра Grain[42]. Наименьшая версия (хеш-сумма длиной 136 бит) называется U-QUARK, средняя (176 бит) D-QUARK и самая длинная (256 бит) S-QUARK.
Функция обновления отображает вектор {0,1}b в {0,1}b, загружая каждую половину в отдельный NSFR длины b/2, а затем повторяет это 4*b раза. NSFR связаны друг с другом и с небольшим LFSR длины log(4b), см. Рисунок сбоку. Функции f, g и h являются булевыми функциями, выбранными из-за их нелинейности и алгебраической сложности. f и g одинаковы для всех версий и заимствованы из Grain-v1, а h определяется отдельным случаем.
Специфика реализации QUARK состоит в том, что в ней отсутствуют промежуточные значения функции губки, которые требуют дополнительных элементов для их запоминания. Другими словами, после перестановки значений состояния значения не записываются в следующее состояние, а сразу подаются на функцию перестановки, причем первые r бит делают XOR с сообщением.
Обладает высокой криптостойкостью. Данные по резистентности к различным атакам приведены ниже:
Коллизии | Первого прообраза | Второго прообраза |
---|---|---|
2c/2 | 2c | 22/2 |
У данной хеш-функции есть реализация в открытом доступе, написанная на языке C.
SipHash-2-4
SipHash[43] имеет структуру ARX, которая была создана под влиянием BLAKE и Skein. Он собой предоставляет семейство отображений {0,1}*→{0,1}64, и предназначено для использования в качестве MAC или в хеш-таблицах. Он имеет структуру, аналогичную JH, как SPN-Hash, и использует заполнение, учитывающее также длину сообщения. Однако, оно заключается просто в добавлении байта с длиной сообщения по модулю 256. SipHash не претендует на устойчивость к коллизиям и, очевидно, не из-за небольшого размера хеш-суммы.
Отличительная черта SipHash состоит в том, что сообщения "ксорятся", не как в обычной функции губки, а по особому алгоритму:
- Первое сообщение ксорится с последней четвертью губки
- Губка обрабатывается двумя функциями перестановки
- Первое сообщение снова ксорится, но уже с первой четвертью губки, в то время, как второе сообщение с последней
- Губка обрабатывается двумя функциями перестановки
- Второе сообщение ксорится с первой четвертью губки, а третья четверть ксорится с 0xFF
Несмотря на то, что в основе SipHash лежит ARX, не является уязвимой к ротационной атаке.[44]
Существуют материалы по применению SipHash на github в открытом доступе.
PHOTON
PHOTON[45] представляет собой P-губку, основанную на AES-подобной[46] перестановке. Для наименьшего параметра безопасности (PHOTON-80/20/16) битовая скорость во время абсорбции равна 20 и равна 16 во время выжимания. Перестановка состоит из 12 итераций (для каждого параметра безопасности) ниже описанной последовательности преобразований, выполненных на квадрате d×d ячеек из 4 бит (8 бит для самой большой версии). Конвейер PHOTON состоит из 4 этапов:
- Дополнительные константы (AddConstants) - дополнительные константы выбираются так, чтобы быть разными на каждой итерации, и чтобы отсутствовала симметрия между столбцами, как в AES подобных архитектурах (без этого слоя входное сообщение с равными столбцами будет сохранять это качество спустя любое количество итераций). Дополнительные константы могут быть сгенерированы регистром сдвига с линейной обратной связью. Для высокой производительности задействован только первый столбец внутреннего состояния. После того, как константы были сгенерированы, они складываются по модулю 2 с каждой ячейкой.
- Замена ячеек (SubCells) - S-блок применяется на каждой ячейке. Если ячейка имеет длину 4 бита, то используется PRESENT Sbox SBOXPRE, если 8 бит - AES Sbox SBOXAES.
- Сдвиг строк (ShiftRows) - идентичен AES.
- MixColumnsSerial - ячейки рассматриваются как элементы поля GF(24) (или GF(28) для наибольшего параметра безопасности), и каждый столбец умножается на матрицу MDS, специально созданной для эффективной реализации в аппаратном обеспечении.
Данные по криптостойкости:
Коллизии | Первого прообраза | Второго прообраза |
---|---|---|
2n/2 | 2n-r | 2n/2 |
Способ перестановки, используемый для обновления губки, близок к LED[47] шифру, который был разработан позже создателями PHOTON.
SPONGENT
SPONGENT[48] можно рассматривать как П-губку, где перестановка является модифицированной версией блочного шифра PRESENT.
Число итераций PRESENT-подобной перестановки варьируется от 45 для SPONGENT-88 до 140 для SPONGENT-256. Каждая итерация состоит из:
- Складывания по модулю 2 содержимого LFSR, синхронизированного на каждой итерации (может рассматриваться, как константа на итерации)
- Применение к слою S-блока S-блок 4×4, удовлетворяющий тем же критериям, что и PRESENT S-блок
- Переставляя биты способом, подобным в PRESENT
Насколько известно, нет никакой атаки на SPONGENT, за исключением линейных распознавателей для версий с уменьшенным количеством итераций.[49]
Код SPONGENT на ассемблере и Си есть в открытом доступе.
SPN-Hash
Основной интерес SPN-Hash[50] заключается в ее доказуемой защите от дифференциальных коллизионных атак. Это JH-губка, использующая, как следует из ее названия, перестановку, основанную на SPN. Структура SPN основана на структуре AES[51]: сначала S-блоки 8×8 применяются к каждому байту внутреннего состояния. Используемый S-блок в точности совпадает с использующимся в AES. Затем применяется более сложный перемешивающий слой; Сильной стороной этого хеширования являются хорошая диффузия и легковесность. Наконец, константы на каждой итерации записываются во внутренне состояние (строгой дизъюнкцией), аналогичной LED и PHOTON. Эти операции повторяются 10 раз для всех параметров безопасности.
Используемый отступ такой же, как в усиленном Меркле-Дамгоре: длина сообщения добавляется к последнему блоку.
DM-PRESENT
DM-PRESENT[52] - это просто схема Меркла-Дамгора, где функцией сжатия является блочный шифр PRESENT в режиме Дэвиса-Мейера. DM-PRESENT-80 основан на PRESENT-80, а DM-PRESENT-128 - на PRESENT-128. Данная хеш-функция уязвима к коллизиям и не является стойкой к восстановлению вторых прообразов, такие хеш-функции будут полезны только в приложениях, которым требуется стойкость к восстановлению первого прообраза и 64-битная защита.
ARMADILLO
ARMADILLO[53] - это многоцелевой примитив, предназначенный для использования в качестве FIL-MAC (приложение I), для хеширования и цифровых подписей (приложение II), а также для PRNG и PRF (приложение III). Он был взломан Найей-Пласенсией и Пейрином[54]. Они нашли способ быстро обнаруживать коллизии, когда он используется в качестве хеш-функции (несколько секунд на обычном ПК).
См. также
Литература
- ↑ Towards Pervasive Cryptographic Access Control Models // Proceedings of the International Conference on Security and Cryptography. — SciTePress - Science and and Technology Publications, 2012. — ISBN 978-989-8565-24-2. — doi:10.5220/0004042502390244.
- ↑ Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Report on lightweight cryptography. — Gaithersburg, MD: National Institute of Standards and Technology, 2017-03.
- ↑ Megha Agrawal, Jianying Zhou, Donghoon Chang. A Survey on Lightweight Authenticated Encryption and Challenges for Securing Industrial IoT // Security and Privacy Trends in the Industrial Internet of Things. — Cham: Springer International Publishing, 2019. — С. 71–94. — ISBN 978-3-030-12329-1, 978-3-030-12330-7.
- ↑ Susha Surendran, Amira Nassef, Babak D. Beheshti. A survey of cryptographic algorithms for IoT devices // 2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT). — IEEE, 2018-05. — ISBN 978-1-5386-5029-5. — doi:10.1109/lisat.2018.8378034.
- ↑ Damith C. Ranasinghe. Lightweight Cryptography for Low Cost RFID // Networked RFID Systems and Lightweight Cryptography. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2008. — С. 311–346. — ISBN 978-3-540-71640-2, 978-3-540-71641-9.
- ↑ Susha Surendran, Amira Nassef, Babak D. Beheshti. A survey of cryptographic algorithms for IoT devices // 2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT). — IEEE, 2018-05. — ISBN 978-1-5386-5029-5. — doi:10.1109/lisat.2018.8378034.
- ↑ F. Lefebvre, J. Czyz, B. Macq. A robust soft hash algorithm for digital image signature // Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429). — IEEE. — ISBN 0-7803-7750-8. — doi:10.1109/icip.2003.1246725.
- ↑ Guy Zyskind, Oz Nathan, Alex 'Sandy' Pentland. Decentralizing Privacy: Using Blockchain to Protect Personal Data // 2015 IEEE Security and Privacy Workshops. — IEEE, 2015-05. — ISBN 978-1-4799-9933-0. — doi:10.1109/spw.2015.27.
- ↑ Ali Dorri, Salil S. Kanhere, Raja Jurdak, Praveen Gauravaram. LSB: A Lightweight Scalable Blockchain for IoT security and anonymity // Journal of Parallel and Distributed Computing. — 2019-12. — Т. 134. — С. 180–197. — ISSN 0743-7315. — doi:10.1016/j.jpdc.2019.08.005.
- ↑ Mohammad Peyravian, Nevenko Zunic. Methods for Protecting Password Transmission // Computers & Security. — 2000-07. — Т. 19, вып. 5. — С. 466–469. — ISSN 0167-4048. — doi:10.1016/s0167-4048(00)05032-x.
- ↑ Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Report on lightweight cryptography. — Gaithersburg, MD: National Institute of Standards and Technology, 2017-03.
- ↑ Глава 10. Тексты на русском языке/ Kapitel 10. Beispieltexte in russischer Sprache // Texte schreiben und präsentieren auf Russisch. — Berlin, Boston: De Gruyter, 1997-12-31. — С. 78–93. — ISBN 978-3-486-79358-1.
- ↑ Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Report on lightweight cryptography. — Gaithersburg, MD: National Institute of Standards and Technology, 2017-03.
- ↑ Gilles Brassard, Peter HØyer, Alain Tapp. Quantum cryptanalysis of hash and claw-free functions // LATIN'98: Theoretical Informatics. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1998. — С. 163–169. — ISBN 978-3-540-64275-6, 978-3-540-69715-2.
- ↑ Raphael C.-W. Phan, Adi Shamir. Improved Related-key Attacks on DESX and DESX+ // Cryptologia. — 2008-01-10. — Т. 32, вып. 1. — С. 13–22. — ISSN 1558-1586 0161-1194, 1558-1586. — doi:10.1080/01611190701743690.
- ↑ Lei Wang, Yu Sasaki, Kazuo Sakiyama, Kazuo Ohta. Polynomial-Advantage Cryptanalysis of 3D Cipher and 3D-Based Hash Function // Advances in Information and Computer Security. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 170–181. — ISBN 978-3-642-34116-8, 978-3-642-34117-5.
- ↑ Bart Preneel, René Govaerts, Joos Vandewalle. Hash functions based on block ciphers: a synthetic approach // Advances in Cryptology — CRYPTO’ 93. — Berlin, Heidelberg: Springer Berlin Heidelberg. — С. 368–378. — ISBN 978-3-540-57766-9.
- ↑ Antoine Joux, Thomas Peyrin. Hash Functions and the (Amplified) Boomerang Attack // Advances in Cryptology - CRYPTO 2007. — Berlin, Heidelberg: Springer Berlin Heidelberg. — С. 244–263. — ISBN 978-3-540-74142-8.
- ↑ Stéphane Manuel, Thomas Peyrin. Collisions on SHA-0 in One Hour // Fast Software Encryption. — Berlin, Heidelberg: Springer Berlin Heidelberg. — С. 16–35. — ISBN 978-3-540-71038-7, 978-3-540-71039-4.
- ↑ Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya. Merkle-Damgård Revisited: How to Construct a Hash Function // Advances in Cryptology – CRYPTO 2005. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2005. — С. 430–448. — ISBN 978-3-540-28114-6, 978-3-540-31870-5.
- ↑ Narayana D. Kashyap. A Meaningful MD5 Hash Collision Attack. — San Jose State University Library.
- ↑ Davies-Meyer Hash Function // SpringerReference. — Berlin/Heidelberg: Springer-Verlag.
- ↑ Mohammad A. AlAhmad, Imad Fakhri Alshaikhli, Mridul Nandi. Joux multicollisions attack in sponge construction // Proceedings of the 6th International Conference on Security of Information and Networks - SIN '13. — New York, New York, USA: ACM Press, 2013. — ISBN 978-1-4503-2498-4. — doi:10.1145/2523514.2523551.
- ↑ Krystian Matusiewicz, María Naya-Plasencia, Ivica Nikolić, Yu Sasaki, Martin Schläffer. Rebound Attack on the Full Lane Compression Function // Advances in Cryptology – ASIACRYPT 2009. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — С. 106–125. — ISBN 978-3-642-10365-0, 978-3-642-10366-7.
- ↑ Dmitry Khovratovich, Ivica Nikolić. Rotational Cryptanalysis of ARX // Fast Software Encryption. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. — С. 333–346. — ISBN 978-3-642-13857-7, 978-3-642-13858-4.
- ↑ Philippe Godlewski, Chris Mitchell. Key Minimal Authentication Systems for Unconditional Secrecy // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg. — С. 497–501. — ISBN 978-3-540-53433-4.
- ↑ Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya. Merkle-Damgård Revisited: How to Construct a Hash Function // Advances in Cryptology – CRYPTO 2005. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2005. — С. 430–448. — ISBN 978-3-540-28114-6, 978-3-540-31870-5.
- ↑ Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche. Sponge-Based Pseudo-Random Number Generators // Cryptographic Hardware and Embedded Systems, CHES 2010. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. — С. 33–47. — ISBN 9783642150302, 9783642150319.
- ↑ R.O. Gilbert. Evaluation of four pseudo-random number generators. — Office of Scientific and Technical Information (OSTI), 1973-05-01.
- ↑ Aidil Halim Lubis. DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM // Computer Engineering, Science and System Journal. — 2017-01-31. — Т. 2, вып. 1. — С. 97–101. — ISSN 2502-714X 2502-7131, 2502-714X. — doi:10.24114/cess.v2i1.4966.
- ↑ Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche. Duplexing the Sponge: Single-Pass Authenticated Encryption and Other Applications // Selected Areas in Cryptography. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 320–337. — ISBN 978-3-642-28495-3, 978-3-642-28496-0.
- ↑ Aidil Halim Lubis. DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM // Computer Engineering, Science and System Journal. — 2017-01-31. — Т. 2, вып. 1. — С. 97–101. — ISSN 2502-714X 2502-7131, 2502-714X. — doi:10.24114/cess.v2i1.4966.
- ↑ R.O. Gilbert. Evaluation of four pseudo-random number generators. — Office of Scientific and Technical Information (OSTI), 1973-05-01.
- ↑ Aidil Halim Lubis. DATA ENCRYPTION WITH CRYPTOGRAPHY NOEKEON ALGORITHM // Computer Engineering, Science and System Journal. — 2017-01-31. — Т. 2, вып. 1. — С. 97–101. — ISSN 2502-714X 2502-7131, 2502-714X. — doi:10.24114/cess.v2i1.4966.
- ↑ Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche. Sponge-Based Pseudo-Random Number Generators // Cryptographic Hardware and Embedded Systems, CHES 2010. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. — С. 33–47. — ISBN 978-3-642-15030-2, 978-3-642-15031-9.
- ↑ EM submission PDF . dx.doi.org. Дата обращения: 15 ноября 2019.
- ↑ Thierry P. Berger, Joffrey D’Hayer, Kevin Marquet, Marine Minier, Gaël Thomas. The GLUON Family: A Lightweight Hash Function Family Based on FCSRs // Progress in Cryptology - AFRICACRYPT 2012. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 306–323. — ISBN 9783642314094, 9783642314100.
- ↑ Franc̨ois Arnault, Thierry Berger, Cédric Lauradoux, Marine Minier, Benjamin Pousse. A New Approach for FCSRs // Selected Areas in Cryptography. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — С. 433–448. — ISBN 9783642054433, 9783642054457.
- ↑ Jean-Philippe Aumasson, Luca Henzen, Willi Meier, María Naya-Plasencia. Quark: A Lightweight Hash // Journal of Cryptology. — 2012-05-10. — Т. 26, вып. 2. — С. 313–339. — ISSN 1432-1378 0933-2790, 1432-1378. — doi:10.1007/s00145-012-9125-6.
- ↑ Christophe De Cannière, Orr Dunkelman, Miroslav Knežević. KATAN and KTANTAN — A Family of Small and Efficient Hardware-Oriented Block Ciphers // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — С. 272–288. — ISBN 9783642041372, 9783642041389.
- ↑ Christophe De Cannière, Orr Dunkelman, Miroslav Knežević. KATAN and KTANTAN — A Family of Small and Efficient Hardware-Oriented Block Ciphers // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — С. 272–288. — ISBN 9783642041372, 9783642041389.
- ↑ Martin Hell, Thomas Johansson, Alexander Maximov, Willi Meier. A Stream Cipher Proposal: Grain-128 // 2006 IEEE International Symposium on Information Theory. — IEEE, 2006-07. — ISBN 142440505X, 1424405041. — doi:10.1109/isit.2006.261549.
- ↑ Jean-Philippe Aumasson, Daniel J. Bernstein. SipHash: A Fast Short-Input PRF // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 489–508. — ISBN 9783642349300, 9783642349317.
- ↑ Jean-Philippe Aumasson, Daniel J. Bernstein. SipHash: A Fast Short-Input PRF // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 489–508. — ISBN 978-3-642-34930-0, 978-3-642-34931-7.
- ↑ Jian Guo, Thomas Peyrin, Axel Poschmann. The PHOTON Family of Lightweight Hash Functions // Advances in Cryptology – CRYPTO 2011. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. — С. 222–239. — ISBN 9783642227912, 9783642227929.
- ↑ Joan Daemen, Vincent Rijmen. Rijndael/AES // Encyclopedia of Cryptography and Security. — Springer US. — С. 520–524. — ISBN 9780387234731.
- ↑ Jian Guo, Thomas Peyrin, Axel Poschmann, Matt Robshaw. The LED Block Cipher // Cryptographic Hardware and Embedded Systems – CHES 2011. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. — С. 326–341. — ISBN 9783642239502, 9783642239519.
- ↑ Andrey Bogdanov, Miroslav Knežević, Gregor Leander, Deniz Toz, Kerem Varıcı. spongent: A Lightweight Hash Function // Cryptographic Hardware and Embedded Systems – CHES 2011. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. — С. 312–325. — ISBN 9783642239502, 9783642239519.
- ↑ Mohamed Ahmed Abdelraheem. Estimating the Probabilities of Low-Weight Differential and Linear Approximations on PRESENT-Like Ciphers // Lecture Notes in Computer Science. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2013. — С. 368–382. — ISBN 9783642376818, 9783642376825.
- ↑ Jiali Choy, Huihui Yap, Khoongming Khoo, Jian Guo, Thomas Peyrin. SPN-Hash: Improving the Provable Resistance against Differential Collision Attacks // Progress in Cryptology - AFRICACRYPT 2012. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 270–286. — ISBN 978-3-642-31409-4, 978-3-642-31410-0.
- ↑ Joan Daemen, Vincent Rijmen. Rijndael/AES // Encyclopedia of Cryptography and Security. — Springer US. — С. 520–524. — ISBN 9780387234731.
- ↑ Information about PhD thesis at the Civil Engineering Faculty and the Mechanical Engineering Faculty of Wroclaw University of Technology // Archives of Civil and Mechanical Engineering. — 2008-01. — Т. 8, вып. 2. — С. 181–183. — ISSN 1644-9665. — doi:10.1016/s1644-9665(12)60205-2.
- ↑ Stéphane Badel, Nilay Dağtekin, Jorge Nakahara, Khaled Ouafi, Nicolas Reffé. ARMADILLO: A Multi-purpose Cryptographic Primitive Dedicated to Hardware // Cryptographic Hardware and Embedded Systems, CHES 2010. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. — С. 398–412. — ISBN 9783642150302, 9783642150319.
- ↑ María Naya-Plasencia, Thomas Peyrin. Practical Cryptanalysis of ARMADILLO2 // Fast Software Encryption. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — С. 146–162. — ISBN 9783642340468, 9783642340475.