在公元1578年,玛丽女王被伊丽莎白女王软禁。1586年1月6日玛丽女王收到一批秘密信件,得知安东尼的计划:安东尼和几个同党营救玛丽女王,并计划行刺伊丽莎白女王。他们的信件被转成密码,并藏在啤酒桶的木塞以掩人耳目。
但却被英格兰大臣华兴翰从中截获、复制,并由菲力普·马尼斯破解信件。信件破解后,华兴翰要菲力普摹拟玛丽的笔迹引诱安东尼行动,将叛逆者一网成擒,审判并处死玛丽女王。
玛丽与安东尼的加密方式被敌人破解,却没听过比特币的交易数据被篡改。他们都使用密码学的原理,是什么造成不一样结局呢?
苏格兰玛丽女王事件使用古典密码学,而比特币系统使用现代密码学。维基百科对古典密码学和现代密码学分别定义如下:
古典密码学:主要关注信息的保密书写和传递,以及与其相对应的破译方法。
现代密码学:不只关注信息保密问题,还同时涉及信息完整性验证(消息验证码)、信息发布的不可抵赖性(数字签名)、以及在分布式计算中产生的来源于内部和外部的攻击的所有信息安全问题。
古典密码学缺乏系统理论,双方约定好加密方式。计算机和电子学发展为现代密码学提供良好条件,促使形成系统且严格的科学。逐渐衍生出当今非常重要三类加密算法:对称加密、非对称加密以及哈希算法。现代加密算法三要素有:加解密算法、公钥、私钥。
简单讲解下加解密流程:加密过程中,利用加密算法和加密密钥,对明文进行加密,获得密文。解密过程中,利用解密算法和解密密钥,对密文进行解密,获得明文。
对称加密
对称加密是指加密和解密时使用相同的密钥。参与加解密的合作者必须约定好密钥。
Alice和Bob提前约定使用对称加密对通讯内容加密,同时,Alice和Bob都拥有密钥K。Bob是消息接收方,Alice是消息发送方。Alice使用密钥K加密消息并将其发送给Bob,Bob收到加密的消息后,使用密钥K对其解密得到明文。
图1对称加密的优势是:加密速度快。
对称加密的缺陷是:需提前共享密钥,容易造成密钥的泄露,或被第三方暴力破解。被他人盗取密钥,可以冒充发送密文或者对密文解密。
非对称加密
由于对称加密在通信加密领域的缺陷,1976年W.Diffie和M.Hellman提出了“非对称加密”的概念。这种加密算法的秘钥分为“公钥”和“私钥”。
私钥和公钥成对出现,公钥是公开的,任何人都可以获取。私钥是保密的,只有拥有者才能使用。
图2非对称加密(公钥加密)是利用公钥对信息进行加密,而使用私钥对接受信息进行解密。
Alice和Bob提前约定好通讯内容使用非对称加密,Bob是消息接收方,Alice是消息发送方。Bob使用工具生成公钥K1和私钥K2,把公钥K1发给Alice,私钥K2留给自己保管。Alice使用公钥K1加密消息并将其发送给Bob,Bob收到加密的消息后,使用私钥K2对其解密以恢复原始消息。
图3非对称加密算法优势是:私钥不需要共享。降低(只能降低,无法避免,要考虑人为因素)私钥泄密的可能性。
非对称加密算法缺陷是:加解密速度慢。
应用
在介绍对称算法和非对称算法时,也说明它们各自优劣势。它们的优劣势恰好是互补的关系,两种算法适用不同需求。
我们看到有些网址是以http开头,有些是以https开头,http和https都是协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。https加密同时使用对称、非对称加密算法对通讯内容加解密,这里不详细说使用方式,详见聊聊对称/非对称加密在HTTPS中的应用。
结语
文章主要讲述对称加密和非对称加密原理,各自优缺点,应用场景。
比特币钱包是私钥和公钥集,在钱包客户端创建一个新地址时,公钥和私钥也被创建。主要用于数字签名,数字签名是使用非对称加密算法和摘要算法。而哈希算法是摘要算法其中一种,我们讲解完哈希算法后,再讲述数字签名。
网友评论