区块链之比特币系统特征4:非对称加密算法

密码学的运用是支撑比特币系统的基础技术之一,其中在数字签名方面,比特币系统采用了非对称加密算法,所谓非对称加密算法,就是说密钥是一对存在的,解密和加密必须使用两个不同的密钥,其中一个叫公钥,一个叫私钥,公钥加密就只能私钥解开,反之私钥加密就只能公钥解开。

公钥是对外公开的,而私钥就只能个人自己保管,当一个人想向对方发送加密信息时候,只需要拿到对方的公钥,然后用对方公钥给数据加密,发送出去,这样就算有第三方拦截了该信息,但由于没有对应的私钥解密,就无法获取该加密数据了,这样就保证了数据信息的安全性;另一方面,当一个人使用私钥加密信息(或者叫签名)发送出去,对方能够用此人的公钥解密,就可以确认该信息是此人发送的(因为只有他拥有私钥),这种行为就叫数字签名。

非对称加密算法有多种,在比特币系统中,使用的是椭圆曲线数字签名算法,这是目前常用的一种非对称加密算法,简称ECDSA,其中EC是“椭圆曲线”的简称,DSA是“数字签名算法”的简称。

另外在对椭圆曲线的参数确定上,比特币系统又使用了名为SECP256k1的曲线参数,这样在运作中系统随机得出32个字节的私钥,然后通过椭圆曲线数字签名算法(使用SECP256k1曲线)得出公钥,再运作多次哈希算法得出公钥哈希,并结合版本号等形成了最终的账户地址。私钥可以推导出公钥和公钥哈希,但公钥和公钥哈希却不能推导出私钥。因此私钥需要每个人好好保管,一旦丢失私钥,就相当于账户里的资产拿不回来了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181128A1L7QZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券