somekind:
Ale tam nigdzie nie ma tępego brute-force. Pierwsze hasło jest w rzeczywistości udziwnionym, rzadko używanym słowem. Entropia słowa w pierwszym przypadku to 16 bitów (pomijając udziwnienia), czyli trzeba tam słownika o rozmiarze ~70k słów. W drugim przypadku mamy popularne słowa o entropii 11 bitów, czyli wystarczy słownik na ~2k słów.
Gdybyśmy stworzyli sobie w pełni losowe hasło, które trzeba by było łamać tylko i wyłącznie brutem, to tu rzeczywiście lekkie wydłużenie zwiększa czas łamania znacznie. Zakładając, że używamy ok 100 znaków (małe i duże litery, cyfry, specjalne znaczki, itp), to entropia jednego znaku wynosi ok 6.5 bita. Aby uzyskać siłę hasła jak w przypadku "correct horse battery staple", trzeba użyć siedmiu znaków, np: *h^6Y{O.
Myślę, że zapamiętanie tych czterech słów byłoby łatwiejsze. Ponadto, można wymyślić całe zdanie (byle nie kopiować cytatów), a wtedy entropia jest jeszcze wyższa, z zachowaniem łatwości zapamiętywania.
aurel:
Przelatywanie zlepków dwóch czy trzech słów jest super szybkie w porównaniu do przeszukiwania czterech.
Zakładając, że słownik to zbiór X, o rozmiarze 2k, to przelecenie wszystkich elementów należących do:
- X zabiera 2k operacji,
- X^2 zabiera 4kk operacji,
- X^3 zabiera 8kkk operacji,
- X^4 zabiera 16kkkk operacji,
2e3+4e6+8e9÷(2e3+4e6+8e9+16e12) * 100 % = .05 %, a więc pierwsze trzy przejścia nawet jednego promila ogólnego czasu nie zajmą.