Algoritmos de encriptación asimétricos [cerrado]

-6

¿Cuáles son los mejores algoritmos de cifrado asimétrico que existen? Estoy intentando usar RSA en mi proyecto, sin embargo, he leído que no es tan seguro como otros algoritmos de cifrado asimétrico.

    
pregunta Matthew 28.04.2013 - 14:21
fuente

1 respuesta

10

"Mejor" implica cierta gradación en una escala, que debe definirse ...

El algoritmo de cifrado asimétrico más utilizado es RSA . Es lo suficientemente bueno para la mayoría de los propósitos. RSA tiene algunas limitaciones, que son bastante genéricas (es decir, que también se aplican a la mayoría de los otros algoritmos de cifrado asimétricos):

  • Solo puede procesar mensajes de tamaño limitado (con una clave RSA de 1024 bits, puede cifrar a lo máximo 117 bytes).
  • Implica una sobrecarga de tamaño (con una clave RSA de 1024 bits, se obtiene un mensaje cifrado de 128 bytes, aunque el mensaje de origen no tenga más de 117 bytes).
  • debe usar algo de aleatoriedad (el cifrado asimétrico determinista es intrínsecamente débil porque permite una búsqueda exhaustiva del mensaje en sí).
  • Puede ser relativamente caro en arquitecturas muy pequeñas.

Para solucionar la mayoría de estos problemas, se utiliza cifrado híbrido : con RSA, usted cifra una clave simétrica aleatoria ( es decir, bits aleatorios ) y utiliza esa clave para cifrar la mayor parte de los datos con un algoritmo de cifrado simétrico más rápido y menos restringido como AES .

Otro algoritmo de cifrado asimétrico relativamente común es ElGamal . Sus variantes de curva elíptica pueden ofrecer un mejor rendimiento que RSA (más rápido, menos gastos generales de tamaño), pero el cifrado híbrido aún es necesario. / p>

Montar correctamente el cifrado asimétrico y asimétrico no es una tarea fácil, así que no te vuelvas creativo e inventa el tuyo (es fácil tener algo que funciona , pero es muy difícil obtener algo que funcione de forma segura ). En su lugar, utilice un protocolo existente donde se hayan resuelto todos los detalles difíciles; p.ej. OpenPGP .

    
respondido por el Tom Leek 28.04.2013 - 15:43
fuente

Lea otras preguntas en las etiquetas