Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
В настоящее время, бесспорно, число информационных технологий расширяются в масштабном режиме. С этим фактом трудно не согласиться, ведь с каждым днем появляется большое количество разной информации, независимо от нас, хотим мы этого или нет. Соответственно, с возникновением инновационных технологий наиболее актуальной является проблема защиты информации в таких системах.
Сегодня мы все чаще слышим о том, что в странах постоянно случаются какие-либо инциденты информационной безопасности. И пусть кажется, что инциденты случаются где-то далеко, они вполне могут затронуть каждого из нас. Стоить отметить, что нет ни одной сферы общественной деятельности, которая не была бы интересна хакерам.
Сегодня существует множество способов защиты информации. Одним из них и является хеширование (от англ. «hashing»). Сущность этого метода состоит в превращении любого возможного объёма данных в строку определённой длины (в зависимости от конфигурации алгоритма) согласно функции.
Стоит обратить внимание на то, что хеширование является необратимым процессом, то есть получение данные обратно по его хешу - задача, требующая исключительных вычислительных мощностей и времени, настолько, что в большинстве случаев не решается, что, впрочем, можно назвать наиважнейшим его достоинством.
Следует отметить, что алгоритмов хеширования существует достаточно много. Каждый из которых обладает определенными особенными свойствами, структурой, а также функцией. Конечно, все они подвергаются постоянным исследованиям на наличие уязвимостей, коллизий, как со стороны тех, кто хочет упрочить его безопасность, так и со стороны тех, кто, имея недобрые намерения, стремится получить доступ к хранимым в хешах данным.
Многие из ныне существующих алгоритмов уже не актуальны ввиду наличия пути построения коллизий, но по-прежнему используются из удобства в ущерб безопасности.
Объектом моего исследования выступает хэш-функция SHA-2. Предметом исследования особенности хэш-функции SHA-2 и ее применения в современных условиях.
Целью данной работы является изучение хэш-функции SHA-2. Исходя из поставленной цели, можно выделить следующие задачи:
- изучить понятие и сущность хэш-функции;
- проанализировать хэш-функцию SHA-2;
- рассмотреть примеры практического применения хэш-функции SHA-2.
Методологической базой данной работы явились изучение научной литературы, анализ и синтез, а также методы системного подхода.
1 Понятие и сущность хэш-функции
Известно, что криптография призвана решать задачи обеспечения конфиденциальности, целостности, аутентификации, невозможности отказа от авторства, неотслеживаемости с использованием математических методов. Кроме этого, обеспечение информационной безопасности является одной из первостепенных задач каждого современного предприятия или организации.
Стабильная защита информационной системы предприятия в лице отдела информационной безопасности - это залог надежной и безопасной среды для деятельности. Повреждение, утечка, неимение и кража информации - это всегда убытки для каждой компании.
Для решения ряда данных задач используются криптографические функции хэширования (hash-functions). Хэш-функции - это функции, предназначенные для сжатия произвольного сообщения или набора данных, записанного, как правило, в двоичном алфавите, в некоторую битовую комбинацию фиксированной длины, называемую сверткой (рисунок 1) [2, с. 203].
Рисунок 1 - Алгоритм хэш-функции
В криптографии хэш-функции применяются для решения следующих задач:
обеспечение целостности данных при их передаче или хранении;
сопоставление каждому массиву данных невоспроизводимую контрольную сумму;
аутентификация источника данных.
В обилии классификаций хеширующих алгоритмов необходимо выделить одно разбиение. Согласно которому, алгоритмы делятся на два вида: ключевые и бесключевые. Первые предназначены для систем с доверяющими друг другу пользователями. Их применение без дополнительных средств гарантирует целостность данных и правильность источника информации. И также называют кодами аутентификации сообщений.
Вторые одинаково подходят как для работы с системами с доверяющими друг другу пользователями, так и с не доверяющими, однако для гарантии целостности данных требуют некоторые дополнительные средства (часто, это шифрование)
. Второе название подобных алгоритмов - коды обнаружения ошибок. Существуют различные, как криптографические, так некриптографические хеш-функци [6].
Криптографическая хэш-функция - любая хэш-функция, являющаяся криптостойкой, то есть удовлетворяющая трем требованиям, которые возложены на криптографические приложения [3]:
необратимость: для заданного значения хэш-функции m должно быть вычислительно неосуществимо найти блок данных X, для которого Н(Х) = m;
стойкость к коллизиям первого рода: для заданного сообщения М должно быть вычислительно неосуществимо подобрать другое сообщение N, для которого H(N) = H(M);
стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару сообщение, имеющих одинаковый хэш.
Главная задача хэш-функций состоит в получении кратких сведений о файле, сообщении или блоке данных. На языке специалистов данные сведения именуются «отпечатками пальцев» (fingerprints), так как образ любой информации является уникальным.
Как на Земле нет двух людей, чьи отпечатки пальцев совпадают, так и в системе не должно быть ни одного файла, сведения о котором совпадали бы со сведениями о другом файле. То же касается и сообщений, и блоков данных. Конечно, бывают исключения.
Таким образом, хеширование является отличным решением для применения в любом виде, если необходимо сравнить значение с хранимой суммой, но при этом нет возможности сохранить ее простое представление из соображений безопасности.
Другой пример использования состоит в том, что, к примеру, можно проверять, что последние несколько цифр кредитной карты совпадают с вводом данных пользователем или сравнением хэша файла, который у нас есть с хэшем сохраненного файла в базе данных, чтобы удостовериться, что они идентичны.
Соответственно, алгоритмы хеширования чаще всего используются в следующих случаях:
при создании ассоциативных массивов;
при необходимости вычислить дубликаты данных (алгоритм выдает на одно и то же сообщение одинаковый результат, актуально для наборов данных, когда на обычный поиск и сравнение уходит неоправданно большое количество времени);
при создании уникальных идентификаторов для больших объемов данных (для серий, наборов данных);
для вычисления контрольных сумм;
для хранения паролей;
при создании электронной подписи и прочее.
Пользуясь уникальностью «отпечатков» можно не только осуществлять поиск нужной информации, но и выполнять множество других операций. Любой образ, созданный хэш-функциями SHA-2, является неповторимым идентификатором массива информации и содержит краткие сведения о нем.
2 Хэш-функция SHA-2
В 2001 году NIST принял в качестве стандарта три хэш-функции с существенно большей длиной хэш-кода. Часто эти хэш-функции называют SHA-2 или SHA-256, SHA-384 и SHA-512 (соответственно, в названии указывается длина создаваемого ими хэш-кода).
Эти алгоритмы отличаются не только длиной создаваемого хэш-кода, но и длиной обрабатываемого блока, длиной слова и используемыми внутренними функциями. Сравним характеристики этих хэш-функций (таблица 1).
Таблица 1
Характеристики хэш-функций
Алгоритм Длина сообщения (в битах) Длина блока (в битах) Длина слова (в битах) Длина дайджеста сообщения (в битах) Безопасность (в битах)
SHA-1 <264 512 32 160 80
SHA-256 <264 512 32 256 128
SHA-384 <2128 1024 64 384 192
SHA-512 <2128 1024 64 512 256
Хеш-функции используются в качестве строительного блока во многих приложениях. В 2004 году серия атак показала наличие уязвимостей в широко распространенном алгоритме SHA-1. В связи с этим NIST обратился с рекомендацией перейти к использованию SHA-2 и в 2007 году объявил о конкурсе для нового стандарта хеширования SHA-3 [1, с. 60].
Хэш-функции семейства SHA-2 пользуются высокой популярностью в приложениях, связанных с систематизацией, поиском и защитой информации [4]. На рисунке ниже приведен рисунок 2, на котором представлена схема итерации алгоритма SHA-2.
Рисунок 2 – Схема итерации алгоритма SHA-2
SHA-2 представляет собой целое семейство однонаправленных алгоритмов, в которое входят SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224
Закажи написание реферата по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!
Нужна помощь по теме или написание схожей работы? Свяжись напрямую с автором и обсуди заказ.
В файле вы найдете полный фрагмент работы доступный на сайте, а также промокод referat200 на новый заказ в Автор24.