求解离散对数的一个新思路------魔氏离散对数算法
(2014-09-16 00:23:11)
标签:
it |
分类: 数学物理 |
解离散对数的一个新思路:
已知离散对数:ax
解离散对数:13x
我们演算:
132x+1
继续演算:为了方便简便易懂,我们令2x+1=e。有
132e+1
令2e+1=f,有:132f+1
令2f+1=g,有:13g+1
令2g+1=h,有:13h+1
令2h+1=i,有:132i+1
演算到此结束(这里用了六步运算,所以n的值等于6.)。
可以求知
132i+1
-13x
通过上面演算得知2i+1=64x+63,其中64=2n
=26。代入上式有:1364x+63
-13x
化简:13x
所以有(1363x+63
-1)mod
又有:(1318
-1)mod
显然因为18是模19的周期函数,
所以这里则有:63x+63 是18的整数倍,即63x+63 mod 18=0,转化为:63(x+1)=18y。解这个方程有:x=18t+7,y=28+63u,t与u可以取任意非负整数。
由以上可以看出,所有离散对数均与2的指数n有关。这种方法属于运气算法,有时候只有寥寥的若干步骤就可算出来,有时候需要很多步骤才能算出来。比如求解211
实际上离散对数的难度等同于求解三元不定方程组:y(b-1)=(d-1)x+d -1和d=2n。
为了更容易求解,我们不妨把2的指数换成3的指数,4的指数,5的指数等,计算结果又如何呢?
一台用2的指数来构造,
一台用3的指数来构造,
一台用4指数来构造,
一台用5指数来构造,
一台用x的无限次平方构造,
一台用x的无限次立方构造,
一台用x的无限次五次方构造。
这样同时联网运算,假如2指数运行了2步,得到了剩余数15,而x的五次方运行了3步,得到了剩余数15,,而其余的计算机在3步之内还没得到剩余数15.此时我们联立2指数和五次方得到的离散对数(因为同底数同模数等余数15),这样也可以求得类似于(1363x+63
-1)mod
这种并行算法比单纯的运用某种算法要几率大些。这种算法虽说不一定就能在有效的时间内破解离散对数,但是对其应用离散对数的公钥系统造成了很大的威胁性。因为公钥使用者选取x时,不可能先用并行计算法来验证一下x是否安全而不能被破解。也可以这么说,一个密码破解专家和一个数学爱好者运用并行算法破解同一个离散对数时,密码破解专家未必就会比数学爱好者破解的快,因为选取的参数不同(假如一个选取2的指数,一个选取3的指数),造成了破解时间上的差异化。所以离散对数在并行算法面前并非牢不可破,需因人而异。这点和shor算法相似,一个充分大的合数,shor算法理论上是需要量子计算机才能破解的,但是如果选取合适参数,经典计算机也可以破解这个充分大的合数的。