# Hybrid Rainbow DB

DevFeed: [Hybrid Rainbow DB](<https://devfeed.tech/articles/hybrid-rainbow-db-27552.md>)

Original publisher: [Read original article](<https://gagor.pro/2012/11/hybrid-rainbow-db/>)

Author: Tom

Published: 2012-11-07T00:00:00Z

Content type: article

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [hash](<https://devfeed.tech/topics/hash.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [hash](<https://devfeed.tech/tags/hash.md>), [rainbow](<https://devfeed.tech/tags/rainbow.md>), [rainbow-tables](<https://devfeed.tech/tags/rainbow-tables.md>), [security](<https://devfeed.tech/tags/security.md>)

## AI overview

The article discusses hybrid rainbow tables for password-hash recovery. It explains that conventional tables can suffer from collisions and generate many effectively random candidate passwords, while hybrid reduction functions generate candidates based on likely human password patterns such as dictionary words with capitalization or trailing digits.

## Source excerpt

Jakiś czas temu napisałem swoją własną tęczową tablicę i odkąd zainteresowałem się tym tematem zastanawiałem się jak jeszcze bardziej usprawnić tę aplikację. Testowałem różne długości łańcuchów i zauważyłem że zwiększanie długości łańcucha bardzo szybko powoduje znaczne zwiększenie ilości kolizji, co drastycznie obniżało wydajność (nie wspominając o czasie potrzebnym na wygenerowanie całej tablicy). Z tego powodu ostateczna implementacja choć była rzeczywiście tęczową tablicą działała bardziej jak tablica hashy - bo łańcuchy były bardzo krótkie. Ponadto ze statystyk wynikało że bardzo rzadko hasła były odzyskiwane ze środka łańcucha - zdecydowana większość trafień pochodziła z pierwszego hasła w łańcuchu. Pierwsze hasło było przeważnie słownikowe, plus czasem jakiś dodatek w postaci cyfry/zmienionej wielkości liter, itp. Pozostałe hasła w łańcuchu były praktycznie losowe.