我正在使用抗Shor算法的加密技术在Windows上用Java编写文件服务器.
我的绊脚石是SSL / TLS.据我所知,我无法使用标准的Java库,因为套接字加密使用Diffie-Hellman密钥交换,该交换依赖于离散对数问题.
我研究了一种新的(ish)流密码Salsa20,但是安全交换密钥的问题仍然存在.我也看过cyaSSL,但是Java服务提供商不支持Windows,并且不可以选择使用C.
谁能提供任何指示?
解决方法:
有两种通用方法:
>使用预共享密钥
没有密钥交换,没有量子问题.但是现在您需要带外分发共享密钥,因此它可能无法解决问题.
>使用量子证明密钥交换
例如,这里是NTRU的规范(仅草稿,没有实际标准,并且提防专利)
但总的来说,非对称后量子加密似乎还没有准备好生产.