我写了一个软件,差点被投入监狱!

企业动态
2014年2月,爱德华·斯诺登与《卫报》记者 Glenn Greenwald 第一次联系时,斯诺登提出了一个额外的要求:为了保证通信安全,记者需要在电脑上安装一个软件。

[[404139]]

2014年2月,爱德华·斯诺登与《卫报》记者 Glenn Greenwald 第一次联系时,斯诺登提出了一个额外的要求:为了保证通信安全,记者需要在电脑上安装一个软件。

斯诺登甚至向记者发送了视频,一步一步告诉记者应该如何安装。

当时,记者还不清楚斯诺登将要曝光的事情有多“劲爆”,对于安装额外的软件十分不情愿。直到三月末,被电视制片人 Laura Poitras 警告提醒斯诺登曝光的重大意义之后,也就是几乎两个月时间之后,记者才安装了它。

这个软件叫PGP, 专门用来保证通信的安全,它的第一个版本是我在1991年开发的。

因为这个软件,我差点被投入监狱。

1

我1954年出生于美国的新泽西,大学在佛罗里达大西洋大学读计算机。

大学毕业后,正处于美国和苏联的冷战时代,每当想起可能到来的核世界大战,我就不寒而栗。

我甚至想过移民到新西兰——我觉得那是核战争之后人类唯一能生存的地方。

虽说后来冷战缓和,却不断地促使我思考政府和个人之间的关系。

80年代的美国,PC和网络逐渐普及,人们的通信极为便捷,但也使得监控更加容易。

政府可以很容易大规模地拦截、监听公民的电子邮件, 完全可以自动化、大规模地操作, 只需要扫描关键字就可以。

我决定做点儿事情,来保护个人隐私。

2

我很早就知道RSA这种非对称加密的方法,加密后的消息牢不可破,但是加密和解密都需要非常强大的运算能力,所以在当时只有政府、军队和大型企业才能使用。

怎么才能让普通用户也享受RSA的好处呢?

我知道对称加密(如DES)运行起来是很快的,但是它需要通信双方协商一个密钥才行, 于是我想了一个绝妙的方法:

把非对称加密 (RSA)和 对称加密 (DES) 结合起来。

用RSA算法传递DES的密钥,然后用DES来加密和解密。

举个例子, 张大胖要和何小痩通信,可以这么做。

1 . 张大胖和何小痩都生成自己的公钥和私钥

2. 张大胖用何小痩的公钥加密一个DES算法的密钥,发给何小痩

3. 何小痩用自己的私钥解密,得到DES算法的密钥

4. 两人使用DES来进行通信, 速度就很快了。

详细的原理和过程,你们可以去看看码农翻身写的文章《一个故事讲完Https》

第一步的公钥和私钥该怎么生成呢?这需要两个非常大的质数才行,一般人可搞不定。

我也想了一个办法,用户只要随意摇晃几下鼠标——这是为了增加随机性——然后我的软件就可以帮它生成。

我把这个软件叫做PGP, Pretty Good Privacy,意思是相当不错的隐私,这个名字的灵感来源于一家名为“Ralph's Pretty Good Grocery”的杂货铺的名字,而这家杂货铺出现在电台主持人 Garrison Keillor 虚构的小镇中。

我在1991年完成了PGP的第一个版本,而原理类似、大名鼎鼎的SSL, 也就是我们常用的HTTPS,要在1994年才被Netscape实现。

我绝对不会想到,这个叫PGP的软件会给我带来很大的麻烦。

3

我本来想销售这个软件,但是当时美国有个犯罪防治法案,其中一条就是:美国政府在法律授权下可以获得语音、通信的明文内容,提供电子通信服务的机构和个人必须保证这一点。

我觉得销售是不太可能了, 不如让大家免费使用。

1991年6月,我把PGP交给一位朋友,请他放在Usenet的电子布告栏。

我特意要求他:把这个帖子标记为“仅限美国”。

可是PGP广受欢迎,迅速从密码圈扩散到了全世界,各地的人权团体开始使用PGP来加密他们的文件, 我收到了无数来自全世界的感谢和赞誉。

