SlideShare a Scribd company logo
1Криптографическиехэш-функции.Лекция 3: КонструкцииИлья МироновMicrosoft Research, Silicon ValleyЕкатеринбург, 16-17 апреля, 2011
План лекцииСлучайный оракулЧтениеЗаписьМодель случайного оракулаКонструкции2
3Алгоритм Диффи-Хеллманаagbgнаходим gabнаходим gabАлисаБобg G, ord g = pслучайное aслучайное bключ  =gabH(      )
ПредположениеДискретный логарифм?Computational Diffie-Hellman problem?Decisional Diffie-Hellman problem:4Дано: 𝑔𝑥Найти: 𝑥 Дано: 𝑔𝑥, 𝑔𝑦Найти: 𝑔𝑥𝑦 Дано: 𝑔𝑥, 𝑔𝑦, 𝑔𝑥𝑦или𝑔𝑥, 𝑔𝑦, 𝑔𝑧Решить: да или нет 
Случайный оракул5𝑀 𝑥 
6Алгоритм Диффи-Хеллманаagbgнаходим gabнаходим gabАлисаБобg G, ord g = pслучайное aслучайное bключ  =gabH(      )случайный оракул
ПредположениеДискретный логарифм?Computational Diffie-Hellman problem?Decisional Diffie-Hellman problem:7Дано: 𝑔𝑥Найти: 𝑥 Дано: 𝑔𝑥, 𝑔𝑦Найти: 𝑔𝑥𝑦 Дано: 𝑔𝑥, 𝑔𝑦, 𝑔𝑥𝑦или𝑔𝑥, 𝑔𝑦, 𝑔𝑧Решить: да или нет 
8RSAСхема подписи 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)emod NПроверка: Cd=H(M)mod N(C1C2)d=H(M1)H(M2)
ПредположениеПроблема RSA?Decisional problem- ?9Дано: 𝑀, 𝑑, 𝑁Найти:𝑑𝑀 mod 𝑁 
Проблема RSA10Дано: 𝑀, 𝑑, 𝑁Найти:𝑑𝑀 mod 𝑁 Враг, подделывающийподпись𝑀1 𝐶1 𝑀2 nподписей𝐶2 …—подделка𝑀, 𝐶 
Случайный оракул11𝑀 𝑥 
Проблема RSA12Дано: 𝑀, 𝑑, 𝑁Найти: 𝑀𝑒=𝑑𝑀 Враг, подделывающийподписьS-запросы: подпись на MH-запросы: 𝐻𝑀 nS-запросов и qH-запросов—подделка𝑀, 𝐶 
Отвечаем на запросыЗагадаем 𝑗∈[1..𝑞]На все 𝐻(𝑀𝑖), где𝑖≠𝑗,отвечаем так, что знаем подпись:𝑟𝑖- случайное число mod N𝐻𝑀𝑖←𝑟𝑖𝑑На𝐻𝑀𝑗ответим𝐻𝑀𝑗←𝑀 13Дано: 𝑀, 𝑑, 𝑁Найти: 𝑀𝑒=𝑑𝑀 mod N 
СведениеС вероятностью 1/𝑞мы угадали место подделки!Потеря сведения – 1/𝑞. 14
Уменьшаем потерюH-запросы:Выбираем случайное 𝑟𝑖 mod 𝑁 С вероятностью 𝑝 отвечаем 𝑀∙𝑟𝑖𝑑1−𝑝 отвечаем 𝑟𝑖𝑑Cможем ответить на все S-запросы: 1−𝑝𝑛Подделка поможет решить задачу: p 15
Уменьшаем потерюВероятность успеха:𝑝1−𝑝𝑛Цель:max𝑝1−𝑝𝑛 𝑑𝑑𝑝𝑝1−𝑝𝑛=01−𝑝𝑛−11−𝑛+1𝑝=0 16
Уменьшаем потерю17𝑝OPT=1𝑛+1 max𝑝1−𝑝𝑛≈1𝑒∙𝑛≪1𝑞 
Случайный оракул18𝑀 𝑥 Traceability
Programmability Случайный оракул?19MH(M)
Осторожно, модель!Не предположение, а модель«Эвристика» - аргумент в пользу протокола, но недоказательствоСерия работ «доказуемо в модели случайного оракула, ломается при замене на любую хэш-функцию»:Canetti, Goldreich, Halevi, STOC 1998Nielsen, Crypto 2002 Goldwasser and Tauman, FOCS 2003Bellare, Boldyreva, Palacio, Eurocrypt 200420
Два мира«Стандартная модель»экзотические предположения
сложные схемыОракулRSA
DSA
эффективные конструкции21
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”22http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Jan07.pdf
Как строить случайные оракулы?Случайный оракул – монолитная структура.23
Конкатенация оракуловДано: Fи G – случайные оракулы24F(M)||G(M) – тоже случайный оракул
Конкатенация оракуловДано: H – случайный оракул с длиной выхода 2𝑛бит: 25msb𝑛(𝐻(𝑀)) –случайный оракул
lsb𝑛(𝐻(𝑀))– случайный оракул 
ЗадачаИспользуя данного оракула, строить других оракулов с наперед заданными свойствами:Другой входДругой выходОбратимость («идеальный шифр»)26Уметь все эти свойства доказывать!
Indifferentiability Framework27алгоритм CоракулFоракулGсимуляторSdistinguisher Dне может различить два мираCoron et al., “Merkle-DamgårdRevisited: how to Construct a Hash Function”, CRYPTO 2004
Композиция28алгоритмСоракулGоракулFсистемаPврагAсистемаPврагA′
Композиция29алгоритмСоракулGоракулFсимуляторSсистемаPврагAсистемаPврагADD
Композиция30A′алгоритмСоракулGоракулFсимуляторSсистемаPврагAсистемаPврагA
Композиция31алгоритмСоракулGоракулFсистемаPврагAсистемаPврагA′
ВыводЕсли конструкция удовлетворяет indifferentiability framework, её можно использовать вместо настоящего случайного оракула.32
Merkle-Damgård?33M0M1M2M3H0H1H2H3IVоракулоракул?
Merkle-Damgård?34M0M1H0H1IV
Merkle-Damgård?35M0M1M0M1H0H1H0H1GSGSIVIVCFdistinguisher D
РазличаемВыбираем M0, M1H0=F(M0)H1=S(H0,M1)H1 ?= F(M0,M1)36
Merkle-Damgård?37M0M1M0M1H0H1H0H1GSGSIVIVCFdistinguisher D
Отличие!Cправа результаты будут разными, слева – одинаковыми!38
Усекаем выход39M0M1M2M3H0H1H2H3IV
Prefix-free encoding40M0M1M2M3H0H1H2H3IV
Атака в 2𝑛/2 операций 41M0, N0M1M2M3H0H1H2H3IV
Отличие от случайного оракулаH(M0,M1,M2,M3)=H(N0,M1,M2,M3)для любых M1,M2,M3!42

