Matemáticamente, un par de claves RSA es un número n que es el producto de dos primos probables grandes p y q , y un par de números ( d , e ) de manera que d × e - 1 es un múltiplo de ( p - 1) × ( q - 1). Los números d y e se conocen como exponentes (por una razón que veremos en un minuto). Hay algunas restricciones más, pero tratan a d y e simétricamente. La clave pública es el par de números ( n , e ) y la clave privada es el par de números ( n , d ).
(Los archivos de clave privada a menudo contienen más que solo n y d , pero eso es una cuestión de formato concreto, y una cuestión de archivos de clave privada que generalmente contienen la clave pública también.)
A este respecto, sí, las claves RSA podrían intercambiarse.
Sin embargo, el punto de un par de claves pública / privada es que una de las claves permanece secreta mientras que la otra se hace pública. El número n debe usarse en ambos lados, por lo que es público. Uno de d y e , convencionalmente, el escrito d , se mantiene en secreto y e se hace público. Si d se debe mantener en secreto, no debe ser fácil de adivinar.
El corazón de la operación RSA es aumentar un número grande (aproximadamente tantos bits como el tamaño de la clave) a la potencia de d o e . Esta es una operación costosa (lenta), por lo que es bueno elegir d y e para que no sea demasiado lenta. Esto implica hacer que d y e sean pequeños (o, como segundo, que tengan pocos bits establecidos en 1 en su representación binaria). Sin embargo, si hace que d sea pequeño, puede hacerlo por enumeración. Entonces d , el exponente privado, tiene que ser grande. Por otro lado, e se puede mantener pequeño; por razones matemáticas, tiene que ser impar y no puede ser 1, pero 3 es una opción perfectamente buena y la segunda más común. Por razones históricas, la opción más común de e es 65537, que es 10000000000000001 en binario.
Así, en un par de claves RSA, como se hace en la práctica por buenas razones, dada la clave privada ( n , d ), se puede encontrar la clave pública (< em> n , e ) adivinando los posibles valores de e (¿es 65537? Si no, ¿es 3? Si no es así, intente algunos más pequeños números.) Por esta razón, la clave pública y la clave privada no se pueden intercambiar.
Tenga en cuenta que esto es una propiedad de RSA. Algunos otros algoritmos de clave pública (como DSA) tienen claves públicas y privadas que viven en diferentes espacios matemáticos.