“加密学”来自古希腊单词“krypto”,意思是隐藏或秘密。加密学是一门保密的艺术和科学,它对我们人类的历史产生了深远的影响。
加密学被古埃及人、希伯来人、印第安人和希腊人使用。希罗多德和《爱经》中都提到过。几个世纪以来,世界各地的君主、贵族、军事将领、精英商人和宗教神职人员都在使用加密学。尽管我们对加密学的历史有相当多的了解,但由于加密学的本质,我们很难了解关于加密学艺术发展的全部真相。很恰当地说,这在很大程度上是个秘密。幸运的是,现在这已经不是什么秘密了。
加密学和加密分析(加密破译)从它们不起眼的开始就有了长足的发展。在古代,精英们使用相对简单的加密来保护他们的通信。早期技术在古代世界最著名的使用是凯撒加密,以罗马将军尤里乌斯·凯撒的名字命名。
据我们所知,像凯撒加密这样的加密仍然有效,直到阿拉伯学者在阿拉伯哈里发时代发明了加密分析。他们发明了一种叫做频率分析的技术,这种技术的有效性在于发现字母,或语言中使用的字符组合,出现在不同的、多少有些可预测的频率中。这一事实允许代码破坏者使用统计分析相当容易地破解简单的替换加密,比如Caesar加密。加密学的历史是一场永远不会结束的加密制定者和加密破译者之间的战斗。
中世纪和早期的现代加密学家通过创造更复杂的加密进行调整。在现代早期,加密被引入欧洲,几百年都不会被破解。其中两个加密,Vigenere加密和Great加密,直到19世纪才被破解。在这些加密被破解之后,直到20世纪20年代,当德国开始使用一种叫做Enigma的机器时,编码人员才有了很大的进步。
破解的谜
在此之前,加密学很大程度上是由人类用手、纸、原始的智力和原始的加密盘来完成的。20世纪初,德国人使用的恩尼格玛加密机是继维吉纳加密和 Great加密之后,在保护信息方面取得的第一个重大突破。它也开启了加密学的电气化和机械化。
破解谜机成了盟军生死存亡的必修课。波兰、法国和英国的加密破译人员将加密分析提升到了一个新的水平。谜机和战争努力推动了必要的理论和实践工作的研究和发展,为现代加密学、现代计算机和信息时代奠定了基础。
多亏了玛丽安·雷朱伊斯基和艾伦·图灵等天才的努力,盟军解开了这个谜。许多人把战争加速结束,挽救了数百万人的生命归功于加密的解开。
到目前为止,您所读过的关于加密学的所有内容(破解谜)现在都称为对称密钥加密术。意味着加密和解密密钥是相同的(对称的)。
决定任何加密强度的一个关键因素是密钥的可能数量。可能性空间越大,加密越强。如果空间足够大,找到正确的密钥对攻击者来说就变得不切实际。对称加密学非常有用,但它的用处有限。
虽然对称加密学是有效的,但它会产生所谓的“密钥分配问题”。如何在您和另一个之间建立一个强密匙,而不以公开密匙的方式进行通信?为了解决这个问题,政府、银行、军队和任何其他使用对称加密学的人都必须使用一个可信的中间人,在希望建立安全和私人通信的双方之间分享秘密。这个中间人不仅效率低下,难以规模化,而且还是一个失败的中心。加密可能是无法破解的,但如果恶意方拦截或贿赂中间人的话,问题就更严重了。
公钥加密(非对称加密)
在20世纪70年代,研究人员Diffie, Helman和Merkle (DHM)通过消除共享密钥的需要,解决了密钥分发问题。随着公钥加密学的发现,他们发明了非对称加密学。DHM团队从概念上证明了加密和解密操作可以分为两个不同的密钥:公共密钥和私有密钥。在DHM的方案中,私钥是解密密钥,公钥是加密密钥。实际上,DHM显示通过使用公钥加密学促使世界上任何人都可以宣传他们的公钥,世界各地的其他用户可以使用这个公钥加密消息发送到公共密钥的所有者,只有对应的私钥的所有者可以解密这些消息并阅读其内容。
虽然这两个词不同,但它们在数学上是相关的。DHM从概念上证明了这一点,但是这组研究人员需要找到一个合适的数学函数来实现公钥概念。他们需要寻找一个数学函数,这个函数需要能量来执行它的运算,并且需要一个数量级的能量来逆向工程或撤销运算。
具有这两个属性的函数称为单向功能。举个例子,想吃鸡蛋,先煮熟就是一个单向功能。它需要一些能量和工作来打破和烹饪,但不烹饪和把鸡蛋放回它的壳将需要更多的能量。
尽管DHM在1970年初发明了公钥加密学的概念,但是直到1970年代末,麻省理工学院的另一组研究人员才找到了解决方案。他们将DHM概念的实现命名为RSA,基于每个研究人员的名字。这些研究人员是第一个为公钥加密学的概念找到合适的单向函数的。这使这个概念有了实际的实施。RSA后来被一些大型机构使用,如政府、军队和拥有大量商业和金融利益的组织。直到90年代,只有大型组织才有能力和计算能力创建非对称密钥。
然而,随着个人计算革命开始加速,到80年代末,每天的用户都有足够的计算能力在他们的设备上创建非对称密钥对,这是使用公钥加密学所必需的。一位名叫菲尔·齐默尔曼的计算机科学家和软件工程师知道这一点,他想为大众开发非对称加密学软件,从而结束政府和商业上对非对称加密学的垄断。
他成功地推出了革命性的PGP(相当好的隐私)产品,这是第一个向个人计算机用户提供非对称加密的免费开源软件。普通电脑用户现在可以使用菲尔·齐默尔曼的PGP产品进行安全、私密的交流,该产品至今仍在使用。PGP是第一个公开使用非对称加密学,但它不会是最后一个。
下一个大规模使用的公钥加密学实现是TSL(传输层安全性),以前称为SSL(安全套接字层)。数十亿人每天都在使用TSL,却不知道它可以安全地浏览web、发送安全消息,以及任何其他在internet上完成的、用户从未见过或与加密密钥交互的操作。在浏览体验的背景下,TSL结合使用对称和非对称加密技术为尽可能多的用户创建安全的互联网体验。
通过在2009年创造比特币,中本聪不仅创造了一种新货币,还使用公钥加密学(非对称密钥)作为这种新货币的基础之一。
比如,DHM, Satoshi想要移除中间人。公开密钥加密学消除了对对称加密学所需的中间人的需求,但在比特币的情况下,中间人并不是一个秘密共享者,而是一个决定交易的有效性和时间顺序(支付处理器)以及新单元的供应及其供应计划的组织(中央银行)。Satoshi结合了公钥加密学和加密哈希值函数(单向函数),消除了对这类组织或可信第三方的需要。似乎,嵌套在公钥加密学和单向函数是比特币的本质。多亏了DHM、Satoshi和其他无数人,系统取代了中间人,确保我们的沟通和金钱安全。
“我们将电子代币定义为数字签名链”——中本聪
数字签名允许某人在不暴露私钥本身的情况下,从数学上证明他们拥有私钥。在比特币和所有其他使用公钥加密的加密货币资产的情况下,任何用户都可以检查签名和公钥之间的适当数学关系,并以这种方式验证每笔交易的有效性。如果确定了适当的数学关系,网络上的其他人就知道,传播交易的人控制了生成适当签名和适当公钥所需的私钥。同样,每个人都可以证明他们有某种秘密,而不需要透露它,网络上的其他人也可以在没有第三方帮助的情况下从数学上验证真相。这是非常强大的。
但公钥加密学本身不足以产生比特币。你可以把钱定义为一个数字签名链,但是谁来决定交易的顺序呢?一个单独的用户怎么知道付款人没有花同样的代币呢?付款人可能已经从数学上证明了他们有一个秘密,但他们可能在两笔不同的交易中,对同一种电子代币使用了相同的签名。这就是著名的双重消费问题。Satoshi认识到,其他基于数字签名的货币方案依赖第三方监控每笔交易的双倍支出,并监控整个网络的仿冒品。这种体制的问题在于它完全依赖中央权威。Satoshi需要一个解决方案来消除对中央集权的需求。
“我们提出的解决方案从时间戳服务器开始。时间戳服务器的工作方式是获取要进行时间戳项目块的哈希值,并广泛地发布哈希值,比如在报纸或Usenet post[2-5]中。时间戳证明,为了进入哈希值,数据必须在当时存在。每个时间戳在它的哈希值中包含前一个时间戳,形成一个链,每个额外的时间戳加强前一个时间戳。- Satoshi NakamotoIn解释说“通过使用单向函数并公开发布它们(时间戳),我们可以证明数据在发布时一定存在”。并且在每个时间戳中包含“其哈希值中的前一个时间戳,形成一个链”。不仅代币在使用数字签名链接,交易数据块还使用加密哈希值链接。哈希值的时间戳无限地滚动到下一个哈希值的时间戳中,使得网络上的每个人都知道交易何时发生,并且可以用数学方法确定这个时间戳,而不需要永远信任第三方。
现在,Satoshi建立了一个基于链接哈希值时间戳证明交易顺序的系统,他需要一种方法让网络保护数据不受稍后更改的影响,并对网络已接受的交易块发出一致的信号。比特币的工作量证明系统使用加密哈希只函数SHA-256来实现这两个目的:保护存储在块中的数据的完整性,以及对块及其包含的交易做出多数决策。
“要在对等的基础上实现分布式时间戳服务器,我们需要使用工作量证明系统”——中本聪
一旦网络接受了具有适当签名、哈希值和工作量证明的块,攻击者必须重做修改块中数据的工作量证明,并重做他们试图修改的第一个块之后生成的每个块的工作量证明。这是一个非常昂贵的攻击,不仅包括昂贵的直接成本,而且包括昂贵的机会成本。此外,攻击的总成本呈指数增长,你离链的顶端越远,你进行的攻击就越难。
有了这个设计,我们已经保护了比特币区块链数据的完整性,但如何证明工作有助于达成共识?
要向比特币区块链添加一个交易块,该协议需要生成一个哈希值,该哈希值仅在10分钟内由一定数量的哈希能力生成。生成哈希值所需的能量应该大致等于当前比特币网络上哈希值的能量。这个哈希值不仅是生成散哈希值的单个矿工的工作量证明,而且还作为整个网络工作的证明。由于哈希竞赛是一种随机性的游戏,生成哈希只的难度等于网络的集合哈希值能力,因此整个网络需要为至少一个哈希集合花费能量,以生成具有适当工作量证明的正确哈希只。竞争与团队合作的结合让比特币梦想成真。每十分钟重新启动一次的PoW游戏是一种集体合作竞争,它消除了对中央集权的需要。
那些从事工作量证明的人,矿工,聚集在最长的加密有效区块链的顶部,积累了最多的工作量证明。“电子代币”由数字签名连接在一起,块由时间戳哈希值连接,块本身受SHA-256保护。
加密学使这一切成为可能。
Airbitz
Satoshi为比特币的双重消费问题提出了一个优雅的解决方案,但比特币的早期用户界面并不友好。比特币用户被提供了一个wallet.dat文件,其中保存了他们的私钥信息,需要定期备份以防他们的电脑死机。除非他们的文件被正确加密(这通常是一个复杂而艰苦的过程),否则这个wallet.dat文件通常位于用户的计算机上,不受普通软件的保护。此外,用户在丢失加密加密的情况下无法恢复。为了减轻这种不确定性,开发人员开始进一步探索安全性和可用性之间根深蒂固的关系。
2012年,比特币开发商Pieter Wuille发布了比特币改进方案(Bitcoin Improvement Proposal, BIP) 32,概述了分层确定性钱包的发明,该钱包允许用户拥有一个主私钥,用于无限多个公共地址。当时,这是比特币用户体验基础设施的重大改进。您可以将所有这些信息合并到一个文件中,而不必加密和记住每个私钥。加密和备份这个文件可以保护当前资金和您钱包可能收到的任何未来资金。
此后不久,在2013年底,HD钱包又有了进一步的改进,引入了助记种子(BIP39),允许主密钥由12或24个单词表示。用户现在可以通过写下12-24个单词并将其放在一个安全的位置来备份他们的钱包。
虽然改进了用户体验,但我们的联合创始人认为,作为备份的12-24个单词种子还不够好,不适合大规模采用。2013年,我们的联合创始人着手打造一个非托管的比特币钱包,不再需要记录、加密和备份私人密钥或随机的12或24个单词种子。他们在2014年末成功推出了我们的第一款产品:Airbitz比特币钱包。
Airbitz(现在的Edge)用户不需要加密和备份私钥或12-24个单词种子,只需提供用户名和加密,就可以备份和保护他们的比特币钱包。用户名用于备份,加密用于保护这些备份。我们的软件哈希用户加密,这些哈希加密被用作加密和解密密钥,以保护和解锁用户帐户。此外,我们的软件会根据用户使用的设备的功能对加密进行哈希。更强大的CPU将产生更强大的加密哈希值,从而产生更强的加密密钥。随着硬件的不断改进,我们的加密哈希值将随着这些改进而逐步增强。
为了构建Airbitz比特币钱包,两位创始人结合使用对称和非对称加密技术,创建了一个安全、私密、易用的比特币钱包。联合创始人使用对称加密学保护私钥免受丢失和盗窃,他们还使用非对称加密学使用户能够在比特币等网络上进行交易。
Edge
进入2017年,加密货币资产领域的深度和广度自2014年以来显著扩大,加密货币资产总量突破1000亿美元,整个生态系统市值达到数千亿美元。到2017年底,我们能够扩大我们的钱包和平台的能力,包括比特币以外的其他资产。
新的多资产钱包Edge的用户可以访问更多的资产,这些资产具有与Airbitz相同的安全性、私密性和可用性。随着Edge钱包的发布,世界上任何地方的用户都可以通过一个用户名和加密,在许多不同的资产上备份大量的价值。Edge像Airbitz和TSL一样,利用对称和非对称加密学,以尽可能多的方式创建一种安全、私有和简单的方式与货币互联网交互。
例如,假设Edge的用户居住在委内瑞拉,并持有分布在BTC、DASH和ETH的2,000美元。这是他和他家人一生的积蓄。这名用户想要越过边境进入哥伦比亚,但他知道委内瑞拉安全部队以没收手机和行李等个人物品、检查其内容以及扣留贵重物品而闻名。这个假想的用户可以在到达边境之前删除他的Edge钱包,通过边境检查站,在同一部手机或新手机上下载哥伦比亚的Edge钱包,并输入用户名和加密。用户的手机将从Edge服务器下拉他的账户的加密副本,而他刚刚输入的加密的哈希值将直接解密他手机上的账户。然后用户将在他离开的地方看到他所有的价值,并将能够与任何他喜欢的人,在他喜欢的任何时间,私下和安全地进行交易。
加密学的威胁:量子计算?
Edge、比特币或任何其他加密资产的加密技术会被量子计算机破解吗?好消息是量子计算机的存在并没有使Edge对对称加密学的使用面临风险。量子计算机在破解对称加密学方面并不比经典计算机强。坏消息是,量子计算机的存在在理论上使某些公钥加密和数字签名系统处于危险之中,比如RSA和ECDSA(比特币目前使用的)。然而,目前使用的非对称加密学的比特币和其他加密货币资产非常强大,其他公开可用的非对称加密学可能具有量子抵抗能力。
加密分析(或译码器)需要一个巨大的理论或技术突破,才能将加密货币资产的使用置于危险之中。由于因数分解的性质和素数的性质,纯数学理论似乎是一个死胡同。因式分解是困难的、耗时的、耗费精力的,并且包含了许多在数学上看来不可协商的步骤。打破不对称加密学的希望和梦想似乎主要在于技术的进步。加密破解者把量子计算看作是打破非对称加密体制所需要的技术突破。
量子计算机是一种威胁,因为它们可以同时计算很多东西。它们的对手是经典计算机,比如您现在使用的那个,一次只能计算一个数字。由于量子计算机可以同时计算很多东西,研究人员认为他们可以打破离散对数问题的有用性,而离散对数问题是许多非对称加密学的数学基础。但这一事实并不能让我们得出量子计算破坏了所有公钥加密的结论。量子计算机可能能够破解RSA或ECDSA等特定方案,但也有其他类型的加密系统,如基于晶格的加密术和基于多元二次方程的加密术,据信可以抵御量子计算攻击。
尽管使用ECDSA等签名算法对加密货币的理论威胁是真实存在的,但从短期到中期来看,量子计算似乎并不是一个相关的实际威胁。这为加密货币网络的用户和开发人员在适当的时候提供了研究、测试、选择和切换到抗量子加密系统的时间。一些研究人员甚至正在开发一种协议,允许用户安全地将资金从旧的(非抗量子)输出转移到坚持抗量子数字签名方案的资金。研究人员表示,这可以通过比特币的软叉来实现。
此外,技术可以以多种方式使用。一些研究人员和组织将使用量子计算来进行令人费解的加密分析,但他们也可能使用量子计算来发展面部融合的量子加密术。事实上,一位年轻的研究人员在1970年提出了一项名为量子货币的理论建议,利用量子加密技术制造出不可伪造的纸币。他的提议最初被否决,直到1983年才发表。这种量子货币是一个理论构想,但它表明,研究人员可以用强大的技术在许多不同的方向进行研究。量子计算也许能够打破现有的不对称加密学,并有助于发展一种新的量子加密学范式。
加密学的历史是一个永远不会结束的战斗。战斗一直持续到今天,而且和以前一样激烈。
评论
查看更多