Хеширование как один из способов защиты информации - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

Хеширование как один из способов защиты информации

Слепцов Д.В. 1
1БГУ им. ак. И.Г.Петровского
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Сегодня нет необходимости обосновывать актуальность угроз целостности и конфиденциальности информации. Еще пару десятков лет назад задача обеспечения безопасности информации решалась при помощи использования межсетевых экранов и разграничения доступа. Сейчас этих технологий недостаточно, поскольку любая информация, которая имеет финансовую, посредническую, военную, политическую, научную ценность, хранится в компьютере и, следовательно, подвергается угрозе. Дополнительным риском становится возможность перехвата управления критическими объектами информационной инфраструктуры. Согласно статистическим данным, более 80% компаний несут финансовые убытки из-за нарушения целостности и конфиденциальности используемых данных [1].

Наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним), целостности данных (невозможности незаметного изменения информации), аутентификации (проверки подлинности авторства или иных свойств объекта), а также невозможности отказа от авторства называется криптография. Криптография – одна из старейших наук, её история насчитывает несколько тысяч лет [5].

Изначально криптография изучала методы шифрования информации – обратимого преобразования исходного текста на основе секретного алгоритма или ключа в шифрованный текст. Традиционная криптография образует раздел симметричных криптосистем, в которых шифрование и дешифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.

Одним из интересных и перспективных направлений современной криптографии является раздел, изучающий хеш-функции. Хеш-функцией называется алгоритм, конвертирующий строку произвольной длины (сообщение) в битовую строку фиксированной длины, называемой хеш-кодом, проверочной суммой или цифровым отпечатком [2].

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

Основными свойствами хеш-функции являются:

-на вход хеш-функции подается сообщение произвольной длины;

-на выходе хеш-функции формируется блок данных фиксированной длины;

-значения на выходе хеш-функции распределены по равномерному закону;

-при изменении одного бита на входе хеш-функции существенно изменяется выход [4].

Последнее свойство хеш-функций позволяет применять их в следующих случаях:

-при построении ассоциативных массивов;

-при поиске дубликатов в сериях наборов данных;

при построении уникальных идентификаторов для наборов данных;

-при вычислении контрольных сумм от данных для последующего обнаружения в них ошибок, возникающих при хранении и/или передаче данных;

-при сохранении паролей в системах защиты в виде хеш-кода (для восстановления пароля по хеш-коду требуется функция, являющаяся обратной по отношению к использованной хеш-функции);

-при выработке электронной подписи [3].

В общем случае нет однозначного соответствия между исходными (входными) данными и хеш-кодом (выходными данными). Возвращаемые хеш-функцией значения (выходные данные) менее разнообразны, чем значения входного массива (входные данные). Случай, при котором хеш-функция преобразует несколько разных сообщений в одинаковые хеш-коды, называется «коллизией». Вероятность возникновения коллизий используется для оценки качества хеш-функций.

Алгоритмы хеширования характеризуются разрядностью, вычислительной сложностью, криптостойкостью.

Хорошая хеш-функция должна удовлетворять двум свойствам:

-быстро вычисляться;

-минимизировать количество коллизий.

Предположим, для определённости, что K - количество ключей, а хеш-функция h(k) имеет не более M различных значений: для любого k, выполняется неравенство 0≤h(k)<M.

Существует несколько простых и надежных методов, на которых базируются многие хеш-функции [4].

Первый метод заключается в том, что мы используем в качестве хеша остаток от деления на M, где M - это количество всех возможных хешей:

h(K) = K mod M

При этом очевидно, что при чётном M значение функции будет чётным, при чётном K, и нечётным – при нечётном, что может привести к значительному смещению данных в файлах. На практике обычно выбирают простое.

Ещё следует сказать о методе хеширования, основанном на делении на полином по модулю два. В данном методе M также должна являться степенью двойки, а бинарные ключи K представляются в виде полиномов. В этом случае в качестве хеш-кода берутся значения коэффициентов полинома, полученного как остаток от деления K на заранее выбранный полином P степени m:

При правильном выборе P такой способ гарантирует отсутствие коллизий между почти одинаковыми ключами.

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

.

В этом случае, на компьютере с двоичной системой счисления, M является степенью двойки и h(K) будет состоять из старших битов правой половины произведения A*K.

Одной из вариаций данного метода является хеширование Фибоначчи, основанное на свойствах золотого сечения.

Хеширование Пирсона - алгоритм, предложенный Питером Пирсоном для процессоров с 8-битными регистрами, задачей которого является быстрое вычисление хеш-кода для строки произвольной длины. На вход функция получает слово W, состоящее из n символов, каждый размером 1 байт, и возвращает значение в диапазоне от 0 до 255. При этом значение хеш-кода зависит от каждого символа входного слова.

Среди преимуществ алгоритма следует отметить:

-простоту вычисления;

-не существует таких входных данных, для которых вероятность коллизии наибольшая;

-возможность модификации в идеальную хеш-функцию.

Идеальной хеш-функцией называется такая функция, которая отображает каждый ключ из набораS в множество целых чисел без коллизий. В математических терминах это инъективное отображение.

Функция   называется идеальной хеш-функцией для , если она инъективна на .

Функция называется минимальной идеальной хеш-функцией для , если она является ИХФ и .

Для целого , функция называется -идеальной хеш-функцией для если для каждого имеем .

Идеальное хеширование применяется в тех случаях, когда необходимо присвоить уникальный идентификатор ключу, без сохранения какой-либо информации о ключе. Например, идеальное хеширование используется для ускорения работы алгоритмов на графах, в тех случаях, когда представление графа не умещается в основной памяти.

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

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

Список литературы

1. Алексенко О.Ю. Актуальность проблемы защиты информации [Электронный ресурс]. – Режим доступа:https://nsportal.ru/npo-spo/elektronnaya-tekhnika-radiotekhnika-i-svyaz/library/2017/11/22/aktualnost-problemy-zashchity

2. Брассар Ж. Современная криптология / Ж. Брассар – М.: ПОЛИМЕД, 1999. – 178 с.

3. Васильева И.Н. Криптографические методы защиты информации / И.Н. Васиева – М.: Юрайт, 2016. – 340 с.

4. Шнайер Б. Прикладная криптография/ Б. Шнайер – М.: ТРИУМФ, 2003. – 816 с.

5. Ященко В.В. Введение в криптографию / В.В. Ященко – М.: Издательство МЦНМО, 2012. – 342 с.

Просмотров работы: 468