More Related Content

PPTX
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
corehard_by
 
PDF
На что способны современные статические анализаторы для C#
Artem Borzilov
 
PDF
хитрости выведения типов
corehard_by
 
PPTX
Скрытые закономерности в разработке ПО
Alex Yakyma
 
PDF
Продолжаем говорить о микрооптимизациях .NET-приложений
Andrey Akinshin
 
PPTX
Не связывайтесь с поддержкой C++ программистов. Юрий Минаев. CoreHard Spring ...
corehard_by
 
PDF
Распространённые ошибки оценки производительности .NET-приложений
Mikhail Shcherbakov
 
PDF
Поговорим о микрооптимизациях .NET-приложений
Andrey Akinshin
 
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
corehard_by
 
На что способны современные статические анализаторы для C#
Artem Borzilov
 
хитрости выведения типов
corehard_by
 
Скрытые закономерности в разработке ПО
Alex Yakyma
 
Продолжаем говорить о микрооптимизациях .NET-приложений
Andrey Akinshin
 
Не связывайтесь с поддержкой C++ программистов. Юрий Минаев. CoreHard Spring ...
corehard_by
 
Распространённые ошибки оценки производительности .NET-приложений
Mikhail Shcherbakov
 
Поговорим о микрооптимизациях .NET-приложений
Andrey Akinshin
 

