区块链学习笔记记录( 1. 密码学及加密货币概述)

侵权请联系我,即删

  • 1. 密码学及加密货币概述
    • 1.1 密码学哈希函数
    • 1.2哈希指针及数据结构
    • 1.3数字签名
    • 1.4 公钥即身份
    • 1.5 两种简单的加密货币

1. 密码学及加密货币概述

1.1 密码学哈希函数

哈希函数具有以下三个特性:

  • 其输入可为任意大小的字符串
  • 产生固定大小的输出
  • 它能进行有效计算,对应n位字符串,其哈希值计算的复杂度为O(n)

要使哈希函数达到密码安全,要求其具有以下三个附加特性:

  • 碰撞阻力(collision-resistance):无法找到两个不同的输入 x = ̸ y x =\not y x≠y,而得到相同的输出 H ( x ) = H ( y ) H(x) = H(y) H(x)=H(y)
  • 隐秘性(hiding):由 x x x 容易得到 H ( x ) H(x) H(x),而很难由 H ( x ) H(x) H(x) 推得 x x x
  • 谜题友好(puzzle-friendliness):输入包含部分随机数,要想找到输入值,必需搜索庞大空间。

最小熵:用于测试结果可预测性的手段。
高阶最小熵:描述分布的分散程度。

安全哈希算法:

  • 安全哈希算法(Secure Hash Algorithm 256,简称SHA-256)
  • MD(Merkle-Damgard)变换:建立一个用于固定长度输入的哈希函数,然后通过一般方法,就可以将接受固定长度的哈希函数转化为可接受长度输入的哈希函数。
  • 压缩函数(Compression function):在通用术语中,这种基础型,可用于固定长度,具备碰撞阻力的哈希函数。

SHA-256函数利用了这样一个压缩函数,这个压缩函数把一个768位的输入压缩成一个256位的输出,每一个区块的大小是512位。
区块链学习笔记记录( 1. 密码学及加密货币概述)_第1张图片

1.2哈希指针及数据结构

1.3数字签名

1.4 公钥即身份

1.5 两种简单的加密货币

你可能感兴趣的:(区块链)