本文图片引自传智播客,此文只为形象具体化加深理解,具体原理可以参阅前几篇文档!
对称加密
提前通知双方,持有同一个密钥,发送方和接收方都使用此密钥进行加密解密
- 加密速度快,效率高
- 加密简单,容易破解
非对称加密
每个人持有两把密钥(公钥和私钥),公钥提前广播通知给其他人,私钥自己保存!
对方在给你发送消息时,使用你的公钥进行加密,你接收到密文时,使用私钥进行解密!
但是如何保证这个信息一定是那个发送者发送的而不是伪造的呢?又如何保证数据是正确的呢?传输过程中没有被篡改过呢?
保证数据来源
发送者使用私钥进行签名,接受者通过这个发送者的公钥进行验签
保证数据没被篡改
发送者,在发送消息时,1使用接受者的公钥进行加密,2将消息进行哈希计算出摘要,然后使用自己的私钥进行签名
接受者:接收到消息时,1验签,使用发送者的公钥进行签名验证,得出摘要,2解密,使用自己的私钥进行解密,然后得到内容,进行哈希计算出摘要,再与签名中的摘要对比是否一致,这样保证了数据的正确性
签名.jpg
比特币节点交易验证
比特币中密码学使用在交易时的所有者验证
比特币交易加密.jpg
比特币地址
比特币钱包中包含了一系列的密钥对,每个密钥对包括一个私钥和一个公钥。
私钥:是一个随机选出的数字。
公钥:使用椭圆曲线乘法这个单向加密函数产生一个公钥。
比特币地址:有了公钥,使用一个单向加密哈希函数生成比特币地址。
比特币地址1.jpg 公钥到比特币地址.jpg
网友评论