p != np,这次真的被证明了

"p vs np"被认为是计算机科学领域最为重要的未解决的问题,克雷数学研究所也将这个问题列为7个千禧年数学难题之一,可见其在计算机科学和数学领域的重要性和难度。不过,P与NP这个命题为何重要,《可能与不可能的边界:P/NP问题趣史》一书就以科普的笔法讲清了P/NP问题的历史、现实意义,普通小白读完这本书应该也能弄懂它的含义。近年来,也不断有人站出来号称自己证明了p != np或者p = np,然而结论最终都经不起审核或推敲。在我看来,无论是p != np或p = np,要想完整给出结论,必然需要构造一个特定的算法才行,也即数学里讲到的构造性证明(一切非构造性的证明都是耍流氓)。比如你想证明p=np,你得构造出一个特定的算法将某一个NPC问题归约为P的问题;如果你想证明p!=np,你也得构造出一个问题,且能够证明该问题不能在多项式时间内找到问题的解。最近,笔者在researchgate上找到一篇名为《Eagle: A new symmetric encryption algorithm against any linear attacks and differential attacks (The existence of one-way function means P!=NP)》的文章,在文中,作者首先构造了一种加密算法,其特征在于给定任何的明文-密文对,密钥空间中的任意密钥,都能找到合理的加密、解密方式,这就相当于,任何的钥匙都能开锁,从而攻击者根本就没有任何办法找到正确的钥匙(密钥)。这一点跟我们现在通常所使用的对称加密算法的机制有着本质的区别,如AES、DES等,只要明文-密文对一旦确定,密钥是唯一确定的(只是确定密钥在经验上是非常困难的,目前还没有办法在理论上证明它是困难的),攻击者难于破解的秘诀就在于密码学中常用的两大技巧(扩散与混淆)的使用,事实上,线性攻击、差分攻击等攻击方式还是对这种加密机制构成了威胁。而在上面的文章中,作者所构造的加密机制,引入了不可见参数,仅根据明文-密文对,满足加密条件的密钥为整个密钥空间,也就是说,对于某确定的明文,用确定的密钥加密后的密文表现出完全随机的性质;并且用任意不同的密钥加密,也有可能得到相同的密文。这一特征与现有的分组加密机制是根本上不同的,且这一特征能在本质上消除线性攻击和差分攻击对于这种加密机制的威胁。在文章的最后,作者构造了一种难以破解的加密机制,并在理论上证明了其满足单向函数的性质,也即证明了不能在多项式时间内找到密钥,但是验证一个密钥的正确性却是多项式时间复杂度的。从而根据“单向函数存在即p!=np”这一经典结论,也就证明了p不等于np。根据我的经验,作者的整个加密算法的构造过程是巧妙的,且结论是正确的。关于最后单向函数的构造也是合理的。从而我更相信,这次应该是真的证明了p!=np。https://www.researchgate.net/publication/348992129_Eagle_A_new_symmetric_encryption_algorithm_against_any_linear_attacks_and_differential_attacks_The_existence_of_one-way_function_means_PNP

猜你喜欢

转载自blog.csdn.net/xiafei87/article/details/114198852