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á.