Department of Informational Systems. Хэш функции, свойства и применения. Семейство хэш функций MD4. (Лекция 8) презентация

Содержание

Слайд 1Mussiraliyeva -- Hash Functions
Хэш функции: Свойства и применения
Семейство хэш функций MD4
Принципы

построения
Исторический обзор криптоанализа
Методы криптоанализа
Атака Доббертина на MD4, MD5 and RIPEMD
Улучшенный метод Доббертина
Атаки Chabaud/Joux and Biham/Chen на SHA-0/1
Атаки Wang et al. на MD4, MD5 HAVAL and RIPEMD
Заключение

Вопросы


Слайд 2Mussiraliyeva -- Hash Functions
Обрабатывает сообщения произвольной длины.
Выдает результат фиксированной длины
Хэш функции


Слайд 3Mussiraliyeva -- Hash Functions
Применение в схемах электронных подписей



Подпись верна?
?
=
h
h


Слайд 4Mussiraliyeva -- Hash Functions
Свойства криптографических хэш функций
Зная сообщение M, довольно просто

вычислить h=H(M), где H однонаправленная хэш-функция

Зная h, трудно определить M, для которого H(M) = h

Зная M, трудно определить другое сообщение M’, для которого H(M) = H(M’)

Слайд 5Mussiraliyeva -- Hash Functions
?
=
Алиса, подпиши, пожалуйста, этот контракт!

Боб, Алиса подписала этот

контракт!



h

Okay, Я подпишу этот контракт на сумму €10k.

Алиса подписала конракт на сумму €50k.

Подпись верна !


Коллизия!

Применение в схемах электронных подписей


Слайд 6Mussiraliyeva -- Hash Functions
Устойчивость к коллизиям
В некоторых приложениях свойства однонаправленности функции

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

Трудно найти два случайных сообщения
M и M’, для которых H(M) = H(M’)

Следующий пример иллюстрирует необходимость последнего требования.



Слайд 7Mussiraliyeva -- Hash Functions
Пример

1. Алиса подготавливает две версии контракта: одну приемлемую

для Боба, а вторую нет.

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

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


Слайд 8Mussiraliyeva -- Hash Functions
Продолжение примера
4. Используя протокол, в котором требуется подписывать

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

5. Алиса заменяет подписанный Бобом контракт другим.

Совет 1: Всегда вносите мелкие исправления в документ перед его подписанием.

Совет 2: Следует использовать хэш-функцию с достаточно длинным выходом.

Слайд 9Mussiraliyeva -- Hash Functions
Хэш функции семейства MD4


Слайд 10MD4-Family

Hash Functions
Хэш функции представляющие практический интерес:
Хэш функции основанные на блочном шифровании:
Matyas-Meyer-Oseas,

Davies-Meyer, Miyaguchi-Preneel
MDC-2, MDC-4
Специализированные хэш функции:
MD4, MD5
RIPEMD-{0,128,160,256,320}
SHA-{0,1,224,256,384,512}
HAVAL
Tiger
Whirlpool
Новый стандарт SHA-3 : Keccak

Слайд 11Mussiraliyeva -- Hash Functions
Общая структура
Итерационные сжимающие функции


Слайд 12Mussiraliyeva -- Hash Functions
Общая структура сжимающих функций


Слайд 13Mussiraliyeva -- Hash Functions
MD5
Алгоритм разработан Роном Ривестом. Алгоритм обрабатывает входной текст

блоками размером 512 разрядов. Выходным результатом функции является 128 разрядное значение.

Вначале сообщение дополняется так, чтобы размер был на 64 разряда меньше числа, кратного 512. Это дополнение включает единицу, за которой, вплоть до конца сообщения, помещаются нули. Затем к результату добавляется 64-разрядное представление размера сообщения.


Слайд 14Mussiraliyeva -- Hash Functions

При этом инициализируются четыре переменные

A = 0x01234567; B

= 0x89ABCDEF;
C = 0xFEDCBA98; D = 0x76543210

MD5 использует 4 раунда. На каждом раунде выполняется 16 различных операций.
Каждая операция состоит в вычислении нелинейной функции над тремя переменными b, c и d.
a = A; b = B; c = C; d = D;


Слайд 15Mussiraliyeva -- Hash Functions
The Functions
Раунд 1:
f (b, c, d) = (b

∧ c) ∨ (¬ b ∧ d)