与此同时,我也开始美国政府和公司批判。

拥有RSA专利的RSA数据安全公司说我的PGP是“强盗软件”, 把RSA公开密钥加密算法免费送了出去。

不久之后,我就受到了FBI的指控:军火贩子,非法对外销售武器。

这真是让我哭笑不得,我这算哪门子武器。

原来,美国政府所定义的军火武器,除了导弹、大炮、机关枪以外,也包括加密软件,只要你使用大于40位密钥的密码系统, 而PGP所用的密钥一直大于128位。

没有政府的许可,PGP不准出口!

中国古人说:塞翁失马,焉知非福, 成为FBI调查对象,反而让PGP名声大涨,在互联网上散布得更快了。

广大人民群众一致认为:让FBI感到惊慌失措的加密软件,必定非常安全!

4

对我的调查在缓慢进行之际,越来越多的密码专家和人权人士纷纷表态支持我,在世界各地为我筹募基金,支助我的辩护开销,这让我非常感动。

我当然不能坐以待毙,我要反击!从一个意想不到的地方反击!

美国宪法第一修正案规定:虽然出口枪支弹药和软件受到限制,但是书籍的出口不受限制。

于是,我通过MIT出版社出了一本书,书名叫做《PGP Source Cdoe and Internals》,足足有600页。

其中的内容估计你也猜到了,这本书没别的东西,全是PGP这个软件的源代码!

任何人,只要你购买了这本书(不受美国出口的限制),你就获得了PGP软件,前提是,需要用OCR软件扫描一下——我在书的开头非常贴心地告诉了大家如何使用OCR来操作。

我出口的是书本中的知识,不是密码应用器材, 美国政府无话可说。

虽然我没法继续开发PGP,但是在欧洲,政府对加密技术的态度比较开放,欧洲的程序员不断地改进它,并且分发到世界各地。

生米已经熟饭 !

终于,经过3年的调查,美国检察总长办公室撤销对我的控诉。我也顺利地从RSA数据安全公司获得授权,PGP成为了合法的产品。

这一场世纪调查把我塑造成了密码学界的圣战战士,很多搞营销的都极其羡慕PGP从这个案子获得的免费的宣传,但是他们感受不到,我所承受的巨大压力。

5

欢迎大家使用PGP,对自己的通信加密,不过一定要主意:从可靠的来源去下载,下载以后,最好验证一下这个软件下载过程中没被篡改。

如果PGP来历不明,被人动过手脚,那一切都完了!无论多强的加密算法都不管用了。

有人说,一个人成神以后就会留下以自己名字命名的定律,我还真有两个:

1. 技术的自然流动往往朝着使监视更容易的方向发展。

2. 计算机跟踪我们的能力每十八个月翻一番。

我是齐默尔曼,计算机密码学家,PGP的发明人。

如需转载,请通过作者微信公众号coderising获取授权。

 

 

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2020-11-18 09:56:46

Java开发代码

2009-09-02 18:36:46

LinuxLinux操作系统Linux开发

2020-07-01 09:07:52

SQL索引语句

2023-05-14 22:25:33

内存CPU

2023-03-27 07:39:07

内存溢出优化

2021-04-30 07:09:48

SQLP0事故

2021-02-02 11:59:15

插件开发工具

2021-02-20 07:52:35

防猝死插件 IDEA

2021-10-08 07:50:57

软件设计程序

2020-08-04 08:44:08

HashCode

2021-09-13 08:41:52

职场互联网自闭

2020-11-02 08:19:18

RPC框架Java

2023-12-28 08:01:59

2020-12-28 05:54:37

构造builder模式

2021-03-11 08:32:58

参数模式构造

2021-10-22 05:56:31

数据库锁表锁定机制

2020-06-04 08:03:37

MySQL事故P0

2020-08-25 20:10:53

GitHub代码开发者

2019-07-01 09:31:04

拉黑复活检测器

2021-08-12 00:03:37

JSStrview视图
点赞
收藏

51CTO技术栈公众号