主页 > imtoken dapp > 比特币私钥分析私钥、公钥和地址在比特币转账中的作用

比特币私钥分析私钥、公钥和地址在比特币转账中的作用

imtoken dapp 2023-05-06 07:51:24

描述

哈希函数

哈希函数(Hash),又称散列函数,给定一个输入x,它会计算出对应的输出H(x)。 哈希函数的主要特点是:

1.输入x可以是任意长度的字符串

2、输出结果是H(x)的长度是固定的

3、计算H(x)的过程是高效的(对于长度为n的字符串x,计算H(x)需要O(n)的时间)

椭圆曲线密码学

Neal Koblitz 和 Victor Miller 于 1985 年独立提出在密码学中使用椭圆曲线。它的主要优点是,在某些情况下,它使用比其他算法(如 RSA)更小的密钥,但提供同等或更高级别的安全性。

比特币使用基于椭圆曲线数学的公钥密码学。 它包含一个私钥和一个公钥。 私钥用于签署交易并将签名和原始数据发送到整个比特币网络。 公钥被全网节点用来验证交易的有效性。 签名算法确保交易由拥有相应私钥的人发出。

BASE58编码

Base58是比特币使用的一种独特的编码方式比特币地址公钥私钥有什么用,主要用于生成比特币钱包地址

与Base64相比,Base58没有使用数字“0”、大写“O”、大写“I”、小写“l”以及“+”和“/”符号

1. 比特币字母表:

2. 使用的门罗字母表:

3. Ripple使用的字母表:

私钥

它实际上是一个长度为256位的比特币私钥,256位=1.15e+77

宇宙中所有原子的总数大约是10的80次方。 如果我们随机生成一个私钥2256+1次,那么必然会生成之前出现过的私钥; 即使从概率的角度,如果我们生成一个私钥2130次,也有99%的几率得到已有的私钥key。 但这种情况目前极为罕见。

公钥

私钥对应的未压缩公钥采用椭圆曲线加密算法(ECDSA-)计算,不可逆。

公钥长度为 65 字节:

标头 ID:1 个字节 (0x04)

X 整数:32 字节 (BE)

Y整数:32字节(BE)

地址

公钥经过多次哈希和处理以生成比特币地址。

从未压缩的公钥生成地址的过程:

1、对完整的公钥(header ID + X-integer + Y-integer)进行sha256()运算,对结果进行()运算,结果a的长度为20bytes

2、在第一步得到的结果前加上Network ID Byte:

主网:0x00

测试网络:0x6f

网络:0x34

得到的b的长度为21bytes

3.对步骤2得到的结果进行连续两次sha256()运算,然后只取运算结果的前4个字节作为

4、将步骤3得到的结果添加到步骤2中步骤b的末尾比特币地址公钥私钥有什么用,得到长度为25字节的c

5.将第4步生成的c进行base58编码得到地址

步骤图:

压缩公钥生成地址时,步骤1中只能使用公钥标识头+X整数部分。

私钥、公钥和地址在比特币转账中的作用

发起比特币转账时,私钥被视为账户密码。 账单填写完成后,需要使用私钥对账单内容进行签名,获取签名信息SIG,然后将SIG附在账单上:

SIG = H(细节,)

知道了 SIG 和 bill 的内容,是不可能推导出私钥的。 那么,有人拿到账单信息和SIG后,如何验证SIG确实是用发送方地址对应的私钥签名的呢?

这就是公钥的用途。 公钥应附在账单上。 当其他人得到比特币私钥时,他们可以验证 SIG 是否合法。

真=(细节,信号,)

私钥-“公钥-”地址是一个单向不可逆的过程,签署交易信息时只暴露公钥,私钥是安全的:

挖矿网Ethos中文网拥有简单易用的挖矿系统,为挖矿行业提供教程软件和矿机评测及交易信息,对比计算各种数字货币在挖矿网的挖矿收益,以及介绍矿网挖矿工具,矿场最新动态等。

矿业网络,版权所有丨如未注明,均为原创丨本站采用BY-NC-SA协议授权

转载请注明原文链接:比特币私钥分析比特币转账中私钥、公钥和地址的作用