Úloha: rsa (h6)

Autor(i): MišoF

zadanie :: riešenie :: diskusia :: poradie riešiteľov


Tým ťažkým na tejto úlohe malo byť uveriť, že je to naozaj RSA, a trúfnuť si to veľké číslo zo zadania faktorizovať. Trochu sme zaváhali, keď sme dosť rýchlo nezmazali z fóra príspevky, ktoré toto potvrdzovali. A následne sme už nechceli zvýhodňovať tých, čo to stihli prečítať, tak sme príspevky nechali kde boli a hodili nad tým rukou. No čo, tak bola tá úloha trochu ľahšia.

Paradoxne, úlohu išlo riešiť, aj ak o RSA priveľa neviete. Záujemcov o vedomosti odkazujeme na Wikipédiu, tu ukážeme len rýchly postup riešenia.

Step 1. Prečítame si o RSA, že číslo N zo zadania je súčin dvoch prvočísel p a q, ktoré slúžia ako súkromný kľúč. Kto pozná N, môže šifrovať, kto pozná p a q, môže aj dešifrovať.

Chceme teda z N získať p a q. Toto sa volá faktorizácia. Je to ťažký problém, nevie sa, či existuje efektívne riešenie, a teda ani žiadne nie je známe. (Pre záujemcov: najefektívnejšie známe algoritmy sa volajú General Number Field Sieve a Elliptic Curve Sieve.)

To najlepšie, čo je známe, je naprogramované v softoch ako Mathematica. Alebo sa dá nájsť na webe. Napríklad tento applet.

Step 2. Počkáme pár hodín až dní.

Step 3. Nájdeme si niečo, čo RSA počíta, napríklad táto stránka. Nakŕmime údajmi. Dostaneme výsledok, ktorým je veta "Kodove slovo je rotunda."