比特币密钥破解 比特币密钥的格式

币种 6个月前 (02-24) 66次浏览 0个评论

公钥和私钥都可以以多种格式编码。以不同格式对密钥进行编码后,虽然结果可能看起来不同,但密钥中编码的数字不会改变。这些不同的编码格式主要是为了方便人们使用和识别密钥而不会出错。

私钥格式

私钥可以用许多不同的格式表示,所有这些格式都对应同一个 256 位数字。.

私钥表示法(编码格式)

类型 版本 描述

数字

: Base58 带版本

WIF5

128 位和 32 位前缀

上面的 WIF- 或 LA,在表 4-3 之前添加了后缀 0x01 显示了以这三种格式生成的私钥。

相同的私钥,不同格式格式的私钥

比特币密钥破解_量子计算机破解比特币_比特币密钥破解

C530ED

十六进制

WIF

WIF 压缩

eyhfsYB 1Jcn gdGW

这些符号都是表示相同数字、相同私钥的不同方式。尽管编码的字符串看起来不同,但不同的格式可以很容易地相互转换。

解码为 hex sx 工具包(参见“和 sx 工具”)可用于编写一些 shell 脚本和命令行“管道”,以操纵比特币密钥、地址和交易。您还可以使用 sx 工具从命令行解码格式。

我们使用的命令是-decode:

$ – 526加128

量子计算机破解比特币_比特币密钥破解_比特币密钥破解

结果是十六进制的密钥,后跟钱包导入格式 (WIF) 版本前缀 128。

将十六进制转换为编码要转换为编码(与上一个命令相反),我们需要提供十六进制的私钥和钱包导入格式(WIF)前缀128的版本前缀:

$sx – 编码 526aedd 128

将十六进制(压缩格式密钥)转换为编码

要以压缩格式对私钥进行编码(参见“压缩格式的私钥”一节),我们需要在十六进制私钥的末尾添加后缀 01,然后使用与上述相同的方法:

$ sx – 编码 128

生成的WIF压缩格式的私钥以字母“K”开头,表示编码后的私钥有后缀“01”,该私钥只能用于生成压缩格式的公钥(见“压缩格式” “公钥”部分)。

公钥格式

公钥也可以用多种不同的格式表示,最重要的是它们被分类为未压缩或压缩的公钥。

比特币密钥破解_比特币密钥破解_量子计算机破解比特币

从上面我们知道,公钥是椭圆曲线上的一个点,由一对坐标(x,y)组成。公钥通常由前缀 04 后跟两个 256 位数字表示。其中一个 256 位数字是公钥的 x 坐标,另一个 256 位数字是 y 坐标。前缀 04 用于区分未压缩格式的公钥,压缩格式的公钥以 02 或 03 开头。

以下是上一节中私钥生成的公钥,其坐标x和y如下:

x = 9DC341A

y = E505BDB

下面是表示为 520 位数字(130 个十六进制数字)的相同公钥。这520

位号以前缀 04 开头,后跟 x 和 y 坐标,格式为 04 xy:

ķ =

压缩公钥

引入公钥的压缩格式以减少比特币交易中的字节数,从而节省运行区块链数据库的节点上的磁盘空间。大多数比特币交易都包含公钥,用于验证用户凭据并以比特币支付。每个公钥有 520 位(包括前缀、x 坐标、y 坐标)。如果每个区块有数百笔交易,每天发生数千笔交易,就会有大量数据写入区块链

比特币密钥破解_量子计算机破解比特币_比特币密钥破解

正如我们在“公钥”一节中看到的,公钥是椭圆曲线上的一个点 (x, y)。椭圆曲线其实是一个数学方程,曲线上的点其实就是方程的解。因此,如果我们知道公钥的 x 坐标,我们可以通过解方程 y2mod p = (x3 + 7) mod p 得到 y 坐标。这种方案允许我们只存储 x 坐标公钥的大小,省略y坐标,从而将公钥的大小和存储空间减少了256位,每笔交易所需的字节数减少了近一半,从而大大节省了数据传输和存储时间。

未压缩的公钥以 04 为前缀,而压缩的公钥以 02 或 03 为前缀。之所以需要这两个不同的前缀,是因为椭圆曲线加密公式的左边是 y2,表示 y 的解来自一个平方根,它可能是正数或负数。更形象地说,y 坐标可以高于或低于 x 轴。从图中的椭圆曲线图可以看出,该曲线是对称的,从x轴上看,就像一面对称镜子的两侧。因此,如果我们省略 y 坐标,我们必须存储 y 的符号(正或负)。换句话说,对于给定的x值,我们需要知道y值是在x轴之上还是之下,因为它们代表椭圆曲线上的不同点,即不同的公钥。当我们在素数p阶的有限域上用二进制算术计算椭圆曲线时,y坐标可能是奇数也可能是偶数,对应于上面提到的y值的正负号。因此,为了区分y坐标的两个可能值,我们在生成压缩格式的公钥时,如果y为偶数则使用02作为前缀,当y为奇数时使用03作为前缀。这样就可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。下图说明了公钥压缩:对应于上述y值的正负号。因此比特币密钥破解,为了区分y坐标的两个可能值,我们在生成压缩格式的公钥时,如果y为偶数则使用02作为前缀,当y为奇数时使用03作为前缀。这样就可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。下图说明了公钥压缩:对应于上述y值的正负号。因此,为了区分y坐标的两个可能值,我们在生成压缩格式的公钥时,如果y为偶数则使用02作为前缀,当y为奇数时使用03作为前缀。这样就可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。下图说明了公钥压缩:可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。下图说明了公钥压缩:可以根据公钥中给定的x值正确推导出对应的y坐标,从而将公钥解压成椭圆曲线上一个完整的点坐标。下图说明了公钥压缩:

