我正在 Windows 上用 Java 编写一个文件服务器,使用的是对 Shor 算法具有抵抗力的加密。
我的绊脚石是 SSL/TLS。据我所知,我无法使用标准 Java 库,因为套接字加密使用依赖于离散对数问题的 Diffie-Hellman key 交换。
我研究了 Salsa20,一种新的(大概)流密码,但安全交换 key 的问题仍然存在。我也看过 cyaSSL,但 Java 服务提供者不支持 Windows,使用 C 也不是一个选项。
谁能给个方向?
最佳答案
一般有两种方法:
使用预共享 key
没有 key 交换,没有量子问题。但是现在您需要带外分发共享 key ,因此它可能无法解决问题。
使用量子证明 key 交换
例如,这是 NTRU 的规范(只有草案,没有真正的标准,谨防专利)
但总的来说,非对称后量子加密似乎还没有做好生产准备。
关于不依赖 DLP 或质因数分解的 Java TLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14860039/