¿Cómo encripto rápidamente un archivo con AES?

69

Quiero encriptar un archivo usando AES-256. ¿Cómo puedo hacer eso rápida y fácilmente, y cómo puedo, o alguien más, descifrarlo de nuevo?

    
pregunta Stefano Palazzo 09.09.2011 - 17:46

5 respuestas

77

Desafortunadamente, no hay una solución fácil para proteger sus cosas. Piensa en tu caso de uso, tal vez algo más que AES simple es más adecuado.

Si desea una encriptación independiente de la plataforma muy simple, puede usar openssl .

Tenga en cuenta: ¡puede usar esto para ocultar birthday-gift-ideas.txt de su compañero de cuarto, pero no espere que sea seguro contra un atacante determinado!

  1. Como se señaló en los comentarios, este método utiliza una función de derivación de clave ingenua, por lo que su contraseña debe ser superlativamente buena para que tenga la oportunidad de estar seguro.
  2. Además, este método no autentica el texto cifrado, lo que significa que un atacante puede modificar o dañar el contenido sin que lo notes.
  3. Para muchos tipos de seguridad, el cifrado simplemente no es suficiente (por ejemplo, no puede usar el cifrado para comunicarse de forma segura)

Si aún quieres usar openssl:

  • Cifrado:

    openssl aes-256-cbc -in attack-plan.txt -out message.enc

  • Descifrado:

    openssl aes-256-cbc -d -in message.enc -out plain-text.txt

Puede obtener openssl en base64 -encodificar el mensaje utilizando el modificador -a tanto en cifrado como en descifrado. De esta manera, puede pegar el texto cifrado en un mensaje de correo electrónico, por ejemplo. Se verá así:

stefano:~$ openssl aes-256-cbc -in attack-plan.txt -a
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=

Tenga en cuenta que tiene una opción de cifrado y modos de operación. Para uso normal, recomiendo aes 256 en modo CBC. Estos son los modos de cifrado que tiene disponibles (solo cuenta AES):

aes-128-cbc ← this is okay
aes-128-ecb
aes-192-cbc
aes-192-ecb
aes-256-cbc ← this is recommended
aes-256-ecb

Ver también:

Tenga en cuenta:

OpenSSL le pedirá una contraseña. ¡Esta no es una clave de encriptación, no está limitada a 32 bytes! Si va a transferir archivos con otra persona, su secreto compartido debe ser muy fuerte. Puede usar este sitio para tener una idea de qué tan buena es su contraseña:

  • enlace (¡esto no tiene en cuenta ningún ataque de diccionario!)
  • enlace (al menos, compruebe las contraseñas comunes)

Advertencia: he comprobado que estos sitios no envían su contraseña al servidor, pero eso puede cambiar en cualquier momento. Utilice estos sitios con herramientas / inspector de desarrollo y verifique si envían algo antes de escribir su contraseña segura.

    
respondido por el Stefano Palazzo 09.09.2011 - 17:49
18

Me gusta usar el comando gpg :

Encriptar:

gpg --cipher-algo AES256 --symmetric filename.tar.gz

Taquigrafía:

gpg --cipher-algo AES256 -c filename.tar.gz

Esto pedirá una frase de contraseña.

Descifrar:

gpg --output filename.tar.gz --decrypt filename.tar.gz.gpg

Taquigrafía:

gpg -o filename.tar.gz -d filename.tar.gz.gpg

También puede agregar cipher-algo AES256 a ~/.gnupg/gpg.conf para hacer que AES256 sea el predeterminado. (Según la página de manual, es CAST5 )

    
respondido por el scrrr 18.04.2014 - 13:44
15

7z (cuando se utiliza la opción contraseña ) utiliza un cifrado AES de 256 bits (con SHA256 ampliación de la clave ).

Instálelo ( p7zip-full ), haga clic con el botón derecho en un archivo o directorio que desee cifrar y elija Comprimir , .7z y Otras opciones / Contraseña .

Para el descifrado, haga clic con el botón derecho en el archivo .7z y elija Extraer aquí .

    
respondido por el arrange 09.09.2011 - 18:30
3

aescrypt

El sitio web vinculado contiene una herramienta de cifrado / descifrado aes de 256 bits de código abierto y es multiplataforma: MacOs, Windows, Linux y otros a través de Java.

Encriptar: aescrypt -e <file>

Descifrar: aescrypt -d <file>

Puede hacer una copia de seguridad y encriptar su carpeta de inicio usando la sintaxis:

tar -cvf - /home/<home_folder> | aescrypt -e -p <password_message> - > backup.tar.aes

instalación de ubuntu

Descargar y extraer la fuente

make
sudo make install

otras plataformas

Descargue los binarios o el código fuente del sitio web.

    
respondido por el fossfreedom 10.09.2011 - 22:21
2

Muchas de las sugerencias que habría hecho ya han sido presentadas en este hilo. Básicamente, openssl es realmente la forma más fácil de encriptar un archivo o script. Sin embargo, me gustaría advertir contra el uso de AES-256 solo porque no está disponible en todas las versiones de openssl en algunas plataformas. La mayoría de los sistemas operativos más nuevos ... es decir. Linux lo tiene. Pero otros como AIX 5.3 no (creo que HP-UX también). Si tiene la intención de utilizar su archivo o secuencia de comandos en diferentes plataformas, le recomiendo usar AES-128 porque está disponible en todas partes.

¿Cómo se puede encriptar "rápida y fácilmente" un archivo usando AES-128?

Un sitio como www.ShellScrypt.com usa el AES-128 de openssl de forma bastante intensa para cifrar scripts de shell y luego hace que las copias encriptadas de los scripts sean ejecutables. Todo lo que tiene que hacer es pegar el script en el sitio y se generará un archivo zip para usted. Ese archivo comprimido contendrá la versión encriptada (y ejecutable si es una secuencia de comandos) de su archivo. Esto le permite " fácilmente " y " convenientemente " encriptar un archivo / script sin tener que cumplir ningún requisito de paquete o módulo en cada sistema en el que pretenda utilizar el script o ejecutar varios encantamientos complejos y confusos de los comandos de openssl.

A continuación se muestra un comando cifrar / descifrar openssl que utiliza AES-128:

test@test-VirtualBox:~$ 
test@test-VirtualBox:~$ echo precious-content | openssl aes-128-cbc -a -salt -k mypassword
U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z
test@test-VirtualBox:~$
test@test-VirtualBox:~$ echo U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z | openssl aes-128-cbc -a -d -salt -k mypassword
precious-content
test@test-VirtualBox:~$ 
test@test-VirtualBox:~$
    
respondido por el SimplifiedWorkings 31.05.2016 - 07:17

Lea otras preguntas en las etiquetas