Has descrito un método, pero no el objetivo ni ninguna circunstancia:
- ¿Cuál es la situación y su objetivo en ella?
- ¿Contra qué adversarios quieres protegerte?
El escenario asumido
Supongo que quieres:
- desea enviar datos,
- sin que un intruso pasivo pueda obtener los contenidos,
- donde tiene ambas computadoras (o quizás un amigo es dueño de la computadora de destino).
En este caso, hay un canal alternativo disponible: puede hablar con su amigo (o usted mismo) por teléfono o en la vida real, para que pueda darles la contraseña. Utilice un archivo 7z cifrado y envíelo por correo electrónico o algo así.
Para verificar la integridad, en caso de que un atacante activo haya manipulado la transmisión, puede calcular el hash (generado mediante, por ejemplo, el comando sha256sum
en sistemas basados en GNU) e incluirlo en un archivo en El archivo 7z. El archivo en sí ya tiene sumas de comprobación, pero eso no califica como cifrado autenticado (integridad criptográfica + confidencialidad), por lo que debe verificarlo por separado. También puede, al dar la contraseña, darle el hash a su amigo para que puedan verificarlo de esa manera.
Pero también podrías querer decir ...
- desea enviar datos,
- a alguien a quien nunca conoció (como un visitante de su sitio web),
- sin que un espía activo pueda obtener o modificar los contenidos.
En ese caso, ¿cómo vas a intercambiar claves? Cualquier contraseña que envíe a través de la línea, un interceptor puede interceptar. Y cualquier algoritmo de intercambio de claves que proteja contra intercepciones pasivas, puede ser derrotado por atacantes activos. La forma en que https lo resuelve, es tener terceros de confianza. Al tener un certificado de una de esas partes confiables, como Let's Encrypt , el destinatario puede estar razonablemente seguro de que las claves de cifrado que recibió no provienen de un atacante.
Entonces, lo que necesitas realmente depende de la situación. A partir de su descripción, asumo que un archivo 7z encriptado es suficiente; pero si desea una respuesta más específica, necesita hacer una pregunta más específica.
En cuanto a "¿es suficiente el cifrado de una capa?"
Bueno, ¿cuánto confías en un algoritmo dado? Puedo venderte un algoritmo de súper lujo por solo $ 500, pero nadie lo comprobó. Podría usar AES: diseñado por belgas, usado en los estándares de los EE. UU., Y mucha gente lo ha estudiado por fallas. Las probabilidades de que se rompa son, en mi opinión, insignificantes. Pero tal vez tenga miedo de que la NSA tenga AES de puerta trasera, en cuyo caso es posible que desee usar algoritmos rusos como GOST. Pero, ¿qué pasaría si los rusos dieran esa puerta por detrás? Podría usar ambos y mezclar los dos, pero si bien eso en teoría no es un problema, en la práctica las modificaciones leves del uso recomendado pueden provocar fallas catastróficas. Sería como una sopa criptográfica casera.
Para resumir una larga historia: sí, usar solo una capa de cifrado es definitivamente suficiente. (Suponiendo una situación estándar). Sin embargo, la pregunta es: ¿es seguro el algoritmo? ¡Elija su método de encriptación sabiamente!