区块链原理与应用 课件 第2章 区块链密码学基础_第1页
区块链原理与应用 课件 第2章 区块链密码学基础_第2页
区块链原理与应用 课件 第2章 区块链密码学基础_第3页
区块链原理与应用 课件 第2章 区块链密码学基础_第4页
区块链原理与应用 课件 第2章 区块链密码学基础_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

区块链密码学基础哈希函数哈希函数也称为单向散列函数,是多项式时间复杂度的算法H,且满足对输入任意长度的字符串x∈{0,1}∗,H输出一个固定长度比特串y=H(x),y∈{0,1}l。

megabyteshashvalue32bytes

哈希函数的安全特性Y=H(X)Y=H(X’)YX’X给定X,找到X’,使得H(X)=H(X’)非常困难单向性:X=H-1(Y)YX给定Y,通过逆运算找到X=H-1(Y)非常困难抗第二原像:Y=H(X)Y=H(X’)YX’X找到一对X,X’,使得H(X)=H(X’)非常困难抗碰撞性:哈希函数构造——SHA-256数据填充与切割假设输入数据为m,其二进制表示的长度为ℓ比特。将m尾部增加一个比特"1",然后增加k个比特0,使得数据串的长度ℓ+1+k=

448mod512

将长度ℓ的二进制表示附加在尾部,共计64比特

哈希函数构造——SHA-256数据运算哈希函数构造——SHA-256数据细分与扩展分割得到的长度为512比特的数据块第i个数据块在运算中被进一步分割为16个长度为32比特的细分块16个细分块赋值于,并经过运算函数的迭代运算扩展为64个细分块

哈希函数构造——SHA-256迭代计算抗ASIC芯片哈希函数—ETHASH通过内存访问限制ASIC实现支持轻量级节点验证默克尔树

HHHHHHH

承诺S个m

数字签名算法定义:数字签名算法由下面三个子算法构成Gen():生成一对密钥对(pk,sk),其中pk称为公钥,可以公开给所有人,sk为私钥,由密钥所有者私密保存。Sign(sk,m):输出签名信息σVerify(pk,m,σ):输出‘1’or‘0’安全性要求:正确性:按照上述方式生成的签名可以通过验证,即Verify函数输出‘1’不可伪造性:没有私钥sk的攻击者即便观察了多个已有的有效签名也不能生成新的有效的签名,即针对一个新的消息m’生成对应的签名σ’使得Verify函数输出‘1’ECDSA签名

ECDSA签名(续)

ECDSA签名正确性

ECDSA签名安全性

Schnorr签名

Schnorr签名(续)

Schnorr签名正确性

Schnorr签名安全性

BLS签名

区块链中使用的签名算法比特币、以太坊等区块链系统使用ECDSA签

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论