Articles

algoritmo RSA (Rivest-Shamir-Adleman)

el algoritmo RSA es la base de un criptosistema, un conjunto de algoritmos criptográficos que se utilizan para servicios o propósitos de seguridad específicos, que permite el cifrado de Clave Pública y se usa ampliamente para proteger datos confidenciales, particularmente cuando se envían a través de una red insegura como internet.,

RSA fue descrita por primera vez públicamente en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman del Instituto de tecnología de Massachusetts, aunque la creación en 1973 de un algoritmo de Clave Pública por el matemático británico Clifford Cocks se mantuvo clasificada por el GCHQ del Reino Unido hasta 1997.

la criptografía de Clave Pública, también conocida como Criptografía Asimétrica, utiliza dos claves diferentes pero matemáticamente vinculadas: una pública y otra privada. La Clave Pública se puede compartir con todos, mientras que la clave privada debe mantenerse en secreto.,

en criptografía RSA, tanto la Clave Pública como la privada pueden cifrar un mensaje; la clave opuesta a la utilizada para cifrar un mensaje se utiliza para descifrarlo. Este atributo es una de las razones por las que RSA se ha convertido en el algoritmo asimétrico más utilizado: proporciona un método para asegurar la confidencialidad, integridad, autenticidad y no repudio de las comunicaciones electrónicas y el almacenamiento de datos.

muchos protocolos como secure shell, OpenPGP, S/MIME y SSL / TLS dependen de RSA para funciones de cifrado y firma digital., También se utiliza en programas de software browsers los navegadores son un ejemplo obvio, ya que necesitan establecer una conexión segura a través de una red insegura, como internet, o validar una firma digital. La verificación de firma RSA es una de las operaciones más comúnmente realizadas en sistemas conectados a la red.

por qué se utiliza el algoritmo RSA

RSA deriva su seguridad de la dificultad de factorizar enteros grandes que son el producto de dos números primos grandes., Multiplicar estos dos números es fácil, pero determinar los números primos originales del total-o factorización-se considera inviable debido al tiempo que tomaría usar incluso las supercomputadoras actuales.

el algoritmo de generación de claves públicas y privadas es la parte más compleja de la criptografía RSA. Dos números primos grandes, P y q, se generan utilizando el algoritmo de prueba de primalidad Rabin-Miller. Un módulo, n, se calcula multiplicando p y q. este número es utilizado tanto por las claves públicas como privadas y proporciona el enlace entre ellas., Su longitud, generalmente expresada en bits, se denomina longitud de clave.

la Clave Pública consiste en el módulo n y un exponente público, e, que normalmente se establece en 65537, ya que es un número primo que no es demasiado grande. La figura e no tiene que ser un número primo seleccionado en secreto, ya que la Clave Pública se comparte con todos.

la Clave Privada consiste en el módulo n y el exponente privado d, que se calcula utilizando el algoritmo euclidiano extendido para encontrar la inversa multiplicativa con respecto al totient de n.,

siga leyendo o vea el video a continuación para obtener una explicación más detallada de cómo funciona el algoritmo RSA.

¿cómo funciona el algoritmo RSA?

Alice genera sus claves RSA seleccionando dos primos: p = 11 y q = 13. El módulo es n = p×q=143. El totient es n n (n)=(p−1) x (q−1) = 120. Ella elige 7 para su clave pública RSA e y calcula su clave privada RSA usando el algoritmo euclidiano extendido, que le da 103.

Bob quiere enviar a Alice un mensaje cifrado, M, por lo que obtiene su clave pública RSA (n, e) que, en este ejemplo, es (143, 7)., Su mensaje de texto plano es solo el número 9 y se cifra en texto cifrado, C, de la siguiente manera:

Me mod N = 97 mod 143 = 48 = C

Cuando Alice recibe el mensaje de Bob, lo descifra usando su clave privada RSA (d, n) de la siguiente manera:

Cd mod n = 48103 mod 143 = 9 = m

para usar claves RSA para firmar digitalmente un mensaje, Alice necesitaría crear un hash a un resumen de mensaje de su mensaje a Bob Encryp cifrar el valor hash con su clave privada RSA, y agregar la clave al mensaje., Bob puede verificar que el mensaje ha sido enviado por Alice y no ha sido alterado descifrando el valor hash con su Clave Pública. Si este valor coincide con el hash del mensaje original, entonces solo Alice podría haberlo enviado authentication autenticación y no repudio.y el mensaje es exactamente como lo escribió integrity integridad.

Alice podría, por supuesto, cifrar su mensaje con la clave pública RSA de Bob confidentiality confidencialidad before antes de enviárselo a Bob. Un certificado digital contiene información que identifica al propietario del certificado y también contiene la Clave Pública del propietario., Los certificados son firmados por la Autoridad de certificación que los emite, y pueden simplificar el proceso de obtención de claves públicas y verificación del propietario.

seguridad RSA

la seguridad RSA se basa en la dificultad computacional de factorizar enteros grandes. A medida que aumenta la potencia de cálculo y se descubren algoritmos de factorización más eficientes, también aumenta la capacidad de factorizar números cada vez más grandes.

La fuerza del cifrado está directamente vinculada al tamaño de la clave, y duplicar la longitud de la clave puede ofrecer un aumento exponencial en la fuerza, aunque perjudica el rendimiento., Las claves RSA suelen tener una longitud de 1024 o 2048 bits, pero los expertos creen que las claves de 1024 bits ya no son completamente seguras contra todos los ataques. Esta es la razón por la que el gobierno y algunas industrias se están moviendo a una longitud de clave mínima de 2048 bits.

salvo un avance imprevisto en la computación cuántica, pasarán muchos años antes de que se requieran claves más largas, pero la criptografía de curva elíptica (ECC) está ganando el favor de muchos expertos en seguridad como una alternativa a RSA para implementar la criptografía de Clave Pública. Puede crear claves criptográficas más rápidas, más pequeñas y más eficientes.,

el hardware y el software modernos están preparados para ECC, y es probable que su popularidad crezca, ya que puede ofrecer una seguridad equivalente con menor potencia informática y menor uso de recursos de batería, lo que lo hace más adecuado para aplicaciones móviles que RSA. Finalmente, un equipo de investigadores, que incluía a Adi Shamir, un co-inventor de RSA, ha creado con éxito una clave RSA de 4096 bits utilizando criptoanálisis acústico; sin embargo, cualquier algoritmo de cifrado es vulnerable a ataques.