为什么大多数密码学都依赖大质数对,而不是其他问题?


9

当前大多数加密方法都取决于分解因数的难度,后者是两个大质数的乘积。据我了解,仅当用于生成大素数的方法不能用作分解所得合成数的捷径(并且分解大数本身很困难)时,这才很困难。

看来数学家会不时找到更好的捷径,因此必须定期升级加密系统。(也有可能量子计算最终使因式分解成为更容易的问题,但是如果技术跟上理论的步伐,那也不会让任何人惊讶。)

其他一些问题被证明是困难的。我想到的两个例子是背包问题和旅行商问题的变化。

我知道默克尔-赫尔曼(Merkle-Hellman)被打破了,那萨科-村上(Nasako-Murakami)仍然安全,背包问题可能抵制量子计算。(谢谢,维基百科。)我没有发现将旅行商问题用于密码学。

那么,为什么对大素数似乎统治着密码学呢?

  • 难道仅仅是因为它当前很容易生成容易相乘却难以分解的大素数对吗?
  • 是因为事实证明很难将对大素数的保理分解到足够好的可预测程度吗?
  • 成对的大素数是否以除难度之外的其他方式有用,例如同时进行加密和加密签名的属性?
  • 为密码问题本身很难解决的其他每个问题类型生成问题集的问题是否太难于实践呢?
  • 是否对其他问题类型的属性进行了充分的研究以至于无法信任?
  • 其他。

8
首先,我很确定实践中使用了椭圆曲线密码学,尽管我不记得在哪种情况下。但是您说对了,RSA比其他加密系统使用更多。我认为原因主要是因为RSA加密是多年来的某种标准,并且实施了很多(当然是笨拙的!)软件,并且人们已经习惯了它。有时也可以使用其他加密系统(例如基于椭圆曲线或晶格的加密系统),但是需要人们来获取它们,这需要时间!改变习惯……
Bruno

3
例如,@ Bruno比特币使用椭圆曲线签署交易。
马丁·伯格

Answers:


9

Boaz Barak在博客文章中谈到了这一点

我从他的文章中大致得出的结论是,我们只知道如何使用具有一定数量结构的计算问题来设计密码基元,而我们会利用这些结构。没有结构,我们不知道该怎么办。由于结构太多,问题变得可以有效计算(因此对于加密目的毫无用处)。似乎结构的数量必须正确。


阅读该文章时,我想到了另一个可能的原因,即对大质数进行分解仍然是公钥密码学的选择方法:确实很难找到替代方法。能够理解任何给定替代方案的数学家数量很少,这(1)限制了可以提出替代方案的人数,并且(2)限制了可以可靠地分析提议以确定其可行性的人数。素数可能不会永远起作用,但它们现在才起作用,因此惯性使它们保持使用状态。
2014年

6

我要说的所有内容都是众所周知的(所有链接都指向Wikipedia),但是在这里:

  1. 使用素数对的RSA中使用的方法也可以应用在更通用的循环组框架中,特别是Diffie-Helmann协议ž/pqž×到任意一组,尤其是椭圆曲线,这些椭圆曲线不易受到整数攻击的影响。已经考虑了其他组结构,它们可能是不可交换的,但没有一种在AFAIK中得到广泛使用。

  2. 加密还有其他方法,尤其是基于晶格的加密,它依赖于晶格上的某些困难问题(例如,在晶格上具有较小范数的查找点)来实现公钥加密。有趣的是,其中一些系统证明是坚硬的,即当且仅当能够解决晶格理论中的相应硬性问题时,才能打破。例如,这与没有提供相同担保人的 RSA相反。请注意,基于晶格的方法被认为不是 NP难的(但现在看来比整数分解更难)。

  3. 密钥共享有一个单独的关注点,即秘密显示,它具有非常有趣的复杂性理论属性。我不知道细节,但是零知识协议的理论使Alice可以向Bob揭示她对秘密的知识,而这个秘密是难以计算的NP(图汉密尔顿图),而无需揭示秘密本身(在这种情况下为路径)。

最后,您可能想查看有关后量子密码的页面,以查看依赖于难题的公共密钥密码系统的某些替代方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.