后量子密码学:抵御量子计算威胁的新一代加密 量子威胁 Shor算法证明,足够强大的量子计算机可以在多项式时间内破解: RSA(基于大整数分解) ECC(椭圆曲线离散对数) DSA(数字签名算法) 预计2030年前后,大型量子计算机将威胁现有加密体系。 PQC标准化进程 NIST自2016年开始后量子密码标准化,已完成三轮筛选: 晶格基础算法 CRYSTALS-Kyber(密钥封装) 基于模LWE问题 性能与安全平衡最佳 已成为NIST首选标准 CRYSTALS-Dilithium(数字签名) 基于模LWS问题 签名尺寸小、验证快 NIST推荐主算法 其他候选算法 FALCON(基于格的签名) 签名更紧凑 验证速度极快 SPHINCS+(无状态哈希签名) 不依赖数学难题
Shor算法证明,足够强大的量子计算机可以在多项式时间内破解:
预计2030年前后,大型量子计算机将威胁现有加密体系。
NIST自2016年开始后量子密码标准化,已完成三轮筛选:
CRYSTALS-Kyber(密钥封装)
CRYSTALS-Dilithium(数字签名)
FALCON(基于格的签名)
SPHINCS+(无状态哈希签名)
给定矩阵A和向量b=As+e(e为小误差),从(A,b)恢复s是困难问题。
# 传统加密 + PQC加密双重保护 from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import padding # 组合使用RSA和Kyber hybrid_scheme = { 'classical': 'RSA-4096', 'post_quantum': 'Kyber-768', 'mode': 'dual_encryption' }
| 算法 | 公钥 | 私钥 | 密文 |
|---|---|---|---|
| RSA-2048 | 256B | 256B | 256B |
| Kyber-768 | 1184B | 2400B | 1088B |
| Dilithium3 | 1952B | 4000B | 3302B |
#include <oqs/oqs.h> OQS_KEM *kem = OQS_KEM_new(OQS_KEM_alg_kyber_768); uint8_t public_key[OQS_KEM_kyber_768_length_public_key]; uint8_t secret_key[OQS_KEM_kyber_768_length_secret_key]; OQS_KEM_keypair(kem, public_key, secret_key);
# 启用PQC密钥交换 KexAlgorithms sntrup761x25519-sha512@openssh.com