原文:Before Bitcoin Pt.1–70s “Public Key Saga”
如果你问人们比特币或加密货币从何而来?你会得到很多答案,如果是对的,也很可能是对事实的嘲讽。许多人不知道的是,比特币是密码朋克运动(cypherpunk movement)的产物。它起源于 70 年代,但形成于 90 年代,与美国政府围绕数字自由的不公正行为进行斗争,并开创了现代个人隐私的权利。
虽然你可以尝试通过谷歌搜索来了解密码朋克……但除非你了解运动本身的背景,否则你可能很难深入了解全貌。你必须放大时间线并思考更大的问题。谁为密码朋克运动埋下了种子?这些想法都是从哪里来的?
比特币之前(Before Bitcoin)是一个系列,旨在给你一个加密货币技术和哲学的历史视角。
为此,我将编写一个 5 部分的系列文章,重点关注密码学、加密货币的基本机制以及随着时间的推移而形成的隐私哲学。这将通过70年代、80年代、90年代和2000年代在每个十年中的探索。该系列重点概述:
第一部分 — — 70 年代:密码学知识如何通过公钥密码学的发布而普及的。
第二部分 — — 80 年代:去中心化服务、匿名通信网络和数字现金的起源。
第三部分 — — 90 年代:密码朋克的起源。
第四部分 — — 00 年代:2000 年代密码朋克运动中诞生的技术。
第五部分 — — 比特币:比特币的原始设计和早期的币种分叉。
第一部分:介绍
所以……我们想了解加密货币及其历史。我们从哪里开始?
我想首先谈谈 70 年代和公钥密码学的创建。在70年代之前, 密码学主要被军方用于保护通信安全。研究主要由情报机构(GCHQ、NSA 等)或 IBM 等企业运营的研究实验室进行。密码学被用于商业目的,公众很少有机会接触到这些知识。这种对现代密码学的限制被三位密码学家赫尔曼(Hellman)、迪菲(Diffie)和默克尔(Merkle)发布的公钥密码学(public cryptography)所打破。他们的工作导致公众对密码学的第一次大的兴趣浪潮。
那么什么是公钥密码学呢?
密码学是确保和保护信息不受 “敌人 “或无权获得信息的人影响的做法。它是确保信息真实性和完整性的基础机制,也是最终使区块链和加密货币成为可能的原因。
公钥密码学是密码学使用的一种转变,现在可以保证大多数加密货币协议的安全。
它是如何工作的?
从本质上讲,公钥密码学允许人们通过不安全的渠道向一个公共地址发送加密信息。而且只有能访问公共地址对应的私钥的人才能解密信息。私钥还用于签名和验证发送的信息,以验证其来源的合法性。
就加密货币而言,虽然人们可以向公共地址发送比特币并查看其持有多少比特币,但只有拥有其相应私钥的所有者才能使用比特币并签署交易。
这对密码学来说是一个极其重要的概念,并且引起人们对密码学的第一次大兴趣……
三位密码学家分别是马丁·赫尔曼(Martin Hellman)、惠特菲尔德·迪菲(Whitfield Diffie)和拉尔夫·默克尔(Ralph Merkle)。他们有一个非常有趣的故事……
那么,这三位研究人员是如何打败政府对强大的密码学知识的控制的呢?
首先,让我们了解下密码学家马丁·赫尔曼(Martin Hellman)的故事。
马丁·赫尔曼(Martin Hellman),一个雄心勃勃的人
马丁·赫尔曼(Martin Hellman)小时候是个书呆子,他的父亲是当地一所高中的物理老师,他从小就接触到了科学。他记得:
“我父亲的书架上有一些书,我会去阅读。其中有一本我记得是《加诺特的物理学》(Ganot’s Physics),是他买的一本19世纪90年代的物理学教材。显然,即使对他来说,这也是一件古董。我七年级的科学展项目就源于此。所以我对科学感兴趣,但不是特别对密码学感兴趣,我喜欢数学。”(My Father had books on the bookshelf that I would pull down and read about things. Including one I remember, Ganot’s Physics, an old physics text from the 1890s that he bought. Obviously it was an antique even for him. And my seventh grade science fair project came out of that. So I was interested in science, but not particularly cryptography, and I loved math too.)
早期的职业生涯
出于兴趣,他在纽约大学学习电气工程,并于1967年在斯坦福大学完成了电气工程的硕士学位。他非常适合学术界,他做得很好,享受他在学校的时光。
虽然人们可能会直观地认为他在某个时候研究过密码学,但他直到后来才与计算机科学的这一方面有很大的联系。在早期,他的事业心很强,在很小的时候就已经规划了自己的生活。
他设想自己将在 35 岁结婚,在此之前,他将环游世界,为大企业从事管理工作。
在22岁的时候,他开始着手完成博士学位,研究一种被称为“决策逻辑”(decision logic)的深奥的思维方式。赫尔曼把博士学位看作是一个机会,可以“反制”他年轻时在管理学上的逻辑:
如果我有博士学位。就可以帮助平息“这孩子(我)能做什么”这样的疑问。
具有讽刺意味的是,在他读博士的第一年,他结婚了。这并没有让他放慢脚步,在开始攻读博士学位的两年内,24岁的他就取得了早期的突破。他发表了论文:用有限的记忆学习。(Learning with Finite Memory)
他坚持自己宏伟的人生计划,追随自己的梦想去IBM工作。
有那么一小会儿,他在教书或在企业工作的决定中徘徊,但在环游世界和更多金钱的诱惑下,他决定:“不,谢谢,我不想成为穷人。”
霍斯特·费斯特尔(Horst Feistel)和彼得·埃利亚斯(Peter Elias)的早期影响
于是他去了IBM在纽约的托马斯·J·沃森研究中心(Thomas J. Watson Research Centre)工作。赫尔曼在模式识别部门工作,制造试图从照片中识别数字的机器。
虽然赫尔曼的工作与密码学无关,但 IBM 有自己的部门专注于密码学研究。在那个部门,他遇到了一位名叫霍斯特·费斯特尔(Horst Feistel)的德国研究员。通过他们的友谊,霍斯特·费斯特尔(Horst Feistel)向赫尔曼介绍了密码学。他们经常共进午餐,讨论密码系统和看似无法解决的问题。赫尔曼认为费斯特尔是对他早期影响最大的人之一,后来费斯特尔设计了政府的数据加密标准(data encryption standard, DES)。
随着他的心智成熟,以及妻子怀孕时,他问自己:“我是真的想环游世界,还是想有更多的时间和家人在一起?”。他选择了家庭,成为了麻省理工学院电子工程系的助理教授。在那里,他遇到了麻省理工学院电子工程系主任彼得·埃利亚斯(Peter Elias),彼得与“信息论之父”克劳德·香农(Claude Shannon)合作进行研究。
见面后,彼得给了赫尔曼一份香农的里程碑式的论文:通讯的数学理论(A Mathematical Theory of Communication)。这是对赫尔曼的另一个重大影响,塑造了他对密码学的数学理解。
他与埃利亚斯成为了很好的朋友,这也在一定程度上加深了他对密码学的迷恋和了解。赫尔曼认为埃利亚斯是他在密码学哲学教育中的另一个关键部分。
追求研究
1971 年,赫尔曼回到斯坦福。这次是助理教授。虽然他继续从事决策研究,但到1971年底,他已经开始进行密码学研究。
他在斯坦福的同事和朋友不支持他这样做的决定。赫尔曼说:”他们告诉我,我疯了”。有趣的是,他并不完全不同意他们的看法:
“我怎么可能发现国家安全局 — — 这个美国主要的密码制作和破译机构,还不知道的东西呢?他们对一切都高度保密,如果我们想出什么好东西,他们会把它列为机密。”
但由于他对知识的迷恋以及之前在 IBM 和 MIT 的影响,他相信密码学在未来将具有商业重要性。
1973 年,他就密码学做了第一次演讲,并发表了第一份技术报告。赫尔曼的工作很快就传开了,并不是没有人注意到。1973 年,一位名叫惠特菲尔德·迪菲(Whitfield Diffie)的研究人员联系了他。
惠特菲尔德·迪菲(Whitfield Diffie),一个非常无聊的年轻人
与赫尔曼不同的是,惠特菲尔德·迪菲(Whitfield Diffie)在10岁时就开始接触密码学,当时他的父亲是一位历史教授,从当地图书馆带回了密码学书籍。他喜欢数学,但讨厌学校。迪菲成绩一般,他“从未达到父亲希望的程度”。迪菲勉强毕了业。
尽管成绩不好,但他很聪明,在麻省理工学院的入学考试中取得了优异的成绩。在那里学习数学时,他记得自己是如何自学编程的,他认为编程是“非常低级的工作”。总的来说,他觉得很无聊,反而把大部分时间花在学习纯数学上。
撇开日常工作,从事人工智能和 “破译者 “的工作
就在他毕业时,美国政府开始征召年轻人到越南打仗。迪菲对战争不感兴趣,因此他转而从事开发软件和其他 “低级工作”。与此同时,他还开始在麻省理工学院Project MAC的人工智能实验室“兼职”工作,该实验室由两个非常聪明的人负责:马文·明斯基(Marvin Minsky)和约翰·麦卡锡(John McCarthy)。
迪菲与麦卡锡的关系非常好,从他身上学到了很多。迪菲和当时的许多人都不知道,麦卡锡后来被认为是人工智能之父(创造了人工智能这个词)。麦卡锡相信“学习的每个方面或智能的任何其他特征,原则上都可以被精确地描述,以至于可以用机器来模拟它”(every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it)。麦卡锡非常关注未来,相信这种智能的概念将在“五到五百年”内出现。在他的指导下,迪菲接触到了他的计算哲学,并对网络、电子密钥和身份验证有了深入的了解。迪菲后来跟随麦卡锡来到斯坦福,加入了他新成立的人工智能实验室(SAIL:Stanford Artifical Intelligence Laboratory,斯坦福人工智能实验室)。
在斯坦福大学期间,迪菲阅读了大卫·卡恩 (David Kahn) 的书:《破译者:人类密码史》(The Codebreakers: The Story of Secret Writing)。该书总结了从古埃及到其写作时期的密码学历史,并被描述为对他关于隐私的信仰产生了“深刻”影响。
迫于追求他个人的密码学研究,他于1973年离开 SAIL,在接下来的一年里,他在全国各地与不同的专家见面并讨论密码学。
“我在做一件我很擅长的事情,那就是在图书馆里挖掘珍贵的手稿,开车到处走,去大学里拜访朋友。”(I was doing one of the things I am good at, which is digging up rare manuscripts in libraries, driving around, visiting friends at universities.)
1974 年,作为研究的一部分,他访问了位于约克镇高地的 IBM 托马斯·J·沃森实验室(Thomas J. Watson Laboratory),与密码学研究团队会面。当时,该团队由霍斯特·费斯特尔(Horst Feistel)领导,他是向马丁·赫尔曼(Martin Hellman)介绍密码学的人。
当迪菲访问时,他无法了解很多,因为很多工作都被国家安全局列为机密。相反,他被推荐给斯坦福大学教授 马丁·赫尔曼(Martin Hellman),他正在研究类似的密码学。
赫尔曼遇见迪菲
“1974 年秋天,惠特菲尔德·迪菲(Whitfield Diffie)出现在我面前。我永远不会忘记那一天,”(In the fall of 1974 Whit shows up on my doorstop. I’ll never forget that day) — — 赫尔曼 (2011)
经过介绍,赫尔曼同意在1974年与迪菲见面。
迪菲是下午来的,但留下来吃了晚饭,晚上11点离开。短暂的见面经过数小时的讨论而扩大。赫尔曼回忆道:“在真空中工作,在某种程度上是一件很费力的事,而找到志同道合的人真的很重要。”(Working in a vacuum had been taxing in a way, and finding a kindred spirit was really something)不久之后,迪菲在当地的一个研究小组工作,就像他的第一份工作一样,很快他就花了更多的时间和赫尔曼一起研究密码学,而不是他的实际工作。
明年年初,即1975年,他们又有了别的事情要担心:数据加密标准 (DES)。
数据加密标准 (DES)
1975 年初,政府公布了数据加密标准 (DES)。这是第一个被批准用于公共和商业用途的加密密码。国家安全局推动金融服务和其他需要强加密的商业部门(SIM卡、网络设备、路由器和调制解调器)采用数据加密标准 (DES)。
在数据加密标准 (DES)之前,第一修正案对军需品和其他军用物品进行了加密。你必须获得许可才能处理任何形式的密码,所有与之相关的工作都是由国家安全局保密的。这是对这种技术的公开批准使用。
数据加密标准 (DES)是如何设计的
国家标准局(National Bureau of Standards,现称为NIST,国家标准与技术研究所)在1972年进行了一项研究后,意识到需要一种全国性的加密密码。1973年和1974年,他们向美国各地的研究中心征求设计方案。在1974年,IBM在第一次失败后,构思了一个名为Lucifer的密码。
Lucifer的设计由 IBM的霍斯特·费斯特尔(Horst Feistel)领导。
该密码是对以前开发的密码的改进,但符合美国国家安全局的设计要求。Lucifer 经历了与美国国家安全局的额外合作阶段,他们希望将密钥大小从 64 位减少到 48 位(在基本层面上,这意味着需要更少的处理能力来加密和解密)。他们最终决定将密钥大小减少到56位,这一决定稍后会反过来伤害他们。
赫尔曼和迪菲的批评
赫尔曼和迪菲最初是张开双臂拥抱数据加密标准 (DES)的,因为他们认为这是将密码学带入公众视野的一大步。但当他们仔细观察时,他们发现缩短的密钥长度容易受到暴力破解攻击。
但更重要的是,在研究者圈子里,IBM 团队指责美国国家安全局篡改了密码。在密码被送到华盛顿批准后,它被送回了一个经过修改的S-box(把明文转换成密文的密码部分)。
在 70 年代,人们普遍对政府不信任。这种警惕源于二战后的时期。从极权主义政府(苏联、纳粹德国)的控制中学习,公众对政府的入侵保持警惕。公众的恐惧反映在奥威尔的《1984》和其他探讨政府监控、社会控制和个人自由的流行文本中。这种情绪一直持续到 60 年代,这十年被肯尼迪遇刺、古巴导弹危机以及黑人权利和同性恋权利等社会政治运动所震撼。在 70 年代,1972 年的水门事件加剧了这种情绪,该事件是围绕尼克松总统授权窃听华盛顿特区的民主党全国委员会总部而产生的争议。 华盛顿特区。对公众来说,他们的恐惧正在缓慢而肯定地出现在他们的眼前。
人们相信,国家安全局已经建立了一个他们自己可以绕过的密码。
拉尔夫·默克尔(Ralph Merkle),什么都不知道的孩子
数据加密标准 (DES)发布后不久,赫尔曼和迪菲发布了一篇名为《多用户密码学技术》(Multi-User Cryptographic Techniques)的技术论文,他们很快了解到拉尔夫·默克尔(Ralph Merkle),一位来自伯克利的23岁的计算机科学学生。
墨克谜题(Merkle’s Puzzles)
在遇见赫尔曼和迪菲之前,拉尔夫·默克尔(Ralph Merkle)已经在研究他自己的早期公钥加密概念,这就是后来的墨克谜题(Merkle’s Puzzles)。他在计算机科学课程CS244中开始研究他的想法,在那里他偶然发现了一个谜题:当敌对的敌人已经知道一切时,你如何重新建立安全的通信?他需要为该课程完成一个个人项目,这似乎非常适合他发展自己的想法。
当我想到当窃听者知道所有的事情,而窃听者可以监听通信时,如何建立安全性呢?
所以我的第一个想法是:看起来这做不到,所以我要试着证明这是不可能的。所以我试图证明无法建立安全通信,我试了又试,但我失败了。
然后我又想了想,我说:“好吧,如果我不能证明你不能做这件事,那我就回过头来,试着想出一个方法来做这件事。” 当我试图想出一种方法来做这件事时,在刚刚试图证明不能做这件事之后,我知道我的证明中的漏洞在哪里,可以说,我知道从哪里进行尝试。所以我在这些地方努力,结果发现这是可行的。我可以利用我的证明中的漏洞,想出一种方法来真正做到这一点,当我想出如何做到这一点时,出现了这个,嗯,传统的“啊哈时刻”,我说,“哦,是的,这可以。我可以做到。”
这发生得非常迅速。那是一整晚的熬夜思考,然后意识到“哦,我的天哪,我可以做这件事。这看起来很违反直觉,但我确实能找到密钥。我可以在一条开放的通信线路上建立一个加密密钥,即使敌人、干扰者、窃听者知道一切”。
由于没有密码学的理论或历史知识,他不知道这个问题是如何被认为是无法解决的。
他把所有的东西都写在纸上,和大家分享。安全课程的主任老师无法理解他的工作,并让默克尔滚蛋。当他将自己的研究成果提交给备受尊敬的计算机科学期刊CACM时,他被拒绝了。但这一次,不是因为胡说八道,而是因为编辑认为他的工作内容是……
“……不在当前密码学思想的主流中……”(…not in the main stream of present cryptography thinking….)
然而,他也曾与一位名叫彼得·布拉特曼(Peter Blatman)的计算机科学家分享过,后者立即注意到他的工作的价值。拉尔夫·默克尔(Ralph Merkle)不知道布拉特曼是迪菲的朋友,迪菲邀请他去斯坦福参加密码学聚会。在一次乘车过程中,布拉特曼简要介绍了默克尔正在解决的问题。
显然,迪菲多年来一直对同一个问题着迷,在听说某个年轻的计算机科学专业学生有可能解决这个问题时,他否认了这种可能性。但是,一旦迪菲恢复平静,他就对这种解决方案的可能性感到兴奋。
赫尔曼和迪菲当时提交了一篇论文,探讨了公钥加密的应用,假设它是可能的。迪菲给了彼得·布拉特曼(Peter Blatman)一份副本,让他交给拉尔夫·默克尔(Ralph Merkle)。
“斯坦福大学的这些人和你观点一样。”
读完他们的工作后,默克尔把他的论文寄了过来。当另外两个人读完后,他们完全改变了自己的思维方式。尽管拉尔夫·默克尔(Ralph Merkle)很年轻,而且完全没有密码学知识,但他的创造力已经解决了公钥分配问题。这个23岁的年轻人成功地实现了学术界多年来一直努力的目标。
但是赫尔曼和迪菲发现他的解决方案效率低下。凭借他们对密码学的理解,他们找到了一个更紧凑的密钥分配问题的解决方案,并提出了一个新的公钥密码学的迭代。很快,他们的概念写成了一篇论文,称为:“密码学的新方向”(New Directions in Cryptography)。
在他们的合作之后,拉尔夫·默克尔(Ralph Merkle)前往斯坦福大学,接受赫尔曼的邀请,作为博士生在他手下工作。
密码学的新方向
1976年11月,论文《密码学的新方向》(New Directions in Cryptography)发表。它讨论了密码学、公钥密码学和促进认证通信的协议的基本问题。
默克尔因其独立的工作而受到赞扬,但最终通信协议被命名:迪菲-赫尔曼密钥交换(the Diffie-Hellman key exchange)。然而尽管如此,在 1977 年公钥加密获得专利时,默克尔被认为是三位发明者之一。迪菲认为默克尔“可能是公钥传奇中最具创造力的角色”(possibly the most inventive character in the public-key saga)。
该系统后来被称为迪菲-赫尔曼密钥交换(Diffie-Hellman key exchange)。虽然该系统最初是由迪菲和我在一篇论文中描述的,但它是一个公钥分发系统,是默克尔提出的概念,因此,如果要将名称与之联系起来,应该称为“迪菲-赫尔曼-默克尔密钥交换”(Diffie–Hellman–Merkle key exchange)。我希望这个小讲坛能够帮助人们认识到默克尔对发明公钥密码学的同等贡献。
— — 马丁·赫尔曼(Martin Hellman, 2002)
论文中讨论的概念被用来设计和保护我们今天使用的区块链。他们在论文结尾处指出的目的之一是:
鼓励其他人在这个迷人的领域工作,在过去,由于几乎完全的政府垄断,参与的积极性受到了抑制 — — 《密码学的新方向》(New Directions in Cryptography)
公众第一次有机会接触到强大的加密技术。他们的工作打破了对密码学知识的控制。由于人们对政府的数据加密标准 (DES)越来越不信任,论文中的技术引发了公众对密码学和加密的第一波兴趣。
后来发现,赫尔曼、迪菲和默克尔并不是公钥密码学的第一批构想者。它的一种形式最初是由英国情报机构(GCHQ)的研究人员创建的,并应用于一种算法。虽然美国国家安全局有机会接触到这些,但都是保密的,一直在黑暗中未被触及。
现在,想象一下,如果这三人从未公布过公钥加密。我们的世界有可能会非常不同。
赫尔曼、迪菲和默克尔的发表成功地激发了新一轮的创新浪潮,这种创新将持续几十年,而政府机构却把他们的发现关在门外。这种对比在很大程度上强调了在密码学以及其他科学领域中公开合作的重要性。
恰如其分的是,在论文的第一行,它的开头是:
“我们今天站在密码学革命的边缘”(We stand today on the brink of a revolution in cryptography)
当赫尔曼和迪菲继续研究密码学时,默克尔是继续表现出色的那个。在 70 年代余下的时间里,作为赫尔曼和迪菲的学生,默克尔继续在80年代影响密码学;后来他又发明了密码杂凑(cryptographic hashing)。
这三位密码学家为密码学打破障碍。80年代的一位被称为大卫·乔姆(David Chaum)的密码学家,将直接在他们的工作基础上,将匿名通信、支付和最终的去中心化服务的需求概念化。然而,大卫·乔姆(David Chaum)的工作只有在赫尔曼、迪菲和默克尔的基础下才得以实现。