主页 > imtoken钱包下载安卓 > 【密钥】私钥和公钥

【密钥】私钥和公钥

imtoken钱包下载安卓 2023-08-10 05:07:39

比特币钱包包含一系列密钥对,每个密钥对包括一个私钥和一个公钥。

私钥 (k) 是一个数字,通常是随机选择的。

有了私钥,我们就可以利用椭圆曲线乘法的单向加密函数生成一个公钥(K)。

使用公钥 (K),我们可以使用单向加密哈希函数生成比特币地址 (A)。

私钥、公钥和比特币地址的关系如图所示

私钥

私钥只是一个随机选择的数字。

比特币钱包私钥论坛_比特币私钥不够安全_比特币钱包 导入私钥

对比特币地址中所有资金的控制取决于相应私钥的所有权和控制权。 在比特币交易中,私钥用于生成支付比特币所需的签名,以证明资金的所有权。

私钥必须时刻保密,因为如果泄露给第三方,受私钥保护的比特币也随之丢失。

私钥也必须备份,以防不慎丢失,因为一旦丢失,私钥就很难找回,它所保护的比特币也就永远丢失了。

比特币私钥只是一个数字。

可以用硬币、铅笔和纸随机生成你的私钥:抛一枚硬币256次,用纸笔记录正反面转换成0和1,就可以使用随机的256位二进制数作为比特币钱包的私钥。 这个私钥可以进一步生成一个公钥。

比特币钱包 导入私钥_比特币私钥不够安全_比特币钱包私钥论坛

从随机数生成私钥

生成密钥的第一步也是最重要的一步是找到足够安全的熵源,即随机源。

生成比特币私钥本质上等同于“在 1 到 2256 之间选择一个数字”。 只要选择的结果不可预测或不可重复,选择数字的确切方法并不重要。

比特币软件使用操作系统底层的随机数生成器来生成 256 位的熵(随机性)。

通常比特币私钥不够安全,操作系统的随机数发生器是由人为随机源初始化的,也可能需要通过摇动鼠标几秒钟来初始化。

比特币钱包私钥论坛_比特币私钥不够安全_比特币钱包 导入私钥

对于真正的偏执狂,使用掷骰子的方法并用铅笔和纸做笔记。

更准确地说,私钥可以是 1 到 n-1 之间的任意数字,其中 n 是一个常数(n=1.158*1077,略小于 2256),由比特币使用的椭圆曲线的阶数定义。

要生成这样的私钥,我们随机选择一个 256 位数字并检查它是否小于 n-1。 从编程的角度来看,一般是从加密安全的随机源中取出一长串随机字节,并使用 SHA256 哈希算法对其进行运算,从而可以轻松生成一个 256 位的数字。

如果运算结果小于n-1,我们就有了合适的私钥。 否则,我们用另一个随机数再次重复它。

公钥表示方法

比特币私钥不够安全_比特币钱包 导入私钥_比特币钱包私钥论坛

公钥是通过椭圆曲线乘法从私钥计算出来的。

公钥的几何意义是曲线上的一个点,由一对坐标组成。 即,公钥定义为一个点 K = (x, y)。 公钥通常由前缀 04 后跟两个 256 位数字表示。

如果公钥坐标取以下值:

x=F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A

y=07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB

比特币私钥不够安全_比特币钱包私钥论坛_比特币钱包 导入私钥

那么公钥表示为:

K=04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE 52DDFE2E505BDB

公钥格式

公钥有两种常见的格式,一种是未压缩格式的公钥。 另一个是压缩格式的公钥。

引入压缩格式公钥以减少比特币交易的字节数,从而节省运行区块链数据库的节点上的磁盘空间。

未压缩的公钥以 04 为前缀比特币私钥不够安全,而压缩的公钥以 02 或 03 为前缀。

总的来说还是一句话,一定要保护好自己的私钥。

您可能感兴趣的其他热门文章