RSA krüpteerimise mänguasi
Vali kaks algarvu, sisesta sõnum ja vaata, kuidas RSA selle krüpteerib ning seejärel dekrüpteerib.
Modulaararitmmeetika ja algarvude tegurdamise keerukus 🖖
RSA-krüpteerimine tugineb algarvude tegurdamise asümmeetrilisele matemaatilisele keerukusele. Võtmed genereeritakse Euleri funktsiooni φ(n) = (p-1)(q-1) ja modulaararitmmeetika abil: c = m^e mod n. Dekrüpteerimine on võimalik ainult salajase eksponendiga d, kus e * d ≡ 1 mod φ(n), mida on ilma n-i tegurdamata võimatu lahti harutada.
Tabalukk, mida avad ainult sina 🖖
RSA annab igaühele lahtise tabaluku (sinu avaliku võtme), mille saab sõnumi ümber kinni klõpsata, kuid ainult sinu privaatvõti avab selle taas. Kuna lukustamine ja avamine kasutavad eri võtmeid, võid avaliku võtme kogu maailmale nähtavaks teha, reetmata, kuidas dekrüpteerida. See tööriist laseb kogu tsükli läbi mängida pisikeste algarvudega; päris süsteemid kasutavad samu samme sadade numbrikohtadega arvudega.
Krüpteerimine tagurpidi on allkiri 🖖
Seesama RSA tehe, tehtud vastupidises suunas, tõestab, kes sõnumi saatis, selle asemel et seda peita. Kui "dekrüpteerid" sõnumi oma privaatvõtmega, saab igaüks selle su avaliku võtmega tagasi "krüpteerida", et veenduda, et see tõesti pärineb sinult - see ongi digitaalallkiri. Nii toidab üksainus arvutus nii konfidentsiaalsust kui ka autentimist, lihtsalt vahetades, milline võti esimesena käiku läheb.
Näiteülesanded
- p=61, q=53 - p=61, q=53: klassikaline õpiku RSA näide
- Väikesed algarvud - p=7, q=11: väikesed algarvud, lihtne jälgida
- Suuremad algarvud - p=101, q=103: suurem võtmeruum
- Õpikunäide - p=17, q=19: õpikuülesanne