No, saber que el público no está obligado a descifrar una clave privada RSA. Dado un mensaje encriptado, el atacante solo necesita saber algo que le permita distinguir un éxito en descifrar su mensaje de un error. Este algo puede ser cualquier cosa, comúnmente es algo de conocimiento sobre el contenido de los datos como, por ejemplo, el conocimiento de un desafío en su forma clara, la presencia de ciertas etiquetas, de la estructura de datos, de las estadísticas de datos como por ejemplo, la presencia de un gran número de palabras correctas en inglés o la presencia de una suma de comprobación.
Aunque no es malo en su esencia, su idea de mantener privada la clave pública simplemente reduce su criptografía de clave pública a una situación que probablemente sería solucionable utilizando criptografía simétrica.
Uno de los grandes problemas con la criptografía simétrica fue que el remitente y el receptor tuvieron que encontrar una manera de intercambiar un par de claves secretas de manera segura mientras no haya un canal de comunicación seguro ya establecido y no hay forma de verificar la identidad del otro. La principal solución para esto fue utilizar el intercambio de claves fuera de banda.
El cifrado asimétrico, al que pertenece el cifrado RSA, resolvió esto al proponer un sistema en el que el remitente y el destinatario pueden publicar sus claves públicas en un directorio común, cuyas claves públicas están firmadas opcionalmente por una entidad externa en la que ambas partes confían. Esto permite eliminar la carga de tener que intercambiar claves utilizando métodos fuera de banda.
Sin embargo, si lo desea, puede utilizar métodos fuera de banda para intercambiar la clave pública. No es necesario, dependiendo de lo que pretenda hacer, puede ser más complejo y más difícil de mantener con el tiempo, no aumentará su seguridad de manera notable, pero tampoco disminuirá su seguridad.
Para ir (un poco) en su dirección, tenga en cuenta que todas las claves públicas se hacen necesariamente públicas. Un buen ejemplo de esto son las claves de autenticación SSH del usuario. Mientras está almacenado en forma clara, el público del usuario generalmente no se publica (a diferencia de la clave pública del servidor). Sin embargo esto es así, siempre y cuando no haya ventaja en hacerlo. Tan pronto como sea más práctico almacenar las claves públicas en un directorio confiable (por ejemplo, un directorio interno de la empresa), generalmente no hay problema al hacerlo.