加密随笔
加密技术与区块链应用(图文详解)
一、对称加密技术
1.1 核心原理
对称加密使用同一把密钥完成加密与解密,算法公开但密钥保密。
- 核心逻辑:加密和解密共享同一密钥
K,公式为C = E(K, M)、M = D(K, C)。
1.2 典型算法与特点
| 算法 | 密钥长度 | 应用场景 | 优势 | 局限性 |
|---|---|---|---|---|
| AES | 128/192/256位 | 区块链节点通信加密、文件加密 | 速度快(硬件优化)、抗攻击 | 密钥需提前共享,易泄露 |
1.3 区块链中的应用
- 节点通信加密:全节点之间通过AES加密P2P通信内容(如交易广播),防止数据被窃听。
- 隐私数据加密:链下存储的敏感数据(如用户身份信息)用AES加密,密钥由用户保管。
二、非对称加密技术
2.1 核心原理
使用一对密钥(公钥+私钥):公钥公开用于加密/验证,私钥保密用于解密/签名。
graph LR
subgraph 加密流程
A[明文 M] -->|用公钥 PK 加密| B[密文 C]
B -->|用私钥 SK 解密| C[明文 M]
end
subgraph 签名流程
D[消息 M] -->|用私钥 SK 签名| E[签名 S]
E -->|用公钥 PK 验证| F[验证通过/失败]
end
2.2 典型算法与对比
| 算法 | 数学基础 | 密钥长度 | 区块链应用场景 | 优势 |
|---|---|---|---|---|
| RSA | 大数分解难题 | 2048位+ | 早期区块链签名(如比特币早期) | 兼容性好 |
| ECC | 椭圆曲线离散对数难题 | 256位 | 主流区块链(比特币、以太坊) | 同安全级下密钥更短、速度更快 |
2.3 区块链中的核心应用
(1)账户地址生成
graph LR
A[私钥 SK] -->|ECC计算| B[公钥 PK = SK × G]
B -->|哈希处理 SHA-256+RIPEMD-160| C[地址 Address]
- 例:以太坊地址由公钥(64字节)哈希后取后20字节,前缀加
0x生成(如0x742d...)。
(2)交易签名与验证
- 作用:确保交易未被篡改(哈希匹配)且由账户所有者发起(私钥唯一)。
三、区块链中的其他密码学技术
3.1 哈希函数(Hash)
- 特点:单向不可逆、输入相同输出必相同、输入微小变化输出巨变。
- 区块链应用:graph TD A[区块数据] -->|Hash| B[区块哈希] C[交易列表] -->|Merkle树| D[根哈希] D -->|存入区块头| B
- 区块哈希:唯一标识区块,用于链上区块串联(每个区块包含前一区块哈希)。
- Merkle树:快速验证交易是否在区块中(通过哈希路径证明)。
3.2 零知识证明(ZKP)
- 原理:证明者在不泄露信息的情况下,向验证者证明“某命题为真”。
- 应用:隐私币(如Zcash)隐藏交易金额和地址,图示如下:
graph LR
A[证明者] -->|仅发送证明| B[验证者]
A -->|不发送明文数据| B
B -->|验证通过| C[确认交易有效]
四、加密技术在区块链中的协同作用
graph TD
A[非对称加密] -->|账户控制、签名| B[核心安全层]
C[对称加密] -->|数据传输加密| D[通信安全层]
E[哈希函数] -->|数据完整性、区块结构| F[数据组织层]
B & D & F --> G[区块链安全体系]
五、未来趋势:后量子加密
- 挑战:量子计算机可能破解RSA和ECC(利用Shor算法)。
- 解决方案:采用抗量子算法(如格基加密、哈希签名),目前以太坊等区块链已在研究兼容方案。
本文来自博客园,作者:ffffox,转载请注明原文链接:https://www.cnblogs.com/ffffox/p/19000906

浙公网安备 33010602011771号