Статья опубликована в рамках: CLXXII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 07 сентября 2023 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ХЕШ-ФУНКЦИЯ СВОЙСТВА И ПРИМЕНЕНИЕ
HASH FUNCTION: PROPERTIES AND APPLICATION
Olesya Mikhailova
student, Department of Information Security, Southwestern State University,
Russia, Kursk
АННОТАЦИЯ
В данной статье описывается хеш-функция, её свойства, применение и требования к её применению.
ABSTRACT
This article describes the hash function, its properties, application and requirements for its use.
Ключевые слова: хеширование, хеш-функция, ключевые хеш-функции, бесключевые хеш-функции, свойства, требования, информационная безопасность.
Keywords: hashing, hash function, key hash functions, keyless hash functions, properties, requirements, information security.
Хеширование – преобразование исходной информации с помощью математических формул.
В результате возникает отображение данных в виде строки (хеш). В идеале входные данные должны иметь уникальный хеш, например, если изменить в слове одну букву и снова захешировать полученную строку, новый хеш будет совершенно другим, там не окажется участков, которые повторяли бы предыдущий. Однако возникают коллизии – совпадение выходных строк при различных входных элементах.
Информация кодируется математическим алгоритмом – хеш-функцией. Различают ключевые и бесключевые хеш-функции.
Ключевые хеш-функции – коды аутентификации сообщений. Они позволяют гарантировать без дополнительных средств правильность источника и целостность данных в системах с доверяющими друг другу пользователями.
Бесключевые хеш-функции называют кодами обнаружения ошибок. С помощью дополнительных средств они гарантируют целостность данных. Они используются в системах как с доверяющими друг другу пользователями, так и не доверяющими друг другу пользователям.
В современном мире хеш-функции используются во многих сферах. Хеширование используют IT-разработчики, хранящие конфиденциальные данные. В веб-разработке хеш используется для проверки пароля. Таким образом, когда пользователь вводит пароль, полученный хеш сравнивается с сохранённым на сервере.
Хеш-функции используют разработчики, имеющие дело со сложными структурами данных, а также в сфере криптовалюты, где хеширование используется как способ проверки подлинности данных.
Специалисты информационной безопасности могут по характеру хеша определить вирус и обезвредить его. В базе антивируса как раз хранится хеш вируса, а не образцы самих программ.
Для более простых случаев хеш-функции не обязательно должны быть криптографическими, можно использовать функцию с простыми преобразованиями.
Но в случае, когда речь идёт о защите данных, используются криптографические хеш-функции. Она работает в несколько шагов. Происходит дробление данных на части, которые проходят через сжимающую функцию, преобразовывающую информацию в меньшее количество бит.
Криптографическая хеш-функция должна быть криптостойкой, то есть такой, чтобы итоговый результат практически невозможно вскрыть.
Для противостояния криптоаналитическим атакам криптографическая хеш-функция должна обладать следующими свойствами:
- Необратимость. Из хеша нельзя получить исходные данные: в процессе отбрасывается много информации.
- Уникальность. Если хеш-функция идеальна, то она выдаёт уникальный результат для каждого набора данных. Так как в реальности такого идеала достигнуть невозможно, существуют сложные хеш-функции, сводящие коллизии к минимуму.
- Детерминированность. Это свойство позволяет использовать хеш для проверки подлинности данных: если хеш-функции подать одинаковые исходные элементы, то и хеш будет одинаковый.
- Высокая скорость генерации. Даже при работе с бльшим массивом данных хеш будет генерироваться быстро.
При использовании специалистами криптографических хеш-функций подразумевается сохранность и целостность данных, поэтому такие функции должны отвечать следующим требованиям: стойкость к коллизиям; стойкость к восстановлению данных: восстановлению данных не только с помощью обратной функции, но и методом подбора; устойчивость к поиску первого и второго прообраза.
Первый прообраз – возможность нахождения обратной функции, но так как хеш-функция необратима, такой возможности нет. Второй прообраз – почти то же, что нахождение коллизии. Разница только в том, что при поиске коллизии ищущий знает только хеш, а в случае со вторым прообразом известны и хеш, и исходная информация. Функция, неустойчивая к поиску второго прообраза уязвима: при наличии у злоумышленника исходных данных он сможет подменить данные.
Наличие всех вышеперечисленных требований делает хеш-функцию идеальной, но в современных реалиях разработчик старается по возможности сделать её близкой к идеалу.
Хеш-функция – важный элемент не только в современной разработке, но и в информационной безопасности, обеспечивающий сохранность конфиденциальных данных в соответствии с требованиями специалиста.
Список литературы:
- Habr: сайт – 2006 – 2023 – [электронный ресурс] — Режим доступа. – URL: https://habr.com/ru/articles/93226/ (дата обращения: 28.08.2023).
- Blockchain24 – 2021– 2023 – [электронный ресурс] — Режим доступа. – URL: https://blockchain24.pro/vidy-hesh-funktsij/ (дата обращения: 29.08.2023).
- Studfiles – 2023 – [электронный ресурс] — Режим доступа. – URL: https://studfile.net/preview/9460671/page:47/ (дата обращения: 29.08.2023).
- Habr: сайт – 2006 – 2023 – [электронный ресурс] — Режим доступа. –URL: https://habr.com/ru/function/534596/ (дата обращения: 28.08.2023).
- Studfiles: сайт – 2023 – [электронный ресурс] — Режим доступа. – URL: https://studfile.net/preview/1699909/page:15/ (дата обращения: 30.08.2023).
дипломов
Оставить комментарий