主页 > imtoken官网下载2.0 苹果 > 区块链 - 私钥和公钥简介

区块链 - 私钥和公钥简介

imtoken官网下载2.0 苹果 2023-02-12 07:24:39

目录:

密码学在希腊语中的意思是“秘密书写”,但密码学不仅仅包括被称为秘密书写的密码学。 密码学也可用于在不泄露秘密的情况下证明对秘密的了解(数字签名),或证明数据的真实性(数字指纹)。 这些类型的密码学证明是比特币中的关键数学工具,广泛应用于比特币应用中。 具有讽刺意味的是,加密并不是比特币的重要组成部分,因为它的通信和交易数据没有加密,也不需要加密来保护资金。 在本章中,我们将介绍比特币中用于控制资金所有权的一些密码学,包括密钥、地址和钱包。

比特币的所有权是通过数字密钥、比特币地址和数字签名建立的。 数字密钥实际上并不存储在网络上,而是由用户生成并存储在称为钱包或简称为数据库的文件中。 存储在用户钱包中的数字密钥完全独立于比特币协议,可以由用户的钱包软件生成和管理,无需引用区块链或访问网络。 密钥使比特币的许多有趣特性成为可能,包括去中心化信任和控制、所有权认证以及基于加密证明的安全模型。

大多数比特币交易需要有效签名才能存储在区块链上。 只有有效的密钥才能产生有效的数字签名,因此拥有密钥的副本可以让您控制帐户的比特币。 用于花费资金的数字签名也称为见证,这是密码学中使用的一个术语。 比特币交易中的见证数据证明了所用资金的真实所有权。

密钥成对出现比特币私钥分享网站,由私钥和公钥组成。 公钥就像银行的帐号,私钥就像控制帐户的 PIN 或支票上的签名。 比特币用户很少直接看到数字密钥。 通常,它们存储在钱包文件中,由比特币钱包软件管理。

在比特币交易的支付环节中,收款人的公钥由其数字指纹表示,称为比特币地址,就像支票上支付对象(即“收款人”)的姓名一样。 一般来说,比特币地址是由公钥生成并对应的。 但是,并非所有比特币地址都是公钥; 它们也可以代表其他支付对象,比如本章后面会提到的脚本。 这样,比特币地址抽象了收款人,使得交易的目的地更加灵活,就像支票一样:这种支付工具可以支付到个人账户、公司账户,用于账单支付或现金支付。 比特币地址是用户始终看到的密钥的唯一表示,他们只需要将比特币地址告诉其他人即可。

首先,我们将介绍密码学并解释比特币中使用的数学。 然后我们将了解如何生成、存储和管理密钥。 我们将回顾用于表示私钥和公钥、地址和脚本地址的各种编码格式。 最后,我们将介绍密钥和地址的高级用途:比特币虚荣数字、多重签名、脚本地址和纸钱包。

公钥和私钥成对出现。 私钥是一个随机生成的数字,公钥是通过椭圆曲线乘法单向加密函数生成的。 使用公钥,可以通过加密哈希函数生成比特币地址。 关系如下:

比特币私钥分享_比特币钱包 导入私钥_比特币私钥分享网站

私钥

私钥是随机选择的数字。 比特币地址中的资金取决于私钥的控制,你拥有私钥就相当于你在这个私钥下的地址中使用的所有比特币。 因此,私钥必须保密,防止丢失(难以恢复)。 一旦丢失,该地址下的比特币就相当于没了。

用随机数生成私钥是最重要的一步,需要找到足够的熵源,即随机性源。 比特币私钥本质上等同于从 1 到 2^256 中选择一个数字,只要选择的结果不可预测或不可重复即可。 比特币通过操作系统底层产生256位的随机数。

私钥可以是1到n-1之间的任意数字,其中n为常数(n=1.158*10^77,略小于2^256)。 要生成这样的私钥,请随机选择一个 256 位数字并检查它是否小于 n-1。 从编程的角度来看,一般是从加密安全的随机源中取出一长串随机字节,并使用 SHA256 哈希算法对其进行运算,从而轻松生成一个 256 位的数字。 如果运算结果小于n-1,我们就有了合适的私钥。 否则,用另一个随机数再次重复。

警告:不要编写自己的代码或使用您的编程语言提供的简单随机数生成器来获取随机数。 使用加密安全伪随机数生成器 (CSPRNG) 并需要来自具有足够熵的源的种子。 使用随机数生成器库时,请仔细阅读其文档以确保它在密码学上是安全的。 正确实施 CSPRNG 是密钥安全的关键。

下面是一个随机生成的私钥(k),用十六进制表示(256位二进制数,显示为64位十六进制数,每个十六进制数占4位):

 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD

提示 比特币私钥空间的大小是 2^256,这是一个很大的数字。 用十进制表示,大约是 10^77,可见宇宙估计只包含 10^80 个原子。

公钥

私钥可以通过椭圆曲线乘法计算出公钥,这是一个不可逆的过程:K=k*G。 其中 k 是私钥,G 是称为生成点的常数点,K 是生成的公钥。 它的逆运算,被称为“求离散对数”——知道公钥K来求私钥k——是非常困难的比特币私钥分享网站,就像试图测试k的所有可能值一样,也就是蛮力搜索。

提示:椭圆曲线乘法是一种被密码学家称为“陷阱门”函数的函数:在一个方向(乘法)很容易做到,但在相反方向(除法)则不可能做到。 私钥的拥有者可以很容易地创建一个公钥然后与全世界共享,知道没有人可以从公钥反函数计算出私钥。 这个数学技巧成为证明比特币资金所有权的不可伪造和安全数字签名的基础。