区块链核心知识点梳理(9)-加密算法详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • [9. 加密算法详解](#9. 加密算法详解)
    • [9.1 哈希算法](#9.1 哈希算法)
      • [9.1.1 Keccak256(以太坊使用)](#9.1.1 Keccak256(以太坊使用))
      • [9.1.2 SHA256(比特币使用)](#9.1.2 SHA256(比特币使用))
    • [9.2 非对称加密算法](#9.2 非对称加密算法)
      • [9.2.1 ECDSA(椭圆曲线数字签名)](#9.2.1 ECDSA(椭圆曲线数字签名))
      • [9.2.2 EdDSA(Solana使用)](#9.2.2 EdDSA(Solana使用))
    • [9.3 对称加密算法](#9.3 对称加密算法)
      • [9.3.1 AES(钱包加密)](#9.3.1 AES(钱包加密))
      • [9.3.2 KeyStore 文件格式](#9.3.2 KeyStore 文件格式)

9. 加密算法详解

9.1 哈希算法

9.1.1 Keccak256(以太坊使用)

代码示例:

应用场景:

9.1.2 SHA256(比特币使用)

Keccak256 vs SHA256:

9.2 非对称加密算法

9.2.1 ECDSA(椭圆曲线数字签名)

以太坊和比特币都使用 secp256k1 椭圆曲线:

密钥生成:

签名过程详解:

代码实现:

9.2.2 EdDSA(Solana使用)

Solana 使用 Ed25519 曲线,比 secp256k1 更快:

ECDSA vs EdDSA 对比:

9.3 对称加密算法

9.3.1 AES(钱包加密)

MetaMask 等钱包使用 AES-128-CTR 加密私钥:

9.3.2 KeyStore 文件格式

以太坊 KeyStore 文件(JSON 格式):

字段说明:

  • ciphertext: AES加密后的私钥
  • iv: 初始化向量
  • kdf: 密钥派生函数(scrypt 或 pbkdf2)
  • mac: 消息认证码(验证密码是否正确)

解密流程:

相关推荐
devmoon11 小时前
Polkadot SDK Pallet 单元测试完整指南:从基础到实战
单元测试·web3·区块链·模块测试·polkadot
devmoon12 小时前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot
晚霞的不甘13 小时前
Flutter for OpenHarmony 打造沉浸式呼吸引导应用:用动画疗愈身心
服务器·网络·flutter·架构·区块链
devmoon14 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
综合热讯14 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
暴躁小师兄数据学院15 小时前
【WEB3.0零基础转行笔记】Solidity编程篇-第一讲:简易存储
web3·区块链·智能合约
devmoon1 天前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
暴躁小师兄数据学院1 天前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon1 天前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
devmoon1 天前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