logo

Algoritmul de criptare RSA

Algoritmul de criptare RSA este un tip de algoritm de criptare cu cheie publică. Pentru a înțelege mai bine RSA, să înțelegem mai întâi ce este algoritmul de criptare cu cheie publică.

Algoritm de criptare cu cheie publică:

Algoritmul de criptare cu cheie publică este numit și algoritm asimetric. Algoritmii asimetrici sunt acei algoritmi în care expeditorul și receptorul folosesc chei diferite pentru criptare și decriptare. Fiecărui expeditor i se atribuie o pereche de chei:

    Cheie publică Cheie privată

The Cheie publică este folosit pentru criptare, iar Cheie privată este folosit pentru decriptare. Decriptarea nu se poate face folosind o cheie publică. Cele două chei sunt legate, dar cheia privată nu poate fi derivată din cheia publică. Cheia publică este bine cunoscută, dar cheia privată este secretă și este cunoscută doar de utilizatorul care deține cheia. Înseamnă că oricine poate trimite un mesaj utilizatorului folosind cheia publică a utilizatorului. Dar numai utilizatorul poate decripta mesajul folosind cheia sa privată.

Algoritmul cheii publice funcționează în felul următor:

Algoritmul de criptare RSA
  • Datele care urmează să fie trimise sunt criptate de către expeditor A folosind cheia publică a receptorului vizat
  • B decriptează textul cifrat primit folosind cheia sa privată, care este cunoscută doar de B. B îi răspunde lui A criptând mesajul folosind cheia publică a lui A.
  • A decriptează textul cifrat primit folosind cheia sa privată, care este cunoscută doar de el.

Algoritm de criptare RSA:

RSA este cel mai comun algoritm cu cheie publică, numit după inventatorii săi Rivest, Shamir și Adelman (RSA).

Algoritmul de criptare RSA

Algoritmul RSA utilizează următoarea procedură pentru a genera chei publice și private:

  • Selectați două numere prime mari, p și q .
  • Înmulțiți aceste numere pentru a găsi n = p x q, Unde n se numește modul pentru criptare și decriptare.
  • Alegeți un număr Este mai puțin decât n , astfel încât n este relativ prim pentru (p - 1) x (q -1). Înseamnă că Este și (p - 1) x (q - 1) nu au un factor comun cu excepția 1. Alegeți „e” astfel încât 1 mcd (e,d(n)) =1
  • Dacă n = p x q, atunci cheia publică este . Un mesaj text simplu m este criptat folosind cheia publică. Pentru a găsi text cifrat din textul simplu, următoarea formulă este folosită pentru a obține textul cifrat C.
    C = mEsteîmpotriva n
    Aici , m trebuie să fie mai mică decât n . Un mesaj mai mare (>n) este tratat ca o concatenare de mesaje, fiecare dintre acestea fiind criptat separat.
  • Pentru a determina cheia privată, folosim următoarea formulă pentru a calcula d astfel încât:
    DEstemod {(p - 1) x (q - 1)} = 1
    Sau
    DEstemod φ (n) = 1
  • Cheia privată este . Un mesaj cifrat c este decriptat folosind cheia privată. Pentru a calcula text simplu m din textul cifrat c următoarea formulă este folosită pentru a obține textul simplu m.
    m = cdîmpotriva n

Să luăm un exemplu de algoritm de criptare RSA:

Exemplul 1:

Acest exemplu arată cum putem cripta textul simplu 9 folosind algoritmul de criptare cu cheie publică RSA. Acest exemplu folosește numerele prime 7 și 11 pentru a genera cheile publice și private.

Explicaţie:

Pasul 1: Selectați două numere prime mari, p și q .

p = 7

q = 11

Pasul 2: Înmulțiți aceste numere pentru a găsi n = p x q, Unde n se numește modul pentru criptare și decriptare.

În primul rând, calculăm

n = p x q

n = 7 x 11

n = 77

Pasul 3: Alegeți un număr Este mai putin n , astfel încât n este relativ prim pentru (p - 1) x (q -1). Înseamnă că Este și (p - 1) x (q - 1) nu au un factor comun cu excepția 1. Alegeți „e” astfel încât 1

În al doilea rând, calculăm

φ (n) = (p - 1) x (q-1)

φ (n) = (7 - 1) x (11 - 1)

φ (n) = 6 x 10

φ (n) = 60

Să alegem acum e prim relativ de 60 ca 7.

Astfel, cheia publică este = (7, 77)

Pasul 4: Un mesaj text simplu m este criptat folosind cheia publică. Pentru a găsi text cifrat din textul simplu, următoarea formulă este folosită pentru a obține textul cifrat C.

Pentru a găsi text cifrat din textul simplu, următoarea formulă este folosită pentru a obține textul cifrat C.

C = mEsteîmpotriva n

C = 97contra 77

C = 37

