IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Výpočet odhadovaného času na prolomení hesla v závislosti na výkonu pc

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Tomáš Pospíšil:17.10.2017 0:43

Ahoj, omlouvám se za hororový název vlákna ale je noc a už mi to moc nemyslí.

Zkrátka, dostal jsem za úkol napsat program, který mi ověří sílu uživatelem daného hesla.
Jedním z podúkolů je vypočítat odhadovaný čas prolomení(čas, který počítači zabere, než projde všechny permutace hesla)

Jako nápovědu jsem dostal, že pro výpočet času můžu využít entropii(tu zatím taky nechápu) a výsledek vydělit výpočetním výkonem(computer power)

Je v C# nějaká možnost, jak spočítat "výkon" daného PC?

Zatím jsem narazil jenom na třídu Stopwatch, která mi spočítá(pokud ji dobře chápu), jak dlouho počítači trvalo provést mnou určený kus kódu. Neexistuje nějaký lepší způsob?

btw. neměl bych používat žádné knihovny 3-tích stran

 
Odpovědět
17.10.2017 0:43
Avatar
Mára
Člen
Avatar
Odpovídá na Tomáš Pospíšil
Mára:17.10.2017 9:33

Vzorec pro tu entropii je

H = log2 N ^ L

N je počet možných symbolů(abeceda atd.), mělo by být 218, pokud chceš použít celou ASCII tabulku znaků.
L je kolikamístné je heslo.
A když budeme sílu PC chápat jako maximální frekvenci procesoru, tak můžeme použít tenhle kód na získání max. frekvence

var searcher = new ManagementObjectSearcher(
           "select MaxClockSpeed from Win32_Processor");
foreach (var item in searcher.Get())
{
     var clockSpeed = (uint)item["MaxClockSpeed"];
}

a pak už jen

vysledek = H / clockSpeed;

Nevím, v čem je clockSpeed, možná budeš muset převést na Hz z GHz, nebo z MHz.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
17.10.2017 9:33
Avatar
Odpovídá na Mára
Michal Štěpánek:17.10.2017 12:15

Dobře ty. 8-)

Editováno 17.10.2017 12:15
Nahoru Odpovědět
17.10.2017 12:15
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Mára
Tomáš Pospíšil:17.10.2017 12:36

Dekuju moc :-) to jsem presne potreboval.

 
Nahoru Odpovědět
17.10.2017 12:36
Avatar
Mára
Člen
Avatar
Odpovídá na Tomáš Pospíšil
Mára:17.10.2017 12:40

Není zač, rád pomůžu.

 
Nahoru Odpovědět
17.10.2017 12:40
Avatar
Pavol Hejný
Tvůrce
Avatar
Odpovídá na Tomáš Pospíšil
Pavol Hejný:17.10.2017 13:27

Jenom taková trochu OT poznámka: Hesla se v první vlně obvykle neprolamují pomocí útoku hrubou silou, ale slovníkovým útokem. A záleží na použitém hashovací funkci, podle tomu můžeš použít mnohem lepší HW nástroj než CPU na prolamování - GPU či FPGA čip.

Nahoru Odpovědět
17.10.2017 13:27
/^(web )?(app )?developer$/
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.