Раунд 2:
f (b, c, d) = (b ∧ c) ∨ (b ∧ ¬ d)

Раунд 3:
f (b, c, d) = (b ⊕ c ⊕ d)

Раунд 4:
f (b, c, d) = c ⊕ (b ∨ ¬ d)


Слайд 16Mussiraliyeva -- Hash Functions
Обозначения
⊕ - операция XOR

- операция NOT

∧ - операция AND

∨ - операция OR


Слайд 17Mussiraliyeva -- Hash Functions
Замечание
Для многих приложений длина в 128 бит хэш

функции MD5 недостаточна. Используя атаку «дней рождений» можно определить MD5 коллизию за 264 вычислений значений хэш-функции. Что не обеспечит защиту в современных системах.
Наш совет: Не используйте MD5, если вы нуждаетесь в действенной защите .

Слайд 18Mussiraliyeva -- Hash Functions
Secure Hash Algorithm (SHA)
NIST совместно с АНБ разработали

алгоритм SHA-1 для его использования вместе со стандартом цифровых подписей DSS. SHA-1 обычно называют просто SHA.

Алгоритм обрабатывает блоки сообщения длиной 512 бит и выдает 160 битовое значение хэш функции.

Слайд 19Mussiraliyeva -- Hash Functions
Алгоритм SHA
Вначале сообщение дополняется так, чтобы размер был

на 64 разряда меньше числа, кратного 512. Это дополнение включает единицу, за которой, вплоть до конца сообщения, помещаются нули. Затем к результату добавляется 64-разрядное представление размера сообщения.

448 bits + 64 bits = 512 bits

Инициализируется пять переменных. :

A = 0x67452301; B = 0xEFCDAB89: C = 0x98BADCFE;
D = 0x10325476; E = 0xC3D2E1F0;



Слайд 20Mussiraliyeva -- Hash Functions
Функции
Главный цикл состоит из 4 раундов, каждый из

которых включает 20 операций. В алгоритме SHA используется следующий набор нелинейных функций.
ft (x, y, z) = (x ∧ y) ∨ ((¬ x) ∧ z), t=0..19
ft (x, y, z) = (x ⊕ y ⊕ z), t=20..39
ft (x, y, z) = (x ∧ y) ∨ (x ∧ z) ∨ (y ∧ z), t=40..59
ft (x, y, z) = (x ⊕ y ⊕ z), t=60..79


Слайд 21Mussiraliyeva -- Hash Functions

В алгоритме используются следующие 4 константы. :

k0 =

0x5A827999; k1 = 0x6ED9EBA1;
k2 = 0x8F1BBCDC; k3 = 0xCA62C!D6;

Блок сообщения преобразуется из 16 слов размером в 32 разряда в 80 слов размером 32 разряда.

wi = mi for i = 0 ... 15
wi = (wi-3 ⊕ wi-8 ⊕ wi-14 ⊕ wi-16) <<< 1
for i = 16 ... 79

Слайд 22Mussiraliyeva -- Hash Functions
SHA-256, SHA-384, and SHA-512
В период с 2002-2004 NIST

