比特币私钥,公钥和地址的关系

当前位置:首页 > 币圈百科 > 比特币私钥,公钥和地址的关系

比特币私钥,公钥和地址的关系

2023-01-22币圈百科236

哈希函数

哈希函数(也叫哈希函数),给定一个输入X,它会计算出对应的输出H(x)。散列函数的主要特征是:1 .输入X可以是任意长度的字符串;2.输出结果,即H(x)的长度是固定的;3.计算H(x)的过程是高效的(对于长度为n的字符串X,计算H(x)的时间复杂度应为O 蓑衣网小编2022(n)]

椭圆曲线加密算法

椭圆。它的主要优点是,在某些情况下,它使用比其他算法(如RSA)更小的密钥,但提供同等或更高级别的安全性。比特币使用基于secp256k1椭圆曲线数学的公钥加密算法。它包含一个私钥和一个公钥。私钥用于对交易进行签名,并将签名和原始数据发送到整个比特币网络,而公钥则由整个网络中的节点用来验证交易的有效性。签名算法确保事务由拥有相应私钥的人发布。

BASE58编码BASE58是比特币中使用的一种独特的编码方式。与Base64相比,Base58不使用数字“0”、大写字母“o”、大写字母“I”和小写字母“l”。和“/”符号1。比特币使用的字母表:

123456789 abcdefghjklmnpqrstuvwxyzabcdefghijkmnopkrstuvwxyz

2。Monero中使用的字母表:

123456789 abcdefghjklmnpqrstuvwxyzabcdefghijkmnopkrstuvwxyz

3 .ripple中使用的字母表:

rpshnaf 39 wbudneghjm 4 pqrst 7 vwxyz 2 bcdecog 65 jkm 8 of qi 1 tuwayxyz

私钥

实际上是一个长度为256bit的二进制数,宇宙中所有原子的总数约为10的80次方。如果我们随机生成一个私钥2256 1次,必然会生成一个之前已经出现过的私钥;即使从概率的角度来看,2130次私钥生成后,也有99%的可能得到现有的私钥,但目前这种情况极其罕见。

公钥

使用椭圆曲线加密算法(ECDSA-secp256k1)计算出私钥对应的未压缩公钥是不可逆的。公钥长度为65字节:头ID: 1字节(0x 04)x-整数:32字节(be)y-整数:32字节(be)

地址

公钥经过多次哈希处理,生成btc地址。用未压缩的公钥生成地址的过程:1 .对完整的公钥(头ID X-integer Y-integer)执行sha256()运算,然后对结果执行ripemd160()运算。结果A的长度是20字节2。在步骤1得到的结果前加上网络ID字节:main network:0x 00t est network:0x 6 fname coin net:0x 34,B的长度为21bytes3。对步骤2得到的结果连续执行两次sha256()运算。那么只有运算结果的前4个字节被作为校验和。4.将上一步3得到的校验和加到第二步的末尾,得到C,长度为25bytes5。5.用Base58对步骤4中生成的C进行编码,得到地址步骤图:

通过压缩公钥生成地址时,只取步骤1中公钥标识头的X整数部分。

私蓑衣网小编2022 钥、公钥、地址在比特币转账中的作用

在发起比特币转账时,私钥被视为账户的密码。账单完成后,需要用私钥声明的内容进行签名,得到签名信息sig,然后将sig附在账单上:

sig=h (detail,private _ key)

那么,别人得到账单信息和SIG后,如何验证SIG确实是由发件人地址对应的私钥签名的呢?这就是公钥的作用。公钥应该附在账单上。别人拿到账单,可以验证SIG是否合法。True=validate (detail,sig,public _ key)私钥-公钥-地址是一个单向不可逆的过程。交易信息签名时,只会暴露公钥,私钥是安全的:

from: https://www.jian。
比特币私钥,公钥和地址的关系 | 分享给朋友: