Krátké heslo
#2a@X7 - 6ti znakové heslo. Když počítáme, že password cracker zkouší 70 znaků (malá a velká písmena, číslice, nějaké speciální znaky), tak celkový počet kombinací vyjde asi 70^6 = 117 649 000 000, což je něco přes 177 miliard (snad dobře počítám). Ono tady záleží, jak rychle ten password cracker je schopen hesla zkoušet. Co jsem zkoušel lámat u RARů, tak jsem se dostal snad maximálně na nějakých 45 hesel za sekundu, což je opravdu k smíchu. Ono tam také záleží na tom, jak ten RAR cracker pracuje, jestli pořád čte ten RAR soubor, nebo si ho třeba uloží do paměti atd. Čarlsi, jestli vypisuje počet vyzkoušených hesel za sekundu, tak by mě to číslo zajímalo.
Když ale cracker má k dispozici třeba MD5 hash, tak proti němu dokáže zkoušet helsa o hodně rychleji (myslím, že jsem někde viděl implementaci, co generovala nějaké 3 000 000 MD5tek za sekundu a se speciálním HW (několik výkonných graf. karet) se dá dosáhnout i přes miliardu vyzkoušených hesel za sekundu).
Dlouhé heslo
Heslo "vole-karle" je sice delší, ale útočník na něj podle mne může přijít dříve, pokud správně zvolí techniku útoku. Řekněme, že v hesle jsou jen malá písmena a nějaké speciální znaky - dejme tomu celkem 35 možných znaků. To vytváří 35^10 = 2 758 547 353 515 625, což je opravdu hodně

. Na druhou stranu, kdyby útočník zkoušel nějakou variantu slovníkového útoku, kdy zkouší slova ze slovníku (kde určitě "vole" a "karle" mít bude) a různě je spojuje, tak by možná dosáhl daleko menšího počtu kombinací. Ale to je otázka. Mi to číslo 35^10 přijde stejně nějaké velké, kdyžtak někdo přepočítejte.
Čarlsi, kdybys měl s lámáním hesel jiné zkušenosti, tak napiš. Abych tady nekecal...
Asymetrická vs. symetrická kryptografie
Ono má každá tato metoda své výhody a nevýhody.
Asymetrické šifrování nese výhodu v tom, že svůj soukromý klíč, kterým zprávy dešifrujete/podepisujete, nikomu neposíláte. Ostatní mají váš veřejný klíč, kterým šifrují zprávy určené pro vás, nebo ověřují váš podpis. Přitom odvození tajného klíče z klíče veřejného je výpočetně nezvládnutelná operace. Většinou se asymetrická šifra konstruuje tak, že pokud by jí někdo prolomil (v rozumném čase dokázal se nějak ze znalosti veřejného klíče dostat ke klíči tajnému), tak by vyřešil nějaký obtížný matematický problém (např. faktorizaci velkých čísel, problém diskrétního logaritmu).
RSA:
Například RSA je postavena na tom, že neumíme efektivně faktorizovat (rozložit na prvočinitele) součin dvou velkých prvočísel. Kdybychom to uměli, tak RSA není bezpečná. U RSA je konkrétně zajímavý fakt, že pokud by někdo tuto šifru prolomil, automaticky to neznamená, že umí rozkládat velká čísla (RSA není s problémem faktorizace ekvivalentní, resp. zatím to myslím nikdo nedokázal).
Takže když chcete, aby vám někdo posílal asymetricky šifrované zprávy, tak mu musíte jen dodat svůj veřejný klíč. Tady je nejideálnější přenos "z ruky do ruky." Jinak je teoreticky možný útok typu man-in-the-middle. Pravděpodobnost tohoto útoku je však většinou velmi malá při běžném užití.
Nevýhoda asymetrických šifer je ta, že při šifrování a dešifrování je potřeba provést velké množství operací. Jedná se většinou o práci s velkými čísly, jejich násobení, umocňování a dělení se zbytkem (modulo). Kdyby se asymetricky šifroval například soubor velký 1 MB, trvalo by to asi i deset minut. Proto se šifruje například hybridně - data se zašifrují symetrickou šifrou (klíč se náhodně vygeneruje), klíč se k nim přidá a zašifruje asymetrickou šifrou. Příjemce zprávy pak napřed dešifruje klíč a až poté vlastní zprávu.
Symetrické šifry
Výhodou symetrických šifer je právě jejich rychlost. Využívají ve velké míře logické operace (XOR, AND, OR, NEG, NOT), což procesorům velmi dobře jde. Nevýhodou je, že k šifrování i dešifrování se používá stejný klíč. Tady si moc nejsem jistý, jak je to provázané s matematikou, ale v podstatě se jedná o substituční šifry, ale nad velkou abecedou (převede třeba 128 bitů otevřeného (16 bajtů) na jiných 128 šifrovaného textu) a dalšími technikami se zajistí, aby nešla porévst frekvenční analýza. Se symetrickou šifrou ale nějak jednoduše neuděláte digitální podpis.
Nějaký závěr
Ono asi není úplně dobré snažit se prolomit hesla/šifry na tom nejsilnějším místě. Protože třeba vynálezce šifry svého miláčka navrhuje tak, aby vyzkoušení všech klíčů bylo výpočetně nezvládnutelné. Proto je výhodnější využít slabšího článku - třeba člověka. A jak píšeš, Čarlsi, tak je to také o tom, jak moc se vyplatí nějaké heslo/šifru lámat. Něco podobného si myslím, že platí i u vytváření nových (revolučních) virů... proč používat nové techniky, když ty staré jsou stále efektivní?