gnupg(gpg) 加密文件

GnuPG是opengpg的开源实现,用来加密数据和验证签名。 集成很多密码协议,使用也比较简单。

首先来个开胃小菜:这是使用手动输入密码的AES对称加密协议来加密test.txt文件,默认输出为test.txt.gpg, 使用 -armor后可以让加密数据转化为ascii文本,便于传输。

接下去是正式gpg用法。具体可以 man gpg。

生成密钥:

会询问key的类型,长度等等,还有id和email一 一写上去。这里会要求输入passphrase,一定要注意安全。这个passphrase是整个系统中最薄弱的部分,man里也这样提到了,因为这个可以被brute crack。最后会提示多动动键盘什么的,估计要3分钟左右,这不是死机,实在产生足够随机的伪随机数。所以要多动键盘,运行一下其他任务什么的,如果不这样做,等待的时间更长。

使用下面的命令,就可以把key转换成ascii,可以email给好友,让他发加密的文件给你,增加安全性。或者直接把key上传到服务器,让其他人都能找到你的key。不要怀疑安全性。

 

有了key就可以加密解密了。有很多地方需要使用密码,密码不能太简单,也不能重复,忘记了就麻烦了,所以最好是记下来,记到哪呢? 我的做法是这样的。记到文件里,然后使用pgp加密,然后传到网盘啊什么地方的备份一下,要更新密码时再解密再加密。虽然效率低,但安全。如果你觉得密码单一不是问题的话,我可以给你看几个被拖库的数据库,看看你在不在里面。

key管理,可以直接使用gpg –edit-key user_id. 进入控制台后,有addkey delkey等命令,不详细说了,直接help就好了,别忘了save,否则什么有不会改变。下面是各个key后面字母的含义。

参考:

    1. 手动输入密码对称加密
    2. 什么是subkey
    3. 快速入门
    4. digital ocean 在vps上使用gnupg
    5. 增加熵
    6. archlinux GnuPG
    7. 字母含义
    8. 不错的指导
    9. 补充