主页 > imtoken钱包app下载 > 比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (1+r)*7

比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (1+r)*7

imtoken钱包app下载 2023-01-18 10:37:10

今天是掌握比特币的第 3 天,每天 20 页,同步笔记。

《Mastering Bitcoin》(《掌握比特币》)182页。

预计完成时间:1 周

我昨天和今天都专注于这两种算法。比特币使用哈希加密,结果这些算法的细节都被遗忘了。

从好的方面来说,在大学学习的好处是,当我看到这些术语时我不会害羞,而是有点友好。

——“嘿,我们又见面了!”

比特币的加密算法

看到自己在写“字节”比特币的加密算法,花了几秒才确认“1字节到底是4”还是8位?”

私钥->公钥

[私钥->公钥]

公式:K = k * G

p>

比特币的加密算法

运算:椭圆曲线方程

两种单向算法:椭圆曲线和散列函数

【通用密钥->比特币地址】

公式:比特币地址 A = RIPEMD160(SHA256(K))

比特币的加密算法

操作:哈希函数

比特币的比较常用的区块链是 RIPEMD160 和 SHA256。做双层哈希。

【哈希加密算法】

HASH算法是密码学的基础,最重要的两个属性是不可逆性和无冲突性。

--所谓不可逆就是当你知道x的HASH值y,却找不到x;

比特币的加密算法

--所谓不冲突,就是当你知道x,却找不到A y,使得x和y具有相同的HASH值。

函数一定是可逆的,而且由于HASH函数的取值范围是有限的,所以理论上存在无限不同的原始值,它们的hash值都是一样的。哈希的作用是计算上不可能发生反转和冲突。也就是说,正向计算容易比特币的加密算法,反向计算太复杂。比如,人类所有的计算资源需要50年才能耗尽?

多种密码学算法(HASH、对称加密、公钥和私钥)赋予弱者在面对权力时信息的安全性。比如你只要一直用https和国外网站通信,注意对方的公钥没有被篡改,G**W可以断开你的连接,但它永远无法知道你传输的内容是什么。

数据编码格式

比特币的加密算法

[Base58Check 编码]

优点是:可读性,2、内置验证降低错误率

所谓Base58编码是从Base64编码(26个小写字母+26个大写字母+10个数字+'+'+'/'=64个字符),去掉容易误读的,就只有58个左边,加上生成的校验和,以及头部的版本号,就成为最终的编码数据。

Base58的数据生成过程

明天继续。 . .