博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区块链(一)比特币的加密原理
阅读量:2107 次
发布时间:2019-04-29

本文共 972 字,大约阅读时间需要 3 分钟。

加密货币:crypto-currency

一、 哈希函数特性

比特币常用hash函数:SHA-256 (Secure Hash Alogorithm)

  1. collision resistance 抗碰撞性:

    ①. collision 指哈希碰撞:

    两个不同的值经哈希函数结果相等
    X≠Y => H(X) = H(Y)

    ②. collision resistence: 没有高效的方法人为制造哈希碰撞,只能蛮力求解(brute-force)

    ③. 用处:对信息求digist(键),使被篡改的内容没有办法不被检测出来

    ④. 没有任何一种hash函数能被理论证明是符合collision resistance的,只能通过实践认定。(但是动态变化的,曾经MD5很安全,现在已经被破茧)

  2. hiding 隐秘性

    ①. 说明:哈希函数的计算过程是单向、不可逆的,不能从H(X)算回X

    ②. 条件:

    a) 范围空间大,使蛮力取值不可取
    b)输入分布均匀,各取值可能性差不多

    1+2 -> digital commitment(数字委托书)/equivalent of a sealed envelope

    若X比较小时,X后拼接一个随机数nonce 算哈希函数H(X|| nonce)

  3. puzzle friendly 谜题友好

    ①. 表示:看到X,事先不可预测H(X)

    difficult to solve, but easy to verify.
    举例:挖矿时,要求H(block header) ≤ target,求block header里的随机数nonce,只能一一枚举。

二、加密用于区块链

  1. 区块链开户
    ①. 区块链开户只要设立(public key, private key)公私钥对,技术来源于非对称加密(asymmetric encryption algorithm)。暂无通过匹配公私钥(枚举来试别人的公私钥对)对来攻击成功的先例,概率太小。
    生成公私钥对的要点:有好的随机源,否则可能泄露私钥
    ②. 先往回看到对称加密(symmetric encryption algorithm): 接收方和发送方的密钥(encryption key)相同,需要分发密钥。
  2. 签名
    ①. 签名加密用私钥,验证签名用公钥
    ②. 签名的随机源不好也有可能泄露私钥

转载地址:http://kffef.baihongyu.com/

你可能感兴趣的文章
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
【UML】《Theach yourself uml in 24hours》——hour4
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>