RSA-salausalgoritmi on eräänlainen julkisen avaimen salausalgoritmi. Ymmärtääksesi paremmin RSA:ta, ymmärtää ensin, mikä on julkisen avaimen salausalgoritmi.
Julkisen avaimen salausalgoritmi:
Julkisen avaimen salausalgoritmia kutsutaan myös epäsymmetriseksi algoritmiksi. Epäsymmetriset algoritmit ovat algoritmeja, joissa lähettäjä ja vastaanottaja käyttävät eri avaimia salaukseen ja salauksen purkamiseen. Jokaiselle lähettäjälle on määritetty pari avaimia:
The Julkinen avain käytetään salaukseen, ja Yksityinen avain käytetään salauksen purkamiseen. Salauksen purkamista ei voi tehdä julkisella avaimella. Nämä kaksi avainta on linkitetty, mutta yksityistä avainta ei voida johtaa julkisesta avaimesta. Julkinen avain tunnetaan hyvin, mutta yksityinen avain on salainen ja sen tietää vain avaimen omistava käyttäjä. Se tarkoittaa, että jokainen voi lähettää viestin käyttäjälle käyttämällä käyttäjän julkista avainta. Mutta vain käyttäjä voi purkaa viestin salauksen yksityisellä avaimellaan.
Julkisen avaimen algoritmi toimii seuraavalla tavalla:
- Lähetettävät tiedot salataan lähettäjän toimesta A käyttämällä aiotun vastaanottimen julkista avainta
- B purkaa vastaanotetun salatekstin yksityisellä avaimellaan, jonka vain B tietää. B vastaa A:lle salaamalla viestin A:n julkisella avaimella.
- A purkaa vastaanotetun salatekstin salauksen yksityisellä avaimellaan, joka on vain hänen tiedossa.
RSA-salausalgoritmi:
RSA on yleisin julkisen avaimen algoritmi, joka on nimetty sen keksijöiden mukaan Rivest, Shamir ja Adelman (RSA).
RSA-algoritmi käyttää seuraavaa menettelyä julkisten ja yksityisten avainten luomiseen:
- Valitse kaksi suurta alkulukua, p ja q .
- Kerro nämä luvut löytääksesi n = p x q, missä n kutsutaan salauksen ja salauksen purkamisen moduuliksi.
- Valitse numero se on vähemmän kuin n , niin että n on suhteellisen alkuluku (p - 1) x (q - 1). Se tarkoittaa sitä se on ja (p - 1) x (q - 1) ei ole yhteistä tekijää paitsi 1. Valitse 'e' siten, että 1
gcd (e,d(n)) =1 - Jos n = p x q, silloin julkinen avain on . Tavallinen tekstiviesti m on salattu julkisella avaimella. Salatekstin löytämiseksi tavallisesta tekstistä seuraavaa kaavaa käytetään salatekstin C saamiseksi.
C = mse onn:ää vastaan
Tässä , m on oltava pienempi kuin n . Suurempi viesti (>n) käsitellään viestien ketjuna, joista jokainen on salattu erikseen. - Yksityisen avaimen määrittämiseksi käytämme seuraavaa kaavaa d:n laskemiseen siten, että:
Dse onmod {(p - 1) x (q - 1)} = 1
Tai
Dse onmod φ (n) = 1 - Yksityinen avain on . Salatekstiviesti c salaus puretaan yksityisellä avaimella. Pelkän tekstin laskeminen m salatekstistä c seuraavaa kaavaa käytetään pelkän tekstin m saamiseksi.
m = cdn:ää vastaan
Otetaan esimerkki RSA-salausalgoritmista:
Esimerkki 1:
Tämä esimerkki näyttää, kuinka voimme salata selkeän tekstin 9 käyttämällä RSA:n julkisen avaimen salausalgoritmia. Tässä esimerkissä käytetään alkulukuja 7 ja 11 julkisten ja yksityisten avainten luomiseen.
Selitys:
Vaihe 1: Valitse kaksi suurta alkulukua, p ja q .
p = 7
kaupungit australiassa
q = 11
Vaihe 2: Kerro nämä luvut löytääksesi n = p x q, missä n kutsutaan salauksen ja salauksen purkamisen moduuliksi.
Ensin lasketaan
n = p x q
n = 7 x 11
n = 77
Vaihe 3: Valitse numero se on vähemmän sitä n , niin että n on suhteellisen alkuluku (p - 1) x (q - 1). Se tarkoittaa sitä se on ja (p - 1) x (q - 1) ei ole yhteistä tekijää paitsi 1. Valitse 'e' siten, että 1 Toiseksi laskemme φ (n) = (p - 1) x (q-1) φ (n) = (7 - 1) x (11 - 1) φ (n) = 6 x 10 φ (n) = 60 Valitaan nyt 60:n suhteellinen alkuluku e arvoksi 7. Siten julkinen avain on = (7, 77) Vaihe 4: Tavallinen tekstiviesti m on salattu julkisella avaimella. Salatekstin löytämiseksi tavallisesta tekstistä seuraavaa kaavaa käytetään salatekstin C saamiseksi. Salatekstin löytämiseksi tavallisesta tekstistä seuraavaa kaavaa käytetään salatekstin C saamiseksi. C = mse onn:ää vastaan C = 9777 vastaan C = 37 Vaihe 5: Yksityinen avain on . Yksityisen avaimen määrittämiseksi käytämme seuraavaa kaavaa d siten, että: Dse onmod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1, mikä antaa d = 43 Yksityinen avain on = (43, 77) Vaihe 6: Salatekstiviesti c salaus puretaan yksityisellä avaimella. Pelkän tekstin laskeminen m salatekstistä c seuraavaa kaavaa käytetään pelkän tekstin m saamiseksi. m = cdn:ää vastaan m = 374377 vastaan m = 9 Tässä esimerkissä pelkkä teksti = 9 ja salateksti = 37 RSA-salausjärjestelmässä tietty A käyttää kahta alkulukua, 13 ja 17, julkisen ja yksityisen avaimen luomiseen. Jos A:n julkinen on 35. Silloin A:n yksityinen avain on ……………?. Selitys: Vaihe 1: valitse ensimmäisessä vaiheessa kaksi suurta alkulukua, s ja q . p = 13 q = 17 Vaihe 2: Kerro nämä luvut löytääksesi n = p x q, missä n kutsutaan salauksen ja salauksen purkamisen moduuliksi. Ensin lasketaan n = p x q n = 13 x 17 n = 221 Vaihe 3: Valitse numero se on vähemmän sitä n , niin että n on suhteellisen alkuluku (p - 1) x (q - 1). Se tarkoittaa sitä se on ja (p - 1) x (q - 1) ei ole yhteistä tekijää paitsi 1. Valitse 'e' siten, että 1 Toiseksi laskemme φ (n) = (p - 1) x (q-1) φ (n) = (13 - 1) x (17 - 1) φ (n) = 12 x 16 φ (n) = 192 g.c.d (35, 192) = 1 Vaihe 3: Yksityisen avaimen määrittämiseksi käytämme seuraavaa kaavaa d:n laskemiseen siten, että: Laske d = dse onmod φ (n) = 1 d = d x 35 mod 192 = 1 d = (1 + k.φ (n))/e [olkoon k = 0, 1, 2, 3…………………] Laita k = 0 d = (1 + 0 x 192)/35 d = 1/35 Laita k = 1 d = (1 + 1 x 192)/35 d = 193/35 Laita k = 2 d = (1 + 2 x 192)/35 d = 385/35 d = 11 Yksityinen avain on = (11, 221) Tästä syystä yksityinen avain eli d = 11 RSA-salausjärjestelmä käyttää kahta alkulukua 3 ja 13 julkisen avaimen = 3 ja yksityisen avaimen = 7 luomiseen. Mikä on salakirjoituksen arvo tavalliselle tekstille? Selitys: Vaihe 1: Valitse ensimmäisessä vaiheessa kaksi suurta alkulukua, s ja q . p = 3 q = 13 Vaihe 2: Kerro nämä luvut löytääksesi n = p x q, missä n kutsutaan salauksen ja salauksen purkamisen moduuliksi. Ensin lasketaan n = p x q n = 3 x 13 n = 39 Vaihe 3: Jos n = p x q, silloin julkinen avain on . Tavallinen tekstiviesti m on salattu julkisella avaimella. Siten julkinen avain on = (3, 39). Salatekstin löytämiseksi tavallisesta tekstistä seuraavaa kaavaa käytetään salatekstin C saamiseksi. C = mse onn:ää vastaan C = 53kohti 39 C = 125 vs. 39 C = 8 Näin ollen pelkästä tekstistä luotu salateksti, C = 8. RSA-salausjärjestelmä käyttää kahta alkulukua, 3 ja 11, luomaan yksityisen avaimen = 7. Mikä on salatekstin arvo tavalliselle tekstille 5 käyttämällä RSA:n julkisen avaimen salausalgoritmia? Selitys: Vaihe 1: valitse ensimmäisessä vaiheessa kaksi suurta alkulukua, s ja q . p = 3 q = 11 Vaihe 2: Kerro nämä luvut löytääksesi n = p x q, missä n kutsutaan salauksen ja salauksen purkamisen moduuliksi. Ensin lasketaan n = p x q n = 3 x 11 n = 33 Vaihe 3: Valitse numero se on vähemmän sitä n , niin että n on suhteellisen alkuluku (p - 1) x (q - 1). Se tarkoittaa sitä se on ja (p - 1) x (q - 1) ei ole yhteistä tekijää paitsi 1. Valitse 'e' siten, että 1 Toiseksi laskemme φ (n) = (p - 1) x (q-1) φ (n) = (3 - 1) x (11 - 1) φ (n) = 2 x 10 φ (n) = 20 Vaihe 4: Julkisen avaimen määrittämiseksi käytämme seuraavaa kaavaa d:n laskemiseen siten, että: Laske e x d = 1 mod φ (n) e x 7 = 1 vastaan 20 e x 7 = 1 vastaan 20 e = (1 + k. φ (n))/ d [olkoon k = 0, 1, 2, 3…………………] Laita k = 0 e = (1 + 0 x 20) / 7 e = 1/7 Laita k = 1 e = (1 + 1 x 20) / 7 e = 21/7 e = 3 Julkinen avain on = (3, 33) Tästä syystä julkinen avain eli e = 3 Esimerkki 2:
Esimerkki 3:
Esimerkki 4: