Zadání: Máme šifrovací algoritmus, k jeho prolomení hrubou silou je potřeba \$2^128\$ operací.
Na našem výpočetním zařízení jsme schopni udělat \$10^6\$ (jeden milion) operací za sekundu.
1. Vypočtěte, za jak dlouho můžeme teoreticky algoritmus zlomit.
Výsledek uveďte v sekundách a potom převeďte na roky, přičemž jeden rok bude mít 365 dní přesně.
Řešení
Celkově musíme provést \$2^128 = 3.4028*10^38\$ operací. Za 1 sekundu jich můžeme udělat \$10^6\$. Počet sekund k dokončení úkolu je \$frac{2^128}{10^6} \approx 3.4028*10^32\$.
Rok má \$60*60*24*365 = 31536000\$ sekund.
K dokončení úkolu potřebujeme \$frac{2^128}{10^6*31536000} \approx frac{3.4028*10^38}{3.1536*10^13} \approx 1.079*10^25\$ let.
2. Předpokládejme, že se nám podaří získat dalších 999999 stejných výpočetních zařízení a každé zařízení bude počítat svoji část úkolu nezávisle na jiných zařízeních. Jak dlouho bude trvat prolomení alogritmu v této konfiguraci?.
Výsledek uveďte v sekundách a potom převeďte na roky, přičemž jeden rok bude mít 365 dní přesně.
Řešení
Celkově musíme provést \$2^128 = 3.4028*10^38\$ operací. Máme 1000000 zařízení a za 1 sekundu jich můžeme udělat \$10^6*10^6=10^12\$. Počet sekund k dokončení úkolu je \$frac{2^128}{10^12} \approx 3.4028*10^26\$.
Rok má \$60*60*24*365 = 31536000\$ sekund.
K dokončení úkolu potřebujeme \$frac{2^128}{10^12*31536000} \approx frac{3.4028*10^38}{3.1536*10^19} \approx 1.079*10^19\$ let.
3. Je reálné tento šifrovací algoritmus zlomit hrubou silou?
Řešení
Nejpřesnější odhad věku vesmíru je: \$13.799±0.021*10^9\$ let. Prolomení hroubou silou bude trvat ještě o \$10^10\$ let déle, takže to není reálné.
Algoritmy se navrhují tak, aby hrubou silou nebyly zlomitelné v rozumném čase a s rozumnými náklady. Navíc hodnota skryté zašifrované informace s časem klesá.