当前大多数加密方法都取决于分解因数的难度,后者是两个大质数的乘积。据我了解,仅当用于生成大素数的方法不能用作分解所得合成数的捷径(并且分解大数本身很困难)时,这才很困难。
看来数学家会不时找到更好的捷径,因此必须定期升级加密系统。(也有可能量子计算最终使因式分解成为更容易的问题,但是如果技术跟上理论的步伐,那也不会让任何人惊讶。)
其他一些问题被证明是困难的。我想到的两个例子是背包问题和旅行商问题的变化。
我知道默克尔-赫尔曼(Merkle-Hellman)被打破了,那萨科-村上(Nasako-Murakami)仍然安全,背包问题可能抵制量子计算。(谢谢,维基百科。)我没有发现将旅行商问题用于密码学。
那么,为什么对大素数似乎统治着密码学呢?
- 难道仅仅是因为它当前很容易生成容易相乘却难以分解的大素数对吗?
- 是因为事实证明很难将对大素数的保理分解到足够好的可预测程度吗?
- 成对的大素数是否以除难度之外的其他方式有用,例如同时进行加密和加密签名的属性?
- 为密码问题本身很难解决的其他每个问题类型生成问题集的问题是否太难于实践呢?
- 是否对其他问题类型的属性进行了充分的研究以至于无法信任?
- 其他。