RSA es un algoritmo criptográfico de clave pública que se basa en la dificultad computacional de factorizar números enteros grandes. Utiliza un par de claves: una clave pública, que puede ser compartida libremente, y una clave privada, que debe mantenerse en secreto. Los datos cifrados con la clave pública solo pueden ser descifrados con la clave privada correspondiente, y viceversa. Esto permite tanto la confidencialidad (cifrado) como la autenticación e integridad (firmas digitales). La seguridad de RSA depende de la elección de números primos grandes y de la longitud de la clave, que típicamente oscila entre 1024 y 4096 bits.

En el mundo real, RSA es un pilar fundamental de la seguridad en internet y en sistemas distribuidos. Es ampliamente utilizado en protocolos como TLS/SSL para asegurar la comunicación web (HTTPS), donde se emplea para el intercambio inicial de claves simétricas. También es la base de la firma digital en certificados X.509, garantizando la autenticidad de sitios web y aplicaciones. Otros ejemplos incluyen SSH para asegurar conexiones remotas, PGP/GPG para cifrado de correo electrónico y la firma de código en sistemas operativos y aplicaciones para verificar su integridad y origen.

Para un arquitecto, RSA es crucial por su rol en la seguridad de la información y la confianza en sistemas distribuidos. La elección de RSA implica considerar trade-offs significativos: ofrece una seguridad robusta para el intercambio de claves y firmas digitales, pero es computacionalmente intensivo, especialmente para operaciones de cifrado/descifrado de grandes volúmenes de datos. Por ello, en TLS, RSA se usa para establecer una clave simétrica que luego cifra el tráfico real, que es mucho más rápido. La longitud de la clave es un factor crítico: claves más largas (ej., 4096 bits) ofrecen mayor seguridad pero aumentan la latencia y el consumo de CPU. Un arquitecto debe balancear la seguridad requerida con el rendimiento y la escalabilidad del sistema, y considerar alternativas como la criptografía de curva elíptica (ECC) para escenarios donde el rendimiento y el tamaño de clave son más restrictivos.