美文网首页
比特币相关技术.小白学区块链03

比特币相关技术.小白学区块链03

作者: 前端老邹_伯通 | 来源:发表于2018-09-17 12:00 被阅读11次

4.2 Hash算法

  • 两个问题:隐私 和 快速对账

  • 摘要算法:世界上没有两片完全相同的叶子,提取叶子的特点就是摘要

  • hash算法:可以将任意数据 生成 固定长度 的 16进制 字符串 【在线工具

    并且,只要数据一样,那么不管计算多少次都会获得同一个 16进制 字符串

  • 常见hash算法:md5,sha1,sha256,sha512 等,都是摘要算法(Message Digest)

    如:

1535684187189.png

注意:比特币使用的是 sha256 算法

  • 碰撞可能性:不同内容生成同一个hash值的可能性

    比特币用sha256算法:

    2的256次方 -> 1.157920892373162e+77 -> 比宇宙中原子的数量还多

    转成 二进制 就是 256位的数值 (1个十六进制数 得用 4个二进制数 表示)

    64个十六进制数
    96DBE8599CCA83C9487B39FF14D6A224B488E9AC8A676DEBCC0DFAC53615208B
    ​ |

    256个二位数
    1001011011011011 1110100001011001
    1001110011001010 1000001111001001
    0100100001111011 0011100111111111
    0001010011010110 1010001000100100
    1011010010001000 1110100110101100
    1000101001100111 0110110111101011
    1100110000001101 1111101011000101
    0011011000010101 0010000010001011

  • 不可逆

1535686810813.png 1535686650110.png
  • 小结:为了安全起见,现在一般使用 sha256 算法

4.3 密码学

4.3.1 对称加密
  • 使用 同一个密钥 进行 加密 和 解密,这种加密方法称为 对称加密,也称为 单密钥加密
  • 算法:DES、3DES、AES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK
对称加密
  • 特点:

    加解密使用 相同 秘钥
    高效,适用于大量数据的加密场景
    算法公开,安全性取决于秘钥大小,但秘钥越大效率越低,需要权衡在安全和效率中做权衡

  • 缺点:

    算法本身安全,但使用场景不够安全,因为解密和加密都是同一个秘钥

4.3.2 非对称加密
  • 使用 匹配的一对密钥 来分别进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)

  • 注意:公钥加密的数据 只能 用 对应的私钥解密,同理,私钥加密的数据 只能用 对应的公钥解密

  • 算法:RSA、ECC、Elgamal、背包算法、Rabin、D-H 等

    • RSA算法,网易公开课的介绍视频 链接
    • ESS算法,椭圆曲线算法(比特币,巧妙避开美国NSA后门,V神认为是巧合)
  • 用法:

    • 准备工作:

      1.生成一对匹配的 私钥 和 公钥 (ps:公钥其实是根据私钥生成的)

      2.将公钥公布给外界

非对称加密
  • 用法1. 公钥加密 - 用来针对互联网上加密数据传递

    Linda 用 James的公钥 对数据进行加密,然后发给 James,James用自己的私钥解密

非对称加密-01生成密钥对
> 因为一个公钥加密的数据 只有 对应的 私钥才能解密,所以密文很安全
> 补充:如果要在网络上相互发送密文,可以让对方也发对方的公钥过来,用对方的公钥来加密
  • 用法2. 私钥签名 - 目的是为了将明文公布给别人,同时证明是自己发的;也可以防止明文被篡改。

    第一步: James 用 James的私钥 对明文的hash值进行加密,把密文(签名)和明文一起发给 Linda

私钥签名
**第二步:** Linda 用 `James的公钥` 进行解密,解密后的明文hash值 和 接收到的明文的hash值进行对比,如果一样则是 James 发的
公钥解密和校验
  • 特点:

    安全性高

    加解密复杂,效率低

4.3.3 小结
  • 对称加密:加密与解密 使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高

  • 非对称加密:使用唯一匹配的公钥与私钥,所以安全性高,但加密与解密速度慢

  • 解决的办法:将 对称加密的密钥 使用 非对称加密的公钥 进行加密,然后发送出去,接收方使用 私钥 进行解密得到 对称加密的密钥,然后双方可以使用对称加密来进行沟通

1535795321167.png

相关文章

  • 区块链和比特币的误区

    说起区块链与比特币,刚开始接触区块链和比特币的小白们都会对区块链与比特币有一些疑惑。区块链是当下社会比较新兴的技术...

  • 解读“区块链”

    区块链和比特币的关系 比特币与区块链,更像是鸡与蛋的关系。 比特币是区块链技术的第一个应用,区块链技术也是由比特币...

  • 《【砂糖橘解说】比特币篇:区块链技术的发展历史#19》

    《【砂糖橘解说】比特币篇:区块链技术的发展历史#19》 一、区块链和比特币是什么关系 区块链技术是比特币的底层技术...

  • 探索区块链技术

    区块链技术来源 谈到区块链,就不得不提比特币,区块链作为比特币的底层技术,是伴随着比特币而产生的。比特币交易机制中...

  • 区块链系列教程之:比特币中的网络和区块链

    简介 比特币的底层就是区块链技术,区块链也是因为比特币而广为人知的。和其他的区块链技术相比,比特币的区块链有什么特...

  • 区块链学习路线及资料索引

    一、学习目标 比特币发展历史,挖矿,分叉以及相关应用 区块链底层技术,如共识算法, 侧链技术, 密码学知识等,理解...

  • 【入门课程】2.3—比特币的本质、特点、交易方式

    一、区块链和比特币关系 区块链技术是比特币的底层技术,而比特币是区块链的第一个应用,也是目前区块链最成功的应用。 ...

  • 区块链篇:区块链技术的发展历史#1

    《【砂糖橘解说】区块链篇:区块链技术的发展历史#1》 一、区块链和比特币是什么关系 区块链技术是比特币的底层技术,...

  • 探班能源区块链

    区块链技术介绍: 区块链技术,比特币,以太坊,硬币,令牌,Cryptocurrencies,名单继续。随 着比特币...

  • 比特币白皮书解读

    没有比特币就没有区块链,没有区块链就没有比特币。 可见,比特币是区块链是多么的密切相关,而且比特币也可以说是区块链...

网友评论

      本文标题:比特币相关技术.小白学区块链03

      本文链接:https://www.haomeiwen.com/subject/yggknftx.html