以下是上一节生成的公钥,压缩格式为264位(66位十六进制数字),其中前缀03表示y坐标为奇数:

ķ =

这个压缩后的公钥对应同一个私钥,也就是说它是由同一个私钥生成的。但是,压缩公钥和未压缩公钥之间存在很大差异。更重要的是,如果我们使用双哈希函数((SHA256(K)))将压缩后的公钥转换为比特币地址比特币密钥破解,得到的地址将与未压缩的公钥生成的地址不同。这个结果可能会令人困惑,因为单个私钥可以生成两种不同格式的公钥——压缩和未压缩,而这两种格式的公钥可以生成两个不同的比特币地址。但是,这两个不同的比特币地址的私钥是相同的。

压缩公钥逐渐成为各种比特币客户端的默认格式,可以大大减少交易所需的字节数,同时也减少了存储区块链所需的磁盘空间量。但是,并非所有客户端都支持压缩公钥,因此支持压缩公钥的新客户端必须考虑如何处理来自不支持压缩公钥的旧客户端的事务。

当一个钱包应用程序导入另一个钱包应用程序的私钥时,这一点变得尤为重要,因为新钱包需要扫描区块链并找到与这些导入的私钥相关的所有交易。比特币钱包应该扫描哪些比特币地址?新客户端不知道使用哪个公钥:因为压缩公钥和未压缩公钥生成的比特币地址都是合法的比特币地址,可以私下访问。密钥签名正确,但它们是完全不同的比特币地址。为了解决这个问题,当从钱包中导出私钥时,较新的比特币客户端将使用不同的钱包导入格式。这种新的钱包导入格式可用于指示私钥已被用于生成压缩公钥,并且生成的比特币地址也是基于压缩的公钥。该方案可以解决从旧钱包或新钱包导入私钥的问题,也解决了公钥生成的比特币地址是来自压缩公钥还是非压缩公钥的问题。最后,新钱包在扫描区块链时,可以使用对应的比特币地址,通过比特币地址找出区块链中发生的交易。我们将在下一节中详细解释这种机制是如何工作的。也解决了公钥生成的比特币地址是来自压缩公钥还是非压缩公钥的问题。最后,新钱包在扫描区块链时,可以使用对应的比特币地址,通过比特币地址找出区块链中发生的交易。我们将在下一节中详细解释这种机制是如何工作的。也解决了公钥生成的比特币地址是来自压缩公钥还是非压缩公钥的问题。最后,新钱包在扫描区块链时,可以使用对应的比特币地址,通过比特币地址找出区块链中发生的交易。我们将在下一节中详细解释这种机制是如何工作的。

压缩格式的私钥

比特币密钥破解_比特币密钥破解_量子计算机破解比特币

实际上,“压缩私钥”是用词不当,因为当使用 WIF 压缩格式导出私钥时,它不仅是未压缩的,而且比“未压缩”的私钥长一个字节。额外的字节是私钥后缀为01,表示私钥来自较新的钱包,只能用于生成压缩公钥。私钥未压缩,无法压缩。“压缩的私钥”实际上只是指“用于生成压缩格式的公钥的私钥”,而“未压缩的私钥”是指“用于生成未压缩格式的公钥的私钥”。为了避免进一步的误解,应该只能说导出格式是“

请注意,这些格式不能互换使用。在实施压缩公钥的较新钱包中,私钥只能且始终以 WIF 压缩格式(以 K 或 L 为前缀)导出。对于没有实现压缩公钥的旧钱包,私钥只会以 WIF 格式(以 5 为前缀)导出。这样做的目的是给导入这些私钥的钱包一个信号:是使用压缩的公钥和比特币地址扫描区块链,还是使用未压缩的公钥和比特币地址。

如果比特币钱包实现了压缩公钥,它将在所有交易中使用该压缩公钥。钱包中的私钥将用于生成压缩后的公钥,然后用于生成交易中的比特币地址。从实现压缩公钥的比特币钱包导出私钥时,钱包导入格式(WIF)会被修改为WIF压缩格式,会在私钥后面附加一个字节大小的后缀01。以编码形式生成的私钥称为 WIF(“压缩”)私钥,并以字母“K”或“L”开头。而以“5”开头的那些是从旧钱包以 WIF(未压缩)格式导出的私钥。

十六进制 WIF

C530EDC

江南

格式化私钥

Hex-compr C530EDC

DD01

WIF-compr gdGW

“压缩格式的私钥”用词不当!私钥未压缩。WIF压缩格式的私钥仅用于表示只能用压缩的公钥和对应的比特币地址生成。相反,“WIF 压缩”编码的私钥多一个字节,因为私钥有一个后缀“01”。该后缀用于区分“未压缩”私钥和“压缩”私钥。

挖矿网Ethos中文站简单易用的挖矿系统,为挖矿产业提供教程软件以及矿机测评交易信息等,挖矿网各种数字货币挖矿收益对比计算,挖矿网介绍挖矿的工具,以及矿场的最新消息等。http://www.ethospool.com/

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址