美文网首页
比特币密码生成和存储原理

比特币密码生成和存储原理

作者: 曹木木1920 | 来源:发表于2018-10-15 15:46 被阅读30次

    比特币私钥、公钥、地址的关系?

    比特币密码生成和存储原理

    私钥是一串256位的二进制数字{产生私钥的原理,大致分为3个步骤:

    1.产生一个很长的随机字符串(随机源)——例如bitaddress.org网站就是通过捕捉人们滑动鼠标的随机行为来产生随机源的。

    2.将步骤1的数据输入到SHA256 hash算法,输出一个256位的数

    3.确保产生的数在私钥规定的范围之内,否则重新回到第1步

    ,将私钥用椭圆曲线算法转化成公钥(它的代表公式为:K=k*G。大K就是公匙,小k是私匙,G是一个常数,我们称之为转化常数(generatingconstant)),将公钥通过单向性哈希密码方程得到地址。

    助记符、种子、钱包、私钥有什么关系?

    比特币密码生成和存储原理

    钱包用来产生和保存私钥。实际上比特币钱包往往不会直接保存私钥,而是保存一个“种子”(Seed)数据,步骤大致如下:

    1.产生种子数据

    2.用种子算出一个账号数据

    3.通过这个账号,可以产生无数个私钥

    比特币密码生成和存储原理

    私钥能否被破解?

    概率太小。相当于从2的256次方,也就是10的77次方里面找一个。

    大约需要很多年…

    比特币密码生成和存储原理

    私钥产生公钥的步骤?

    比特币地址和私钥是由ECDSA椭圆曲线加密算法计算出来的,由ECDSA私钥计算出我们常用的Bitcoin-qt格式比特币地址需要有十个步骤

    第一步,产生ECDSA私钥,如:18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

    第二步,计算出ECDSA公钥,0450863AD64A87AE8A2FE8….82BA6

    第三步,对公钥进行SHA256运算600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

    第四步,对第三步结果进行RIPEMD-160运算010966776006953D5567439E5E39F86A0D273BEE

    第五步,在第四步结果上加上版本号00010966776006953D5567439E5E39F86A0D273BEE

    第六步,对第五步结果进行SHA256运算445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094

    第七步,对第六步结果进行SHA256运算D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30

    第八步,提出第七步结果的前四个字节D61967F6

    第九步,将第八步的结果加到第五步结果最后面00010966776006953D5567439E5E39F86A0D273BEED61967F6

    第十步,对第九步结果进行Base58编码16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM。

    破解比特币的方法?

    第一种,全网51算力;第二种,逆向hash算法。

    首先看第一种办法,现在全网算力超过每秒四百亿亿次,世界排名第一的太湖之光超级计算机每秒算力10亿亿次,如果你有四十台太湖之光,应该不会去破解比特币了。

    第二种方法,破解sha256加密算法,前段时间NSA(美国国家安全局)说sha256不安全了,是针对比特币全网超过1000P的算力为基础的。也就是你还是需要拥有和比特币全网差不多的算力才能破解。

    相关文章

      网友评论

          本文标题:比特币密码生成和存储原理

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