Cifrado - RSA vs. AES

0

Tengo una pregunta con respecto al cifrado y si debo utilizar un cifrado simétrico o asimétrico.

La idea es implementar una forma de cifrado de datos en una variedad de software. Estos datos serán intercambiados con terceros, quienes lo verificarán. El objetivo principal es garantizar la integridad y autenticidad de los datos. El intercambio de claves de forma segura no es un problema.

La pregunta es: ¿Es mejor utilizar RSA (junto con una función de hash como SHA-1) o el cifrado AES para proteger la integridad de los datos? ¿Cuáles son los pros y los contras con respecto a los siguientes factores:

  • Dificultad de implementación. ¿Hay alguna diferencia en lo difícil que es para un desarrollador implementar (código) RSA y AES?
  • potencia de cálculo. ¿RSA o AES requieren más en términos de potencia de computación y velocidad para cifrar / firmar los datos?
  • ¿Cuáles son los tamaños de clave buenos? 1024 bit RSA / 128 bit AES?
  • ¿Hay otros factores que se deben considerar al elegir el tipo de cifrado?
pregunta Dino 25.07.2016 - 09:02
fuente

2 respuestas

2

Si su objetivo principal es garantizar la integridad y la autenticidad, y no confidencialidad , suena como si lo que desea no sea cifrado, sino autenticación de mensajes (simétrica, como HMAC) o una firma digital (asimétrica). , como RSA).

Como menciona a terceros, es probable que se utilice la firma con un sistema asimétrico, ya que con un sistema simétrico los terceros serían conscientes de la clave y podrían hacerse pasar por el remitente auténtico (quizás usted).

  • Implementar (codificar) RSA o AES incluso desde cero no es difícil en sí mismo, pero es difícil hacerlo correctamente . Utilice alguna biblioteca conocida o una aplicación para hacerlo. (Para las firmas, puede utilizar, por ejemplo, GPG).

  • RSA es (mucho) más costoso de computar en términos de bytes de texto cifrado que AES, pero el método habitual es usar RSA para cifrar una clave simétrica, y para cifrar el mensaje con eso. O con firmas, para firmar un hash del mensaje (en lugar del mensaje solo).

  • Para tamaños de clave, una clave AES de 128 bits es considerada como correspondiente aproximadamente a 3072- clave RSA bit. 1024 bits para RSA está en el extremo inferior.

respondido por el ilkkachu 25.07.2016 - 15:13
fuente
0
  1. ¿Es difícil de implementar cualquiera de los dos? No, no realmente, siempre y cuando uses una biblioteca implementada verificada y verificada.
  2. AES es mucho más rápido que RSA, pero como solo firma un hash, la cantidad de datos operados no debería ser una preocupación.
  3. RSA (es el assym. alogrithm que desea utilizar) es 2048 ( see ) y 256 para AES.
  4. Con AES, es probable que desee hacer un HMAC para verificar la integridad.
respondido por el RLFP 25.07.2016 - 09:29
fuente

Lea otras preguntas en las etiquetas