Pasul 5: Cheia privată este . Pentru a determina cheia privată, folosim următoarea formulă d astfel încât:

DEstemod {(p - 1) x (q - 1)} = 1

7d mod 60 = 1, care d = 43

Cheia privată este = (43, 77)

Pasul 6: Un mesaj cifrat c este decriptat folosind cheia privată. Pentru a calcula text simplu m din textul cifrat c următoarea formulă este folosită pentru a obține textul simplu m.

m = cdîmpotriva n

m = 3743contra 77

m = 9

În acest exemplu, textul simplu = 9 și textul cifrat = 37

vârsta vicky kaushal

Exemplul 2:

Într-un criptosistem RSA, un anumit A folosește două numere prime, 13 și 17, pentru a genera cheile publice și private. Dacă publicul lui A este 35. Atunci cheia privată a lui A este ……………?.

Explicaţie:

Pasul 1: în primul pas, selectați două numere prime mari, p și q .

p = 13

q = 17

Pasul 2: Înmulțiți aceste numere pentru a găsi n = p x q, Unde n se numește modul pentru criptare și decriptare.

În primul rând, calculăm

n = p x q

n = 13 x 17

n = 221

Pasul 3: Alegeți un număr Este mai putin n , astfel încât n este relativ prim pentru (p - 1) x (q -1). Înseamnă că Este și (p - 1) x (q - 1) nu au un factor comun cu excepția 1. Alegeți „e” astfel încât 1

În al doilea rând, calculăm

φ (n) = (p - 1) x (q-1)

φ (n) = (13 - 1) x (17 - 1)

φ (n) = 12 x 16

φ (n) = 192

g.c.d (35, 192) = 1

Pasul 3: Pentru a determina cheia privată, folosim următoarea formulă pentru a calcula d astfel încât:

Calculați d = dEstemod φ (n) = 1

d = d x 35 mod 192 = 1

d = (1 + k.φ (n))/e [fie k =0, 1, 2, 3……]

Puneti k = 0

d = (1 + 0 x 192)/35

d = 1/35

Puneți k = 1

d = (1 + 1 x 192)/35

d = 193/35

Puneți k = 2

d = (1 + 2 x 192)/35

d = 385/35

d = 11

Cheia privată este = (11, 221)

Prin urmare, cheia privată, adică d = 11

Exemplul 3:

Un criptosistem RSA folosește două numere prime 3 și 13 pentru a genera cheia publică = 3 și cheia privată = 7. Care este valoarea textului cifrat pentru un text simplu?

Explicaţie:

Pasul 1: În primul pas, selectați două numere prime mari, p și q .

p = 3

q = 13

Pasul 2: Înmulțiți aceste numere pentru a găsi n = p x q, Unde n se numește modul pentru criptare și decriptare.

În primul rând, calculăm

n = p x q

n = 3 x 13

n = 39

Pasul 3: Dacă n = p x q, atunci cheia publică este . Un mesaj text simplu m este criptat folosind cheia publică. Astfel, cheia publică este = (3, 39).

Pentru a găsi text cifrat din textul simplu, următoarea formulă este folosită pentru a obține textul cifrat C.

C = mEsteîmpotriva n

convertiți nfa în dfa

C = 53spre 39

C = 125 față de 39

C = 8

Prin urmare, textul cifrat generat din text simplu, C = 8.

Exemplul 4:

Un criptosistem RSA utilizează două numere prime, 3 și 11, pentru a genera cheia privată = 7. Care este valoarea textului cifrat pentru un text simplu 5 folosind algoritmul de criptare a cheii publice RSA?

Explicaţie:

Pasul 1: în primul pas, selectați două numere prime mari, p și q .

p = 3

q = 11

Pasul 2: Înmulțiți aceste numere pentru a găsi n = p x q, Unde n se numește modul pentru criptare și decriptare.

În primul rând, calculăm

n = p x q

n = 3 x 11

n = 33

Pasul 3: Alegeți un număr Este mai putin n , astfel încât n este relativ prim pentru (p - 1) x (q -1). Înseamnă că Este și (p - 1) x (q - 1) nu au un factor comun cu excepția 1. Alegeți „e” astfel încât 1

În al doilea rând, calculăm

φ (n) = (p - 1) x (q-1)

φ (n) = (3 - 1) x (11 - 1)

φ (n) = 2 x 10

φ (n) = 20

Pasul 4: Pentru a determina cheia publică, folosim următoarea formulă pentru a calcula d astfel încât:

Calculate e x d = 1 mod φ (n)

e x 7 = 1 față de 20

e x 7 = 1 față de 20

e = (1 + k. φ (n))/ d [fie k =0, 1, 2, 3……]

Puneti k = 0

e = (1 + 0 x 20) / 7

e = 1/7

Puneți k = 1

e = (1 + 1 x 20) / 7

e = 21/7

e = 3

Cheia publică este = (3, 33)

Prin urmare, cheia publică, adică e = 3