NIkir0LL/lacert-crypto-go
GitHub: NIkir0LL/lacert-crypto-go
该项目实现了 LACERT 协议的后量子密码学核心,为 IoT 设备提供基于 ML-KEM 的抗量子密钥交换与安全通信能力。
Stars: 0 | Forks: 0
# lacert-crypto-go
[English](#english) · [Русский](#русский)
## 英语
**LACERT 协议的后量子密码学核心,使用 Go 编写。**
`lacert-crypto-go` 是一个独立的库,实现了 LACERT 的密码学核心 —— 这是一种完
全本地化、无云化的方案,旨在以 post-quantum 安全性将 IoT 设备连接到企业网
络。该包**对项目的其余部分没有内部依赖**,可以单独使用。
### 功能说明
- **Post-quantum key exchange** —— 使用 ML-KEM-1024 (FIPS 203) 生成共享密钥,
因此即使面对未来的量子对手(“现在收集,以后解密”),流量也能保持安全。
- **Mutually-authenticated handshake** —— 参照 Noise_XX 模式构建,其中经典的
Diffie–Hellman 步骤被替换为 ML-KEM。
- **Continuous key rotation** —— 每个会话密钥都通过全新的 post-quantum secret
(BLAKE3) 派生,提供 forward secrecy 和妥协后安全性。
- **Authenticated encryption** —— 数据通道使用 ChaCha20-Poly1305。
- **Firmware integrity check** —— 使用设备身份密钥(ECDSA P-256、SLH-DSA 或
Ed25519,取决于设备使用的类型)进行签名的 challenge–response。
### 设计说明
签名特意采用**经典算法 (ECDSA P-256)**,而不是 post-quantum。实验表明,基于
哈希的 post-quantum 签名 (SLH-DSA) 速度大约慢 11,000 倍,体积大 110 倍,这
在资源受限的设备上是不可接受的。因此,post-quantum 强度被放在了成本低廉
的 **key exchange** 上,而签名则保持快速。
### 安装
```
go get github.com/NIkir0LL/lacert-crypto-go
```
第三方依赖项(CIRCL、blake3、x/crypto)会由 Go modules 自动拉取 —— 它们
**没有**被 vendor 在此仓库中。
### 包说明
| Package | 用途 |
|---------|---------|
| `crypto` | key exchange、handshake、rotation、AEAD、固件检查 |
| `wire` | 协议的消息序列化 |
### 许可证
Apache License 2.0 —— 详见 [LICENSE](LICENSE)。您可以自由使用、修改和
重新分发,包括用于商业用途。
## 俄语
**LACERT 协议的后量子密码学核心,使用 Go 语言编写。**
`lacert-crypto-go` 是一个独立的库,实现了 LACERT 的密码学核心:这是一
种完全本地化、无云化的方案,旨在以 post-quantum 安全性将 IoT 设备连接到企业
网络。该包**不依赖于项目的其余部分**,可以单独使用。
### 功能说明
- **Post-quantum key exchange** —— 使用 ML-KEM-1024 (FIPS 203) 生成共享密钥,
因此即使面对未来的量子对手(“现在收集,以后解密”攻击),流量也能保持安全。
- **Mutually-authenticated handshake** —— 参照 Noise_XX 模式构建,其中经典的
Diffie–Hellman 交换被替换为 ML-KEM。
- **Continuous key rotation** —— 每个会话密钥都使用全新的 post-quantum secret
(BLAKE3) 派生,提供 forward secrecy 并在妥协后恢复安全性。
- **Authenticated encryption** —— 数据通道使用 ChaCha20-Poly1305。
- **Firmware integrity check** —— 采用 challenge–response 机制,使用设备的
密钥进行签名(ECDSA P-256、SLH-DSA 或 Ed25519 —— 取决于其使用的类型)。
### 算法选择说明
签名被刻意保留为**经典算法 (ECDSA P-256)**,而不是 post-quantum。
实验表明,post-quantum 哈希签名 SLH-DSA 的速度大约慢 11,000 倍,体积大 110
倍,这对于资源受限的设备来说是不可接受的。因此,post-quantum 安全性被放
在了成本低廉的 **key exchange** 层面,而签名则保持快速。
### 安装
```
go get github.com/NIkir0LL/lacert-crypto-go
```
外部依赖项(CIRCL、blake3、x/crypto)会由 Go 模块管理器自动拉取 —— 它们在
仓库中**不进行存储**。
### 包说明
| Package | 用途 |
|-------|------------|
| `crypto` | key exchange、handshake、rotation、AEAD、固件检查 |
| `wire` | 协议的消息序列化 |
### 许可证
Apache License 2.0 —— 详见 [LICENSE](LICENSE)。允许自由使用、
修改和分发,包括用于商业目的。
标签:EVTX分析, Go语言, 后量子加密, 密码学库, 密钥交换, 数据加密, 日志审计, 物联网, 程序破解, 通信协议