опубликовала стандарт содержащий три хэш функции. (см. http://csrc.nist.gov/encryption/shs/dfips-180-2.pdf. [страница 89])
Выходными значениями данных функций являются соответственно 256-, 384-, and 512-битовые значения. Используются ключи AES размером 128, 196, и 256 бит. Структура алгоритма подобна SHA-1.

Слайд 23Mussiraliyeva -- Hash Functions
Different Message Expansions
MD / RIPEMD
roundwise permu-tations of the

Mi

SHA
recursive definition



Wi=Mi, i=1,…,k

Wi=f(Wi-k,…,Wi-1)

i>k

Wi=(Wi-3⊕Wi-8 ⊕ Wi-14 ⊕ Wi-16)<<<1

SHA-1


Слайд 24Mussiraliyeva -- Hash Functions
Step Operation
SHA-0/1:
MD5:
Only 1 register changed per step
Mixture of

different kinds of operations

Слайд 25Mussiraliyeva -- Hash Functions
SHA-2
(SHA-224, SHA-256, SHA-384, SHA-512) (NIST, ’02/04)
SHA-0 (NIST, ’93)
Обзор

MD4-Family

MD4 (Rivest ‚‘90)

Ext. MD4 (Rivest ‚‘90)

RIPEMD-0 (RIPE, ‘92)

MD5 (Rivest ‚‘92)

RIPEMD-128
RIPEMD-160
RIPEMD-256
RIPEMD-320
(Dobbertin, Bosselaers, Preneel ‘96)

SHA-1 (NIST, ’95)

HAVAL (Zheng, Pieprzyk, Seberry ‚‘93)

Dobbertin ‚’95/96


Kasselman/ Penzhorn‚ 2000

Chabaud/Joux‚ ‘98

van Rompay/ Preneel/???‚ 2003


Biham/Chen‚ 2004

Joux‚ 2004


Wang/Feng/ Lai/Yu‚ 2004



MD6
(Rivest,2008)

Каньер, Рехберг,2006


Кумар,Саркар,2008

SHA-3: Keccak( J. Daemen и др.)


Слайд 26Новый стандарт! SHA-3
2 октября 2012 года Национальный институт стандартов и

технологий США (NIST) выбрал победителя в конкурсе криптографических хэш-алгоритмов для стандарта SHA-3. В нём участвовало 64 претендента. Пять финалистов конкурса определились почти два года назад. Победителем стал алгоритм Keccak (читается «кэтчэк» или «кетчак» — устоявшегося варианта русского написания и произношения пока нет), созданный командой криптологов из Италии и Бельгии.  Хотя алгоритм SHA-2 пока не взломан, принятие нового стандарта уже сейчас готовит «запасной аэродром» на случай компрометации старого. Конкурс на новый алгоритм был объявлен в 2007 году после того, как был скомпрометирован алгоритм SHA-1. Это внушило опасения, что и родственное ему семейство SHA-2 не устоит. По словам специалистов NIST, алгоритм Keccak выбран из-за простого и элегантного дизайна и гораздо лучшей, чем у большинства конкурентов, производительности и лёгкости реализации на разных типах устройств. Алгоритм принципиально отличается от SHA-2, а значит уязвимости, которые могут быть найдены в старом стандарте, скорее всего не затронут новый.

Слайд 27Keccak
Основой функции сжатия алгоритма является функция f(), выполняющая перемешивание внутреннего состояния

алгоритма. Состояние (обозначим его A) представляется в виде массива 5 X 5, элементами которого являются 64-битные слова, инициализированные нулевыми битами (то есть размер состояния составляет 1600 битов). Функция f() выполняет 18 раундов
Возможные размеры хэш-значений — 224, 256, 384 и 512 бит.

Mussiraliyeva -- Hash Functions


Слайд 28Mussiraliyeva -- Hash Functions
Attack Methods


Слайд 29Mussiraliyeva -- Hash Functions

Найти M‘≠M с тем, чтобы h(M‘)=h(M)“
Существует три вида(успешных)

атак:
Dobbertin (1995/96)
Chabaud/Joux (1998), Biham/Chen(2004), Joux(2004)
Wang/Feng/Lai/Yu (2004)
Все атаки используют некоторую начальную разность
input differential ? output differential
modular differentials ?? XOR differentials

Взлом поиском коллизий


Слайд 30Mussiraliyeva -- Hash Functions
Dobbertin‘s Attack on MD4, MD5, RIPEMD


Слайд 31Mussiraliyeva -- Hash Functions
Попытаемся найти M ≠M’ такие,
что H(M)=H(M’)

Здесь M=(M1,M2,…..,M16)
M‘=M+Δ
Каждое Mi используется в точности в 4 строках вычислений
Выберем Δ15=1 и Δi=0 для всех i
Вычисления для M и M‘ отличаются только 4 строках вычислений

Пример: Атака на MD5


Слайд 32Mussiraliyeva -- Hash Functions
Атака на MD5
Вычисления производятся параллельно до появления Δi

≠ 0
Специальное построение: Требование Внутренних Коллизий(Inner Collisions)
Дальнейшие вычисления также производятся параллельно











Слайд 33Mussiraliyeva -- Hash Functions

Главные шаги в атаке:
Выбор Δ
Нахождение 2 внутренних

коллизий
Связать внутренние коллизии
Связать IV and первую внутреннюю коллизию
Как это сделать ?
Решая системы уравнений








Атака на MD5


Слайд 34Mussiraliyeva -- Hash Functions
Литература
[ 1]Magnus Daum. Cryptoanalysis of Hash Functions of

the MD4-Family. Dissertation. 2005
[ 2] http://www.cs.colorado.edu/~jrblack/papers/md5e-full.pdf
[3] http://ru.wikipedia.org/wiki/MD5

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика