Je veux crypter 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écrypter à nouveau ?
Réponses
Trop de publicités?Malheureusement, il n'y a pas de solution facile pour sécuriser vos affaires. Réfléchissez à votre cas d'utilisation, peut-être qu'une solution autre que le simple AES est mieux adaptée.
- Utilisez un gestionnaire de mots de passe comme Porte-clés pour les mots de passe
- Cryptage de votre répertoire personnel (très facile à faire avec l'installateur Ubuntu)
- Utiliser GPG si vous souhaitez communiquer en toute sécurité par courrier électronique
- OTR avec Pidgin si vous voulez une messagerie instantanée sécurisée
- Utiliser Cryptocat pour un chat sécurisé
Si vous voulez un cryptage très simple et indépendant de la plateforme, vous pouvez utiliser openssl .
Remarque : Vous pouvez utiliser cette méthode pour cacher birthday-gift-ideas.txt à votre colocataire, mais ne vous attendez pas à ce qu'elle soit protégée contre un attaquant déterminé !
- Comme il 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 superlativement bon pour avoir une chance d'être sécurisé.
- En outre, cette méthode n'authentifie pas le texte chiffré, ce qui signifie qu'un attaquant peut modifier ou corrompre le contenu sans que vous vous en rendiez compte.
- Pour de nombreux types de sécurité, le cryptage n'est tout simplement pas suffisant (par exemple, il ne suffit pas d'utiliser le cryptage pour communiquer en toute sécurité).
Si vous voulez toujours utiliser openssl :
-
Le 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 demander à openssl de base64
-encoder le message en utilisant le -a
activer à la fois le cryptage et le décryptage. De cette façon, vous pouvez coller le texte chiffré dans un message électronique, par exemple. Ça ressemblera à ça :
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 plusieurs chiffrages et modes de fonctionnement. Pour une utilisation normale, je recommande aes 256 en mode CBC. Voici les modes de chiffrement dont vous disposez (en comptant seulement 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 aussi :
- http://en.wikipedia.org/wiki/Symmetric-key_algorithm
- http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
Veuillez noter :
OpenSSL vous demandera un mot de passe. Il ne s'agit pas d'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é doit être très fort. Vous pouvez utiliser ce site pour vous faire une idée de la qualité de votre mot de passe :
- https://www.grc.com/haystack.htm (ceci ne prend pas en compte les éventuelles attaques par dictionnaire !)
- http://howsecureismypassword.net (ce qui permet au moins de vérifier les mots de passe courants)
Avertissement : 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 de développement / inspecteur et vérifiez s'ils envoient quelque chose avant de taper votre mot de passe fort.
J'aime utiliser le gpg
commandement :
Cryptage :
gpg --cipher-algo AES256 --symmetric filename.tar.gz
En abrégé :
gpg --cipher-algo AES256 -c filename.tar.gz
Il vous sera demandé de saisir une phrase de passe.
Déchiffrer :
gpg --output filename.tar.gz --decrypt filename.tar.gz.gpg
En abrégé :
gpg -o filename.tar.gz -d filename.tar.gz.gpg
Vous pouvez également ajouter cipher-algo AES256
à ~/.gnupg/gpg.conf
pour faire de AES256 la valeur par défaut. (Selon la page de manuel, c'est CAST5 )
7z (lorsque le mot de passe est utilisée) utilise un cryptage AES 256 bits (avec SHA256 étirement clé ).
Installez-le ( p7zip-full
), cliquez avec le bouton droit de la souris sur un fichier ou un répertoire que vous souhaitez crypter, puis sélectionnez Compresser , .7z y Autres options / Mot de passe .
Pour le décryptage, faites un clic droit sur le .7z et choisissez Extrait ici .
aescrypt
Le site web lié contient un outil de cryptage/décryptage aes 256 bits à code source ouvert et est multiplateforme - MacOs, Windows, Linux et autres via Java.
Cryptage : aescrypt -e <file>
Déchiffrer : aescrypt -d <file>
Vous pouvez sauvegarder et crypter votre dossier personnel en utilisant la syntaxe :
tar -cvf - /home/<home_folder> | aescrypt -e -p <password_message> - > backup.tar.aes
installation ubuntu
Télécharger et extraire la source
make
sudo make install
autres plateformes
Téléchargez les binaires ou le code source depuis le site web.
Un grand nombre des suggestions que j'aurais faites ont déjà été présentées dans ce fil. Fondamentalement, openssl est vraiment le moyen le plus simple de crypter un fichier ou un script. Cependant, je vous déconseille d'utiliser AES-256 juste parce qu'il n'est pas disponible dans toutes les versions d'openssl sur un peu de plateformes. La plupart des nouveaux systèmes d'exploitation, comme Linux, en sont dotés. Mais d'autres comme AIX 5.3 ne le font pas (je pense que HP-UX aussi). Si vous avez l'intention d'utiliser votre fichier ou script à travers différentes plateformes, je recommande fortement d'utiliser AES-128 parce que c'est disponible partout.
Comment crypter "rapidement et facilement" un fichier avec AES-128 ?
Un site comme www.ShellScrypt.com utilise openssl AES-128 assez intensément pour chiffrer Shell Shell et rend ensuite les copies chiffrées des Shell exécutables. Tout ce que vous avez à faire est de coller le Shell 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 Shell) de votre fichier. Cela vous permet de " facilement " et " commodément " crypter un fichier/script sans avoir à satisfaire une quelconque exigence de paquetage ou de module sur chaque système sur lequel vous avez l'intention d'utiliser le script ou d'exécuter plusieurs incantations complexes et confuses de commandes openssl.
Vous trouverez ci-dessous un exemple de base crypter / décrypter openssl 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:~$
- Réponses précédentes
- Plus de réponses