主页 > imtoken钱包app下载 > 比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (1+r)*7
比特币的算法基础:哈希算法和椭圆曲线乘法 20170208 (1+r)*7
今天是掌握比特币的第 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的数据生成过程
明天继续。 . .