我在未解决的计算机科学问题列表上的Wikipedia上发现:可以使用公钥加密吗?
我以为RSA加密是公钥加密的一种形式?为什么这是个问题?
我在未解决的计算机科学问题列表上的Wikipedia上发现:可以使用公钥加密吗?
我以为RSA加密是公钥加密的一种形式?为什么这是个问题?
Answers:
我们不确定RSA是否安全。例如,如果可以高效完成分解,则可能会在多项式时间内破坏RSA。开放的是存在一个可证明安全的公共密钥密码系统。我们完全不确定是否存在这样的密码系统。就我们所知,每个密码系统都可以有效地破解。
RSA的另一个不相关的问题是,它可以被量子计算机打破。这是一个不相关的问题,因为安全公钥密码系统的定义仅要求密码系统不可被传统(非量子)计算机破坏。
但是,实际上,RSA似乎很安全,并且一直在使用。这是由于理论与实践之间的差距。尽管从理论上我们不确定RSA是否安全,但实际上我们必须使用一些公共密钥密码系统,并且RSA是一个不错的选择,因为人们试图破解它并失败了。一般而言,人们所关心的已知密码系统比默默无闻的密码系统更安全,因为它可以抵抗密码学家的尝试。这并不表示它是安全的,也可能不是,但这是我们能做的最好的事情。
以下是有关此问题的其他一些角度/细节,更具体和一般而言。正如YF在评论中所写,尽管有出现,但事实证明RSA至少没有分解的难度。破坏RSA涉及离散日志问题,该问题当然与复杂性因素密切相关,但并没有证明是相同的复杂性。但是(如所指出的)甚至没有被证明很难。
YF还提到了量子计算。如内部人士所知,RSA不能抵御量子计算,而使用Shors算法证明了RSA可以计算 P时间。Shors算法在当时被认为是一项突破。在“附近”区域要提到的另一个突破是AKS素数算法,它证明了素数测试是在P中进行的。复杂性理论的理论突破很少见,但并非闻所未闻。
YF并未提及,但始终潜伏在这些问题的背景中,P =?NP的“大问题” 仍未解决。通常认为,如果P = NP,则“不可能进行算法加密”(一次性填充除外),这通常是专家不相信的。
科学地对此进行概念化的一种极好方式是Impanagliazzos 5世界,Kabanets概述。值得注意的是,尽管有间接证据表明,复杂性理论家不知道“我们生活在五个世界中的哪个”。我们所生活的世界取决于开放复杂性理论的猜想。它们还涉及有关活板门功能和单向功能的存在的开放问题。(RSA 推测两者都是。)2009年召开了一次关于Impagliazzos世界的研究会议,并报道了最新的思想。
这里需要定义的一件事是可能的定义。有两种方法可以解决此问题。首先是,公钥密码系统是否可以被认为是信息理论上安全的?从广义上讲,这要求算法即使在遭受涉及无限计算能力的攻击时也必须是安全的。有一个已知的系统可以实现这一目标,即一个时间片,但这只是理论上的原因,因为我们无法创建所需的真正随机数,并且是私钥。可以查看问题的第二种方式是,是否可以将公钥密码系统视为无条件安全?第二个定义较为宽松。就RSA而言,如果有人要证明整数分解像我们目前所认为的那样困难,并且证明系统中没有其他假设或缺陷,那么RSA将是无条件安全的。无条件的安全性消除了对无限计算能力的需求,并将其放松到了物理宇宙中的不可能。由于我们的公钥算法都依赖于可计算性的大量假设,因此它们不符合第二个定义。