2016-10-01

版权声明:本文为博主原创文章,转载注明“龙棠博客”字样和原文链接。

哈希函数

  • 碰撞阻力:无法找到两个值,x和y,x ≠ y,而H(x) = H(y),则称哈希函数H具有碰撞阻力
  • 隐秘性:如果当其输入r选自一个高阶最小熵(high min-entroy)的概率分布,在给定H(r   x)条件下确定x是不可行的
  • 谜题友好:如果对于任意n位输出值y,假定k选自高阶最小熵分布,如果无法找到一个可行方法,在比2^n小的时间内找到x,保证H(k||x) = y 成立, 那么我们称哈希函数H为谜题友好
  • sha-256

哈希函数(白话特性)

  • 碰撞阻力:信息摘要(message digest),不同的消息不可能生成相同的哈希值
  • 隐秘性:承诺,不可以反逆推
  • 谜题友好:输入集猜测(搜索谜题)没有捷径

数字签名

  • (sk, pk) := generateKeys(keysize)
  • sig := sign(sk, message)
  • isValid := verify(pk, message, sig)
  • 有效签名 verify(pk, message, sign(sk, message)) == true

椭圆曲线签名算法(ECDSA)

  • 个人密钥: 256位
  • 公钥(未压缩): 512位
  • 公钥(压缩):257位
  • 待签名信息: 256位
  • 签名: 512位
  • 比特币使用该签名算法