主页 > imtokenusdt钱包 > 什么是比特币密钥? 比特币密钥生成的原理是什么?

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

imtokenusdt钱包 2023-05-03 05:15:45

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

随着比特币的火爆,小编相信很多听说过比特币的人都知道,比特币是一种虚拟的数字货币,而比特币的去中心化、匿名性等特点,也体现了比特币。 密钥的重要性,那么,很多币圈小白都会问,比特币密钥是什么? 比特币密钥生成的原理是什么? 接下来,小编就为网友们分析一下。

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

比特币包含一系列密钥对,每个密钥对包含一个公钥和一个私钥。 私钥是一个随机数,私钥通过椭圆曲线算法生成公钥,公钥通过单向加密哈希函数生成比特币地址。 比特币采用非对称加密,使得签名只能由私钥生成,每个人都可以在不泄露私钥的情况下验证签名p。 私钥和公钥可以无一例外地编码成各种格式,以方便身份识别和钱包操作。

比特币钱包私钥论坛_比特币私钥格式转换器_比特币私钥公钥签名

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

选择一个随机源(熵源),生成比特币私钥本质上与“选择一个介于 1 和 22562256 之间的数字”是一样的。 建议使用加密安全伪随机数生成器 (CSPRNG),并且需要来自具有足够熵的源的种子。

私钥可以通过椭圆曲线算法生成公钥比特币私钥格式转换器,这是一个不可逆的过程:K(公钥)= k(私钥)* G(常数点)。 它的反向操作,即所谓的“求离散对数”——在给定公钥 K 的情况下求私钥 k——是极其困难的。

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

比特币钱包私钥论坛_比特币私钥公钥签名_比特币私钥格式转换器

1、通过操作系统的随机数生成器生成一个随机数,进行SHA256哈希运算(结果必须是1到n-1之间的任意数,n=1.158 * 1077),这个数就是最原始的私钥因此比特币私钥格式转换器,有必要从加密安全的随机源中选择一串随机字节来防止暴力破解。 SHA256 哈希运算用于方便生成一个固定长度为 256 位的数字。 十六进制表示如下:6954ac6d0402d7239f1cc150da224d0ef08fd1226f245f06fe4d6d68accfce8a

2、如果使用压缩公钥,在私钥结果后加上0x01; 如果您使用非压缩公钥,请不要添加 0x01。 私钥的后缀01用于告诉钱包私钥对应的公钥和地址是压缩格式还是非压缩格式。 原因是同一个私钥的压缩公钥和非压缩公钥是不同的,生成的地址也是完全不同的,也就是说一个私钥对应两个公钥和两个地址钥匙。 如果没有标识,则钱包私钥与公钥和地址之间没有一一对应关系。本次使用压缩格式的例子

6954ac6d0402d7239f1cc150da224d0ef08fd1226f245f06fe4d6d68accfce8a01

3、对私钥进行base58check编码,即转为WIF(Wallet Import Format)格式

比特币钱包私钥论坛_比特币私钥格式转换器_比特币私钥公钥签名

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

806954ac6d0402d7239f1cc150da224d0ef08fd1226f245f06fe4d6d68accfce8a01

对以上结果进行双SHA256运算,取前四个字节作为校验码拼接在末尾,再进行base58编码得到私钥的最终形式(非WIF压缩的结果前缀format为5.WIF压缩格式结果前缀为K或L) KzkTe43L5cbSX64txJMcsFvJC6vov7nYaGdYicz5N8Mds4ThN2XM

4、使用secp256k1椭圆曲线算法将私钥转换为公钥(Gx,Gy)。 椭圆曲线算法是一种基于离散对数问题的非对称加密方法。 Its mathematical operation is one-way, so the private key can be converted成公钥,但公钥不能转换回私钥,将上面的结果转换后得到如下结果(十六进制):(0ba1ba3b8d8f7bd4a70828ec0e749dd26ee4cdd18d058c880afa121fad60e5b6.f2ee1b72d9b9a57706e5de72acc1378f92269086c4964c073593bf92d28c647d)

比特币钱包私钥论坛_比特币私钥公钥签名_比特币私钥格式转换器

将公钥合并成十六进制数

压缩公钥可以大大节省公钥占用的空间(减少256bits),这是目前比特币客户端的默认格式,也兼容未压缩的公钥,uncompressed (prefix 04.Concatenate Gx, Gy)

040ba1ba3b8d8f7bd4a70828ec0e749dd26ee4cdd18d058c880afa121fad60e5b6f2ee1b72d9b9a57706e5de72acc1378f92269086c4964c073593bf92d28c647d

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

比特币钱包私钥论坛_比特币私钥公钥签名_比特币私钥格式转换器

030ba1ba3b8d8f7bd4a70828ec0e749dd26ee4cdd18d058c880afa121fad60e5b6

6.将公钥转换为比特币地址

1. RIPEMD160(SHA256(公钥))得到一个20字节/160位的公钥散列。 使用两个Hash函数进行转换最大的好处是,如果其中一个函数被破解了,安全性还是可以得到保证的。

2.对公钥哈希进行Base58check编码(版本前缀+公钥哈希+SHA256(SHA256(版本前缀+公钥哈希))Base58编码的前4字节),这里是P2PKH地址,前缀为0x00 .得到最终的比特币地址如下:17FjrmErg5a39P7UsyYCchpyzSnq9gmMuJ

如果你也喜欢虚拟货币领域,希望从虚拟货币领域赚取人生的第一桶金,可以加入我们的币王官方社区。 经过长期运营,币大师社区总人数已突破12万。 粉丝们,群里不乏业内大咖和经验丰富的职业选手。 他们经验丰富,乐于分享。 我们一定会学到很多有用的知识。 添加客服申请加盟。