¿Es posible combinar RSA y AES? [cerrado]

1

Estoy trabajando en un nuevo proyecto que encripta las carpetas en mi computadora personal. No está involucrado el envío de archivos (redes). Es solo por proteccion y seguridad. ¿Es posible combinar RSA y AES para cifrar / descifrar carpetas con el uso de contraseña? (Esto es sólo para fines de investigación)

    
pregunta John Carlo Medina 22.01.2017 - 00:58
fuente

3 respuestas

2

Sí, seguro. Esto se denomina sistema criptográfico híbrido .

El esquema general es: crear un par de claves pública / privada RSA y cifrar la clave privada con la contraseña. Para esto, puede utilizar cifrado basado en contraseña (PBE) . Asegúrate de usar un buen KBKDF (más conocido como hash de contraseñas) con un alto factor de trabajo / iteración.

Ahora puede generar claves de datos AES aleatorias para cifrar los datos. Cifre estas claves AES utilizando la clave pública del par de claves y guárdelas con los datos. Si necesita descifrar, descifre la clave privada con la contraseña, descifre la clave de datos y finalmente descifre los datos.

Sin embargo, este es un esquema muy común, que ha sido utilizado por ej. OpenPGP durante décadas. Todavía se considera seguro para el cifrado en el lugar. Si necesita algo más seguro, debe explicar qué parte del protocolo anterior considera inseguro . Realmente no hay forma conocida de mejorar un protocolo que ya se considere seguro.

Si desea crear algo especial, use criptografía post-cuántica en lugar de RSA. También puede usar solo construcciones modernas como RSA / OAEP y AES / GCM (use GCM con cuidado, para archivos grandes / gran cantidad de archivos).

    
respondido por el Maarten Bodewes 22.01.2017 - 16:06
fuente
3

Claro, eso es exactamente lo que hacen los navegadores web en las páginas web de HTTPS.

Utilizan RSA (cifrado asimétrico) para compartir una clave secreta (cifrado simétrico con AES) para las comunicaciones servidor-cliente.

    
respondido por el Fernando Carvajal 22.01.2017 - 06:27
fuente
2

Sí, el cifrado simétrico y el cifrado asimétrico se usan frecuentemente en conjunto y, a menudo, con hash y otras técnicas para lograr un objetivo determinado. En el caso de TLS, se utiliza un cifrado asimétrico caro y lento para acordar una clave simétrica rápida y barata que se utiliza para intercambiar datos. Las claves asimétricas suelen ser grandes y generadas por una máquina: para que estén disponibles para su uso, pero para protegerlas en el almacenamiento (por ejemplo, en PGP o ssh), a menudo se encriptan utilizando un algoritmo simétrico y una clave elegida por un humano.

Ya que resuelven problemas diferentes, no tiene sentido aplicar ambas técnicas a la misma tarea.

  

estamos obligados a crear un software que de alguna manera sería diferente al otro software de bloqueo de carpetas existente.

¡¡¡PELIGRO, ROBINSON !!!!!

Incluso si está remezclando un software de cifrado bien escrito, es probable que termine con algo inseguro. Su pregunta muestra que todavía tiene un largo viaje por delante.

La capacidad de resistir el descifrado depende principalmente del algoritmo y el tamaño de la clave. La forma en que está empaquetado con otros componentes en una herramienta puede potencialmente abrir ataques de canal lateral (usar ecb en lugar de, digamos cbc, no usar un IV, dejar la clave de texto simple en un archivo, exponer un método para subvertir el intercambio de claves ...) . La complejidad no es lo opuesto a la seguridad, pero con frecuencia son fuerzas opuestas.

Hay muchas herramientas escritas por expertos que aún tienen estas vulnerabilidades. Si desea escribir algo que se destaque en el mercado, intente encontrar una USP que no implique tener que realizar el cifrado de manera diferente a todos los demás; todos los demás lo hacen así por una razón.

    
respondido por el symcbean 22.01.2017 - 02:43
fuente

Lea otras preguntas en las etiquetas