为什么您的 Secret Sharing 工具今天需要 Post-Quantum Cryptography
发布: (2026年1月13日 GMT+8 05:24)
3 分钟阅读
原文: Dev.to
Source: Dev.to
“先收割,后解密”威胁
能够破解 RSA 和 ECC 加密的量子计算机尚未出现,但对手已经在今天收集加密数据,并计划在量子计算机出现后进行解密。对于需要多年保持机密的敏感数据,这是一种真实的威胁。
后量子密码学(PQC)使用对经典 以及 量子计算机都难以求解的数学难题。2024 年 8 月,NIST 标准化了三种 PQC 算法:
- ML‑KEM (Kyber) – 密钥封装
- ML‑DSA (Dilithium) – 数字签名
- SLH‑DSA (SPHINCS+) – 基于哈希的签名
在 NoTrust.now 中实现 PQC
我最近为 NoTrust.now(一个零知识秘密共享工具)添加了 PQC 支持。
// Using crystals-kyber-js library
import { MlKem768 } from 'crystals-kyber-js';
// Receiver generates keypair
const [publicKey, privateKey] = await MlKem768.generateKeyPair();
// Sender encapsulates a shared secret
const [ciphertext, sharedSecret] = await MlKem768.encapsulate(publicKey);
// Receiver decapsulates to get the same shared secret
const decryptedSecret = await MlKem768.decapsulate(ciphertext, privateKey);
深度防御:将 PQC 与经典密码学结合
- 生成一个瞬态 X25519 密钥对(经典)。
- 生成一个瞬态 ML‑KEM‑768 密钥对(后量子)。
- 将两个共享密钥合并:
const finalKey = HKDF(x25519Secret || kyberSecret);
这种做法即使其中一种算法被破坏,也能确保安全。
亲自尝试
你可以在 NoTrust.now/createpqc 上测试 PQC 秘密共享。加密过程完全在浏览器中完成——得益于零知识架构,服务器永远看不到你的明文。
NIST PQC 标准与资源
- crystals-kyber-js – Kyber 的 JavaScript 实现。
- Post‑Quantum Cryptography for Developers – 将 PQC 集成到应用中的指南和最佳实践。
讨论
你对 PQC 的采用有什么看法?是为时过早,还是恰逢其时?欢迎在评论区分享你的想法。