Введение в современную криптографию



Pdf көрінісі
бет130/249
Дата14.06.2023
өлшемі6.4 Mb.
#475029
1   ...   126   127   128   129   130   131   132   133   ...   249
Криптография Катц

Злоумышленник A:
Злоумышленник получил доступ к оракулу MAC Mack (•).
• Вычислите GenH (1n), чтобы получить s.
• Запустите Ar(1n). Если Ar запрашивает тег на сообщение i mi ∈ {0, 1}*, 
тогда: (1) вычислите mˆ i := Hs(mi); (2) получите тег ti на mˆ i от оракула MAC
и (3) дайте (Ar) (ti).
• Если Ar выводитs (m* , t), тогда выведите (Hs(m*), t). 
Очевидно, что A работает в полиномиальном времени. Рассмотрите экспе-
римент Mac-forge A ,Π(n). В том эксперименте, видимость Ar , работающего в 
качестве подпрограммы A , распространяется идентично его видимости в экс-
перименте Mac-forge A ,Πt t (n). Более того, даже если и Mac-forge A ,Πt (n) = 
1, и coll не случается, A выводит верную подделку. (В таком случае t является 
верным тегом на Hs(m*) в схеме Π относительно k. Факт, что coll не случилась, 
означает, что Hs(m*) никогда не был опрошен A своему собственному оракулу 
MAC, и поэтому это действительно подделка.) Таким образом,
Pr[Mac-forge A ,Π = 1] = Pr[Mac-forge A ,Π (n) ^ coll],
защита Π предполагает, что прежняя вероятность пренебрежимо мала. Это за-
вершает доказателсьтво теоремы.
5.3.2 HMAC
Все конструкции кодов аутентификации сообщений, которые мы видели ранее, 
так или иначе основаны на каком-то блочном шифре. Существует ли возможность 
построить защищенный MAC (для сообщений произвольной длины) на непосред-


177
ственной основе хэш-функции? Первой мыслью является определение Mack (m) = 
H(k||m); мы должны предполагать, что, если H является «хорошей» хэш-функцией, 
тогда должно быть тяжело атакующему предугадать значение H(k||mr), учитывая 
значение H(k||m), для любых mr ƒ= m, предполагая, что k подобран случайным об-
разом (и неизвестен атакующему). К несчастью, если H построена с использовани-
ем преобразования Меркле-Дамгорда, как и большинство реальных хэш-функций, 
тогда MAC, разработанный таким образом, является полностью незащищенным, 
как вам и было предложено показать в Упражнении 5.10.
Вместо этого, мы можем попробовать использовать два слоя хэширования. 
См. Конструкцию 5.7 для стандартизированной схемы под названием HMAC 
на основе данной идеи.


Достарыңызбен бөлісу:
1   ...   126   127   128   129   130   131   132   133   ...   249




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет