加密程序 PGP 背后的故事

我不知道有多少人听说过PGP(Pretty Good Privacy):这是一个加密程序,被广泛用于对文件和邮件进行加密。PGP本身是收费商业软件,所以现在最常用的是开源免费的GPG(Gnu Privacy Guard)软件(它使用OpenPGP标准,可以方便的进行PGP加密和解密)。

这次我想和诸位分享一下PGP背后的故事,这可是一段传奇啊..... 美国有个软件工程师叫Philip Zimmermann ,同时也是一名活动家。他发现早期的互联网完全没有任何加密,用户之间传递的信息可以被任何人轻易截取窃听;更糟糕的是,联邦政府一直在试图将窃听合法化 (诸位想到了爱国者法案和棱镜事件没有?)。当时,联邦政府宣称:“我们完全只是为了打击犯罪才进行窃听的,我们的窃听行动是被法律所许可的;那些举止合 法的公民们,他们根本不用担心什么窃听,不是吗?”Philip Zimmermann心想, “开什么玩笑?对,打击犯罪,请问什么叫做犯罪呢?你们联邦政府嘴一张说什么是犯罪什么就是?被法律许可?好吧,傻子才会相信你们呢!你们规定了一种加密 算法,然后自己握有解密密钥,再把其他加密算法宣布为非法,这实在是太可笑了!要知道隐私可是属于每个人的基本人权,至于所谓的光明磊落,那请问为什么要 把信装在信封里呢?为什么不直接写在明信片上呢?为什么在要求想要搜查你的房子的 警察出示搜查证呢?那些认为只有罪犯才需要隐藏自己的家伙们,他们的逻辑不是和那些认为穿裤子的人是在裤子里藏炸弹的恐怖分子的家伙一样吗?”就这样,1991年,PGP横空出世了。请注意,那是1991年,SSL都是1994年的事情,也就是说PGP是世界上第一个信息加密传输工具,而且是可以被个人使用的工具。

最早的PGP不是商业软件,而是可以被任何人随意使用的开源软件,Philip Zimmermann在第一时间公开了源代码并上传到互联网上。很快,PGP就有了大批用户,而且还被国外的互联网用户所知,很多极权国家的用户都开始使用PGP进行数据传输。

然后,很不幸,麻烦来了:当时的美国法律把加密产品当作军火看待。这其实是个历史遗留问题,一战和二战的时候加密学在战争中发挥了巨大作用,因此,很多国家由此把加密技术视作军火,禁止加密技术出口,而PGP被国外用户采用......联邦政府认为这威胁到了国家安全!

联邦政府据此对Philip Zimmermann展开了犯罪调查,而且勒令禁止在互联网上传播PGP源码和产品。麻烦缠身的英雄Philip Zimmermann并没有屈服,他出版了一本书,在书中附上了PGP的完整源码,然后将书籍出口到国外。因为美国宪法第一修正案规定公民享有言论自由 (出版自由就是言论自由的一部分),而且书本不是军火,无法当成军需品特别对待,所以这下联邦政府就没有任何办法了。

最终,在 1996年,联邦政府放弃了对Philip Zimmermann的犯罪指控,此后也修改法律取消了对加密技术的出口限制。而现在,加密技术已经走向了个人,诸位的PC和手机里到处都是加密产品: 浏览器(TLS加密),邮件客户端(支持加密传输邮件),文件加密工具,与远程服务器加密通信的其他软件......已经没有哪个政府能够阻止加密技术的 传播了! 某种程度上来说,这一切其实都是来自于Philip Zimmermann的坚守:被联邦政府骚扰了5年,被爱国者们骂成不顾国家安全的卖国贼,但是他从未退缩过。很多国家的用户写信对他表示感谢。迄今为 止,不计其数的人权活动家被PGP保护着。

最后,普及一下PGP的使用方法:它是跨平台的加密程序,很多Linux发行版自带GPG,windows版可以去这里下载,教程在这里。
文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-09-24 04:32:31

加密程序 PGP 背后的故事的相关文章

超简易加密程序有望面世

其实,加密并不容易.美国国家安全局爆料者爱德华・斯诺登(Edward Snowden)此前想与记者格伦・格林沃尔德(Glenn Greenwald)通过加密电子邮件通信,但后者在观看了斯诺登制作的12分钟教程视频后,仍然搞不清如何使用著名的加密程序PGP. 纳迪姆・科贝西(Nadim Kobeissi)希望清除这种学习障碍.在本月晚些时候于纽约召开的HOPE黑客大会上,他将公布一款名为miniLock的多用途文件加密程序的beta版:该程序是一个免费.开源的浏览器插件,其设计目的是通过实际上无法

一款花小钱办大事的文件加密程序

