Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Hash_Work.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
858.78 Кб
Скачать

Работа с хэш-функциями

Авторы:

https://vk.com/kmno9

https://vk.com/petrkamnev

Empire of Truth

2017

Оглавление

Введение 3

Виды хэш-функций 6

MD5 8

Безопасность MD5 8

Атаки переборного типа 9

Коллизии MD5 9

SHA 10

Сравнение MD5 и SHA-1 10

Примеры SHA-1 хэша: 11

Механизм шифрования 12

Безопасность и Актуальность 15

Использование хэширования 18

Хранение данных, паролей 18

Вывод 19

Введение

Хэширование – неотъемлемая часть современного мира информационных технологий. Хеширование просто необходимо в таких областях как шифрование, хранение паролей, электронная цифровая подпись.

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

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

Цель работы: изучить хэш-функции и их применение.

Задачи исследования:

  1. Узнать, что такое хэширование, изучить различные хэш-функции.

  2. Ознакомиться с принципом работы некоторых хэш-алгоритмов.

  3. Проверить на практике наши исследования.

Виды хэш-функций

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

Мы рассмотрим следующие алгоритмы хэширования:

MD2, MD4, MD5, SHA2, SHA1, BASE64

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

Первой известной хэш-функцией стала MD2 (Message-Digest), созданная Рональдом Ривестом в 1989 году, а опубликована в 1992 году. Этот алгоритм шифрования был изначально создан для использования в качестве одного из алгоритмов, входящих в стандарт защищенной электронной почты PEM. А в 1990 году MD2 был предложен в качестве замены BMAC. Впоследствии спецификация и обновленная реализация MD2 были опубликованы в RFC 1319. В 2011 году было официально прекращено использование хэш-функции MD2. Её стали рекомендовать только для использования в старых программах, которые основаны на данном алгоритме.

Следом за MD2 последовало создание такой хэш-функции, как MD4, чье создание было закончено в 1990 году и выпущено в Октябре этого же года. Создателем MD4 также является Рональд Ривест. Эта хэш-функция является предшественником MD5, о которой будет сказано позже.

Рассматривая безопасность MD4, можно отметить тот факт, что уровень безопасности был рассчитан на создание достаточно устойчивых гибридных систем электронной цифровой подписи, основанных на MD4 и криптосистеме с открытым ключом.

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

Поскольку это было так, то для приложений и систем, где важна криптостойкость стали использовать MD5.

MD5

В 1991 г. Был создан 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом – MD5.

Сравнивая MD5 с предыдущим алгоритмом(MD4) можно заметить, что MD5 происходит от MD4, но с достаточно множеством изменений. В отличии от MD4 в MD5 добавили еще один раунд, которых до этого было 3, сейчас в md5 4 раунда. Добавили новую константу для того, чтобы свести к минимуму влияние входного сообщения.

Примеры MD5 хэша:

MD5("md5") = 1BC29B36F623BA82AAF6724FD3B16718

Если же строка будет «нулевая» (пустая), то алгоритм выдает нам следующий хэш:

MD5("") = D41D8CD98F00B204E9800998ECF8427E

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]