RSA šifrēšanas algoritms
From Wikipedia, the free encyclopedia
RSA šifrēšanas algoritms ir mūsdienās visplašāk lietotais asimetriskās šifrēšanas algoritms. Tas pirmo reizi tika aprakstīts 1977. gadā un ir vēsturiski pirmais plaši lietotais asimetriskās šifrēšanas algoritms.
- Šis raksts ir par algoritmu. Par citām jēdziena RSA nozīmēm skatīt nozīmju atdalīšanas lapu.
Nosaukums RSA ir veidots no tā izgudrotāju uzvārdu pirmajiem burtiem (Rivest, Shamir, Adleman).
RSA algoritmā tiek lietotas divas atslēgas: privātā atslēga un publiskā atslēga. Datus, kas nošifrēti ar vienu atslēgu, atšifrēt var tikai ar otru. Abas atslēgas ir savā starpā saistītas, bet no vienas aprēķināt otru ir gandrīz neiespējami (šī darbība ir atslēgas atlaušana). Privāto atslēgu tur slepenībā. Publisko atslēgu izplata visiem, kam var būt nepieciešamība nosūtīt šifrētus datus privātās atslēgas turētājam.
- Variantu, kur datus šifrē ar publisko atslēgu (un var atšifrēt ar privāto), lieto datu šifrēšanai.
- Variantu, kur datus šifrē ar privāto atslēgu (un var atšifrēt ar publisko), lieto elektroniskajam parakstam.
Asimetriskie algoritmi (kā RSA) ir ievērojami lēnāki kā simetriskie (kā AES), tāpēc, ja ir jānošifrē liels daudzums datu, ar RSA šifrē tikai simetrisko atslēgu, un pašus datus šifrē ar simetrisko šifrēšanu. Asimetriskajiem algoritmiem, lai sasniegtu tādu pašu drošības līmeni, ir nepieciešamas ievērojami garākas atslēgas (AES simetriskās šifrēšanas algoritmam kaut cik drošs atslēgas garums ir 128 biti, RSA vajag vismaz 1024.) RSA atslēgu drošība (tas, cik daudz laika nepieciešams tās atlaušanai (pie noteiktas skaitļošanas jaudas)), ir atkarīga no atslēgas garuma. Garākas atslēgas ir drošākas, bet visas darbības ar tām ir lēnākas. Pietiekoši garu atslēgu (4096 un vairāk) atlaušanai ar klasiskajiem datoriem vajadzētu miljardiem gadu, taču uzskata, ka tādas varētu atlauzt ievērojami īsākā laikā ar kvantu datoru. Pagaidām pietiekoši jaudīgi kvantu datori nav uzbūvēti. Līdz šim (2020. gada marts) garākā publiski zināmā atlauztā RSA atslēga ir 829 bitus gara un to atlauza 2020. gada 28. februārī.[1] Tam tika patērēti 2700 procesora kodolu gadi (core-years).