Question Comment chiffrer rapidement un fichier avec AES?


Je veux chiffrer un fichier en utilisant AES-256. Comment puis-je le faire rapidement et facilement, et comment puis-je - ou quelqu'un d'autre - le déchiffrer à nouveau?


70
2017-09-09 15:46


origine




Réponses:


Malheureusement, il n’ya pas de solution facile pour sécuriser vos données. Pensez à votre cas d'utilisation, peut-être que quelque chose d'autre que l'AES ordinaire est mieux adapté.


Si vous voulez un cryptage indépendant de la plate-forme très simple, vous pouvez utiliser openssl.

S'il vous plaît noter: Vous pouvez l'utiliser pour masquer anniversaire-cadeau-idées.txt de votre colocataire, mais ne vous attendez pas à ce qu'il soit sécurisé contre un attaquant déterminé!

  1. Comme cela a été souligné dans les commentaires, cette méthode utilise une fonction de dérivation de clé naïve, de sorte que votre mot de passe doit être super bon pour que vous ayez une chance d'être sécurisé.
  2. De plus, cette méthode n'authentifie pas le texte chiffré, ce qui signifie qu'un attaquant peut modifier ou corrompre le contenu sans que vous le remarquiez.
  3. Pour de nombreux types de sécurité, le chiffrement n'est tout simplement pas suffisant (par exemple, vous ne pouvez pas utiliser le chiffrement pour communiquer en toute sécurité).

Si vous voulez toujours utiliser openssl:

  • Cryptage:

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

  • Décryptage:

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

Vous pouvez obtenir openssl à base64-encoder le message en utilisant le -a Activer le cryptage et le décryptage. Ainsi, vous pouvez, par exemple, coller le texte chiffré dans un message électronique. Ça va ressembler à ceci:

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=

Notez que vous avez le choix entre les chiffres et les modes de fonctionnement. Pour une utilisation normale, je recommande aes 256 en mode CBC. Ce sont les modes de chiffrement dont vous disposez (en comptant uniquement 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

Voir également:

Notez s'il vous plaît:

OpenSSL vous demandera un mot de passe. Ce n'est pas une clé de chiffrement, elle n'est pas limitée à 32 octets! Si vous voulez transférer des fichiers avec quelqu'un d'autre, votre secret partagé devrait être très fort. Vous pouvez utiliser ce site pour avoir une idée de la qualité de votre mot de passe:

Attention: j'ai vérifié que ces sites n'envoient pas votre mot de passe au serveur, mais cela peut changer à tout moment. Utilisez ces sites avec des outils / inspecteurs de développement et vérifiez s'ils envoient quelque chose avant de taper votre mot de passe fort.


78
2017-09-09 15:49



openssl aes-256-cbc est plus courte que openssl enc -aes-256-cbc et travaille aussi La page de manuel est disponible en cours d'exécution man enc. Ne jamais utiliser ecb pour les données qui ne doivent pas être tempérées avec, utilisez toujours cbc. -salt est redondant car il est par défaut. Si vous omettez -out filename la sortie sera écrite sur la sortie standard, ce qui est utile si vous avez juste besoin d'analyser des données, mais pas de l'écrire sur le disque. La prochaine commande montre la ligne cound pour le texte en clair: openssl aes-256-cbc -d -in filename | wc -l. (autre utilisation, lecture d'un fichier: openssl aes-256-cbc -d -in filename | less) - Lekensteyn
J'utilise presque exactement cela dans un script: /usr/bin/openssl enc -aes-256-cbc -a -salt -in $1 -out ${1}.enc  avec le contraire comme on peut s'y attendre. - belacqua
Il n'y a aucune raison de préférer AES 256 à AES 128. @Lekensteyn N'utilisez jamais non plus la BCE pour des données confidentielles - essentiellement la BCE ne devrait jamais être utilisée (pour les experts uniquement: la BCE ne devrait jamais être utilisée sauf dans des cas très spécifiques). Plus généralement, le opensslL'outil de ligne de commande est principalement une preuve de concept pour tester la bibliothèque OpenSSL. La bonne réponse à cette question est soit GPG ou un archiveur tel que 7z. - Gilles
Je voudrais ajouter que openssl enc n'est en fait pas sécurisé si vous avez un mot de passe faible. J'ai déjà recommandé certaines utilisations de openssl enc, mais maintenant suggérer d'utiliser gpg au lieu de cela, car il utilise un KDF mieux. Voir cette réponse. - Lekensteyn
-1 Pour recommander l'utilisation OpenSSL de bas niveau. Il ne fournit aucune fonctionnalité HMAC et, comme le souligne @Lekensteyn, il lui manque le bon KDF. - gertvdijk


