比特币的密钥是什么?比特币密钥生成的原理是什么?

随着比特币的流行,边肖相信很多听说过比特币的人都知道,比特币是一种虚拟的数字货币,比特币的特点是去中心化和匿名性,这体现了比特币密钥的重要性。那么,很多人会问,比特币的密钥是什么??比特币密钥生成的原理是什么?下面小编给大家分析一下。

比特币密钥是什么?

比特币包含一系列密钥对,每个密钥对包含一个公钥和一个私钥。私钥是一个随机数。私钥通过椭圆曲线算法生成公钥,公钥通过单向加密哈希函数生成比特币地址。。比特币使用非对称加密,使得签名只能由私钥生成,每个人都可以在不泄露私钥的情况下验证签名P。私钥和公钥可以被编码成许多类型的格式,所有这些格式都用于方便识别和钱包操作。

什么是比特币私钥?

私钥可以理解为一个随机数,一个比特币地址的资金控制取决于对应私钥的控制。在比特币交易中,私钥用于生成支付比特币所需的签名,以证明资金的所有权。

选择随机源(熵源)生成比特币私钥本质上与"选择1到22562256"。建议使用密码安全的伪随机数发生器(CSPRNG),并且需要具有来自具有足够熵的源的种子。

什么是比特币公钥?

公钥可以由私钥通过椭圆曲线算法生成,这是一个不可逆的过程:k(公钥)=k(私钥)*G(不变点)。它的逆运算,被称为"寻找离散对数"-从已知的公钥K中求私钥K极其困难

比特币密钥生成的原理是什么?

椭圆曲线加密是一种基于离散对数问题的非对称(或公钥)加密方法。,可以用椭圆曲线上的点相加或相乘来表示。

1。通过操作系统随机数生成器生成一个随机数,进行SHA256哈希运算(结果必须是1到n-1之间的任意数。,n=1.158*1077),这个数是私钥的原始内容,所以需要从密码学上安全的随机源中选取一串随机字节,以防止暴力破解。SHA256哈希运算用于方便地生成一个固定长度为256位的数。,十六进制表示如下:6954AC6d0402d7239f1cc150da224d0ef08FD1226f245f06f4d68acce8a

第二,如果使用压缩公钥。,在私钥结果后加0x01如果使用未压缩的公钥,则不添加0x01。私钥的后缀01用来告诉钱包私钥对应的公钥和地址是压缩的还是解压缩的。原因是同一私钥的压缩公钥和未压缩公钥是不同的。生成的地址也是完全不同的,也就是说会有两个公钥和两个地址对应一个私钥。如果没有身份识别,钱包无法将私钥与公钥和地址一一对应。这次使用的压缩格式示例

6954AC6d0402d7239f1C1c150da224d0ef08FD1226f245f06Fe4d68accfce8a01

三、对私钥进行base58check编码,即转换为WIF(钱包导入格式)格式

在私钥前加版本前缀,0x80为WIF前缀

806954AC6d0402d7239f1C1c150da224d0ef08FD1226f245f06Fe4d68aCCFce8a01

对上述结果进行双SHA256运算,前四个字节作为校验码拼接在最后。然后进行base58编码,得到私钥的最终形式(非WIF压缩格式的结果前缀为5。WIF压缩格式结果前缀是K或L)。kzkte43l5bcbsx64txjmcsfjc6vov7nyagdyicz5n8MDS4号N2XM。

四、利用secp256k1椭圆曲线算法将私钥转换成公钥(Gx,Gy)。椭圆曲线算法是一种基于离散对数问题的非对称加密方法,其数学运算是单向的,所以私钥可以转换成公钥,但公钥不能转换回私钥。,对以上结果进行转换后得到以下结果(十六进制):(0ba1a3b8d8f7BD470828EC0e749DD26ee4CD18d05880AFA121fad60e5b6。F2EE1B72d9B9a5706e5de72ACC1378f92269086c4964c073593BF92D。

将公钥合并成十六进制数

压缩公钥可以大大节省公钥占用的空间(减少256位),这是目前比特币客户端默认的格式,也兼容未压缩公钥,未压缩(前缀04。加入GX和Gy)。

040ba1ba3b8d8f7BD4a70828EC0e749DD26ee4CD18d058c880AFA121fad60e5b6F2ee1b72d9B9a57706e5de72ACC1378f92269086c4964c073593BF92d28c647d

压缩(Y是偶数前缀02.y是奇数前缀03。只保留Gx,Gy可以通过Gx计算)

030ba1ba3b8d8f7BD4a70828EC0e749DD26ee4CD18d058c880AFA121fad60e5b6

六、将公钥转换为比特币地址

1。RIPEMD160(SHA256(公钥))获得一个20字节/160位的公钥哈希。使用两个哈希函数进行转换的最大好处是,如果其中一个函数被破解,仍然可以保证安全性。

2。Base58check编码公钥哈希(Base58编码版本前缀公钥SHA256的前4个字节(SHA256(版本前缀公钥哈希)),这里是P2PKH地址。,前缀为0x00。最终的比特币地址如下:17fjrmerg5a39p7usycchpyzsnq9gmmuj。

比特币的密钥是什么?比特币密钥生成的原理是什么?文档下载: PDF DOC TXT
文章来源: 理财天下网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2384272385@qq.com举报,一经查实,本站将立刻删除。