• LittleBirdY
    #38644
    Majd én. Tegyük fel, hogy a jelszó nem case sensitive, pl mint a battle.net esetében (mindent nagybetűre konvertál). Most tekintsünk el a speciális karakterektől, tehát csak a betűket és a számokat nézzük. Azt is tegyük fel az egyszerűség kedvéért, hogy nem hash-elve tároljuk a jelszavakat, hanem plain text, tehát szépen elolvasható.

    Ebben az esetben ha csak az angol abc betűit, és a számjegyeket használjuk, akkor egy 8 karakteres jelszó brute force feltöréséhez 36^8 lehetőséget kell végigpróbálnunk (26 betű és 10 számjegy). Ez kiszámolva ~2.8*10^12 lehetőség. Ha azt nézzük, hogy egy mai átlagos processzornak két magja van, és mindkettő kb 2.4 Ghz teljesítményre képes, és egy órajel alatt el tud végezni 1 műveletet; valamint feltesszük, hogy ez a teljesítmény dedikálva van a brute force-ra, tehát nem kell más folyamatokkal megossza a teljesítményét, akkor ez 2,4*10^9 művelet másodpercenként. Így 1167 mp alatt fel lehet törni egy jelszót, ami nem sok idő. (19 perc)

    Ha most módosítjuk az autentikációt úgy, hogy case sensitive legyen, akkor a 36^8 lehetőség újabb 26 karakterrel nő, (nagybetűk - 26 karakter; kisbetűk - 26 karakter; számjegyek - 10 karakter), tehát már 72^8 lehetőségnél vagyunk egy 8 karakteres jelszó esetén. Ez ~7.2*10^14 lehetőség. Az előbbi processzorral számolva ez már 5015 perc lenne. (~3,5 nap)

    Persze ez erősen absztrakt leírás, mert nem vettük figyelembe a speciális karaktereket, illetve egy battle.net autentikáció néhány próbálkozás után valószínűleg kitilt, illetve nem is lehet másodpercenként néhány milliárd lehetőséget kipróbálni az internet sebességéből adódóan, de ha mondjuk valaki megnyomná a battle.net szervereit, és mondjuk kiszedné a user hash-eket, akkor lényegesen egyszerűbb feltörni egy case insensitive jelszót offline, mint egy case sensitive-et.