Files
crypto_core_demo/cn/README.md

61 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sentinel Crypt Core
Sentinel 是一个用于数字资产继承Digital Inheritance的加密原型系统。它结合了 Shamir 秘密共享SSS、AES 对称加密和 RSA 非对称加密技术,旨在解决数字遗产的安全存储与条件触发传承问题。
## 核心功能
1. **密钥分片 (Trust Sharding)**:
* 使用 Shamir's Secret Sharing (3-of-2) 算法将用户主密钥BIP-39 助记词)拆分为三个分片:
* **Device Share**: 存储于用户设备。
* **Cloud Share**: 托管于 Sentinel 云端。
* **Physical Share**: 物理传承卡,交由继承人保管。
* 任意两个分片组合即可恢复原始密钥,单一分片无法获取任何信息。
2. **零知识金库 (Vault Layer)**:
* 使用从助记词派生的 AES-256 密钥对用户隐私数据进行加密。
* 采用 AES-GCM 模式,确保数据的机密性和完整性。
* 系统在未获得足够分片前无法解密用户数据(零知识特性)。
3. **系统网关 (Gateway Layer)**:
* 使用 RSA-4096 系统公钥对用户密文进行二次加密(加壳)。
* 实现“被动验证”机制:只有在满足特定触发条件(如确认死亡或订阅失效)后,系统才使用私钥剥离外层加密,允许继承人尝试恢复。
## 环境依赖
本项目基于 Python 3 开发,依赖以下加密库:
* `pycryptodome`: 用于 AES 加密和 PBKDF2 密钥派生。
* `cryptography`: 用于 RSA 加密和密钥序列化。
* `mnemonic`: 用于 BIP-39 助记词生成与处理。
### 安装依赖
```bash
pip install pycryptodome cryptography mnemonic
```
## 快速开始
运行主演示脚本,查看完整的数字遗产传承流程模拟:
```bash
python main_demo.py
```
该脚本将演示以下全流程:
1. **初始化**: 生成密钥并进行 SSS 分片。
2. **加密**: 用户加密数据,系统进行二次加壳。
3. **触发**: 模拟系统判定触发条件,剥离外层加密。
4. **恢复**: 演示三种不同的分片组合(如“云端+传承卡”)恢复数据的场景。
## 项目结构
* `core/`: 核心加密模块
* `sp_trust_sharding.py`: 密钥生成与 Shamir 分片算法实现(基于有限域 $GF(2^{521}-1)$)。
* `sp_vault_aes.py`: 用户侧 AES-256-GCM 加密金库实现。
* `sp_gateway_rsa.py`: 系统侧 RSA-4096 加密网关实现。
* `main_demo.py`: 全流程演示脚本。
* `data_flow.md`: 数据流与协议设计的详细文档。
---
*注意本项目为原型验证代码PoC生产环境使用需进一步进行安全审计和密钥管理强化。*