简单密码学下的理想主义(day58)

2019-02-19  本文已影响4人  8dbc292f6337

今天来谈下比特币吧!这个让很多人如痴如醉,又爱又恨的新型货币,从诞生到现“被死亡”了一百多次,从去年到现在还在被死亡。

现不谈它的价格,来谈谈它的加密法,起到了什么作用,为什么会诞生?

我们会发现它是一个由价值和技术给合的产物,它会塑造一个新的社会关糸。

现金电子在30年前就有提出这个想法,我们现在的微信支付同支付宝这样的电子货币交易同比特币有本质区别。

比特币不是央行机构发行,直接点对点,收款和支付都是匿名,交易不能更改,不能伪造,数量不能增加,不能产生通货膨胀。这些不由人为操控,只由程序自动设定。

没有中央机构,由程序设定那么一定就要用到加密法。

比特币中的密码学并不复杂,只有2种:一个是SHA256加密法,另一个是非对称钥匙系统。

什么是SHA256?

它就是安全哈希算法,哈希就是Hash, 进行hash函数运算。

Hash函数是这样无论原始数值有多长,多少位,经过hash 运算后,输出的值的长度是固定的。

这就好比一个班上的所有学生,无数男女,胖瘦,高矮统一经过运算后得到一个条行编码,这个编码长度一致,不能通过编码反推岀这个学生是男生还是女生,是高个子还是矮个子。

哈希函数种类很多,比特币用的sha256,256就是经过哈希运算后的256位数的2进制,可以把它看作是一个条形码。

有人肯定会说怎么可能任何数进行运算后就是固定长度,比如以十进制来说,代表2进制最多只有0---99。如果101就没办法记录了。

还记得之前有提到模运算,如果模是100,那么101就是99+2。用二进制记录就是02。

而SHA256函数的运算结果,是一个模为2的256次方的值,所以这个值一定是可以写成256位的。

可能都知道模的运算了,但hash函数到底怎么计算,这个只要记住,运算的结果是一个256位的2进制数就足够了。

为什么要转换256的数字呢?明天再写了!

上一篇下一篇

猜你喜欢

热点阅读