我认为回答您问题的最佳方式是说:前提非常不可信,因此根本不会出现问题。
我不妨问:如果我们假设我们发现了时间旅行,是否有理由担心密码安全?当然,如果我们发现时间旅行,有人可能会回到过去,在我输入密码之前出现噗嗤,在我输入密码时回头看,然后在我注意到之前噗消失。
或者,如果我的计算机可以按需进行时间旅行,我可以将其设置为迭代以下循环:选择一个随机密码猜测,尝试查看它是否正确,如果正确则打印密码并停止;如果不正确,请及时返回到循环的开头并重新开始。如果时间旅行算法是可能的,这是一个 O(1) 时间的算法来破解任何密码,给定它的密码哈希!
但当然,这些答案是愚蠢的,因为在可预见的未来,任何人都不可能发现如何回到过去。同样,在可预见的未来,没有人发现一种算法来有效地解决所有 SAT 实例的现实前景。当然,如果有人能找到一个 SAT 解决算法,可以在 15 秒内解决每个 SAT 实例,那么他们可以在 15 秒内破解每个密码(给定密码哈希)。但我认为这在我有生之年不太可能发生。
PS我从单击您的链接中看到您可能更喜欢技术性更强的答案。我的建议是阅读 Hellman 的时空权衡和彩虹表;这将使您更好地了解适用于密码破解的最新方法。您可能还想了解为什么彩虹表不适用于加盐密码;类似的原因可能适用于您的方法。
查看链接中方法的复杂性,我发现您的方法需要 2 v预计算,其中v是 SAT 实例中的变量数。相比之下,Hellman 的时空权衡表和彩虹表需要 2 n的预计算,其中n是密码的位数(输入到散列函数的位数)。在密码设置中,n会比v小很多,因此彩虹表和 Hellman 的时空权衡看起来会比您的方法表现更好。换句话说,在我看来,您的方法——即使它是有效的——在密码破解方面会击败最先进的技术,或者在实践中与密码破解有很大的相关性。当然,您总是可以在一个小实验中尝试一下,并将您的方法与现有的密码破解器进行比较;那将是真正的考验。但目前,我认为没有理由期待与密码破解相关的 SAT 解决方案取得进展。