Post by RemekAby zlamac taki szyfr taki przeskok strasznie utrudnia (zwieksza ilosc
kombinacji) ...
Złamać hasło? Jak to możliwe? Dam Ci do złamania programik zabezpieczony
8 znakowym hasłem niesłownikowym. Liczba możliwych kombinacji przy
założeniu, że mamy do dyspozycji 50 znaków (litery, cyfry i znaki specjalne)
wynosi 40 497 019 076 864. Gdybyśmy rozróżniali duże i małe litery to ilość
kombinacji będzie o wiele większa. Masz 1 rok na jego złamanie.
Złamanie Twojego hasła w ciągu roku byłoby wykonalne nawet dla mnie, gdybym
zdołał jakoś namówić szefa, żeby nie wyłączać tych 120 komputerów w
laboratorium studenckim na noc...
Wg http://openwall.info/wiki/john/benchmarks zwykły Intel Q9550 2.83 GHz
pozwala sprawdzać 31932 haseł (MD5, dla crypt(3) o dwa rzędy wielkości
więcej) na sekundę; 100 takich procesorów złamie Twoje hasło (zakładając, że
faktycznie chodziło Ci o 50-znakową przestrzeń i 8-znakowe hasła oraz że
Twoje hasło jest przechowywane tak, jak to obecnie jest powszechne w
Unixach, tj. jako hash MD5) w czasie 50^8/(31932*100) = 12233026 s = 141
dni, czyli mniej niż pół roku, 100 000 takich procesorów - w czasie 203
*minut*. Tak się składa, że to jest akurat problem, który zrównolegla się
idealnie.
A jeżeli Ci się wydaje, że 100 000 procesorów to bardzo dużo, to zajrzyj np.
tu: http://gadgets.boingboing.net/2008/04/07/recordbreaking-krake.html -
rekordowy botnet wg stanu na kwiecień 2008 składał się z 400 000 komputerów.
Nawet jeśli większość z nich miała procesory kilkukrotnie słabsze niż Q9550,
to nadal setki raz więcej mocy niż konieczne do złamania Twojego hasła w
ciągu roku. W projekcie ***@home uczestniczy 2.5 mln komputerów, a we
wszystkich projektach BOINC - 4.8 mln, ale chciałem uzmysłowić Ci, że tego
rzędu moce obliczeniowe są dostępne także dla zwykłych przestępców.
Natomiast założenie, że przestrzeń wynosi 50 znaków, wydaje się nieco
sztuczne - duże i małe litery zazwyczaj *są* rozróżniane, a wszystkich
znaków ASCII (z pominięciem sterujących) jest 95.
95^8 = 6 634 204 312 890 625; 170 razy więcej niż 50^8 (nb. pomyliłeś się,
50^8 = 39 062 500 000 000, a nie 40 497 019 076 864). Ale 170 razy 200 minut
to nadal nie jest dużo... zaledwie 24 doby.
--
Szymon Sokół (SS316-RIPE) -- Network Manager B
Computer Center, AGH - University of Science and Technology, Cracow, Poland O
http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F
Free speech includes the right not to listen, if not interested -- Heinlein H