问题描述
加密单个文件或文件夹最流行的方法是什么?
最佳解决方法
GnuPG(GPG)可以使用非对称和对称加密。非对称加密涉及两个密钥,一个用于加密的公钥和一个用于解密的私钥。有关非对称密钥用法,请参阅此页面上的djeikyb answer。
对于对称加密,加密和解密密钥是相同的。重要的是要意识到大多数人都非常不喜欢选择强密码。因此,使用密码的加密方案应使用key-derivation函数,该函数需要更多资源(时间,内存)来减缓brute-force攻击。
有关GnuPG的KDF的说明,请参阅this Crypto Stack Exchange post。对称加密的示例用法:
gpg --symmetric < unencrypted_file > encrypted_file
解密:
gpg --decrypt < encrypted_file > decrypted_file
对于能够选择好键的用户的旧答案,请参阅下面的注释
对于单个文件,openssl
非常有用,尤其是在通过不安全的通道(例如e-mail)发送文件时。这是免费的(金钱和自由),不像Truecrypt,只有钱免费。
注意:您在此处输入的密码将由一次MD5迭代处理1.如果您选择了密码”123456″,那么您将获得很少的安全性。
加密:
openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file
系统会要求您输入密码,您必须输入两次密码。
解密:
openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file
enc程序的手册页。
1 openssl enc
使用-md
选项(默认md5)定义的摘要功能,并调用迭代计数为1的函数EVP_BytesToKey()
。这可以在apps/enc.c
的openssl源中找到。
次佳解决方法
我为此使用Seahorse。这是GnuPG的Gnome front-end,与nautilus完美结合:
要获得nautilus集成,请从软件中心安装软件包seahorse-nautilus
:seahorse-nautilus
第三种解决方法
-
TrueCrypt – 免费Open-Source磁盘加密软件
-
GNOME cryptkeeper的EncFS系统托盘小程序
第四种方法
cli方法是GnuPG,也许是tar。这是一个简短的参考指南,你真的应该阅读文档。
首先运行gpg --gen-key
。按照提示生成公钥/私钥对。现在您可以加密文件:gpg -e foo.txt
。这将创建一个名为foo.txt.gpg
的文件。 GnuPG不会删除原始的未加密文件,您可以自行决定是否要使用它。要解密foo.txt.gpg,请运行gpg foo.txt.gpg
。解密将在覆盖现有文件之前提示您。
如果您需要加密目录,请首先对其进行tar:
tar -cf foo.tar foo/
gpg -e foo.tar
您可以根据需要重命名加密文件。解密时,将保留原始文件名。
第五种方法
还有eCryptfs,Ubuntu用它来加密主目录。
您可以在安装时选择主目录加密,也可以使用ecryptfs-setup-private实用程序默认设置单个目录$HOME/Private
。此文件夹可以配置为在登录时自动挂载并在注销时卸载。递归地,$HOME/Private
中的每个文件和文件夹都将被加密。
第六种方法
您还可以使用”Academic Signature”将椭圆曲线加密与wxWidgets GUI一起使用。它是开源的,但不在存储库中。它主要进行ECC非对称加密,签名和时间戳。但该工具还有一个Menu条目,用于调用Gnupg(RSA)和直接访问提供AES和其他算法的文件的对称解密/解密。它的主页在这里:https://www.academic-signature.org
我使用它来保护传输中的文件和对学术文档进行数字签名(成绩单,推荐信,成绩单等)