шаг 1. поиск h в таблице
шаг 2. если h найдена – перерассчитать цепочку, которая ей кончается, и взять из нее нужный пароль
шаг 3. иначе h=hash(r(h))
шаг 4. повторять шаги 1-3, пока h не найдется
Пароль 1
|
Хэш-функция n
|
…
|
…
|
Таблица предрассчитанных цепочек
Таблица предрассчитанных цепочек
Недостаток – чувствительность к коллизиям функции редукции
- Разные цепочки могут сливаться друг с другом
- Таблица оказывается избыточной
- Часть паролей может оказаться неучтенной
p
|
h(p)
|
r(h(p))
|
h(r(h(p)))
|
r(h(r(h(p))))
|
h(r(h(r(h(p)))))
|
…
|
…
|
x1
|
y1
|
x2
|
y2
|
x1
|
y1
|
x2
|
y2
|
x3
|
y3
|
…
|
…
|
…
|
…
|
x1
|
y1
|
Радужная таблица
- Более устойчивая к коллизиям модификация таблицы предрассчитанных цепочек
- Задаются различные функции редукции r1…rn-1
- Слияние цепочек происходит только если коллизия функции редукции происходит на одном и том же звене цепочки
- Это слияние можно обнаружить в процессе составления таблицы
Достарыңызбен бөлісу: |