量子安全密码

在抗量子密码方向,目前The National Institute of Standards and Technology (NIST)已经进入到第三轮密码学评测/筛选

Open Quantum Safe

关于NIST评测的抗量子密码实验的算法都开源于此项目,Open Quantum Safe framework it may be easier to use liboqs ==> https://github.com/open-quantum-safe/liboqs。另外一个更加实用的抗量子密码算法集合 ==> https://github.com/PQClean/PQClean/。

他们之中,都有关于 Kyber 和 Dilithium 算法实现,可以直接使用。

Kyber-对称加密算法和非对称加密算法

该项目由实验室量子方向研究员提供,其开源版本如下:

​ Kyber 包含了对称加密算法和非对称加密算法,Kyber 算法的介绍内容 ==> https://pq-crystals.org/kyber/software.shtml。

​ 一句话概括其算法 ==> Kyber IND-CCA2-secure key encapsulation mechanism (KEM), whose security is based on the hardness of solving the learning-with-errors (LWE) problem over module lattices.

​ 使用方法:

  • 在所谓的混合模式下使用 Kyber 并结合已建立的“前量子”安全性; 例如结合椭圆曲线 Diffie-Hellman。
  • 建议使用 Kyber-768 参数集,根据保守的分析,该参数集可针对所有已知的经典攻击和量子攻击实现超过 128 位的安全性。

Dilithium-数字签名算法

​ 算法介绍 ==> https://www.pq-crystals.org/dilithium/。

​ 具体实现的论文 ==> https://www.pq-crystals.org/dilithium/resources.shtml,目前最新版本为 CRYSTALS-Dilithium – Algorithm Specifications and Supporting Documentation (Version 3.1)