Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
125 lines
4.8 KiB
Markdown
125 lines
4.8 KiB
Markdown
[English](README.md) | [Francais](README.fr.md) | [中文](README.zh.md)
|
||
|
||
# LuCI ZKP 哈密顿仪表板
|
||
|
||
基于哈密顿回路问题的零知识证明密码学 Web 界面(Blum 1986)。
|
||
|
||
## 功能特性
|
||
|
||
- **密钥生成** - 创建图 + 哈密顿回路对
|
||
- **证明创建** - 使用 Fiat-Shamir 启发式生成 NIZK 证明
|
||
- **验证** - 验证证明并返回接受/拒绝结果
|
||
- **密钥管理** - 列出、查看和删除已保存的密钥
|
||
|
||
## 截图
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ ZKP 哈密顿密码学 [v1.0.0] │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ 已保存密钥: 3 最大节点: 50 哈希: SHA3-256 │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ 🔑 生成新密钥 │
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ 名称 │ │ 节点 │ │ 密度 │ [生成] │
|
||
│ │ my_key │ │ 20 │ │ 0.8 │ │
|
||
│ └──────────┘ └──────────┘ └──────────┘ │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ 🗂️ 已保存密钥 │
|
||
│ ┌─────────┬───────┬────────┬─────────┬──────────┐ │
|
||
│ │ 名称 │ 节点 │ 图 │ 创建 │ 操作 │ │
|
||
│ ├─────────┼───────┼────────┼─────────┼──────────┤ │
|
||
│ │ test_1 │ 20 │ 1.2 KB │ 10:15 │ P V X │ │
|
||
│ │ demo │ 30 │ 2.1 KB │ 09:30 │ P V X │ │
|
||
│ └─────────┴───────┴────────┴─────────┴──────────┘ │
|
||
└─────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## 菜单位置
|
||
|
||
`状态 > ZKP 密码学`
|
||
|
||
## 依赖项
|
||
|
||
- `zkp-hamiltonian` - CLI 工具(zkp_keygen、zkp_prover、zkp_verifier)
|
||
- OpenSSL(用于 SHA3-256)
|
||
|
||
## RPCD 方法
|
||
|
||
| 方法 | 参数 | 描述 |
|
||
|------|------|------|
|
||
| `status` | - | 库版本、密钥数量、路径 |
|
||
| `keygen` | nodes, density, name | 生成图 + 回路 |
|
||
| `prove` | name | 创建 NIZK 证明 |
|
||
| `verify` | name | 验证证明 → 接受/拒绝 |
|
||
| `list_keys` | - | 列出所有已保存密钥 |
|
||
| `delete_key` | name | 删除密钥和文件 |
|
||
| `get_graph` | name | 获取图元数据 |
|
||
|
||
## 使用方法
|
||
|
||
### 生成密钥
|
||
|
||
1. 输入密钥名称(如 `my_secret`)
|
||
2. 选择节点数量(4-50,默认 20)
|
||
3. 选择边密度(0.5-1.0,默认 0.8)
|
||
4. 点击 **生成**
|
||
|
||
### 创建和验证证明
|
||
|
||
1. 在已保存的密钥上点击 **证明**
|
||
2. 等待证明生成
|
||
3. 点击 **验证** 进行验证
|
||
4. 结果显示 **接受** 或 **拒绝**
|
||
|
||
## 文件存储
|
||
|
||
```
|
||
/var/lib/zkp/
|
||
├── graphs/ # 二进制图文件 (.graph)
|
||
├── keys/ # 哈密顿回路文件 (.key)
|
||
└── proofs/ # 生成的证明 (.proof)
|
||
```
|
||
|
||
## 协议
|
||
|
||
ZKP 协议在不泄露回路的情况下证明对图中哈密顿回路的知识:
|
||
|
||
1. **证明者**拥有图 G 和秘密哈密顿回路 H
|
||
2. **证明者**创建随机置换 π,计算 G' = π(G)
|
||
3. **证明者**使用 SHA3-256 对 G' 的边进行承诺
|
||
4. **挑战**通过 Fiat-Shamir 导出(G、G'、承诺的哈希)
|
||
5. **响应**揭示:
|
||
- 挑战=0:置换 π(证明 G ≅ G')
|
||
- 挑战=1:G' 中的回路(证明 H 存在)
|
||
6. **验证者**检查承诺和响应
|
||
|
||
安全性:使用 SHA3-256 时 ~2^-128 健全性错误。
|
||
|
||
## 构建
|
||
|
||
```bash
|
||
# 在 OpenWrt buildroot 中
|
||
make package/luci-app-zkp/compile V=s
|
||
|
||
# 安装
|
||
opkg install luci-app-zkp_*.ipk
|
||
```
|
||
|
||
## 快速部署(开发)
|
||
|
||
```bash
|
||
# 部署到路由器
|
||
scp htdocs/luci-static/resources/view/zkp/overview.js root@192.168.255.1:/www/luci-static/resources/view/zkp/
|
||
scp root/usr/libexec/rpcd/luci.zkp root@192.168.255.1:/usr/libexec/rpcd/
|
||
ssh root@192.168.255.1 'killall rpcd; /etc/init.d/rpcd start'
|
||
```
|
||
|
||
## 许可证
|
||
|
||
GPL-2.0-or-later
|
||
|
||
## 作者
|
||
|
||
SecuBox / CyberMind.FR
|