L'algoritme de xifratge RSA és un tipus d'algoritme de xifratge de clau pública. Per entendre millor RSA, primer entenem què és un algorisme de xifratge de clau pública.
Algorisme de xifratge de clau pública:
L'algorisme de xifratge de clau pública també s'anomena algorisme asimètric. Els algorismes asimètrics són aquells algorismes en què l'emissor i el receptor utilitzen claus diferents per a l'encriptació i el desxifrat. A cada remitent se li assignen un parell de claus:
El Clau pública s'utilitza per al xifratge, i el Clau privada s'utilitza per al desxifrat. El desxifrat no es pot fer amb una clau pública. Les dues claus estan enllaçades, però la clau privada no es pot derivar de la clau pública. La clau pública és ben coneguda, però la clau privada és secreta i només la coneix l'usuari propietari de la clau. Vol dir que tothom pot enviar un missatge a l'usuari mitjançant la clau pública de l'usuari. Però només l'usuari pot desxifrar el missatge amb la seva clau privada.
L'algoritme de clau pública funciona de la següent manera:
- Les dades a enviar estan xifrades pel remitent A utilitzant la clau pública del receptor previst
- B desxifra el text xifrat rebut utilitzant la seva clau privada, que només la coneix B. B respon a A xifrant el seu missatge amb la clau pública d'A.
- A desxifra el text xifrat rebut mitjançant la seva clau privada, que només el coneix.
Algorisme de xifratge RSA:
RSA és l'algorisme de clau pública més comú, que porta el nom dels seus inventors Rivest, Shamir i Adelman (RSA).
L'algorisme RSA utilitza el procediment següent per generar claus públiques i privades:
- Seleccioneu dos nombres primers grans, p i q .
- Multiplica aquests nombres per trobar-los n = p x q, on n s'anomena mòdul de xifrat i desxifrat.
- Trieu un número És menys que n , tal que n és relativament primer a (p - 1) x (q -1). Vol dir això És i (p - 1) x (q - 1) no tenen cap factor comú excepte 1. Trieu 'e' de manera que 1
mcd (e,d(n)) =1 - Si n = p x q, aleshores la clau pública és . Un missatge de text pla m està xifrat amb clau pública. Per trobar text xifrat a partir del text sense format, s'utilitza la fórmula següent per obtenir el text xifrat C.
C = mÉscontra n
Aquí , m ha de ser inferior a n . Un missatge més gran (>n) es tracta com una concatenació de missatges, cadascun dels quals està xifrat per separat. - Per determinar la clau privada, utilitzem la fórmula següent per calcular la d de manera que:
DÉsmod {(p - 1) x (q - 1)} = 1
O
DÉsmod φ (n) = 1 - La clau privada és . Un missatge de text xifrat c es desxifra amb la clau privada. Per calcular text pla m del text xifrat c s'utilitza la fórmula següent per obtenir el text sense format m.
m = cdcontra n
Prenguem un exemple d'algorisme de xifratge RSA:
Exemple 1:
Aquest exemple mostra com podem xifrar el text sense format 9 mitjançant l'algorisme de xifratge de clau pública RSA. Aquest exemple utilitza els nombres primers 7 i 11 per generar les claus públiques i privades.
Explicació:
Pas 1: Seleccioneu dos nombres primers grans, p i q .
p = 7
q = 11
Pas 2: Multiplica aquests nombres per trobar-los n = p x q, on n s'anomena mòdul de xifrat i desxifrat.
Primer, calculem
n = p x q
n = 7 x 11
n = 77
Pas 3: Trieu un número És menys això n , tal que n és relativament primer a (p - 1) x (q -1). Vol dir això És i (p - 1) x (q - 1) no tenen cap factor comú excepte 1. Trieu 'e' de manera que 1 En segon lloc, calculem φ (n) = (p - 1) x (q-1) φ (n) = (7 - 1) x (11 - 1) φ (n) = 6 x 10 φ (n) = 60 Triem ara e primer relatiu de 60 com a 7. Així, la clau pública és = (7, 77) Pas 4: Un missatge de text pla m està xifrat amb clau pública. Per trobar text xifrat a partir del text sense format s'utilitza la fórmula següent per obtenir el text xifrat C. Per trobar text xifrat a partir del text sense format, s'utilitza la fórmula següent per obtenir el text xifrat C. C = mÉscontra n C = 97contra 77 C = 37 Pas 5: La clau privada és . Per determinar la clau privada, utilitzem la següent fórmula d tal que: DÉsmod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1, que dóna d = 43 La clau privada és = (43, 77) Pas 6: Un missatge de text xifrat c es desxifra amb la clau privada. Per calcular text pla m del text xifrat c s'utilitza la fórmula següent per obtenir el text sense format m. m = cdcontra n m = 3743contra 77 m = 9 En aquest exemple, Text pla = 9 i el text xifrat = 37 En un sistema criptogràfic RSA, una A particular utilitza dos nombres primers, 13 i 17, per generar les claus públiques i privades. Si el públic d'A és 35. Aleshores la clau privada d'A és ……………?. Explicació: Pas 1: en el primer pas, seleccioneu dos nombres primers grans, pàg i q . p = 13 q = 17 Pas 2: Multiplica aquests nombres per trobar-los n = p x q, on n s'anomena mòdul de xifrat i desxifrat. Primer, calculem n = p x q n = 13 x 17 n = 221 Pas 3: Trieu un número És menys això n , tal que n és relativament primer a (p - 1) x (q -1). Vol dir això És i (p - 1) x (q - 1) no tenen cap factor comú excepte 1. Trieu 'e' de manera que 1 En segon lloc, calculem φ (n) = (p - 1) x (q-1) φ (n) = (13 - 1) x (17 - 1) φ (n) = 12 x 16 φ (n) = 192 g.c.d (35, 192) = 1 Pas 3: Per determinar la clau privada, utilitzem la fórmula següent per calcular la d de manera que: Calcula d = dÉsmod φ (n) = 1 d = d x 35 mod 192 = 1 d = (1 + k.φ (n))/e [deixar k =0, 1, 2, 3……] Posa k = 0 d = (1 + 0 x 192)/35 d = 1/35 Posa k = 1 d = (1 + 1 x 192)/35 d = 193/35 Posa k = 2 d = (1 + 2 x 192)/35 d = 385/35 d = 11 La clau privada és = (11, 221) Per tant, clau privada, és a dir, d = 11 Un criptosistema RSA utilitza dos nombres primers 3 i 13 per generar la clau pública = 3 i la clau privada = 7. Quin és el valor del text xifrat per a un text sense format? Explicació: Pas 1: En el primer pas, seleccioneu dos nombres primers grans, pàg i q . p = 3 q = 13 Pas 2: Multiplica aquests nombres per trobar-los n = p x q, on n s'anomena mòdul de xifrat i desxifrat. Primer, calculem n = p x q n = 3 x 13 n = 39 Pas 3: Si n = p x q, aleshores la clau pública és . Un missatge de text pla m està xifrat amb clau pública. Així, la clau pública és = (3, 39). Per trobar text xifrat a partir del text sense format s'utilitza la fórmula següent per obtenir el text xifrat C. C = mÉscontra n C = 53contra 39 C = 125 vs. 39 C = 8 Per tant, el text xifrat generat a partir de text pla, C = 8. Un criptosistema RSA utilitza dos nombres primers, 3 i 11, per generar la clau privada = 7. Quin és el valor del text xifrat per a un text sense format 5 utilitzant l'algorisme de xifratge de clau pública RSA? Explicació: Pas 1: en el primer pas, seleccioneu dos nombres primers grans, pàg i q . p = 3 q = 11 Pas 2: Multiplica aquests nombres per trobar-los n = p x q, on n s'anomena mòdul de xifrat i desxifrat. Primer, calculem n = p x q n = 3 x 11 n = 33 Pas 3: Trieu un número És menys això n , tal que n és relativament primer a (p - 1) x (q -1). Vol dir això És i (p - 1) x (q - 1) no tenen cap factor comú excepte 1. Trieu 'e' de manera que 1 En segon lloc, calculem φ (n) = (p - 1) x (q-1) φ (n) = (3 - 1) x (11 - 1) φ (n) = 2 x 10 φ (n) = 20 Pas 4: Per determinar la clau pública, utilitzem la fórmula següent per calcular la d de manera que: Calcula e x d = 1 mod φ (n) e x 7 = 1 contra 20 e x 7 = 1 contra 20 e = (1 + k. φ (n))/ d [deixar k =0, 1, 2, 3……] Posa k = 0 e = (1 + 0 x 20) / 7 e = 1/7 Posa k = 1 e = (1 + 1 x 20) / 7 e = 21/7 e = 3 La clau pública és = (3, 33) Per tant, clau pública, és a dir, e = 3 Exemple 2:
Expressions java lambda
Exemple 3:
Exemple 4: