主页 > www.token.im > 比特币 - 非对称加密和比特币钱包

比特币 - 非对称加密和比特币钱包

www.token.im 2023-01-17 07:06:22

内容

非对称加密

在非对称加密中,密钥分为加密密钥和解密密钥,也就是我们常说的公钥和私钥。公钥和私钥是一一对应的。用公钥加密的密文只有用与公钥配对的私钥才能解密。

单向哈希函数

单和哈希函数,也称为哈希函数或哈希函数,是指根据输入消息计算后输出一个固定长度值的算法。输出值也称为“哈希值”或“消息摘要”,其长度通常在 128 到 256 位之间。

特征:

1、从任意长度的消息中计算一个固定长度的哈希值

2、能够快速计算哈希值

3、不同消息的hash值不同

4、单向

常用单向哈希函数 MD5

Message Digest Algorithm 5 是 RSA 数据安全公司开发的一种单向哈希算法。MD5 应用广泛,可用于将不同长度的数据加密成 128 位的值。

这是一种较新的散列算法,可以对任意长度的数据进行操作以生成 160 位数字。SHA1 是 160 位(20 字节),SHA2 (SHA256、SHA384、SHA512).

CRC

循环冗余校验码和CRC校验因其实现简单、检错能力强而被广泛应用于各种数据校验应用中。它占用系统资源少,可以通过软件和硬件来实现,是一种很好的数据传输错误检测方法。CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,因此属于这一类。

苹果电脑

消息验证码是一种使用密钥的单向函数,可用于验证系统上或用户之间的文件或消息。HMAC(用于消息认证的键控散列算法)就是这种功能的一个例子。

上述消息不一定是人类可以阅读的文字,也可能是图像文件或声音文件。单向散列函数不需要知道消息实际代表什么。不管任何消息,单向哈希函数都将其视为一个简单的比特序列,即从比特序列中计算出哈希值。以 SHA256 单向哈希函数为例,它计算出来的哈希值始终是 256 位(32 字节)。

为了能够确认完整性,即使是消息中的 1 位更改也必须有很高的概率产生不同的哈希值。如果单向散列函数计算的散列值不变,则消息很容易被篡改,单向散列函数不能用于完整性检查。两条不同的消息产生相同的哈希值的情况称为冲突。如果要将单向哈希函数用于完整性检查,则需要确保人类几乎无法检测到冲突。

钱包的生成

比特币钱包实际上是一个字符串地址。这个地址与用户的私钥和公钥有关。私钥可以生成公钥,然后公钥可以生成比特币钱包地址。

生成私钥

生成钱包从生成私钥开始。选择私钥的过程是在有限的范围内随机选择一个数字。私钥必须是 32 字节(即 256 位,256 二进制)。在实际使用中,私钥可以用二进制格式、八进制格式、Base64格式或助记符格式表示。因此,保证比特币安全的一个重要原则是:一定要用真随机数作为私钥。在Bitcoin Core等钱包中,随机数生成算法非常专业,重合概率为0,可以放心使用。

生成私钥时唯一需要考虑的是安全性。比如Python语言中的random.getrandbits(256)可以生成一个256位的随机数,可以作为私钥使用,但是这种方式生成的随机性只取决于生成的时间,所以如果受到攻击,如果读者能猜出你生成私钥的大致时间,通过暴力搜索获得私钥相对容易。使用secrets.randbits(256)更安全,因为随机性取决于一些不可重现的行为,即使我给你系统,你也不可能重新获得我的私钥。

在实践中,会有人去它生成私钥,这里的随机性取决于我们用鼠标在屏幕上随机滑动的轨迹。

从私钥生成公钥

比特币使用一套称为ECDSA的签名算法,通过私钥生成公钥,全称Elliptic Curve Digital Signature Algorithms。ECDSA 也可以选择不同的曲线,比特币选择的曲线称为 secp256k1。从这个公钥,几乎不可能推回私钥。

从公钥生成钱包地址

为什么需要比特币钱包

如果没有比特币钱包,您将无法接收、存储或使用比特币。比特币钱包可以理解为个人与比特币网络的连接,就像网上银行账户连接到正式的货币系统一样。

比特币钱包包含私钥,通过加密指令,他们可以自己花费比特币。事实上,需要存储或保护的不是比特币钱包,而是私钥,它赋予你管理比特币的权限。

实际上比特币钱包注册教程,钱包里没有比特币,它只是询问比特币网络:“我在这个地址里有多少比特币?”

在区块链世界中,我们持有的比特币只是一串私钥,一串 256 位二进制数。如果你抛硬币,正面为0,反面为1,连续抛256次,记录下来,然后将这串二进制值转换为十六进制,你所有的东西都在这串私钥上.

比特币钱包分类硬件钱包(冷钱包)

硬件钱包,就像它的名字一样,是一种硬件,类似于 USB 闪存驱动器,用于存储重要数据,例如您的私钥。大多数使用硬件钱包的人都是为了囤币。它具有很高的安全系数。他们离线存储私钥,因此可以免受黑客或恶意插件的侵害。

软件钱包(热钱包)

软件钱包是指运行在互联网上的第三方软件,私钥是一串加密的代码。因为热钱包在联网设备上生成私钥,所以这些私钥不能被认为是 100% 安全的。比较适合频繁交易,不适合长期囤币。今天的软件钱包其实和“兑换”钱包、网站注册、手机APP下载、电脑安装等相关。目前市场上有相对安全的比特币交易所(如火币、币安、币银等)。

申请TokenPocket钱包

下载 TokenPocket 钱包:

注:需要科学上网

下载安装后打开软件,如下图:

输入密码并确认密码,如下图所示:

点击确定后,导入私钥(可以通过私钥生成),选择比特币或以太坊比特币钱包注册教程,如下图:

我选择比特币进入,如下图:

总结

1、非对称加密

2、单向哈希函数

3、常用单向哈希函数:MD5、SHA、CRC、MAC

4、钱包生成:生成私钥,从私钥生成公钥,从公钥生成钱包地址

5、为什么需要比特币钱包

6、比特币钱包分类:硬件钱包(冷钱包)、软件钱包(热钱包)

7、申请TokenPocket钱包