УП03. ГАПОУ ПК 8. Верещагин1 УП03. 33ОБАс. Отчет по учебной практике уп 03. Защита информации техническими средствами
Скачать 120.97 Kb.
|
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ГОРОДА МОСКВЫ Государственное автономное профессиональное образовательное учреждение города Москвы «ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ № 8 имени дважды Героя Советского Союза И.Ф. Павлова» (ГАПОУ ПК № 8 им. И.Ф. Павлова) Отчет по учебной практике УП 03. Защита информации техническими средствами. Выполнил Верещагин Б. И. Группа 33ОБАс Руководитель практики: Мишина Н.С. Оценка за работу _______________ Подпись руководителя практики _______________ Москва 2021 СОДЕРЖАНИЕ ВВЕДЕНИЕ 4 Глава 1. Общая характеристика хеш-функций 6 Хеш-функции. Пусть у нас есть множество X каких-то объектов. Текстовых файлов, чисел, бутылок пива... Ещё есть множество чисел Y(N) = {0, 1, 2, ..., N-1}. Имеем функцию f(x) = k, где x - объект из X, k - из Y(N). Такая функция будет зваться хеш-функцией (можно звать её также функцией хеширования). Она по сути разбивает X на N непересекающихся подмножеств, это разбиение имеет название хеширование. Пример: X - целые неотрицательные числа, f(x) = x mod N (ищем остаток от деления). Эта хеш-функция называется методом деления. На практике метод деления используется в большинстве приложений, работающих с хешированием. 6 Примеры хеш-функций: f(x) = x mod 4 (функция mod возвращает остаток от деления) Ещё пример: X - опять целые неотрицательные числа. Функция f берёт первую цифру x. В этом случае N = 10. Хеширование применяется для быстрого поиска в структурах данных и в криптографии. При этом хеш-функции, хорошие для первого, вряд ли хороши для второго применения, и наоборот. хеш-функции, применяемые в криптографии, также называются функциями криптографического хеширования. Как правило, хеш-функции в сфере структур довольно просты, функции криптографического хеширования имеют довольно сложное тело. 6 Требования к хеш-функциям. Принято считать, что хорошей, с точки зрения практического применения, является такая хеш-функция, которая удовлетворяет следующим условиям: 6 Метод открытой адресации. В отличие от хеширования с цепочками, при открытой адресации никаких списков нет, а все записи хранятся в самой хеш-таблице. Каждая ячейка таблицы содержит либо элемент динамического множества, либо NULL. В этом случае, если ячейка с вычисленным индексом занята, то можно просто просматривать следующие записи таблицы по порядку до тех пор, пока не будет найден ключ K или пустая позиция в таблице. Для вычисления шага можно также применить формулу, которая и определит способ изменения шага. На рис. 3 разрешение коллизий осуществляется методом открытой адресации. Два значения претендуют на ключ 002, для одного из них находится первое свободное (еще незанятое) место в таблице. Безопасное хранение паролей с помощью хеш-функций. 8 Глава 2. Сфера применения функций хеширования 11 Глава 3. Описание алгоритмов реализации функции хеширования. 17 Методы разрешения коллизий 19 Алгоритмы хеширования. Существует несколько типов функций хеширования, каждая из которых имеет свои преимущества и недостатки и основана на представлении данных. Приведем обзор и анализ некоторых наиболее простых из применяемых на практике хеш-функций. 22 ЗАКЛЮЧЕНИЕ 35 СПИСОК ЛИТЕРАТУРЫ 36 ВВЕДЕНИЕС хешированием сталкиваются едва ли не на каждом шагу: при работе с браузером (список Web-ссылок), текстовым редактором и переводчиком (словарь), языками скриптов (Perl, Python, PHP и др.), компилятором (таблица символов). По словам Брайана Кернигана, это «одно из величайших изобретений информатики». Заглядывая в адресную книгу, энциклопедию, алфавитный указатель, мы даже не задумываемся, что упорядочение по алфавиту является не чем иным, как хешированием. Хеширование применяется для быстрого поиска в структурах данных и в криптографии, а также для проверки на наличия ошибок. Хеширование это процесс получения уникального (чаще цифрового) идентификатора для объекта. Хеширование (hash - смешивание, перемешивание,размешивание) — преобразование входного массива данных в короткое число фиксированной длины (которое называется хешем или хеш-кодом) таким образом, чтобы с одной стороны, это число было значительно короче исходных данных, а с другой стороны, с большой вероятностью однозначно им соответствовало. Преобразование выполняется при помощи хеш-функции. В общем случае однозначного соответствия между исходными данными и хеш-кодом быть не может. Обязательно будут возможны массивы данных, дающих одинаковые хеш-коды, но вероятность таких совпадений в каждой конкретной задаче должна быть сведена к минимуму выбором хеш-функции. Простым примером хеширования может служить нахождение циклической контрольной суммы, когда берётся текст (или другие данные) и суммируются коды входящих в него символов. Полученное число может являться примером хеш-кода исходного текста. Это самый простой пример и тут же понятно, что будут коллизии это когда одно и то же слово даст одно и тоже число. Например, слова дома и мода дадут одну и ту же цифру. Поэтому отсюда выход либо усложнять алгоритм для гарантии неповторимости а значит важно и расположение букв с слове в плане порядка или при совпадении проверять уже саму строку непосредственно для гарантии того, что слова одинаковые. В любом случае ускорение выполнения значительно по причине того что сравнивается все за один раз. |