美文网首页
比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (

比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (

作者: 施二聿行 | 来源:发表于2017-02-08 23:21 被阅读817次

今天是看《Mastering Bitcoin》的第3天,每天20页,并同步笔记。

《精通比特币》(《Mastering Bitcoin》)全书182页。

预计完成时间:1 week

昨天和今天着重看了这两个算法。比特币使用的是哈希加密,发现这些算法的具体内容已经忘记。

往好处看,大学时代学过的好处就是,看到这些术语不会发憷,反而有点亲切。

——  “Hey,咱们又见面了!”

看到自己写下了“Byte”,还花了几秒钟确认“1个字节到底是4还是8个比特?”

私钥->公钥

【私钥 -> 公钥】

公式:K = k * G

运算:椭圆曲线方程

两个单向算法:椭圆曲线和哈希函数

【公钥 -> 比特币地址】

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

运算:哈希函数

比特币的区块链里比较常用的有RIPEMD160和SHA256。做双层的哈希运算。

【哈希加密算法】

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

-- 所谓不可逆,就是当你知道x的HASH值y,但无法求出x;

-- 所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。

一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同。哈希做到的是求逆和求冲突在计算上不可能。也就是正向计算很容易,而反向计算运算量太大,比如穷尽人类所有的计算资源还需要50年?

密码学的几个算法(HASH、对称加密、公私钥)授予了弱小的个人在强权面前信息的安全。举个例子,只要你一直使用https与国外站点通讯,并注意对方的公钥没有被篡改,G**W可以断开你的连接,但它永远不可能知道你们的传输内容是什么。

数据编码格式

【Base58Check编码】

好处是:1、提高可读性,2、自带校验降低出错率

所谓Base58编码就是从Base64编码(26小写字母+26个大写字母+10个数字+'+'+'/' = 64个字符)中去掉容易误读的,刚好还剩58个,加上生成的校验,头上加上版本号,成为最终的编码数据。

Base58的数据产生过程

明天继续 。。。

相关文章

网友评论

      本文标题:比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (

      本文链接:https://www.haomeiwen.com/subject/zklvittx.html