SOLid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);”>
凯撒密码也是最早的“对称加密”
但这种加密方式的弱点在于,一旦对方知道了你的密文字母表,你所有通过这个加密的密文都失去了保密的效果。
就好比我们经常看到谍战剧中双方之间的谍战,全剧上下都在为了破译截获的密码本而斗争着,一旦破译后,对方通讯内容一览无余,毫无保密可言。
要理解密码学,先要了解密码的几个要素:加密、解密、密钥(key)、算法。
加密跟解密是行为,密钥跟算法是要素。
一般交流过程是用密钥(key)将信息通过固定算法加密成密文,收件人收到密文后通过密钥(key)根据固定算法进行解密。
这种加密的交流方式的关键核心在于密钥(key),不管是谁,只要截获了密钥(key)跟算法,就能知道这个加密过程中的信息,就能将密文转化成明文(信息),也称作对称加密。
因为算法跟密钥需要跟对方沟通,所以只要其中任何一方被截获,整个加密就失效,这也是对称加密不安全的地方。
随着技术的发展以及政府的放开,加密技术从军事用途开始应用于商业领域了,人们也越来越注重个人隐私,尤其是在互联网时代,个人隐私的保护已成了一种**,所有的信息都是在公共区域进行传输,任何人都可以截取我们的数据,所以在数据传输之前就显的尤为重要,这也是我要重点提到的,密码学的核心–非对称加密。
对称加密是加密跟解密过程中使用同一个密钥(key),但非对称加密理解起来略有点复杂,具体做法是首先生成一对密钥(key),一个是公钥public key,可以公开的,另一个是自己私人保管的私钥Private Key。双方通讯的时候,发送方先回拿到接收方的公钥,用公钥把信息加密,接收方收到密文后,用私钥解密获得信息。
有点绕对不对?我理解了好久,就举个例子,我之前喜欢看历史剧,记得雍正王朝有一个片段,就是当年年羹尧在西北军营的时候,为了监视他,雍正派了很多眼线在年羹尧底下工作,这些眼线会定时给雍正汇报,怎么汇报的呢?
雍正将钥匙跟锁分开(生成私钥跟公钥),钥匙自己保管,把锁(公钥)跟盒子都寄给眼线。–生成公钥跟私钥,并将公钥给发送方
用公钥把信息加密称密文
用私钥解密密文
也就是在眼线将锁好的盒子寄往京城,如果被人截获,没有钥匙也是没法得到里面的情报的。当然,破解它只能暴力破解,暴力破解的话就可能促发机关自动销毁。
(我这里把锁比喻成公钥是为了让人更好的理解,其实公钥不单单是锁,也是一把钥匙,之所以叫公钥,首先它是可公开的,其次它对于数字签名的功能,是通过公钥来解锁私钥加密)
这里有几点:上锁后,你是不能通过锁来制造出钥匙的,跟现实生活中一样,除了暴力破解锁外,你只能通过钥匙**钥匙,是无法通过锁来制作一把新的钥匙。这跟非对称加密是一样的,你无法通过公钥来获得私钥,但是你可以通过私钥来把公钥解开。
那数字世界是怎么实现呢?这里就涉及到数学函数算法了,所有的加密算法都是基于一些无解的数学问题,或者说是单向函数,比如整数分跟离散对数,简单来讲,我们都知道110是可以通过两个数相乘得到,但是无法立马正确得知110是由哪两个数相乘得到的,有可能是1跟110,也可能是2跟55,或者11跟10,只能一个个的去试才能准确的破解。
我前面也提到了,目前世界上没有无法破解的加密技术,只有破解难度更高的加密技术,在使用这些单向函数后,你是需要通过计算机运算一个个去试,才能破解,这是常人无法做到的。
那这些加密技术对区块链有什么作用呢?
如今我们生活在一个到处都是中心化的世界中,为了保证安全,我们所有的数据都是储存在某某公司服务器上,由这些中心化公司跟机构保存,但与此同时,这些隐私也暴露给了第三方公司。
而区块链倡导的是去中心化,不让任何人窥探我们的隐私,如果之前替我们保管数据隐私的管家没有了,谁来保证我们的数据储存安全问题呢?其次如何保护我们点对点交流过程中你数据来源的私密性?
那就得依赖密码学的非对称加密技术了。
那么加密技术解决了,但是数字世界中如何验证你妈是你妈,你是你这个问题呢?
我们得聊一下非对称加密的**一项应用–数字签名了,即证明你妈是你妈,你是你以及财产的归属问题。
比如,你要证明你发的消息是你发的,你要先拿出你自己的私钥,执行签名算法,得到数字签名,而后把公钥放到大家都可以访问的服务器上,这样其他人都可以获得你的公钥,大家把文件,数字签名以及公钥下载到自己的计算机上,而后调用验证算法,就可以判断这个文件是不是你的签名了。
前面也说过,公钥跟私钥都是一对,用私钥加密的只能用公钥打开,用公钥加密的只能用私钥打开。为了验证这消息是我发出来的,而且我不能公布我的私钥,我只能通过私钥进行加密,而后让公钥(公开的)来解密,大家用公钥解密成功后,这也就验证了这消息是我发的了。
当然,这个过程中涉及到很多东西,比如三方认证CA机构,哈希值(hash)等等,有兴趣的可以深入了解,我觉得初学者了解到这就够了。
再拿比特币交易为例,你跟你朋友要用比特币转账,你朋友向你要一个转账地址,你朋友怎么保证这个转账地址是正确的呢?又怎么保证转账后这笔比特币是你的呢?
首先先产生公钥跟私钥,通过公钥生成转账地址,而后发给你朋友,你朋友收到你的公钥生成的转账地址后再给你转账,你通过私钥解密公钥,成功后,再通过私钥进行签名以确保你对这笔比特币的拥有权。
因为这些数字货币交易的背后的原理应用了很多密码学的加密技术,这是称它们为加密货币的原因之一;另外,像比特币这样的持有者账户是匿名的,很大程度上保护了使用者的隐私,这也是加密货币的特性之一。
而像央行发行的DECP,虽然也借鉴了比特币的加密技术,但它依然是实名的,从这个角度上看,DECP并不属于加密货币,而是属于一种有国家做信用背书的**数字货币。
今天就聊到这里。
文章参考来源:https://learning.nervos.org/crypto-block/0-intro.html
文章标题:为什么央行称比特币为加密货币?DECP算是加密货币吗?
文章链接:https://www.btchangqing.cn/112510.html
更新时间:2020年09月29日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。