La question est un peu obscure. Voulez-vous chiffrer et déchiffrer manuellement des fichiers, ou à la volée?
Psusi
4
Au lieu de «plus populaire», adapter une solution à vos besoins pourrait être utile (selon la question de psusi). Recherchez-vous une combinaison de sources open source faciles, fiables, natives, sécurisées et rapides? Tous ou certains d'entre eux?
Belacqua
7
J'aimerais ajouter la remarque selon laquelle, contrairement à ce que prétendent certaines réponses, TrueCrypt n'est pas considéré comme un logiciel libre ou Open Source par Debian / Ubuntu / Fedora / Red Hat / Arch Linux / OpenSuse / Gentoo / etc.
jan.
Réponses:
46
GnuPG (GPG) peut utiliser le cryptage asymétrique et symétrique. La cryptographie asymétrique implique deux clés, une clé publique pour le chiffrement et une clé privée pour le déchiffrement. Voir la réponse de djeikyb sur cette page pour l'utilisation des clés asymétriques.
Pour le chiffrement symétrique, les clés de chiffrement et de déchiffrement sont égales. Il est important de réaliser que la plupart des gens choisissent très mal les mots de passe forts. Ainsi, un schéma de chiffrement utilisant des mots de passe devrait utiliser une fonction de dérivation de clé nécessitant plus de ressources (temps, mémoire) pour ralentir les attaques par force brute.
Pour une description du fichier KDF de GnuPG, voir cet article Crypto Stack Exchange . Exemple d'utilisation du chiffrement symétrique:
Notez que gpgcache la symkey par défaut (comportement documenté). Afin d’éviter cela, utilisez l’ --no-symkey-cacheoption décrite dans une réponse connexe .
ancienne réponse pour les utilisateurs capables de choisir de bonnes clés, voir la note ci-dessous
Pour les fichiers uniques, opensslest très utile, en particulier lors de l’envoi du fichier sur un canal non sécurisé (par exemple, un courrier électronique). C'est gratuit (en argent et en liberté), contrairement à Truecrypt, qui n'est gratuit qu'en argent.
REMARQUE : le mot de passe que vous entrez ici sera traité par une itération MD5 1 . Si vous choisissez un mot de passe "123456", vous aurez très peu de sécurité.
1openssl enc utilise la fonction digest définie par l' -mdoption (par défaut, md5) et appelle la fonction EVP_BytesToKey()avec un nombre d'itérations égal à 1. Cela peut être trouvé dans le source openssl à l'adresse apps/enc.c.
@Assaf Lavie: OpenSSL ne prend pas en charge les fichiers de clés si vous voulez dire cela, bien qu'il puisse lire un mot de passe à partir de la première ligne d'un fichier. Lisez la page de manuel sur openssl, section Arguments de phrase de passe .
Lekensteyn
En outre, vous pouvez utiliser l'indicateur "-a" qui vous permet de copier le texte crypté, comme suit: "openssl aes-256-cbc -a -salt -in unencrypted_file -out crypté_file"
v2r
@ v2r Pour ajouter d'autres lecteurs: -abase64-code l'entrée (alias de -base64), pour le déchiffrer, vous devez également ajouter l' -aoption.
Lekensteyn
1
@Lucio aes-256est un alias pour aes-256-cbc, il n'y a pas de différence. CBC est un mode de fonctionnement pour les chiffreurs de blocs. Voir la page de manuel de enc(1)pour une liste des chiffrements supportés.
Lekensteyn
30
J'utilise Seahorse pour cela. C'est un frontal Gnome pour GnuPG et s'intègre bien avec Nautilus:
Pour obtenir l'intégration Nautilus, installez le package à seahorse-nautiluspartir du Centre logiciel: seahorse-nautilus
'AVERTISSEMENT: l'utilisation de TrueCrypt n'est pas sécurisée' - TrueCrypt
user457015
16
Une méthode cli serait GnuPG , et peut-être tar. Ceci est un guide court pour référence, vous devriez vraiment lire la documentation.
Première course gpg --gen-key. Suivez les instructions pour générer votre paire de clés publique / privée. Maintenant , vous pouvez crypter des fichiers: gpg -e foo.txt. Cela va créer un fichier appelé foo.txt.gpg. GnuPG ne supprime pas le fichier d'origine non chiffré, c'est à vous de décider si vous le souhaitez ou non. Pour décrypter foo.txt.gpg, exécutez gpg foo.txt.gpg. Le décryptage vous le demandera avant de remplacer les fichiers existants.
Si vous avez besoin de chiffrer un répertoire, commencez par le tar:
tar -cf foo.tar foo/
gpg -e foo.tar
Vous pouvez renommer le fichier crypté comme bon vous semble. Une fois déchiffré, le nom du fichier d'origine est conservé.
Les avantages de cette méthode sont les suivants: premièrement, elle ne nécessite pas l’installation de packages supplémentaires; Deuxièmement, il ne nécessite pas d’accès root. J'ajouterais une compression à la commande tar (xz ou gz).
Panther
12
Il existe également eCryptfs , utilisé par Ubuntu pour chiffrer les répertoires de départ.
Vous pouvez sélectionner le chiffrement du répertoire de base lors de l'installation ou configurer un seul répertoire, $HOME/Privatepar défaut, à l'aide de l' utilitaire ecryptfs-setup-private . Ce dossier peut être configuré pour monter automatiquement à la connexion et démonter à la déconnexion. Chaque fichier et dossier au sein de celui-ci $HOME/Private, de manière récursive, sera chiffré.
Malheureusement, eCryptfs est TRÈS lent. Il y a aussi quelques bugs dans la dernière version
ruX
Au contraire, eCryptfs est plus rapide que gpg. Par défaut, gpg tente de compresser avant le cryptage. Et eCryptfs est maintenant aussi utilisé par la plupart des Android
Xen2050
2
Vous pouvez également utiliser "Academic Signature" pour utiliser la cryptographie à courbe elliptique avec une interface graphique wxWidgets. C'est open source mais pas dans les dépôts. Il utilise principalement le cryptage asymétrique ECC, les signatures et les horodatages. Mais l'outil dispose également d'une entrée de menu permettant d'appeler Gnupg (RSA) et d'accéder directement à un cryptage / décryptage symétrique de fichiers offrant AES et d'autres algorithmes. Sa page d'accueil est ici: https://www.academic-signature.org
Je l'utilise beaucoup pour protéger les fichiers en transit et pour signer numériquement des documents académiques (relevés de notes, lettres de recommandation, listes de notes, etc.)
hmm, bash script using openssl aes-256-cbc ...Vous savez, au lieu d'utiliser, if [ $? -ne 0 ] ; then... fivous pouvez simplement utiliser ||? Et il y a des gens qui pensent qu'OpenSSL "* a eu plusieurs failles majeures de sécurité au cours de la dernière année [ Heartbleed ], alors que les documents Snowden montrent que GPG est l'un des rares programmes qui pourrait bloquer la NSA lorsqu'elle est utilisée correctement. Le code OpenSSL est également un cloaque complet et une couverture de test épouvantable. (Divulgation: [il] travaille sur un projet "OpenSSL craint; corrigeons-le".) - jbarlow * "
Réponses:
GnuPG (GPG) peut utiliser le cryptage asymétrique et symétrique. La cryptographie asymétrique implique deux clés, une clé publique pour le chiffrement et une clé privée pour le déchiffrement. Voir la réponse de djeikyb sur cette page pour l'utilisation des clés asymétriques.
Pour le chiffrement symétrique, les clés de chiffrement et de déchiffrement sont égales. Il est important de réaliser que la plupart des gens choisissent très mal les mots de passe forts. Ainsi, un schéma de chiffrement utilisant des mots de passe devrait utiliser une fonction de dérivation de clé nécessitant plus de ressources (temps, mémoire) pour ralentir les attaques par force brute.
Pour une description du fichier KDF de GnuPG, voir cet article Crypto Stack Exchange . Exemple d'utilisation du chiffrement symétrique:
Décryptage:
Notez que
gpg
cache la symkey par défaut (comportement documenté). Afin d’éviter cela, utilisez l’--no-symkey-cache
option décrite dans une réponse connexe .Page de manuel de gpg .
ancienne réponse pour les utilisateurs capables de choisir de bonnes clés, voir la note ci-dessous
Pour les fichiers uniques,
openssl
est très utile, en particulier lors de l’envoi du fichier sur un canal non sécurisé (par exemple, un courrier électronique). C'est gratuit (en argent et en liberté), contrairement à Truecrypt, qui n'est gratuit qu'en argent.REMARQUE : le mot de passe que vous entrez ici sera traité par une itération MD5 1 . Si vous choisissez un mot de passe "123456", vous aurez très peu de sécurité.
Crypter:
On vous demandera un mot de passe que vous devrez saisir deux fois.
Décrypter:
Page de manuel pour le programme enc .
1
openssl enc
utilise la fonction digest définie par l'-md
option (par défaut, md5) et appelle la fonctionEVP_BytesToKey()
avec un nombre d'itérations égal à 1. Cela peut être trouvé dans le source openssl à l'adresseapps/enc.c
.la source
-a
base64-code l'entrée (alias de-base64
), pour le déchiffrer, vous devez également ajouter l'-a
option.aes-256
est un alias pouraes-256-cbc
, il n'y a pas de différence. CBC est un mode de fonctionnement pour les chiffreurs de blocs. Voir la page de manuel deenc(1)
pour une liste des chiffrements supportés.J'utilise Seahorse pour cela. C'est un frontal Gnome pour GnuPG et s'intègre bien avec Nautilus:
Pour obtenir l'intégration Nautilus, installez le package à
seahorse-nautilus
partir du Centre logiciel: seahorse-nautilusla source
TrueCrypt : logiciel de cryptage de disque gratuit et non sécurisé , disponible auprès d’une source non sécurisée .
la source
Une méthode cli serait GnuPG , et peut-être tar. Ceci est un guide court pour référence, vous devriez vraiment lire la documentation.
Première course
gpg --gen-key
. Suivez les instructions pour générer votre paire de clés publique / privée. Maintenant , vous pouvez crypter des fichiers:gpg -e foo.txt
. Cela va créer un fichier appeléfoo.txt.gpg
. GnuPG ne supprime pas le fichier d'origine non chiffré, c'est à vous de décider si vous le souhaitez ou non. Pour décrypter foo.txt.gpg, exécutezgpg foo.txt.gpg
. Le décryptage vous le demandera avant de remplacer les fichiers existants.Si vous avez besoin de chiffrer un répertoire, commencez par le tar:
Vous pouvez renommer le fichier crypté comme bon vous semble. Une fois déchiffré, le nom du fichier d'origine est conservé.
la source
Il existe également eCryptfs , utilisé par Ubuntu pour chiffrer les répertoires de départ.
Vous pouvez sélectionner le chiffrement du répertoire de base lors de l'installation ou configurer un seul répertoire,
$HOME/Private
par défaut, à l'aide de l' utilitaire ecryptfs-setup-private . Ce dossier peut être configuré pour monter automatiquement à la connexion et démonter à la déconnexion. Chaque fichier et dossier au sein de celui-ci$HOME/Private
, de manière récursive, sera chiffré.la source
Vous pouvez également utiliser "Academic Signature" pour utiliser la cryptographie à courbe elliptique avec une interface graphique wxWidgets. C'est open source mais pas dans les dépôts. Il utilise principalement le cryptage asymétrique ECC, les signatures et les horodatages. Mais l'outil dispose également d'une entrée de menu permettant d'appeler Gnupg (RSA) et d'accéder directement à un cryptage / décryptage symétrique de fichiers offrant AES et d'autres algorithmes. Sa page d'accueil est ici: https://www.academic-signature.org
Je l'utilise beaucoup pour protéger les fichiers en transit et pour signer numériquement des documents académiques (relevés de notes, lettres de recommandation, listes de notes, etc.)
la source
J'ai pris certaines des autres suggestions et créé un wrapper de script shell simple (pour les paresseux)
https://github.com/orionM/ssl-crypt-tools
prendre plaisir
la source
openssl aes-256-cbc ...
Vous savez, au lieu d'utiliser,if [ $? -ne 0 ] ; then... fi
vous pouvez simplement utiliser||
? Et il y a des gens qui pensent qu'OpenSSL "* a eu plusieurs failles majeures de sécurité au cours de la dernière année [ Heartbleed ], alors que les documents Snowden montrent que GPG est l'un des rares programmes qui pourrait bloquer la NSA lorsqu'elle est utilisée correctement. Le code OpenSSL est également un cloaque complet et une couverture de test épouvantable. (Divulgation: [il] travaille sur un projet "OpenSSL craint; corrigeons-le".) - jbarlow * "