NIST正式標準化的抗量子密碼學演算法

標準名稱 用途 演算法名稱(新標準名稱) 主要特性
FIPS 203 一般加密與密鑰交換 ML-KEM(原CRYSTALS-Kyber) 基於格的加密,密鑰小、速度快,適合通用加密用途
FIPS 204 數位簽章 ML-DSA(原CRYSTALS-Dilithium) 模組格簽名演算法,速度快,主要用於數位簽章
FIPS 205 數位簽章(備用) SLH-DSA(原SPHINCS+) 無狀態雜湊簽名,採用不同數學基礎,作為備用簽章方案
HQC(預計2027) 密鑰交換備用 HQC(Hamming Quasi-Cyclic) 代碼型加密,與ML-KEM採用不同數學基礎,作為備用密鑰交換方案

ML-KEM(原CRYSTALS-Kyber):金鑰交換與加密,格基

ML-DSA(原CRYSTALS-Dilithium):數位簽章,格基

FALCON(FN-DSA,待標準化完成):數位簽章,格基

數學基礎:什麼是「格」(Lattice)

格是由一組基底向量(basis vectors)的所有整數線性組合構成的點集。

基底向量:v₁ = (3, 1), v₂ = (1, 2) 格點 = a·v₁ + b·v₂,其中 a, b 為整數

具體格點:

(0,0) = 0·(3,1) + 0·(1,2)

(3,1) = 1·(3,1) + 0·(1,2)

(1,2) = 0·(3,1) + 1·(1,2)

(4,3) = 1·(3,1) + 1·(1,2)

(6,2) = 2·(3,1) + 0·(1,2)

為什麼格適合做密碼學?

1. 易於生成,難以逆推

正向:給定基底向量,輕易計算格點

逆向:給定格點,很難找出最佳基底向量組合

2. 量子抗性

經典電腦:指數時間複雜度

量子電腦:目前沒有有效的量子算法能破解