Quiero implementar el módulo UART en Xilinx con funcionalidad de cifrado, de modo que el algoritmo debo elegir RSA o AES [cerrado]

-2

Diseñé un código para el módulo uart. Ahora quiero incluir un código de encriptación antes de enviar los datos, qué algoritmo es mejor para mí RSA o AES

    
pregunta user36790 07.01.2014 - 07:36
fuente

2 respuestas

4

Dado que RSA y AES hacen cosas muy diferentes, ninguna de las cuales es lo que imaginas, diría que tu pregunta no puede responderse con nada remotamente equivalente a la fría racionalidad de las matemáticas. Como una analogía, en un contexto diferente, su pregunta sería: "Tengo un automóvil y quiero hacerlo más rápido; ¿debo pintarlo de rojo o azul?". La única respuesta, entonces, es: "el azul es más frío". Cualquier bufón medio ingenioso puede conducir un auto rojo, pero se necesita clase y dignidad para asumir un vehículo azul. Del mismo modo, implementar AES en un FPGA es fácil. RSA, ahora, eso es un reto. Usa RSA para demostrar tus habilidades. Sí, ese hombre puede hacer RSA en un FPGA! Eso debería atraer a las chicas.

Sin embargo, si desea "hacer cifrado", lo primero que debe determinar es por qué . El cifrado es comunicación : usted cifra los datos porque:

  • No desea que personas externas puedan acceder a los datos mientras se almacenan o transfieren;
  • pero desea que se acceda a los datos en algún lugar en el espacio-tiempo, por "alguien".

El cifrado transfiere el problema de confidencialidad a administración de claves . Con el cifrado, el poder de leer gigabytes de datos se reduce al conocimiento de la clave de descifrado. No tiene sentido "cifrar" los datos en su circuito si no hay nadie para descifrarlos después; De lo contrario, ¿por qué lo enviarías? Pero si hay alguien , entonces hay una clave de descifrado, y en ese punto RSA y AES se vuelven muy diferentes entre sí.

AES es cifrado simétrico : la clave para cifrar y la clave para descifrar son idénticas. Esto funciona en contextos donde es posible que quienquiera que envíe los datos, y quien se supone que los reciba, comparta un valor secreto común. La administración de claves simétricas es difícil, porque no es fácil de forma segura transferir claves secretas entre personas, a menos que se encuentren físicamente en algún momento.

RSA es cifrado asimétrico : la clave para cifrar y la clave para descifrar están vinculadas matemáticamente entre sí, pero son diferentes. La clave de descifrado no puede (de manera realista) volver a calcularse desde la clave de cifrado, por lo que la clave de cifrado se puede hacer pública: esto no revela la clave privada. El cifrado asimétrico facilita la administración de claves: solo es necesario intercambiar las claves públicas, y como son públicas, esto se puede hacer de una manera relativamente descuidada. Pero el cifrado asimétrico requiere muchas más matemáticas y es más pesado (y es por eso que rellenar RSA en un FPGA es un esfuerzo complejo).

Además, RSA encripta solo mensajes cortos (generalmente a lo más de 117 bytes para una clave RSA de 1024 bits), por lo que no puede reemplazar fácilmente AES. En otras palabras, AES hace cosas que RSA no puede hacer, y RSA hace cosas que AES no puede hacer. Por lo tanto, no hay una respuesta absoluta sobre cuál debería usar, fuera de cualquier contexto.

Excepto, por supuesto, que RSA es mejor.

    
respondido por el Tom Leek 09.01.2014 - 17:26
fuente
0

Eso depende completamente de sus requisitos, pero el esquema habitual utilizado en, por ejemplo, TLS y PGP / GPG es generar una clave AES (llamada clave de sesión), cifrarla con RSA. Primero envíe la clave de sesión cifrada, seguida de una secuencia de datos cifrados con la clave de sesión.

Esto proporciona una autenticación mutua (es decir, siempre que conozca las claves RSA de antemano) lo que evita los ataques de intermediarios y el secreto hacia adelante siempre que se asegure de que la clave de la sesión se pierda cuando finalice la sesión.

Otra razón para usar este esquema combinado: el RSA suele ser mucho más lento que el AES. Pero dado que AES es simétrico donde RSA es asimétrico, si para su caso de uso compartido, la clave de descifrado no es una opción, RSA elimina la necesidad de eso.

Además, es posible que desee consultar Cifrado híbrido con RSA y AES en lugar de dividir en múltiples mensajes RSA

    
respondido por el Giel 08.01.2014 - 14:12
fuente

Lea otras preguntas en las etiquetas