Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Свойства, назначение и основы построения хеш-функций

ХЕШ-ФУНКЦИИ

Свойства, назначение и основы построения хеш-функций.

Построение хеш-функций на основе блочных шифров.

Самостоятельные хеш – алгоритмы.

СОДЕРЖАНИЕ:

Свойства, назначение и основы построения хеш-функций. 2

Алгоритм применения хэш-функции. 2

Обобщенная схема хэш – функции. 3

ПРИМЕР ХЭШИРОВАНИЯ.. 4

Гипотеза о существовании односторонних функций. 8

Свойства односторонних хэш-функций. 9

Длины однонаправленных хэш-функций. 9

Коллизии и реверс. 9

Методы построения криптографических хэш-функций. 10

Назначение криптографических хэш-функций. 10

Методы криптоанализа хэш-функций. 10

Построение хеш-функций на основе блочных шифров. 12

Схемы, в которых длина хэш-значения равна длине блока. 13

Модификация схемы Davies-Меуеr 14

Тандемная (Таndеm) и одновременная (Abreast) схемы Davies-Meyer. 15

MDC.. 17

Схема алгоритма выработки MDC.. 18

МDС-2 и МDС-4. 18

Хэш-функция АR.. 20

Хэш-функция ГОСТ. 20

Самостоятельные хэш – алгоритмы. 21

Краткое описание наиболее распространенных алгоритмов. 21

Алгоритм MD2. 21

Алгоритм МD3. 22

Алгоритм MD4. 22

Алгоритм MD5. 23

Описание МD5. 23

Отличия MD5 от MD4. 25

ПОЛНЫЙ ПРИМЕР MD5. 25

SECURE HASH ALGORITHM (SHA) 27

RIPE-МD.. 29

HAVAL.. 29

Snefru. 29

Криптоанализ Snefru. 30

Tiger 30

Выбор хэш-функции. 30

Эвристические принципы, сформулированные Ривестом.. 31

Основные требования к алгоритму с точки зрения пользователя. 31


 

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

Простейшим примером хеш-функции, преобразующей любую последовательность байтов в один байт, является следующая:
y=(a AND NOT e AND NOT u) OR (NOT a AND NOT e AND u) OR (NOT a AND e AND NOT u),
где:
a, e, u- аргументы,
OR - дизъюнкции,
AND - конъюнкции.
Эта функция равна единице только тогда, когда один из ее аргументов равен единице. Пусть задана битовая последовательность. которая состоит из трех байтов. Она для удобства использования записана в три строки:
10 100 100
01 100 011
01 010 110
Определяя поразрядно функцию "y", получаем байт:
10 010 001.
Хеш-функция позволяет преобразовывать код ключа базы данных в ее адрес. Это дает возможность так размещать элементы данных в памяти, что их затем несложно будет найти. Хеш-функции также широко используются при шифровании.

 

 

Алгоритм применения хэш-функции:

 

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

• полученный дайджест шифруется закрытым ключом отправителя (подписывается ЭЦП) и пересылается получателю вместе с сообщением;

• получатель расшифровывает дайджест сообщения открытым ключом отправителя;

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

 

 

Обобщенная схема хэш – функции

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

Дополнения до блока требуемой длины возможно: нулями, пробелами, иными символами, вычисленными по определенным правилам значениями.

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

System.Security.Cryptography. PaddingMode (режимы дополнения).

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

 

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

На каждом шаге алгоритма получаются некоторые промежуточные выходные данные: также в виде битовых блоков. Это так называемая хэш-свертка блока. Она получается в общем случае применением алгоритма хэширования к входным данным, к которым каким-либо образом присоеденена, сконкатенирована свертка с предыдущего шага алгоритма.

Таким образом, происходит последовательная обработка входных блоков данных.

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

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

 

 

<== предыдущая лекция | следующая лекция ==>
Методы вычисления несобственных интегралов | Пример хэширования
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1969; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.