JackKXCO/kxco-post-quantum-verifiers
GitHub: KnightsbridgeAIQ/kxco-pq-verifiers
提供 Go、Python、Rust、JavaScript 四种语言实现,用于验证 KXCO 混合 HMAC + ML-DSA-65 后量子 webhook 签名格式的跨语言一致验证库。
Stars: 0 | Forks: 0
# kxco-post-quantum-verifiers
**四种语言。一种 wire format。签名互通。**
KXCO 混合 HMAC + ML-DSA-65 webhook 签名方案的接收端验证器实现。每个实现都针对相同的 envelope 格式验证同一个 `vectors/vectors.json`。银行使用 Go 和 Java。金融科技运维使用 Python。系统集成商使用 Rust。仅支持 JavaScript 的验证器将机构买家拒之门外。本 repo 旨在填补这一空白。
[](https://github.com/JackKXCO/kxco-post-quantum-verifiers/actions/workflows/cross-lang.yml)
[](https://www.npmjs.com/package/kxco-post-quantum)
[](https://pypi.org/project/kxco-verify/)
[](https://crates.io/crates/kxco-verify)
[](https://pkg.go.dev/github.com/JackKXCO/kxco-post-quantum-verifiers/go)
[](https://chain.kxco.ai/wallet/verify)
## 在您的语言中安装
```
# JavaScript / TypeScript
npm install kxco-post-quantum
# Python
pip install kxco-verify
# Rust
cargo add kxco-verify
# Go
go get github.com/JackKXCO/kxco-post-quantum-verifiers/go@latest
```
## 验证真实的 KXCO 生产环境 webhook
KXCO 平台在 https://chain.kxco.ai/wallet/api/.well-known/kxco-pq-pubkey 发布其 ML-DSA-65 身份密钥。固定 `kid` 和 `publicKey`,然后使用您选择的语言离线验证任何入站交付。
当前生产环境的 kid 是 **`aa29f37ab7f4b2cf`**。在首次集成时从 well-known endpoint 获取匹配的 `publicKey`。
### JavaScript
```
import { webhook } from 'kxco-post-quantum'
const PINNED_KID = 'aa29f37ab7f4b2cf'
const PINNED_PUBKEY = Buffer.from(process.env.KXCO_PUBLIC_KEY_HEX, 'hex')
const r = webhook.verifyDelivery({
headers,
rawBody: req.rawBody,
pqPublicKey: PINNED_PUBKEY,
pinnedKid: PINNED_KID,
})
if (!r.pqOk || !r.timestampOk || !r.kidOk) return res.status(401).end()
```
### Python
```
import kxco_verify as kx
import os
PINNED_KID = "aa29f37ab7f4b2cf"
PINNED_PUBKEY = bytes.fromhex(os.environ["KXCO_PUBLIC_KEY_HEX"])
r = kx.verify_delivery(
headers=lower_case_headers,
raw_body=raw_body,
pq_public_key=PINNED_PUBKEY,
pinned_kid=PINNED_KID,
)
if not r.ok:
return 401
```
### Rust
```
use kxco_verify::{verify_delivery, VerifyDeliveryArgs};
let result = verify_delivery(VerifyDeliveryArgs {
headers: &headers_map,
raw_body: &body,
pq_public_key: Some(&pinned_pubkey),
pinned_kid: Some("aa29f37ab7f4b2cf"),
window_seconds: 0,
now_unix: chrono::Utc::now().timestamp(),
..Default::default()
});
if !result.ok() {
return StatusCode::UNAUTHORIZED;
}
```
### Go
```
import kxcoverify "github.com/JackKXCO/kxco-post-quantum-verifiers/go"
var PinnedKid = "aa29f37ab7f4b2cf"
result, err := kxcoverify.VerifyDelivery(kxcoverify.VerifyDeliveryArgs{
Headers: headers,
RawBody: body,
PQPublicKey: pinnedPubkey,
PinnedKid: PinnedKid,
})
if err != nil || !result.Ok() {
return http.StatusUnauthorized
}
```
## Wire format
所有四种实现都采用同一种 envelope:
```
Envelope: timestamp + "." + raw_body
X-KXCO-Signature: sha256=
X-KXCO-PQ-Signature: ml-dsa-65=
X-KXCO-PQ-Kid: 16-hex SHA-256 prefix of the platform public key
X-KXCO-Timestamp: Unix seconds
```
单独使用其中任何一种签名即可完成验证;同时验证两者属于纵深防御。HMAC 层保障生态兼容性;ML-DSA 层提供抗抵赖性和抗后量子伪造能力。
默认重放窗口:5 分钟。可配置。
## 共享测试向量
[`vectors/vectors.json`](./vectors/vectors.json) — 包含以下各项的 29 项确定性检查:
- `deriveSeed` (HKDF-SHA-512)
- `mlDsa.keypairFromMaster` (FIPS 204)
- `mlDsa.sign` 往返测试
- `mlKem.keypairFromMaster` (FIPS 203)
- `mlKem.encapsulate` 往返测试
- `fingerprint` (16 位十六进制 kid)
- `webhook.envelope` / `webhook.hmacHex` / 混合往返测试
每种语言的测试套件都会根据此文件断言输出相同的字节。跨语言兼容性由每次提交时的 CI 强制执行。
## 为什么选择这些底层库
| 语言 | PQC 库 | 原因 |
|-------------|-------------|-----|
| JavaScript | `@noble/post-quantum` | 经 Cure53 (2024) 审计。纯 JS,无原生依赖。 |
| Python | `liboqs-python` 或 `pqcrypto` | Open Quantum Safe / NIST 最终候选方案的实现,惰性后端检测。 |
| Rust | `fips204` | 纯 Rust 的 FIPS 204 实现。无 CGo 或 liboqs 构建步骤。 |
| Go | `cloudflare/circl/sign/mldsa/mldsa65` | Cloudflare 经过审计的加密工具包。纯 Go。 |
## License
MIT。请查看各个语言目录,了解其依赖项可能要求的任何额外声明。
## 另请参阅
- 主库:npm 上的 [`kxco-post-quantum`](https://www.npmjs.com/package/kxco-post-quantum)
- 在线验证器演示:https://chain.kxco.ai/wallet/verify
- 生产环境平台公钥:https://chain.kxco.ai/wallet/api/.well-known/kxco-pq-pubkey
- 安全架构:https://chain.kxco.ai/wallet/security
- 后量子概述:https://chain.kxco.ai/wallet/post-quantum
- 量子指数(行业基准):https://chain.kxco.ai/wallet/quantum-index
标签:CVE, Go, Python, Ruby工具, Rust, Webhook验签, 可视化界面, 后量子密码学, 数字签名, 数据可视化, 无后门, 日志审计, 混合加密, 网络流量审计, 蓝队防御, 跨语言实现, 逆向工具