Viewers also liked (8)

PPTX
Hash cse lecture1
LiloSEA
 
PPT
Vladimir Itsykson. CSEDays
LiloSEA
 
PDF
Yandex Academic programs 2010
LiloSEA
 
PDF
Nikolay Shilov. CSEDays 1
LiloSEA
 
PPTX
Michael Dyakin. CSEDays
LiloSEA
 
PPTX
Hash cse lecture2
LiloSEA
 
PDF
Михаил Рыбалкин. Перестановочные многочлены.
LiloSEA
 
PPT
Степан Петухов
LiloSEA
 
Hash cse lecture1
LiloSEA
 
Vladimir Itsykson. CSEDays
LiloSEA
 
Yandex Academic programs 2010
LiloSEA
 
Nikolay Shilov. CSEDays 1
LiloSEA
 
Michael Dyakin. CSEDays
LiloSEA
 
Hash cse lecture2
LiloSEA
 
Михаил Рыбалкин. Перестановочные многочлены.
LiloSEA
 
Степан Петухов
LiloSEA
 
Ad

More from LiloSEA (20)

PPT
CSEDays. Олег Ушмаев
LiloSEA
 
PPTX
CSEDays. Алексей Кадиев
LiloSEA
 
PPTX
CSEDays. Юрий Айдаров
LiloSEA
 
PDF
CSEDays. Александр Семенов
LiloSEA
 
PPT
Александра Торгашова
LiloSEA
 
PPTX
Лукина Ольга. Безопасность в соц. сетях
LiloSEA
 
PPTX
Андрей Лабунец. Механизмы трассировки
LiloSEA
 
PPT
Андрей Гаража. Биоинформатика
LiloSEA
 
PDF
Александр Тиморин. Мошеннические атаки
LiloSEA
 
PPT
Cse коновалова титов
LiloSEA
 
PPT
схемы разделения секрета
LiloSEA
 
PPT
почти пороговая схема разделения секрета
LiloSEA
 
PPT
Алексей Голдбергс. Криптография для бизнеса
LiloSEA
 
PPT
Simonova sql server-enginetesting
LiloSEA
 
PPTX
Simonova CSEDays
LiloSEA
 
PDF
Nikolay Shilov. CSEDays 3
LiloSEA
 
PDF
Nikolay Shilov. CSEDays 2
LiloSEA
 
PPTX
Katerina Simonova CSEDays
LiloSEA
 
PDF
MSR in Russia. CSEDays
LiloSEA
 
PPTX
Katerina Simonova CSEDays
LiloSEA
 
CSEDays. Олег Ушмаев
LiloSEA
 
CSEDays. Алексей Кадиев
LiloSEA
 
CSEDays. Юрий Айдаров
LiloSEA
 
CSEDays. Александр Семенов
LiloSEA
 
Александра Торгашова
LiloSEA
 
Лукина Ольга. Безопасность в соц. сетях
LiloSEA
 
Андрей Лабунец. Механизмы трассировки
LiloSEA
 
Андрей Гаража. Биоинформатика
LiloSEA
 
Александр Тиморин. Мошеннические атаки
LiloSEA
 
Cse коновалова титов
LiloSEA
 
схемы разделения секрета
LiloSEA
 
почти пороговая схема разделения секрета
LiloSEA
 
Алексей Голдбергс. Криптография для бизнеса
LiloSEA
 
Simonova sql server-enginetesting
LiloSEA
 
Simonova CSEDays
LiloSEA
 
Nikolay Shilov. CSEDays 3
LiloSEA
 
Nikolay Shilov. CSEDays 2
LiloSEA
 
Katerina Simonova CSEDays
LiloSEA
 
MSR in Russia. CSEDays
LiloSEA
 
Katerina Simonova CSEDays
LiloSEA
 
Ad

Hash cse lecture3