在Emacs中使用GPG加密文件

加密那点事

谁都会有一些不想让其他人知道的东西,银行卡密码、网络登录帐号密码、邮件系统密码、写满了青涩回忆的日记等等,这些都是属于每一个人自己专有的信息。随着这两年关于“隐私泄露”话题为人们所关注,这些关乎个人经济、情感、安全的信息受到了越来越多的重视。而且网络密码越来越多的今天,密码存放的安全性也越来越重要。所以,”避免使用统一的密码“成为大家的共识。可是“人脑有极限啊,哪里能记得住那么多的密码?”,所以,把这些个人关键信息记录在一个安全的地方成为了很多人的选择。

打造一个”安全的地方“的方法有很多,我这里要做的是使用神器”EMACS“配合GnuPG来实现文件的加密存放。Emacs是一个”为装成了编辑器的操作系统“,估计大家都多少有一点概念。那么GnuPG呢?

GunPG

维基百科的词条记录说明如下:

GnuPG (英文:GNU Privacy Guard,简称:GPG)是一种加密软件,它是PGP加密软件的满足GPL协议的替代物。GnuPG依照由IETF订定的OpenPGP技术标准设计。GnuPG用于加密、数字签章及产生非对称匙对的软件。IETF正在为PGP协议进行标准化,标准化的PGP称为OpenPGP。当前版本的PGP及Veridis' Filecrypt与GnuPG或其他OpenPGP系统兼容。GnuPG是自由软件基金会的GNU计划的一部份,目前受德国政府资助。以GNU通用公共许可证第三版授权。

GnuPG使用用户自行生成的非对称密钥对来加密信息,由此产生的公钥可以同其他用户以各种方式交换,如密钥服务器。他们必须小心交换密钥,以防止得到伪造的密钥。GnuPG还可以向信息添加一个加密的数字签名,这样,收件人可以验证信息完整性和发件人。 GnuPG不利用专利或其他方式限制软件或算法,就像IDEA算法一开始出现在PGP中一样。(可以通过下载相关插件在GnuPG中使用IDEA算法,不过如果在一些IDEA算法为专利的国家中使用,可能需要一份许可)。GnuPG同样也使用各种其他非专利的算法:

  • 分组密码:CAST5,Camellia,Triple DES,AES,Blowfish,Twofish
  • 非对称加密密码:ElGamal,RSA
  • 加密哈希:RIPEMD-160,MD5,SHA-1,SHA-2,Tiger
  • 数字签名:DSA,RSA

GnuPG是一个混合加密软件程序,它使用常规对称密钥提高加密速度,使用公钥便于交换。通常使用一次性的收件人公钥用以加密会话。

从上述词条介绍中可以看出:

  • GunPG是支持多种加密算法的加密工具
  • 支持对称加密(词条中写的是”分组加密“)和非对称加密两种加密方式
  • 具有较高的安全性(嗯,一个有1024~4096位长的密码(非对称加密方式下),确实不是轻易可以破解的,具体的,没有研究高大上的加密技术,哪位大侠深入的解释解释?)

这应该是足够安全了。但是作为一个”选择障碍症“晚期患者,应该如何选择加密方式?对称加密(symmetric encryption)还是非对称加密(asymmetric encryption)哪个是我的菜?

加密方法的选择

从阮一峰的网络日志上可以看到:

加密和解密使用同样规则(简称"密钥"),这被称为"对称加密算法"(Symmetric-key algorithm)。

加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。这种新的加密模式被称为"非对称加密算法"。

所以,结合不同的使用场合,可以选择合适的加密方式:

  • 对于不需要进行交换的信息,例如我自己的银行卡密码、网络帐号信息,使用对称加密方法即可。关键是不能忘记了当初设定的密码(实在忘记了话,找个地方去哭吧)
  • 对于有重度信息交换需求的,可以选择使用非对称的加密算法。当然,由于GPG会做好相关加解密密钥的管理,所以做好数据备份非常重要。(密钥丢失了的话,那么对于当初加密后的文档就当浮云吧,挥一挥手,潇洒的走开,姿势会比较优美)。

在Emacs中激活GPG的加密功能

在Emacs近期版本中(24.4)默认提供了EasyPG包。可以实现对GPG软件的调用,实现文件的加解密功能。具体方法如下:

  1. 安装gpg软件

    Gnupg在Linux、Windows、Mac等主流操作系统上都有相关的发行版本。根据自己的操作系统类型进行自主选择吧。

  2. 在Emacs的配置文件中使用使用如下代码激活EasyPG包:

    (require 'epa-file)
    

简单吧?配置了上面的代码后,将需要加密的文件扩展名改为 gpg 就可以自动调用gpg软件进行文件的加解密了。

使用对称加密的方法

保存文件的时候,Emacs会提示选择加密使用的密钥(Key),如果没有指定Key,那么就会使用“对称加密”的方法。问一次还好,如果次次都问,那就囧了。还好,我们可以吧它关掉。默认情况下,Emacs会使用对称加密的方法进行文件加密。

(setq epa-file-select-keys 0)

使用非对称加密的方法

如果打算使用非对称加密方法,可以在需要加密的文件头添加

-*- epa-file-encrypt-to: ("your@email.address") -*-

其中your@email.address是使用gpg创建的密钥。

使用非对称加密时密钥信息的备份<a id="sec-3" name="sec-3"></a>

非对称加密的情况下,密钥的保存非常重要。通常情况下,必须做好密钥的备份以备不时之需。备份密钥的命令如下:

gpg -o keyfile.pub --export "your@email.address"
gpg -o keyfile.prv --export-secret-keys "your@email.address"

恢复密钥时,执行如下指令即可:

gpg --import keyfile.pub
gpg --import keyfile.prv

其他时间,小心的存放你的密钥文件吧。放到一个U盘里,放到你房间的墙角的纸袋里的信封里会是一个比较好的主意。唯一要注意的时,打扫房间的时候别被妈妈扔掉了哈!

小结

本文介绍了在Emacs中使用gpg加密文件的方法。上述代码在Windows 7 操作系统中配合Emacs 24.4,gpg4win 2.2.3下调试通过。写下这篇文章以备未来查询使用。

参考文件:

更新日志:

  • 2015-03-10 : 初始版本,完成了Emacs配合gpg完成文件加密的基础使用方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 先来看 PGP 和 GPG 程序的介绍。 PGP PGP(英语:Pretty Good Privacy,中文含义"...
    faner阅读 66,828评论 2 21
  • GPG简介 GPG是自由软件基金会依照由IETF订定的OpenPGP技术标准设计出了GNU Privacy Gua...
    geekdeedy阅读 6,107评论 0 1
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,450评论 5 29
  • 嗨,亲爱地姑娘: 一别数年,久未联系,没想到你会以这样的方式再一次路过我的生命里。 我不善言谈,你是知道的。 可如...
    痞子男老师阅读 347评论 0 1
  • 《欣赏》 像欣赏一朵正在开放的花朵 它颜色艳丽 每一片花瓣都像刚喝过牛奶 能让你如痴如醉 只要你见过 白天,晚上,...
    金书js阅读 200评论 0 1