当新的密码算法出现后,张力就会显现出:X25519或Ed25519等古典算法已经抵抗了数年的攻击,但容易受到未来的量子计算机的影响;而后量子算法如ML-KEM或ML-DSA抵抗量子攻击,但较新,测试较少.
混合加密解决了张力:同时使用两者.
一句话中的想法结合了古典和后量子算法,使得系统只有在两者同时失败时才会中断.
一个古典攻击者必须打破后量子算法;一个量子攻击者必须打破后量子算法和后量子算法.
你获得对未来的安全 而不把一切都赌在年轻的算法上 应用它的两个位置键交换( 为收件人加密) 。
你结合:X25519——古典钥匙交换,快活又受重试.
ML-KEM-1024——NIST的后量子密钥封装机制,最高水平.
由此而来的两个键被混入了上下文的衍生函数(HKDF)中,这样两个键都不足以单独产生.
数字签字(真实性)。
你联合起来: Ed25519——古典签名.
ML-DSA-87 — NIST 后量子签名.
只有在两个签名都经过验证——一个和组合器——的情况下,才会接受该消息.
一个永不中断的原则 密码学中有一个黄金规则,克克霍夫斯的原则:即使攻击者知道其整个设计,一个系统也必须是安全的;安全的生命在钥匙中,而不是隐藏格式.
一个良好的混合系统使用公共的,经过审计的原始人——XChaCha20-Poly1305加密,Argon2id从密码中取出密钥,HKDF分出域来进行分解——并且从未发明出自己的密码.
Quipu如何应用它 Quipu是一个完全执行这个方法用于休息数据的免费库:mixy X25519 + ML-KEM-1024 加密,mixy Ed25519 + ML-DSA-87 签名,下面只验证原始.
它针对NIST安全等级为5(CNSA 2.0),并且是开源的,因此任何人都可以审查它是如何工作的.
诚实的注释:克普会作标准原始人作曲,但组成尚未通过独立的密码审计.
对于真正的高价值机密,这种外部审查是值得等待的封条.
代码为github.com/isazajuancarlos/quipu,AGPL-3.0.