Matematicamente, una coppia di chiavi RSA è un numero n che è il prodotto di due grandi primi probabili p e q e una coppia di numeri ( d , e ) tali che d × e - 1 è un multiplo di ( p - 1) × ( q - 1). I numeri d e e sono noti come esponenti (per una ragione che vedremo tra un minuto). Ci sono alcuni altri vincoli ma trattano in modo simmetrico d e e . La chiave pubblica è la coppia di numeri ( n , e ) e la chiave privata è la coppia di numeri ( n , d ).
(I file di chiavi private spesso contengono più di n e d , ma è una questione di formato concreto e una questione di file di chiavi private che di solito contengono la chiave pubblica troppo.)
Quindi, a questo proposito, sì, le chiavi RSA potrebbero essere scambiate.
Tuttavia, il punto di una coppia di chiavi pubblica / privata è che una delle chiavi rimane segreta mentre l'altra è resa pubblica. Il numero n deve essere utilizzato su entrambi i lati, quindi è pubblico. Uno di d e e - convenzionalmente, quello scritto d - è tenuto segreto e e diventa pubblico. Se d deve essere tenuto segreto, non deve essere facile da indovinare.
Il cuore dell'operazione RSA sta aumentando un numero elevato (pari a molti bit delle dimensioni della chiave) alla potenza di d o e . Questa è un'operazione costosa (lenta), quindi è bello scegliere d e e per renderla non troppo lenta. Ciò comporta che d e e siano piccoli (o come secondi migliori con pochi bit impostati su 1 nella loro rappresentazione binaria). Tuttavia, se rendi d piccolo, lo puoi rendere possibile per enumerazione. Quindi d , l'esponente privato, deve essere grande. D'altra parte, e può essere mantenuto piccolo; per ragioni matematiche deve essere dispari e non può essere 1, ma 3 è una scelta perfettamente buona, e la seconda più comune. Per ragioni storiche, la scelta più comune di e è 65537, che è 10000000000000001 in binario.
Quindi, in una coppia di chiavi RSA come è fatto in pratica per buoni motivi, data la chiave privata ( n , d ), si può trovare la chiave pubblica (< em> n , e ) indovinando i possibili valori di e (è 65537? Se no, è 3? In caso contrario, prova qualche altro piccolo numeri.) Per questo motivo, la chiave pubblica e la chiave privata non possono essere interscambiate.
Si noti che questa è una proprietà di RSA. Alcuni altri algoritmi a chiave pubblica (come DSA) hanno chiavi pubbliche e private che vivono in diversi spazi matematici.