Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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

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

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

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

64-битовые хэш-функции слишком малы, чтобы противостоять вскрытию.
Более практичны однонаправленные хэш-функции, выдающие 128-битовые хэш-значения. При этом, чтобы найти два документа с одинаковыми хэш-значениями, для вскрытия методом дня рождения придется хэшировать 264 слу­чайных документов, что, впрочем, недостаточно, если нужна длительная безопасность. NIST в своем Стандарте безопасного хэширования (Secure Hash Standart, SНS), использует 160-битовое хэш-значение. Это еще сильнее усложняет вскрытие методом дня рождения, для которого понадобится 280 хэширований.

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

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

(2) Хэш значение добавляется к сообщению.

(3) Генерируется хэш-значение объединения сообщения и хэш-значения этапа (1).

(4) Создается большее хэш-значение, состоящее из объединения хэш-значения этапа (1) и хэш-значения этапа (3).

(5) Этапы (1)-(4) повторяются нужное количество раз для обеспечения требуемой длины хэш-значения.

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

 

 

Однако, возможно существование такого интервала на области определения функции, в границах которого она становится инъективной (т. е. если h(‘a’)=0, то существует такая функция, g, для которой g(0)=’a’). Это означает, что только для одного элемента из множества A существует индекс x1. Функция будет инъективна и в том случае, если ни один элемент из A не отображается на интервал (x1, x2) при условии, что последний не равен нулю. В любом другом случае на каждый индекс множества X отображается более одного элемента из A. Это так называемая коллизия хэш-функции.

 

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

 

 

  1. построение хэш-функции на основе существующего алгоритма шифрования
    (например, на основе шифров ГОСТ 28147 - 89, DES и FEAL.);
  2. построение хэш-функции на основе известной математической задачи, как правило
    вычислительно трудной;
  3. построение хэш-функции "с нуля".

 

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

Функции выработки хэш–блока для подписываемого массива данных.

Подписи битовых групп + модификации схем цифровых подписей.

 

Описание использования при хранении паролей:

При задании пароля пользователь вводит имя пользователя и сам пароль:

Login: Вася

Password: *******

Далее пароль хешируется и полученная хеш-свертка пароля хранится вместе с логином пользователя либо в отдельном файле паролей, либо в базе данных паролей (тот же файл, но с оформлением, например, под *.DBF). Таким образом, пароль не хранится в системе в открытом виде, логин хранится в открытом виде.

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

Узнать, какой именно пароль верный, зная лишь его хеш - невозможно.

 

 

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


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


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



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




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