Информационная безопасность

Хэш функции

Понятие Хэш-функции.

Хэш-функция (Хэширование) - эта такая функция, которая необходима для приобретения хэш-кода файла, сообщения или каких либо других данных.

Условия, которым должна удовлетворять хэш-функция:

  • должна быть чувствительна к различным преобразованиям в тексте.
  • должна обладать свойством необратимости.
  • должно быть практически невозможным совпадение двух файлов.

Коллизия хэш-функции - это два разных  входных данных А и В таких, что F(А)=F(В). Для многих хэш-функций происходят коллизии, однако для некоторых их возникновение практически невозможно.

Области применения.

Хэш-функции широко применяются в современной криптографии.

Требования для того, чтобы хэш-функция была  криптографически стойкой:

  1. Стойкость, необратимость к восстановлению прообраза: для имеющегося значения хэш-функции n должно быть невозможно найти блок данных Х, для которого H(X)= n
  2. Стойкость к коллизиям первого рода: для имеющегося  сообщения L должно быть вычислительно невозможно подобрать другое сообщение T, для которого H(T)=H(L)
  3. Стойкость к коллизиям второго рода.

Криптографические хэш-функции делятся на:

  • хэш-функции без ключа
  • хэш-функции c ключом MАC

Хэш-функцией с ключом MAC- такая  функция Н(к,х), которая  удовлетворяет условиям:
1) х - любой длины;
2) значение H(к,х) - фиксированной длины;
3) при различных к и х без труда можно посчитать H(к,х);
4) для различных х сложно вычислить H(к,х), когда к неизвестно;
5) сложно установить к даже при большом числе неизвестных пар {х, H(к,х)} при выбранном наборе к.

 

Электронная цифровая подпись

ЭЦП - это шифрование данных алгоритмом с открытым ключом. Производится шифрование не самого сообщения, а значение хэш-функции взятой от сообщения.

Плюсы этого метода:

Легче производить вычислении, т.к файл намного  больше его хэша.

Повышается криптостойкость, можно подобрать подпись под хэш документа, а не под сообщение.

Обеспечивается совместимость. Хэш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат.

Контро́льная су́мма - такое значение, которое посчитано по  набору данных, определенным алгоритмом и необходимое для контроля полноты данных при передаче, хранении.

Контрольная сумма является хэш-функцией, которая необходима для нахождения контрольного кода. Контрольный код используется для обнаружения ошибок при хранении данных и их передаче . Перед началом передачи сообщения в конец блока данных добавляется значение контрольной.  Такой контроль хорошо происходит в специальном  цифровом оборудовании.

Геометрическое хэширование- используется  в компьютерной графике и вычислительной геометрии для решения задач на плоскости или в трёхмерном пространстве.  Хэш-функция получает на вход метрическое пространство и разделяет его, создавая сетку из клеток. Таблица в этом случае является массивом с двумя или более индексами,  называется файл сетки.

Хэш-таблица - это  структура данных, которая позволяет хранить пары вида (ключ,хэш-код) и использует операции вставки,  поиска, удаления.

Задача хэш-таблиц -  ускорение поиска. Пример: расположение в алфавитном порядке слов в словаре. Хэш-кодом является первая буква слова,  при поиске анализируется не целиком словарь, а только нужная буква.

MD5 (Message-Digest algorithm) - это алгоритм хэширования, который разработал  Р. Л. Ривест  в 1991 г. md5 шифрует различные  данные в формате 128-бит , которые возможно  подделать. С помощью MD5 можно шифровать пароли, сообщения, другие данные. Если MD5 двух файлов совпали, то это может означать, что файлы одинаковые, если у сообщения не изменилась MD5, то можно утверждать, что и сообщение  не изменилось..

SHA-1 (Secure Hash Algorithm 1 )- это алгоритм хэширования. Для входных данных любой длины алгоритм генерирует 160-битное хэш-значение. Данный алгоритм широко применяется в  криптографических приложениях и протоколах, предложен в качестве основного для государственных учреждений США.