Web3 钱包常用密码学
密码学经历了以下三个阶段的发展:
公钥密码:具有一对密钥,分别为公钥(公开) 和 私钥(私密)。
加密/解密:公钥加密,私钥解密。
签名/验证:私钥签名,公钥验证签名。
对称加密:使用单一密钥进行加密和解密。
非对称加密(公钥密码):使用公钥和私钥两把密钥分别进行加密解密、签名验证。
算法名称 | 安全性与性能 |
---|---|
DES | 已破解,不安全,已弃用 |
3DES | 安全但效率低,很少使用 |
AES | 安全性高、效率高,广泛用于 Web2 和 Web3 应用中 |
算法类型 | 具体算法 | 典型应用场景 |
---|---|---|
RSA | RSA | 传统互联网、数据传输 |
ECC | ECDSA (Secp256k1/r1) | Bitcoin、Ethereum、Cosmos 等 |
ECC | EDDSA (Ed25519) | Polkadot、Solana 等链 |
其他 | PGP | 邮件、身份认证(谷歌验证等) |
是一种将任意长度数据转化为固定长度哈希值的算法。
算法 | 安全性 | 常见用途 |
---|---|---|
MD4、MD5、SHA-1 | 已破解,不安全 | 已弃用 |
SHA-256、Hash-160 | 安全,广泛使用 | 比特币地址、交易签名 |
Keccak (SHA-3) | 安全,广泛使用 | 以太坊地址生成 |
Blake2、Blake2b | 安全、高效 | 部分区块链应用 |
Poseidon | 专用于零知识证明 | zk-SNARK、zk-STARK 等 |
不可逆性:哈希结果无法逆向推导出原数据。
抗碰撞性:难以找到两个不同数据产生相同哈希值。
门限共享算法可将秘密拆分为多个片段(n份),任意 k 份即可恢复原秘密,适合秘密备份与多方密钥管理。
MPC(Multi-Party Computation)算法让多方在不暴露秘密数据的情况下完成安全计算。
算法 | 密钥生成轮数 | 签名交互轮数 |
---|---|---|
GG18 | 5轮 | 9轮 |
GG20 | 5轮 | 7轮 |
所有节点计算完成后都可获得完整公钥
签名慢(多轮交互),但验签快(单轮验证)
BLS 算法是一种聚合签名技术,广泛用于数据可用性(DA)层和 ETH 2.0 等场景。
签名快,无需交互
验证较慢(逐个验证)
安全性不及 MPC 算法高
Schnorr 签名是一种高效、安全且签名短的数字签名算法。
密码技术 | 类型 | 典型应用场景 | 安全性 |
---|---|---|---|
对称加密 | AES | 数据加密 | 高 |
非对称加密 | ECDSA/EDDSA | 钱包地址、签名 | 非常高 |
单向Hash | SHA256/Keccak | 地址生成、交易 | 非常高 |
门限共享 | Shamir | 密钥管理 | 高 |
MPC算法 | GG18/GG20 | 钱包托管 | 非常高 |
BLS签名 | 聚合签名 | ETH2.0 | 较高 |
Schnorr签名 | 多签方案 | 比特币升级 | 非常高 |
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!