Cytat:
Napisany przez Piterniel
Myślę, że w tym przypadku hash i hasło daje parę możliwości (stąd te 15-20 minut sprawdzania), a później algorytm programu sprawdza czy hasło 'wpisane' przez program jest dobre.
Więc metoda nie jest bez sensu...:>
|
Nie rozumiem co znaczy "Myślę, że w tym przypadku hash i hasło daje parę możliwości".
Domyslam sie co chciales powiedziec, ze funkcja haszujaca dla konkretnego hasla najpierw produkuje jakis ZBIOR wynikow i potem z niego jakos wybiera (powiedzmy losuje).
Tylko teraz tak - przy sprawdzaniu hasla trzeba sprawdzic caly zbior haszy dla wprowadzonego hasla z tym zapisanym, bo nie wiadomo ktory wynik ze zbioru sie zapisal. W szczegolnosci jezeli dla kazdego hasla te zbiory nie beda rozlaczne, to mamy mozliwosc ze zostanie zaakceptowane zle haslo (tzn zostanie wylosowany ten hash ktory sie gdzies powtarza). No to zalozmy ze wszystkie sa rozlaczne ...
Teraz to by mialo jakis sens, czyli:
Haslo NIE WYZNACZA jednoznacznie hasha (WYZNACZA jednoznacznie zbior hashy).
Hash WYZNACZA jednoznacznie haslo.
Tylko zeby to mialo jakis sens, to moc tego zbioru to musialoby byc ok 1k-10k.
Ale teraz wychodzi pewien niuans. Otoz tutaj hash to byloby rozszerzenie hasla (tzn z krotkiego hasla bylby produkowany jakis dlugi hash, bo trzeba sobie zapewnic duza ilosc tych hashy - dla kazdego hasla kilka tys - i unikalnosc - zeby 2 hasla nie mialy chociaz jednego wspolnego elementu w zbiorze hashy). Tylko w takim przypadku to odchodzi od definicji hashowania w ogolnosci. W hashowaniu dopuszczamy to o czym pisal Patrix, czyli 2 hasla moga dac takiego samego jednego ktotkiego hasha, czyli w prawdziwym haszowaniu jest:
Haslo WYZNACZA jednoznacznie hasha.
Hash NIE WYZNACZA jednoznacznie haslo (wyznacza zbior hasel ktore sa rownoznaczne po zastosowaniu funkcji hashujacej).
Wiec jezeli jest jest tak jak napisalem wczesniej, to jest to co innego niz opisywal Patrix (bo Patrix opisywal wlasnie hashowanie, a haszowanie polega na obcinaniu/rzutowaniu, a nie rozszerzaniu) i jest to zupelnie co innego niz hashowanie.