date
icon
password
博客链接
Pin
Pin
Hide-in-Web
Hide-in-Web
网址
type
slug
tags
category
bottom
bottom
Hide-in-Config
Hide-in-Config
comment
status
summary
在区块链中,加密技术是确保数据安全和隐私保护的核心工具。常见的加密体系有对称加密和非对称加密。它们在密钥的使用方式上有显著的区别,各自有不同的应用场景和特点。
1. 对称加密体系(Symmetric Encryption)
定义
对称加密是一种加密方法,在这种体系中,加密和解密都使用同一个密钥(称为对称密钥)。发送方使用该密钥加密消息,接收方使用相同的密钥解密消息。
工作原理
- 加密过程:消息发送者使用对称密钥对明文进行加密,生成密文。
- 解密过程:接收者需要拥有相同的对称密钥,才能对密文进行解密,恢复成明文。
特点
- 速度快:对称加密算法比非对称加密快,因此常用于处理大量数据。
- 密钥分发问题:安全传输密钥是对称加密的一个挑战。如果密钥被泄露或中途被截获,通信的安全性将无法得到保障。
常见算法
- AES(高级加密标准):目前应用广泛的对称加密算法。
- DES(数据加密标准):早期使用广泛,但如今已不再安全。
- 3DES(三重数据加密标准):DES的加强版。
应用场景
- 数据传输加密:在区块链中,对称加密可以用于节点之间的通信加密,确保交易数据在网络上传输的安全性。
- 私有链:在一些私有区块链中,可能会使用对称加密来保护链上数据的隐私,尤其是当节点之间的信任度较高时。
优缺点
- 优点:加密和解密速度快,适合处理大量数据。
- 缺点:密钥的管理和分发较为困难,且一旦密钥被泄露,所有加密内容都可能被破解。
2. 非对称加密体系(Asymmetric Encryption)
定义
非对称加密体系使用一对密钥:公钥和私钥。其中,公钥用于加密,私钥用于解密,或者反过来(后面会说明两种方式不同的用途)。公钥可以公开给所有人,而私钥必须严格保密。
工作原理
- 加密过程:发送方使用接收方的公钥对明文进行加密。
- 解密过程:接收方使用自己的私钥对收到的密文进行解密,恢复为明文。
特点
- 安全性高:由于加密和解密使用的是不同的密钥,公钥可以公开,而私钥无需共享(只有数据发送方才拥有私钥,私钥不会传输出去),确保了较高的安全性。
- 速度慢:与对称加密相比,非对称加密的速度较慢,不适合处理大量数据。
常见算法
- RSA:常用的非对称加密算法,安全性较高。
- ECDSA(椭圆曲线数字签名算法):区块链中广泛使用的一种基于椭圆曲线的加密算法,具有较好的安全性和性能平衡。
应用场景
- 数字签名:区块链系统中,非对称加密广泛用于数字签名。用户使用私钥对交易进行签名,验证节点使用公钥来验证签名的有效性。这是区块链中确保数据和交易完整性的核心机制。
- 钱包生成和访问:区块链钱包通常使用非对称加密生成公钥和私钥。私钥用于控制钱包中的资产,而公钥则用于公开接收资产。
- 加密消息传输:在某些区块链协议中,非对称加密可以用于节点之间的安全通信。
优缺点
- 优点:无需共享私钥,密钥管理更安全;公钥可以公开,降低了密钥分发的复杂度。
- 缺点:加密和解密速度较慢,不适合大规模数据的加密。
比特币中公私钥的大小
- 比特币的私钥是一个 256 位(bit)的随机数。通常表示为 32 字节(byte),即 32 个字节。
- 比特币的公钥是由私钥通过椭圆曲线加密算法生成的,可以分为压缩和未压缩两种形式:
未压缩公钥: 由一个 0x04 前缀和两个 256 位的坐标(x 和 y)组成,总长度为 65 字节(即 520 位)。表示时为 130 个十六进制字符。
压缩公钥: 由一个 0x02 或 0x03 前缀(根据 y 坐标的奇偶性)和 256 位的 x 坐标组成,总长度为 33 字节(即 264 位)。表示时为 66 个十六进制字符。
比特币系统中更多采用压缩公钥进行交易,减少存储和传输的开销。
3. 对称加密与非对称加密的比较
特性 | 对称加密 | 非对称加密 |
密钥数量 | 1 个(同一个密钥加密解密) | 2 个(公钥加密,私钥解密,或反之) |
加密/解密速度 | 快 | 慢 |
安全性 | 密钥必须保密,密钥传输较为复杂 | 公钥可以公开,私钥保密,安全性较高 |
使用场景 | 数据传输加密、大文件加密等 | 数字签名、身份认证、密钥交换等 |
典型算法 | AES、DES、3DES | RSA、ECDSA |
密钥管理的难度 | 密钥管理复杂,需安全传输密钥 | 密钥管理较简单,只需保护私钥 |
4. 在区块链中的结合应用
在区块链中,通常会将对称加密和非对称加密结合使用,以平衡安全性和性能。例如:
- 混合加密:使用非对称加密来安全地传输对称密钥,然后使用对称加密进行大数据量的加密传输。这种方式能确保数据传输的安全性,同时提高加密处理的效率。
- 钱包和交易签名:非对称加密被用于生成用户的区块链钱包和进行交易签名,而在某些私有区块链中,对称加密可能用于节点间的通信加密。
“公钥用于加密,私钥用于解密” 有什么应用?
这种应用方式是我们在日常生活中常见的,比如我们想要给别人发送一条消息,而我们不希望有第三方知道我们通信的内容,我们就可以先将公钥发送给需要通讯的一方 B,B 使用我们发送的公钥加密数据后,将消息发送给我们,我们就可以使用本地的私钥解密消息,得到讯息。由于私钥始终存放在本地,未有传输,因此不会有人破解消息。
“私钥用于加密,公钥用于解密“ 有什么应用?
这种方式主要应用在区块链的数字签名,目的是验证数字签名的准确性,而不是避免消息的泄漏。
比如,我想要购买一个有 周杰lun 亲笔签名的唱片,他通过私钥加密了自己的签名,当其他人购买这款唱片的时候,会得到一个公钥,他们可以通过公钥对签名进行解密,查看是否真的是 周杰lun 本人的签字,如果是的话,他们可以成功通过公钥对签名解密,如果不是,那么就无法进行解密。
其他人无法篡改签名的内容,因为他们并不会拥有私钥,这种方式极大程度的保证了数字签名的准确性,确保了来源是可以信任的。