不依赖于DLP或素数因子分解的Java TLS

时间:2013-02-13 18:04:38

标签: java windows encryption ssl

我正在Windows上用Java编写文件服务器,使用的是对Shor算法有抵抗力的加密。

我的绊脚石是SSL / TLS。从我可以收集到的,我不能使用标准的Java库,因为套接字加密使用Diffie-Hellman密钥交换,它依赖于离散对数问题。

我查看了Salsa20,一个新的(ish)流密码,但是安全地交换密钥的问题仍然存在。我也看过cyaSSL,但Java服务提供商不支持Windows,使用C不是一个选项。

任何人都可以提供任何指示吗?

2 个答案:

答案 0 :(得分:3)

有两种通用方法:

  1. 使用预共享密钥

    没有密钥交换,没有量子问题。但现在你需要在带外分发共享密钥,因此它可能无法解决问题。

  2. 使用量子证明密钥交换

    例如,这里是NTRU的规范(只有草案,没有真正的标准,并提防专利)

    但总的来说,不对称的后量子加密似乎并没有准备就绪。

答案 1 :(得分:1)

前景黯淡。

有一些非对称加密系统基于难以解决的问题,而不是DLP或因子问题。例如,GGH Cryptosystem基于最接近向量的难题。您会发现有很多签名方案可以抵抗量子加密,但不是很多加密系统,而且确实存在的加密系统似乎都存在安全问题。

至于将GGH和Lamport Signatures作为SSL的提供者插入Java,这完全是另一个问题。你必须了解JCE的工作原理并做大量的工作。