比特币中的密码学原理

╰+哭是因爲堅強的太久メ 2023-01-16 11:28 170阅读 0赞

文章目录

    • Hash
    • 签名

Hash

防止数据被篡改,可以通过比较hash值。hash由输入的字符串为任意大小,输出固定长度字符。理论上无法避免存在hash碰撞(不同输入,产生相同输出),因为输入是无限的,输出是有限的,但实际应用无法高效地制造hash碰撞,可以从工程上忽略hash碰撞。

三个特性

  • 抗碰撞性(collision resistance):工程上可认为不会出现hash碰撞的,即唯一输入对应唯一输出
  • 隐藏性(hiding):哈希函数的计算过程是单向的,不可逆的
  • 不可预测性(puzzle friendly-比特币中要求性质):计算满足要求的hash值只能通过大量的尝试作为proof of work,没有捷径。

哈希算法主要有MD4、MD5、SHA

MD4 1990年 输出128位 (已经不安全)
MD5 1991年 输出128位 (已经不安全)
SHA-0 1993年 输出160位 (发布之后很快就被NSA撤回,是SHA-1的前身)
SHA-1 1995年 输出160位 (已经不安全)
SHA-2包括SHA-224、SHA-256、SHA-384,和 SHA-512,分别输出224、256、384、512位。 (目前安全)

不安全指可人为地进行hash碰撞

签名

非对称加密算法:拥有公钥(public key)、私钥(private key),私钥加密公钥解密,在比特币中每个钱包账号对应一对公私钥。私钥用来签名,公钥用于验证签名。

hash和签名可同时使用,一般先进行hash再用私钥进行签名。

发表评论

表情:
评论列表 (有 0 条评论,170人围观)

还没有评论,来说两句吧...

相关阅读

    相关 基础

    什么是比特币? 比特币是由一系列的概念和技术作为基础,构建的数字货币系统。 狭义上来说,比特币是這个数字货币系统的单位。 比特币系统没有中央服务器,大家都可以开