6月北京Mini Hackathon项目

MnemoVault: 助记词分片加密工具

军用级别的助记词分片加密保护工具,提供多重安全保障

MnemoVault: 助记词分片加密工具

团队规模: 1人团队
开发时长: 4小时现场开发

📖 项目简介

MnemoVault 是一个使用 Golang 开发的命令行工具,专门用于对区块链钱包助记词进行分片加密保护。该工具使用军用级别的 AES-256-GCM 加密算法,将加密后的助记词分割成 3 个独立的分片,提供多重安全保障。项目展示了如何将传统的安全工具概念迁移到Web3世界,为加密资产安全提供创新解决方案。

✨ 核心功能

🔐 军用级加密

  • 使用 AES-256-GCM 算法进行最高强度加密
  • Galois/Counter Mode 提供加密和认证功能
  • 256位密钥长度确保加密强度
  • 每次加密使用随机盐值和Nonce,确保前向安全

📊 智能分片系统

  • 将密文自动分割成 3 个安全分片
  • 必须拥有全部3个分片才能重构原始密文
  • 单独的分片无法获取任何有用信息
  • 分片长度均匀分布,便于存储管理

🔓 完整恢复机制

  • 通过3个分片和密码完整恢复原始助记词
  • 支持格式验证确保恢复正确性
  • 防止因分片损坏导致的恢复失败
  • 提供详细的恢复状态反馈

🛡️ 安全验证

  • 支持助记词格式验证(12-24个单词)
  • 密码确认机制防止输入错误
  • 分片完整性检查
  • 加密过程的多重验证

💻 跨平台支持

  • 支持 Windows、macOS、Linux 等多个操作系统
  • 纯 Go 语言开发,无外部依赖
  • 轻量级二进制文件,内存需求小于10MB
  • 命令行界面,适合自动化脚本

🔬 技术实现

加密算法详解

AES-256-GCM 技术规格:
├── 算法: AES-256-GCM (Galois/Counter Mode)
├── 密钥长度: 256位 (32字节)
├── 认证加密: GCM模式提供加密和认证功能
├── 随机盐值: 每次加密使用16字节随机盐值
└── 随机Nonce: 每次加密使用随机生成的Nonce

分片机制流程

加密分片流程:
原始助记词 → AES-256-GCM加密 → Base64编码 → 3等分分片

恢复流程:
3个分片 → 合并重构 → Base64解码 → AES-256-GCM解密 → 原始助记词

安全特性

  • 前向安全性:每次加密使用不同的随机盐值和Nonce
  • 认证加密:GCM模式确保数据完整性和真实性
  • 密码验证:支持密码确认机制
  • 格式验证:验证助记词格式(12-24个单词)

🎮 使用流程

安装和编译

# 进入项目目录
cd projects/2025-06/MnemoVault
 
# 编译项目
go build -o mnemovault main.go
 
# 运行程序
./mnemovault

操作模式选择

请选择操作模式:
1. 🔐 加密助记词 (生成分片)
2. 🔓 恢复助记词 (从分片恢复)
3. ❌ 退出程序

加密模式操作

  1. 输入助记词

    请输入助记词 (多个单词用空格分隔): 
    abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
  2. 设置加密密码

    请输入加密密码: [输入您的强密码]
    请再次输入密码确认: [再次输入相同密码]
  3. 获取分片结果

    分片 1/3:
    ----------------------------------------
    aGVsbG8gd29ybGQgdGhpcyBpcyBhIHRlc3Q=
    ----------------------------------------
    
    分片 2/3:
    ----------------------------------------
    bXkgc2VjcmV0IGFzc2lnbm1lbnQgZm9yIHRoZQ==
    ----------------------------------------
    
    分片 3/3:
    ----------------------------------------
    Y3J5cHRvIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50
    ----------------------------------------

恢复模式操作

  1. 输入分片信息

    分片 1/3: aGVsbG8gd29ybGQgdGhpcyBpcyBhIHRlc3Q=
    分片 2/3: bXkgc2VjcmV0IGFzc2lnbm1lbnQgZm9yIHRoZQ==
    分片 3/3: Y3J5cHRvIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50
  2. 输入解密密码

    请输入解密密码: [输入加密时使用的密码]
  3. 获取恢复结果

    🎉 助记词恢复成功!
    ============================================================
    恢复的助记词:
    ----------------------------------------
    abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
    ----------------------------------------
    ✅ 验证: 包含 12 个单词

🔒 安全建议

分片存储策略

存储方式安全级别推荐用途
🏦 银行保险箱极高长期安全存储
💾 离线USB设备个人备份
📱 加密云存储中高远程备份
📄 物理打印应急备份

密码安全要求

  • 长度要求:至少8位字符
  • 复杂性:包含大小写字母、数字和特殊字符
  • 独特性:避免使用常见词汇或个人信息
  • 更新频率:定期更换密码

重要注意事项

  • ⚠️ 分片完整性:必须保留全部3个分片才能恢复
  • 🔑 密码重要性:丢失加密密码将无法恢复助记词
  • 🚫 分片隔离:不要将所有分片存储在同一位置
  • 🔒 离线操作:建议在离线环境中运行此工具

💡 创新亮点

🔄 Web2安全工具的Web3化

  • 传统加密技术:采用军用级AES-256-GCM算法
  • Web3适配:专门针对助记词安全设计
  • 分片创新:将单点故障转化为分布式安全
  • 用户友好:简化复杂的加密操作流程

🛡️ 多重安全保障

  • 加密层:AES-256-GCM提供最高级别的加密保护
  • 分片层:将风险分散到多个独立存储位置
  • 验证层:多重验证确保操作正确性
  • 隔离层:建议物理隔离分片存储

🔧 工程化设计

  • 跨平台:支持所有主流操作系统
  • 轻量级:最小化依赖和资源占用
  • 可靠性:纯Go语言实现,稳定性高
  • 易用性:友好的命令行交互界面

🧠 AI 辅助开发

AI贡献的主要方面

  • 🤖 算法设计:AI帮助设计了安全的加密和分片方案
  • 💡 代码优化:AI协助优化了代码结构和错误处理
  • 🛡️ 安全建议:AI提供了密码学最佳实践建议
  • 📚 文档生成:AI辅助生成了完整的项目文档

开发效率提升

  • 快速原型:AI帮助快速搭建项目框架
  • 代码生成:自动生成大量样板代码
  • 错误修复:AI辅助定位和修复bug
  • 最佳实践:获得安全编程的专业建议

📊 技术规格

项目规格
编程语言Go 1.21+
加密库标准库 crypto/aes, crypto/cipher
编码方式Base64
支持平台Windows, macOS, Linux
内存需求< 10MB
依赖关系仅使用 Go 标准库

🚀 未来规划

功能扩展

  • GUI版本:开发图形用户界面
  • 移动端:开发手机应用版本
  • 硬件集成:支持硬件安全模块
  • 多种算法:支持更多加密算法选择

安全增强

  • 生物识别:集成指纹或面部识别
  • 多重签名:支持多人共同管理
  • 时间锁:添加时间锁定功能
  • 审计日志:记录所有操作历史

生态集成

  • 钱包集成:与主流钱包软件集成
  • 云服务:提供安全的云端服务
  • API接口:开放API供其他应用调用
  • 标准化:推动行业标准化

MnemoVault展示了如何将传统的安全工具理念应用到Web3世界,通过创新的分片加密技术为加密资产安全提供了新的解决方案,体现了Web2安全技术向Web3迁移的实践价值。