网易科技讯 7月4日消息,加密并不容易.美国国家安全局爆料者爱德华・斯诺登(Edward Snowden)此前想与记者格伦・格林沃尔德(Glenn Greenwald)通过加密电子邮件通信,但后者在观看了斯诺登制作的12分钟教程视频后,仍然搞不清如何使用著名的加密程序PGP. 纳迪姆・科贝西(Nadim Kobeissi)希望清除这种学习障碍.在本月晚些时候于纽约召开的HOPE黑客大会上,他将公布一款名为miniLock的多用途文件加密程序的beta版:该程序是一个免费.开源的浏览器插件,其设计

黑客精神祭 挖掘神秘黑客背后的故事

无论媒体如何渴望挖掘黑客背后的故事.黑客始终是一群神秘的存在.于是乎,笔者的这篇黑客精神祭的直接叙述对象也就指向了更为人们所知的"病毒". 病毒诞生之初--严谨之美 当你看着爱机被病毒蹂躏的时候,或许你根本无从感觉病毒之美.但是,如果你愿意纯粹以技术角度评判病毒的话,或许你能在病毒诞生之初,发现它的美.那是一种精密逻辑思维构筑下的严谨之美. 1986年,大脑病毒面世.它是世界上第一个DOS病毒,同时也开创了引导区病毒的先河.它用汇编语言写成,代码精简,有很高的编程技术.大脑病毒是用极其

背后的故事之 - 快乐的Lambda表达式(一)

原文地址:点击打开链接 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能降低发生一些潜在错误的可能.LINQ包括ASP.NET MVC中的很多功能都是用Lambda实现的.我只能说自从用了Lambda,我腰也不酸了,腿也不疼了,手指也不抽筋了,就连写代码bug都少了.小伙伴们,你们今天用Lambda了么?但是你真的了解它么?今天我们就来好好的认识一下吧. 本文会介绍到一些Lam

LLVM和Clang背后的故事

LLVM是Apple官方支持的编译器,而该编译器的前端是Clang,这两个工具都被集成到了Xcode里面.在这篇文章中,我们来了解一下LLVM和Clang背后的故事. 在很长一段时间里,Apple一直使用GCC作为官方的编译器.GCC作为开源世界的编译器标准一直做得不错,但Apple对编译工具提出了更高的要求. 仗着自己在开源社区的地位,GCC 开发者对Apple的Objective-C语言新增的很多特性不予理睬,甚至当Apple想做的很多功能需要用模块化的方式来调用 GCC时,GCC却一直不给

听运营者们分享背后的故事 2017网易易盾成就内容安全王道

[51CTO.com原创稿件]2017年1月8日,天公作美吹散了漫天雾霾,网易大厦在周末的下午迎来了一百多位互联网运营小伙伴,共聚"亿级互联网产品背后的故事"线下沙龙,一起讨论互联网内容安全运营的话题. 谈及举办这场活动的初衷,网易易盾总经理周森表示,随着国内互联网的蓬勃发展,网民数量的激增,互联网的运营工作越来越难:例如对用户上传内容尺度难以把握.海量垃圾信息骚扰难清理.垃圾样本变化多端难过滤.人力审核成本不堪重负-- 那么这些问题该如何解决?不同阶段的运营会遇到哪些典型问题?互联网

阿里巴巴开源Java编码规范背后的故事

(作者:无独 | 校对:孤尽) <阿里巴巴Java开发手册>(下称<手册>)凝聚了阿里集团很多同学的知识智慧和经验,这些经验甚至是用血淋淋的故障换来的,希望前车之鉴,后车之师,能够帮助更多的开发者少踩坑,杜绝踩重复的坑.  手册下载:https://yq.aliyun.com/articles/69327 此手册从构思到现在的最新版本,历时一年半,历经无数次内部针锋相对的讨论,迭代105次.可以说手册中每一个条目的背后,都有一个很长.很精彩的故事.为了让广大开发者更加深入地了解到项

ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事

从编程的角度来讲,ASP.NET Web API针对CORS的实现仅仅涉及到HttpConfiguration的扩展方法EnableCors和EnableCorsAttribute特性.但是整个CORS体系不限于此,在它们背后隐藏着一系列的类型,我们将会利用本章余下的内容对此作全面讲述,今天我们就来讨论一下用于定义CORS授权策略的EnableCorsAttribute特性背后的故事. 目录 一.CorsPolicy 二.CorsPolicyProvider 三.CorsPolicyProvid

用PGP加密:PGP密匙的生成以及PGP的命令

PGP是国际上十分流行的加密软件,其功能十分强大,可以对各种文件进行加密,生成256位.512位.1024位密匙.PGP采用公匙加密体系,用加密算法 生成两个密匙,分别作为公匙和私匙.公匙用来加密,是公开的.私匙用来解密,自己保存.下面介绍PGP的使用:1 首先生成你的PGP密匙.在DOS 命令行输入:pgp-kg2程序会提示你一步步进行密匙生成工作:①选择密匙长度.建议用1024位,安全性相当有保障.②输入用户名.要尽量避免混淆.③选择口令.和所有密码一样,尽量取得难猜一点.PGP是区分口