Upload
lilosea
View
1.115
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
1
Криптографическиехэш-функции.Лекция 3: Конструкции
Илья МироновMicrosoft Research, Silicon Valley
Екатеринбург, 16-17 апреля, 2011
2
План лекции
Случайный оракул Чтение Запись
Модель случайного оракула Конструкции
3
Алгоритм Диффи-ХеллманаАлиса Боб
случайное a
gaслучайное b
gb
находим gabнаходим gab
ключ = gabH( )
g G, ord g = p
4
Предположение
Дискретный логарифм?
Computational Diffie-Hellman problem?
Decisional Diffie-Hellman problem:
Дано: Найти:
Дано: Найти:
Дано: или Решить: да или нет
5
Случайный оракул
𝑀 𝑥
6
Алгоритм Диффи-ХеллманаАлиса Боб
случайное a
gaслучайное b
gb
находим gabнаходим gab
ключ = gabH( )
g G, ord g = p
случайный оракул
7
Предположение
Дискретный логарифм?
Computational Diffie-Hellman problem?
Decisional Diffie-Hellman problem:
Дано: Найти:
Дано: Найти:
Дано: или Решить: да или нет
8
RSA
Схема подписи RSAПараметры: N = pq, ed = 1 mod φ(N)Подпись: C=Me mod NПроверка: Cd=M mod N
Атака:C1 и С2 подписи на M1 и M2
(C1C2)d=M1M2
Подпись: C=H(M)e mod NПроверка: Cd=H(M) mod N
(C1C2)d=H(M1)H(M2
)
9
Предположение
Проблема RSA?
Decisional problem - ?
Дано: Найти:
10
Проблема RSA
Дано: Найти:
Враг, подделывающийподпись
𝑀 1
𝐶 1𝑀 2𝐶2…
n подписей
𝑀 ,𝐶— подделка
11
Случайный оракул
𝑀 𝑥
12
Проблема RSA
Дано: Найти:
Враг, подделывающийподпись
S-запросы: подпись на M
H-запросы:
𝑀 ,𝐶— подделка
n S-запросов и q H-запросов
13
Отвечаем на запросы
1. Загадаем 2. На все , где отвечаем так, что знаем
подпись:- случайное число mod N
3. На ответим
Дано: Найти: mod N
14
Сведение
С вероятностью мы угадали место подделки!
Потеря сведения – .
Уменьшаем потерю
H-запросы:1. Выбираем случайное 2. С вероятностью отвечаем
отвечаем
Cможем ответить на все S-запросы:
Подделка поможет решить задачу: p
15
16
Уменьшаем потерю
Вероятность успеха:
Цель:
17
Уменьшаем потерю
max𝑝 (1−𝑝 )𝑛≈ 1𝑒 ∙𝑛
≪ 1𝑞
𝑝OPT=1
𝑛+1
18
Случайный оракул
𝑀 𝑥
- Traceability- Programmability
19
Случайный оракул?
MH(M
)
20
Осторожно, модель!
Не предположение, а модель «Эвристика» - аргумент в пользу
протокола, но не доказательство Серия работ «доказуемо в модели
случайного оракула, ломается при замене на любую хэш-функцию»: Canetti, Goldreich, Halevi, STOC 1998 Nielsen, Crypto 2002 Goldwasser and Tauman, FOCS 2003 Bellare, Boldyreva, Palacio, Eurocrypt 2004
21
Два мира
Оракул• RSA• DSA• эффективные
конструкции
«Стандартная модель»• экзотические
предположения• сложные схемы
22
NIST в Federal Register: “C.1 SecurityAlgorithms will be judged on the following factors:…• The extent to which the algorithm output is indistinguishable from a random oracle”
http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Jan07.pdf
23
Как строить случайные оракулы?
Случайный оракул – монолитная структура.
24
Конкатенация оракулов
Дано: F и G – случайные оракулы
F(M)||G(M) – тоже случайный оракул
25
Конкатенация оракулов
Дано: H – случайный оракул с длиной выхода бит:
• –случайный оракул• – случайный оракул
26
Задача
Используя данного оракула, строить других оракулов с наперед заданными свойствами:
Другой вход Другой выход Обратимость («идеальный шифр»)
Уметь все эти свойства доказывать!
27
Indifferentiability Framework
алгоритм C
оракулG
оракулF
симуляторS
distinguisher D
Coron et al., “Merkle-Damgård Revisited: how to Construct a Hash Function”, CRYPTO 2004
не может различить два мира
28
Композиция
алгоритмС
оракулG
системаP
врагA
оракулF
системаP
врагA′
29
Композиция
алгоритмС
оракулG
системаP
врагA
оракулF
системаP
врагA
симуляторS
D D
30
Композиция
алгоритмС
оракулG
системаP
врагA
оракулF
системаP
врагA
симуляторS
A′
31
Композиция
алгоритмС
оракулG
системаP
врагA
оракулF
системаP
врагA′
32
Вывод
Если конструкция удовлетворяет indifferentiability framework, её можно использовать вместо настоящего случайного оракула.
33
Merkle-Damgård?
IV
M0 M1 M2 M3
H0 H1 H2 H3
оракул оракул?
34
Merkle-Damgård?
IV
M0 M1
H0 H1
35
Merkle-Damgård?
IV
M0 M1
H0 H1
C
G G IV
M0 M1
H0 H1
F
S S
distinguisher D
36
Различаем
1. Выбираем M0, M1
2. H0=F(M0)
3. H1=S(H0,M1)
4. H1 ?= F(M0,M1)
37
Merkle-Damgård?
IV
M0 M1
H0 H1
C
G G IV
M0 M1
H0 H1
F
S S
distinguisher D
38
Отличие!
Cправа результаты будут разными, слева – одинаковыми!
39
Усекаем выход
IV
M0 M1 M2 M3
H0 H1 H2 H3
40
Prefix-free encoding
IV
M0 M1 M2 M3
H0 H1 H2 H3
41
Атака в операций
IV
M0, N0 M1 M2 M3
H0 H1 H2 H3
42
Отличие от случайного оракула
H(M0,M1,M2,M3)=H(N0,M1,M2,M3)
для любых M1,M2,M3!
43
Конструкция Лукса
IV
M0
H0 H1
IVG0 G1
M1
44
Скорость
SHA-1: одно применение сжимающей функции на 512 бит входа
Конструкция Лукса: два применения сжимающей функции на 352 = 512-160 бит входа
Эффективность упала на 2/3
45
Открытый вопрос
Схемы, сохраняющие свойство случайного оракула лучше, чем , с высокой скоростью?
46
ВОПРОСЫ?