J'aime utiliser le gpg commander:

Crypter:

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

Sténographie:

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

Cela demandera une phrase secrète.

Décrypter:

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

Sténographie:

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

Vous pouvez également ajouter cipher-algo AES256 à ~/.gnupg/gpg.conf faire de AES256 la valeur par défaut. (Selon la page de manuel, il est CAST5)


18
2018-04-18 11:44



Vous pouvez aussi utiliser AES (signifiant AES-128). AES-128 est légèrement plus rapide et n'est pas moins sécurisé. - Gilles
+1. Notez également que GnuPG fournit également une authentification de message (HMAC) lorsque vous utilisez AES (OpenSSL n’ayant pas la réponse la plus populaire au moment de la rédaction). Informations de fond: superuser.com/a/633716/157409 - gertvdijk


7z (quand le mot de passe L’option est utilisée) utilise un cryptage AES 256 bits (avec SHA256 étirement des clés).

Installez-le (p7zip-full), faites un clic droit sur un fichier ou un répertoire que vous souhaitez crypter et choisissez Compresse, .7z et Autres options /Mot de passe.

enter image description here

Pour le décryptage, cliquez avec le bouton droit sur le .7z déposer et choisir Extraire ici.


15
2017-09-09 16:30





aescrypt

Le site Web lié contient un outil open-source 256 bits AES encrypt / decrypt et est multiplateforme - MacOs, Windows, Linux et autres via Java.

Crypter: aescrypt -e <file>

Décrypter: aescrypt -d <file>

Vous pouvez sauvegarder et chiffrer votre dossier personnel en utilisant la syntaxe suivante:

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

installation Ubuntu

Téléchargez et extrayez la source

make
sudo make install

d'autres plates-formes

Téléchargez les binaires ou le code source à partir du site Web.


3
2017-09-10 20:21





Beaucoup de suggestions que j'aurais faites ont déjà été présentées dans ce fil. En gros, openssl est vraiment le moyen le plus simple de chiffrer un fichier ou un script. Cependant, je voudrais mettre en garde contre AES-256 juste parce qu'il n'est pas disponible dans toutes les versions de openssl on certains plates-formes. La plupart des nouveaux OS ... Linux l'a. Mais d'autres comme AIX 5.3 ne le font pas (je pense aussi à HP-UX). Si vous avez l’intention d’utiliser votre fichier ou votre script sur différentes plates-formes, je vous recommande fortement d’utiliser AES-128 parce que c'est disponible partout.

Comment pouvez-vous "rapidement et facilement" crypter un fichier en utilisant AES-128?

Un site comme www.ShellScrypt.com utilise OpenSl AES-128 assez intensément pour chiffrer les scripts shell et rend ensuite les copies chiffrées de l'exécutable des scripts. Tout ce que vous avez à faire est de coller le script sur le site, et un fichier zip sera généré pour vous. Ce fichier zip contiendra la version cryptée (et exécutable s’il s’agit d’un script) de votre fichier. Cela vous permet de "facilement" et "commodément"chiffrer un fichier / script sans avoir à satisfaire à une exigence de paquet ou de module sur chaque système sur lequel vous souhaitez utiliser le script ou exécuter plusieurs incantations complexes et déroutantes de commandes openssl.

Ci-dessous est une base crypter décrypter  openssl commande qui utilise 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:~$

2
2018-05-31 05:17



Il suffit de laisser un commentaire pour indiquer que «shellscrypt.com» est hors service (alias: le site est parti). - e-sushi