zoukankan      html  css  js  c++  java
  • 比特币

    比特币主要用到了密码学中的两个功能:1.哈希2.签名

    1.密码学中用到的哈希函数被称为cryptographic hash function: 它有两个重要的性质:
    ①collision(这里指哈希碰撞) resistance :例如x≠y H(x)=H(y) 两个不同的输入,输出却是相等的,这就称哈希碰撞。它是不可避免的,因为输入空间总大于输出空间。给出x,很难找到y,除非蛮力求解(brute-force)。
    该性质的作用:对一个message求digest
    比如message取m m的哈希值是H(m)=digest 如果有人想篡改m值而H(m)不变,则无法做到。
    哈希碰撞无法人为制造,无法验证,是根据实践经验得来的。
    ②hiding 哈希函数的计算过程是单向的,不可逆的。(从H(x)无法推导出x) hiding性质前提是输入空间足够大,分布比较均匀。如果不是足够大,一般在x后面拼接一个随机数,如H(x||nonce)。
    该性质的作用:和collision resistance 结合在一起,用来实现digital commitment(又称为digital equivalent of a sealed envelope)
    把预测结果作为输入x,算出一个哈希值,讲哈希值公布,hiding让人们知道哈希值而不知道预测值,最后再将x公布,因为有collision resistance的性质,预测结果是不可篡改的。

    摘自:

    B站北京大学肖臻老师《区块链技术与应用》公开课评论区中up主“区块链笔记在我主页”的评论

  • 相关阅读:
    ubuntu下安装flash
    PHPMailer邮件发送
    PHP制作简单分页(从数据库读取记录)
    windows下安装PHP环境
    捕获浏览器关闭,刷新事件
    ubuntu下安装wps
    用PHP制作一个简单的验证码
    一个PHP程序员应该掌握的10项技能!
    爬虫框架之scrapy
    Android杂谈禁止TimePicker控件通过keyboard输入
  • 原文地址:https://www.cnblogs.com/zhaoyuxiao000/p/15731267.html
Copyright © 2011-2022 走看看