Home » 科普区块链之(6)非对称加密,公钥私钥

科普区块链之(6)非对称加密,公钥私钥

区块链中,有这样一个说法,叫做非对称加密,什么意思?

 

 

有非对称,就有对称。对称其实指的就是一个的意思。一段信息,你要对他做个加密转换,不让外人知道是啥。这个转换方式,就叫做密钥。

 

 

具体是怎么做的呢?打个比方,比如说abc这段信息。你把它变成bcd,那你这个密钥就是往后挪了一位。

 

如果要解开他,你就需要把往后退着一位这个密钥,公布出去,加密解密,用的都是这一招,这就是对称加密。

 

 

非对称加密就是说,钥匙是两把。这就是比特币系统中的公钥和私钥。其实他们就是两串字符串。成对存在。

 

 

比特币的一个账户,就是一对公钥和私钥,公钥相当于银行卡号,知道公钥,你就可以给他打钱,私钥相当于银行卡的密码,知道这个密码,你才可以把钱转走。所以谁有私钥,谁就是老大。

 

 

公钥和私钥有什么关系呢?为什么是一对呢?他们其实是通过加密算法生成的。可以近似的认为,私钥是输入值x,公钥是输出值y。私钥可以求解出公钥,公钥不能反推出私钥。

 

 

为什么叫公钥呢?因为它是扔在网络上的,大家都可以看见的,公家的。私钥是你自己拿在手里,没人知道。

 

 

公钥和私钥都可以对一段信息进行加密,或者解密。有人要问了,都可以加密解密,那不就是不加密吗?你说对了,比特币网络上的所有交易都是不加密的。都是公开的,真正隐秘的是你的身份。

 

那他们存在的作用是什么?是签名。你需要用私钥,多次计算一段信息。公钥解开之后,证明你是你。具体的签名方法过程,以后再细说。

 

 

最后一个问题。公钥私钥是怎么来的?当然是在自己计算机上算出来的。这个过程是可以不联网的。

 

 

那有没有可能,生成两个私钥共用一个公钥呢?理论上可以,实际上不行,这就是哈希函数的那个性质,Collision resisting,防止碰撞,不能人为地制造出两个相同输入,你一直去暴力破解,解到地老天荒也是不行的,也就保证了整个网络的安全。
 

来源:百度作者:扮猪不吃虎

发表评论

19 + 5 =