4-3.針對大的\(r\)和\(s\),分解RSA公鑰\(n=p^rq^s\)
Boneh等人證明當\(r\ge \log p\)時,\(N=p^rq\)可以在多項式時間內找到質因數\(p\)和\(q\)。
https://math.pro/db/viewthread.php?tid=3498&page=2#pid25544
Coron等人證明\(N=p^rq^s\)可以在多項式時間內找到質因數,但需要更強的條件\(r\ge (\log p)^3\)。
https://math.pro/db/viewthread.php?tid=3498&page=2#pid28281
在本篇論文中,Coron等人再次證明當\(r\ge \log p\)時,\(N=p^rq^s\)也能在多項式時間內找到質因數,這與\(N=p^rq\)條件完全相同。
方法 | 範例1 | 範例2 |
問題敘述 |
| Theorem 4 令\(N=p^rq^s\)是未知分解的整數,\(gcd(r,s)=1\),給定\(N\)為輸入,能在多項式時間\(\log N\)和\(r=\Omega(\log q)\)情況下回復質因數\(p\)和\(q\)。 | 令\(N=p^8q^5=80171134270603235454533\)是未知分解的整數,求質因數\(p\)和\(q\) | 令\(N=p^8q^3=125740963503977\)是未知分解的整數,求質因數\(p\)和\(q\) |
步驟1:找到符合\(\alpha\cdot s-\beta\cdot r=1\)的\(\alpha\)和\(\beta\) |
| \(gcd(r,s)=1\),Bézout恆等式可以找到兩個正整數\(\alpha=s^{-1}\pmod{r}\)和\(\displaystyle \beta=\frac{\alpha\cdot s-1}{r}\)使得\(\alpha\cdot s-\beta\cdot r=1\) | \(\alpha=5^{-1}\equiv5\pmod{8}\)
\(\displaystyle \beta=\frac{5\cdot5-1}{8}=3\)
得到\(5\cdot5-3\cdot8=1\) | \(\alpha=3^{-1}\equiv3\pmod{8}\)
\(\displaystyle \beta=\frac{3\cdot3-1}{8}=1\)
得到\(3\cdot3-1\cdot8=1\) |
步驟2:根據\(N^{\alpha}=P^rq\)使用BDH方法 |
\(N^{\alpha}=(p^rq^s)^{\alpha}=p^{\alpha r}q^{\alpha s}=p^{\alpha r}q^{\beta r+1}=(p^{\alpha}q^{\beta})^rq\)
\(N^{\alpha}=P^rq\),其中\(P=p^\alpha q^\beta\) | \(N^5=P^8q\),其中\(P=p^5q^3\) | \(N^3=P^8q\),其中\(P=p^3q^1\) |
步驟2-1.設同餘方程式,計算參數\(X\) |
設同餘方程式\(f(x)=(V+x)^r\pmod{P^r}\)
其中\(V\)是使得\(P=V+x_0\)的整數和\(V\)的高位元和\(P\)相同,能找到上限\(X=P\cdot q^{-1/r}\)較小的解\(x_0\),其中\(|\;x_0|\;< P\cdot q^{-1/r}\)
若\(x_0\)是\(f(x)\equiv 0\pmod{P^r}\)的解,則\(f(x_0)=(V+x_0)^r=P^r\equiv 0\pmod{P^r}\) | \(V=\lfloor\;N^{5/8}\rfloor\;=206543374177592\)
\(P=p^5q^3=61^5\cdot 53^3=125740963503977\)
\(X=P\cdot q^{-1/8}=76549489742110\)
但這樣\(V\)和\(X\)所需的矩陣\(M\)要非常大才能找到較小的解\(x_0\)
設同餘方程式\(f(x)=(V+x)^8\pmod{P^8}\)
取\(V=125740963500000\),\(V\)的高位元和\(P\)相同,上限\(X=100000\)
只要維度9的矩陣\(M\)經LLL化簡就能找到較小的解\(x_0=3977\),其中\(|\;x_0|\;<100000\) | \(V=\lfloor\;N^{3/8}\rfloor\;=19760587\)
\(P=p^5q^1=61^5\cdot 53=44763603953\)
\(X=P\cdot q^{-1/8}=27251509342\)
但這樣\(V\)和\(X\)所需的矩陣\(M\)要非常大才能找到較小的解\(x_0\)
設同餘方程式\(f(x)=(V+x)^8\pmod{P^8}\)
取\(V=12020000\),\(V\)的高位元和\(P\)相同,上限\(X=100000\)
只要維度9的矩陣\(M\)經LLL化簡就能找到較小的解\(x_0=9993\),其中\(|\;x_0|\;<100000\) |
步驟2-2.產生矩陣\(M\) |
\(g_{i,k}(xX)=N^{\alpha(m-k)}(xX)^i f(xX)^k\)
\(g_{i,k}(xX)\),\(i=0,1,\ldots,r-1\)和\(k=0,1,\ldots,m-1\)
\(g_{j,m}(xX)\),\(j=0,1,\ldots,d-rm-1\)
注意到對所有\(i,k\),\(g_{i,k}(x_0)\equiv 0\pmod{P^{rm}}\)
注意到對所有\(j,m\),\(g_{j,m}(x_0)\equiv 0\pmod{P^{rm}}\) | \(i=0,k=0,g_{0,0}(xX)=N^5\cdot1\cdot1=\bbox[border:1px solid black]{N^5}\)
\(i=1,k=0,g_{1,0}(xX)=N^5\cdot(xX)\cdot1=\bbox[border:1px solid black]{N^5X}x\)
\(i=2,k=0,g_{2,0}(xX)=N^5\cdot(xX)^2\cdot1=\bbox[border:1px solid black]{N^5X^2}x^2\)
\(i=3,k=0,g_{3,0}(xX)=N^5\cdot(xX)^3\cdot1=\bbox[border:1px solid black]{N^5X^3}x^3\)
\(i=4,k=0,g_{4,0}(xX)=N^5\cdot(xX)^4\cdot1=\bbox[border:1px solid black]{N^5X^4}x^4\)
\(i=5,k=0,g_{5,0}(xX)=N^5\cdot(xX)^5\cdot1=\bbox[border:1px solid black]{N^5X^5}x^5\)
\(i=6,k=0,g_{6,0}(xX)=N^5\cdot(xX)^6\cdot1=\bbox[border:1px solid black]{N^5X^6}x^6\)
\(i=7,k=0,g_{7,0}(xX)=N^5\cdot(xX)^7\cdot1=\bbox[border:1px solid black]{N^5X^7}x^7\)
\(j=0,g_{0,1}(xX)=1\cdot f(xX)=(V+Xx)^8=\)
\(V^8+8V^7Xx+28V^6X^2x^2+56V^5X^3x^3+70V^4X^4x^4\)
\(+56V^3X^5x^5+28V^2X^6x^6+8VX^7x^7+\bbox[border:1px solid black]{X^8}x^8\) | \(i=0,k=0,g_{0,0}(xX)=N^3\cdot1\cdot1=\bbox[border:1px solid black]{N^3}\)
\(i=1,k=0,g_{1,0}(xX)=N^3\cdot(xX)\cdot1=\bbox[border:1px solid black]{N^3X}x\)
\(i=2,k=0,g_{2,0}(xX)=N^3\cdot(xX)^2\cdot1=\bbox[border:1px solid black]{N^3X^2}x^2\)
\(i=3,k=0,g_{3,0}(xX)=N^3\cdot(xX)^3\cdot1=\bbox[border:1px solid black]{N^3X^3}x^3\)
\(i=4,k=0,g_{4,0}(xX)=N^3\cdot(xX)^4\cdot1=\bbox[border:1px solid black]{N^3X^4}x^4\)
\(i=5,k=0,g_{5,0}(xX)=N^3\cdot(xX)^5\cdot1=\bbox[border:1px solid black]{N^3X^5}x^5\)
\(i=6,k=0,g_{6,0}(xX)=N^3\cdot(xX)^6\cdot1=\bbox[border:1px solid black]{N^3X^6}x^6\)
\(i=7,k=0,g_{7,0}(xX)=N^3\cdot(xX)^7\cdot1=\bbox[border:1px solid black]{N^3X^7}x^7\)
\(j=0,g_{0,1}(xX)=1\cdot f(xX)=(V+Xx)^8=\)
\(V^8+8V^7Xx+28V^6X^2x^2+56V^5X^3x^3+70V^4X^4x^4\)
\(+56V^3X^5x^5+28V^2X^6x^6+8VX^7x^7+\bbox[border:1px solid black]{X^8}x^8\) |
\(N=p^8q^5\)的矩陣\(M=\matrix{&\matrix{1 & x &x^2 &x^3 & x^4 & x^5& x^6& x^7& x^8}\cr
\matrix{g_{0,0}(xX)\cr g_{1,0}(xX)\cr g_{2,0}(xX)\cr g_{3,0}(xX)\cr g_{4,0}(xX)\cr g_{5,0}(xX)\cr g_{6,0}(xX)\cr g_{7,0}(xX)\cr g_{0,1}(xX)}&\left[\matrix{N^3&&&&&&&&\cr
0&N^5X&&&&&&&\cr
0&0&N^5X^2&&&&&&\cr
0&0&0&N^5X^3&&&&&\cr
0&0&0&0&N^5X^4&&&&\cr
0&0&0&0&0&N^5X^5&&&\cr
0&0&0&0&0&0&N^5X^6&&\cr
0&0&0&0&0&0&0&N^5X^7&\cr
*&*&*&*&*&*&*&*&X^8}\right]}\)
\(N=p^8q^3\)的矩陣\(M=\matrix{&\matrix{1 & x &x^2 &x^3 & x^4 & x^5& x^6& x^7& x^8}\cr
\matrix{g_{0,0}(xX)\cr g_{1,0}(xX)\cr g_{2,0}(xX)\cr g_{3,0}(xX)\cr g_{4,0}(xX)\cr g_{5,0}(xX)\cr g_{6,0}(xX)\cr g_{7,0}(xX)\cr g_{0,1}(xX)}&\left[\matrix{N^3&&&&&&&&\cr
0&N^3X&&&&&&&\cr
0&0&N^3X^2&&&&&&\cr
0&0&0&N^3X^3&&&&&\cr
0&0&0&0&N^3X^4&&&&\cr
0&0&0&0&0&N^3X^5&&&\cr
0&0&0&0&0&0&N^3X^6&&\cr
0&0&0&0&0&0&0&N^3X^7&\cr
*&*&*&*&*&*&*&*&X^8}\right]}\)
*代表非零數字 |
步驟2-3.經LLL化簡後的短向量產生不需要同餘\(P^{rm}\)的方程式,得到公鑰\(N\)的因數\(P\)和\(q\) |
矩陣\(M\)經LLL化簡為\(B\)
\(B=LLL(M)\)
lattice經LLL化簡後第一列\(b_1\)為整個lattice中較短向量
所形成的方程式不需要再同餘\(P^{rm}\) | lattice經LLL化簡後第一列\(b_1\)為整個lattice中較短向量
所形成的方程式不需要再同餘\(P^8\)
\(h(x)=-53(-3977+x)(251481927003977+x)\)
\((31621579804816808123694816529+251481927000000x+x^2)\)
\((499962154676199102476804875602387403050998979642971607841\)
\(+7952255823848096743172491500000000000000000x\)
\(+94864739411449993500000000000x^2\)
\(+502963854000000x^3+x^4)\)
得到正整數解\(x=3977\)
得到因數\(P=V+x=125740963500000+3977\)
\(=125740963503977\)
\(N^5\)可分解成\(125740963503977^8\cdot 53\)
\(P=125740963503977,q=53\) | lattice經LLL化簡後第二列\(b_2\)為整個lattice中較短向量
所形成的方程式不需要再同餘\(P^8\)
\(h(x)=-53(-9993+x)(24049993+x)\)
\((289201131580049+24040000x+x^2)\)
\((41818676133224591928094842401\)
\(+6946617632000000000000x\)
\(+866882400000000x^2+48080000x^3+x^4)\)
得到正整數解\(x=9993\)
得到因數\(P=V+x=12020000+9993\)
\(=12029993\)
\(N^3\)可分解成\(12029993^8\cdot 53\)
\(P=12029993,q=53\) |
步驟3:從\(P,q\)求出\(N\)的質因數\(p\) |
| 已知\(P=p^\alpha q^\beta\),則\(\displaystyle p=\left(\frac{P}{q^\beta}\right)^{1/\alpha}\) | \(\displaystyle p=\left(\frac{125740963503977}{53^3}\right)^{1/5}=61\) | \(\displaystyle p=\left(\frac{12029993}{53^1}\right)^{1/3}=61\) |
參考資料:
Coron, J.-S., & Zeitoun, R. (2016). Improved factorization of \(N=p^rq^s\) (Cryptology ePrint Archive, Report 2016/551).
https://eprint.iacr.org/2016/551
要先載入LLL.mac才能使用LLL指令
(%i1) load("LLL.mac");
(%o1) C:/maxima-5.49.0/share/maxima/5.49.0/share/LLL.mac
要因數分解的公鑰N
(%i2) N:80171134270603235454533;
(%o2) \(80171134270603235454533\)
\(N=p^rq^s\),因數\(p\)的次方\(r\),因數\(q\)的次方\(s\)
(%i4)
r:8;
s:5;
(%o3) \(8\)
(%o4) \(5\)
求出\(\alpha,\beta\)符合\(\alpha s-\beta r=1\)
(%i6)
alpha:inv_mod(s,r);
beta: (alpha*s-1)/r;
(%o5) \(5\)
(%o6) \(3\)
假設\(q< P^c\)
(%i7) c:1;
(%o7) \(1\)
矩陣維度\(d\),按照BDH方法維度\(d=144\),改成\(d=9\)但解的上限\(X\)也變小
(%i9)
d:2*r*(r+1);
d:9;
(%o8) \(144\)
(%o9) \(9\)
參數\(m\),原本\(m=1\)無法得到正確答案,改取\(m=2\)
(%i11)
m:floor(d/(r+c)-1/2);
m:1;
(%o10) \(0\)
(%o11) \(1\)
希望能找到\(|\;x|\;<X\),\(f(x)\equiv 0\pmod{P^r}\)
(%i12) X:100000;
(%o12) \(100000\)
\(V\)的高位元和\(P\)相同,當作\(P\)的近似值
(%i13) V:125740963500000;
(%o13) \(125740963500000\)
同餘方程式\(f(x)=(V+x)^r \equiv0\pmod{P^}\)
(%i14) fx: ('V+x)^r;
(%o14) \((x+V)^8\)
將\(x\)以\(Xx\)代替,\(f(Xx)=(V+Xx)^u\equiv0\pmod{P^r}\)
(%i15) fXx:subst(x=x*'X,fx);
(%o15) \((Xx+V)^8\)
以\(x\)升冪排序顯示
(%i16) powerdisp:true;
(%o16) \(true\)
\(g(xX)\)多項式
(%i17) gxX:[];
(%o17) \([]\)
產生\(g_{i,k}(xX)=N^{\alpha(m-k)}(Xx)^if^k(xX)\)多項式,\(i=0,\ldots,r-1,k=0,\ldots,m-1\)
(%i18)
for k:0 thru m-1 do
(for i:0 thru r-1 do
(print("i=",i,",k=",k,",g",i,",",k,"(xX)=N"^(alpha*(m-k)),"*","(xX)"^i,"*","f(xX)"^k,"=",gik:'N^(alpha*(m-k))*(x*'X)^i*fXx^k,"=",expand(gik)),
gxX:append(gxX,[gik])
)
);
\(i=0,k=0,g_{0,0}(xX)=N^5*1*1=N^5=N^5\)
\(i=1,k=0,g_{1,0}(xX)=N^5*(xX)*1=N^5Xx=N^5Xx\)
\(i=2,k=0,g_{2,0}(xX)=N^5*(xX)^2*1=N^5X^2x^2=N^5X^2x^2\)
\(i=3,k=0,g_{3,0}(xX)=N^5*(xX)^3*1=N^5X^3x^3=N^5X^3x^3\)
\(i=4,k=0,g_{4,0}(xX)=N^5*(xX)^4*1=N^5X^4x^4=N^5X^4x^4\)
\(i=5,k=0,g_{5,0}(xX)=N^5*(xX)^5*1=N^5X^5x^5=N^5X^5x^5\)
\(i=6,k=0,g_{6,0}(xX)=N^5*(xX)^6*1=N^5X^6x^6=N^5X^6x^6\)
\(i=7,k=0,g_{7,0}(xX)=N^5*(xX)^7*1=N^5X^7x^7=N^5X^7x^7\)
(%o18) done
產生\(g_{j,m}=x^jf^m(xX)\)多項式,\(j=0,\ldots,d-mr-1\)
(%i19)
for j:0 thru d-m*r-1 do
(print("j=",j,",g",j,",",m,"(xX)=","(xX)"^j,"*f(xX)"^m,"=",gim: (x*'X)^j*fXx^m,"=",expand(gim)),
gxX:append(gxX,[gim])
);
\(j=0,g_{0,1}(xX)=1*f(xX)=(V+Xx)^8=V^8+8V^7Xx+28V^6X^2x^2+56V^5X^3x^3+70V^4X^4x^4+56V^3X^5x^5+28V^2X^6x^6+8VX^7x^7+X^8x^8\)
(%o19) done
全部的\(g(xX)\)多項式
(%i20) gxX;
(%o20) \([N^5,N^5Xx,N^5X^2x^2,N^5X^3x^3,N^5X^4x^4,N^5X^5x^5,N^5X^6x^6,N^5X^7x^7,(V+Xx)^8]\)
\(x^1,\ldots,x^{d-1}\)
(%i21) xpower:create_list(x^i,i,1,d-1);
(%o21) \([x,x^2,x^3,x^4,x^5,x^6,x^7,x^8]\)
取\(g(xX)\)多項式係數(常數項在最後一行)
(%i22) M:augcoefmatrix(gxX,xpower);
(%o22) \(\left[\matrix{0&0&0&0&0&0&0&0&N^5\cr
N^5X&0&0&0&0&0&0&0&0\cr
0&N^5X^2&0&0&0&0&0&0&0\cr
0&0&N^5X^3&0&0&0&0&0&0\cr
0&0&0&N^5X^4&0&0&0&0&0\cr
0&0&0&0&N^5X^5&0&0&0&0\cr
0&0&0&0&0&N^5X^6&0&0&0\cr
0&0&0&0&0&0&N^5X^7&0&0\cr
8V^7X&28V^6X^2&56V^5X^3&70V^4X^4&56V^3X^5&28V^2X^6&8VX^7&X^8&V^8}\right]\)
將常數項移到第一行
(%i23) M:addcol(col(M,d),submatrix(M,d));
(%o23) \(\left[\matrix{N^5&0&0&0&0&0&0&0&0\cr
0&N^5X&0&0&0&0&0&0&0\cr
0&0&N^5X^2&0&0&0&0&0&0\cr
0&0&0&N^5X^3&0&0&0&0&0\cr
0&0&0&0&N^5X^4&0&0&0&0\cr
0&0&0&0&0&N^5X^5&0&0&0\cr
0&0&0&0&0&0&N^5X^6&0&0\cr
0&0&0&0&0&0&0&N^5X^7&0\cr
V^8&8V^7X&28V^6X^2&56V^5X^3&70V^4X^4&56V^3X^5&28V^2X^6&8VX^7&X^8}\right]\)
將\(N=80171134270603235454533,V=125740963500000,X=100000\)代入矩陣M
(%i24) M:ev(M,[N=N,V=V,X=X]);
(%o24) \(\left[\matrix{3311998568856210568811927703086899658426172387868564177766496487544053158361488556283428687867077689884956712107893&0&0&0&0&0&0&0&0\cr
0&331199856885621056881192770308689965842617238786856417776649648754405315836148855628342868786707768988495671210789300000&0&0&0&0&0&0&0\cr
0&0&33119985688562105688119277030868996584261723878685641777664964875440531583614885562834286878670776898849567121078930000000000&0&0&0&0&0&0\cr
0&0&0&3311998568856210568811927703086899658426172387868564177766496487544053158361488556283428687867077689884956712107893000000000000000&0&0&0&0&0\cr
0&0&0&0&331199856885621056881192770308689965842617238786856417776649648754405315836148855628342868786707768988495671210789300000000000000000000&0&0&0&0\cr
0&0&0&0&0&33119985688562105688119277030868996584261723878685641777664964875440531583614885562834286878670776898849567121078930000000000000000000000000&0&0&0\cr
0&0&0&0&0&0&3311998568856210568811927703086899658426172387868564177766496487544053158361488556283428687867077689884956712107893000000000000000000000000000000&0&0\cr
0&0&0&0&0&0&0&331199856885621056881192770308689965842617238786856417776649648754405315836148855628342868786707768988495671210789300000000000000000000000000000000000&0\cr
62490539019210977115313051534131340080406482111493092575802679148753906250000000000000000000000000000000000000000&397582695597594825907711779441749482572759080927469384793143750000000000000000000000000000000000000000000&1106671522038704507522714527351401430135102140557514375000000000000000000000000000000000000000000&1760240245079248987181038305550126359792212250000000000000000000000000000000000000000000&1749867541256005433723511973834730437500000000000000000000000000000000000000000&1113315815338733544044148810000000000000000000000000000000000000000000&442702117253433303000000000000000000000000000000000000000000&100592770800000000000000000000000000000000000000000&10000000000000000000000000000000000000000}\right]\)
LLL化簡
(%i25) B: LLL(M);
(%o25) \(\left[\matrix{838028781700335971777938634164628835959430271248954492660096127111488556283428687867077689884956712107893&-21071882866672525773108724310412722576356231289155877394036618750000000000000000000000000000000000000000000&-58653590668051338898703869949624275797160413449548261875000000000000000000000000000000000000000000&-93292732989200196320595030194156697068987249250000000000000000000000000000000000000000000&-92742979686568287987346134613240713187500000000000000000000000000000000000000000&-59005738212952877834339886930000000000000000000000000000000000000000000&-23463212214431965059000000000000000000000000000000000000000000&-5331416852400000000000000000000000000000000000000000&-530000000000000000000000000000000000000000\cr
1455603616945450164635734122287123559788231947307759251070652971625203321324538295872481408960167851726863821&63215657876979755459793006882724077503363981789992502108089798648855628342868786707768988495671210789300000&-921894875650012371888342709364005791895391990918485119037606863003750000000000000000000000000000000000000000000&-1466339767072028793366678328918651544920589050390861875394500000000000000000000000000000000000000000000&-1457698953324813668783719723245411930655944363738375000000000000000000000000000000000000000000&-927429797100171683531736082646073842534820000000000000000000000000000000000000000000&-368785863924198291804776922456966000000000000000000000000000000000000000000&-83797186501301211496437600000000000000000000000000000000000000000&-8330338833981220000000000000000000000000000000000000000\cr
62391856940021854052956340370265284211828079399902171939519489529305892915054844854860212266627596922365735059785&2481319964547718870007243738884429588728310588213631270004166834050000000000000000000000000000000000000000000000&6906754675787907450721381728632533947896054620853696134605000000000000000000000000000000000000000000000&10985687533383514196980654961551227413484953327646000000000000000000000000000000000000000000000&10920951322859390007955377804894134016124500000000000000000000000000000000000000000000&6948221816582081468116237429590960000000000000000000000000000000000000000000&2762910997012553298955848000000000000000000000000000000000000000000&627801092047132800000000000000000000000000000000000000000&62410160000000000000000000000000000000000000000\cr
3309068049759099212784933914724289596466198154879114302833351276051359855172357675652386929893170206829756145715&131593929588904953866237560940665787668541560227108252875864584244665108043822814870335793525977427818909700000&-395097803483788981592002686484268498126782368213990316584535785003812165713121329223101150432878921070000000000&-52679707180011390299109264929166203799525057953264003039126034477630062250000000000000000000000000000000000000000000&-52369277395440220142647929655364661452913331972026764212688367937500000000000000000000000000000000000000000&-33318833218859640847366613127862448073519546060756414810000000000000000000000000000000000000000000&-13248997101433710919260855324948439763434589103000000000000000000000000000000000000000000&-3010496848361412904522752745215521650800000000000000000000000000000000000000000&-299275666076136447821432586010000000000000000000000000000000000000000\cr
-12173792995729164570909489033509365696302788302790150146486346096958124054088681103036919051751469471273239112932&-484147658320326389152807290620855724945135691354593021476334844748717150236486712830694417698512569481090300000&-395097805197705829129368423757831683814734643327478197990784481541514456722556694318807091125472500000000000000&-628431330888769321589250306258121974410884235553798978152071312132922310115043287892107000000000000000&-3292481698750672616736318892326734665623647091603738271840722039197410589584125000000000000000000000000000000000000000000&-2094771095817583816581026209379561285530405271057900409258894879835980000000000000000000000000000000000000000000&-832970830471481084436348465462315821021367182007437222023074000000000000000000000000000000000000000000&-189271387163336469545378041185058046740754383630106400000000000000000000000000000000000000000&-18815605302258606196517855653406263140805580000000000000000000000000000000000000000\cr
18957883835475332378963744344465003908379046858910709546994486677441101972911430643330855031189353341047026213460&753952089775797206309290939576384679085061131518904482968717136122869931387322531246560532568141620345939800000&-263398533801427998971792949738429256846970845733293953533673979175366617423846999369234203000000000000000000000&-418954215825502242110293595353958388981122839468768590330825609071091009134580075600000000000000000000&-416485411917396197332197946926379314905125209523275792231011504328789210700000000000000000000&-210718828720043047471124409068928418600907352056209326038986161229694882823425325990000000000000000000000000000000000000000000&-83790843832703352663241048359283654845267410431529469725665877067060521937000000000000000000000000000000000000000000&-19039333267919567644259393492668908250132687707507158380221636493200000000000000000000000000000000000000000&-1892713871633364695453780411491449666891240230904063970790000000000000000000000000000000000000000\cr
14950931725159633427091188044383004358803819932015910962903619917727112955793168278201530599563389199291492850326&594606486004324437933026673630629076224465808199060450076007001738223580574089937679690637431858379654060200000&263398537555141096001167752364394220304999496502575110674542607604903410748822031761875000000000000000000000000&418954221796051524611019466801515673617372108815716384540894038250157691449250000000000000000000000000&416485417852762362333715005692551888248983503311270142029822721863187500000000000000000000000&264979943693695245039992082257299953486666898849567121078930000000000000000000000000&-13169926795002690466945275566808026162556692942266838036993403876592227774115510686609693000000000000000000000000000000000000000000&-2992530136882262595115751727117273387330975180862164878238155261515013141422174800000000000000000000000000000000000000000&-297489582311243244441553023322951691408322871335219735118197505850491310000000000000000000000000000000000000000\cr
-20473129545372057371673755189475462563139776559727869484661579037980556650478954580833949844154563818747274326980&-814217684430156425521267828497483986764900933541950341786696482186769641030432016969529681284070810172969900000&131699265683651798115137630411037516171183677717146601546041619224402531530133125000000000000000000000000000000&209477105976926601353961520123133963692243662053928195875549528812704750000000000000000000000000000000&208242704034280961822319661288357675591776881499250039422862312500000000000000000000000000000&132489968734353438812209935889894895288774771635498110000000000000000000000000000000&52683693939705432117278923144999956712107893000000000000000000000000000000&-752567245428725169539730032389030066431811025272390744977072643825540616438536837469493741186000000000000000000000000000000000000000000&-74813253422056564877893793177931834683274379521554121956552432873788641722008997237950000000000000000000000000000000000000000\cr
19037690731404546329186831791645661014939163724644340498097672130785141263863867623816248031524743620377251296617&757133944597224170960183256343170510364806072176592501556064398323892307812500000000000000000000000000000000000&2107482503973563554219656824246536639809365905342433419039472680781250000000000000000000000000000000000&3352101726138854589291669972365905466931412379932071093187500000000000000000000000000000000000&3332348537056953787867696325913219070938855558328125000000000000000000000000000000000&2120135519436800744964990713412638401447500000000000000000000000000000000000&843056813158903758903116212169250000000000000000000000000000000000&191563169617559210789300000000000000000000000000000000000&-32924816987506726167363188917020065406391732355667095092746928167367402492918393259761254015136066400000000000000000000000000000000000000000}\right]\)
找出\(N\)的因數\(P,q\)
(%i26)
for i:1 thru d do
(print("第",i,"列向量B[",i,"]=",B[ i ]),
print("產生不需要同餘P"^"rm","=P"^(r*m),"的方程式h(x)"),
printList:["h(x)=",B[ i ][1]],
for j:2 thru d do
(if B[ i ][j]>=0 then printList:append(printList,["+"]),/*若係數為正則補印+號*/
printList:append(printList,[B[ i ][j],"(",x/X,")"^(j-1)])
),
apply(print,printList),/*再用apply(print,)將全部內容印在同一行*/
print("h(x)=",hx:sum(B[ i ][j+1]*(x/X)^j,j,0,d-1),"=",factor(hx)),
print("正整數解為",posIntRoot:sublist(solve(hx,x),lambda([x],integerp(rhs(x)) and rhs(x)>0))),
if length(posIntRoot)>0 then/*若有正整數解*/
(for root in posIntRoot do
(x:rhs(root),
print("當正整數解x=",x,"時,可能的因數P=V+x=",V,"+",x,"=",P: V+x),
if mod(N^alpha,P^r)=0 then
(print("N"^alpha,"可被P"^r,"整除,N"^alpha,"可分解成",N,""^alpha,"=",P,""^r,"*",q: (N^alpha)/(P^r)),
i:d/*將i設為d,直接結束for迴圈*/
)
else
(print("N"^alpha,"無法被P"^r,"整除"))
)
),
print("---------")
);
第1列向量\(B[1]=[838028781700335971777938634164628835959430271248954492660096127111488556283428687867077689884956712107893,\)
\(-21071882866672525773108724310412722576356231289155877394036618750000000000000000000000000000000000000000000,\)
\(-58653590668051338898703869949624275797160413449548261875000000000000000000000000000000000000000000,\)
\(-93292732989200196320595030194156697068987249250000000000000000000000000000000000000000000,\)
\(-92742979686568287987346134613240713187500000000000000000000000000000000000000000,\)
\(-59005738212952877834339886930000000000000000000000000000000000000000000,\)
\(-23463212214431965059000000000000000000000000000000000000000000,\)
\(-5331416852400000000000000000000000000000000000000000,\)
\(-530000000000000000000000000000000000000000]\)
產生不需要同餘\(P^{rm}=P^8\)的方程式\(h(x)\)
\(h(x)= 838028781700335971777938634164628835959430271248954492660096127111488556283428687867077689884956712107893\)
\(\displaystyle-21071882866672525773108724310412722576356231289155877394036618750000000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)\)
\(\displaystyle-58653590668051338898703869949624275797160413449548261875000000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^2\)
\(\displaystyle-93292732989200196320595030194156697068987249250000000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^3\)
\(\displaystyle-92742979686568287987346134613240713187500000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^4\)
\(\displaystyle-59005738212952877834339886930000000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^5\)
\(\displaystyle-23463212214431965059000000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^6\)
\(\displaystyle-5331416852400000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^7\)
\(\displaystyle-530000000000000000000000000000000000000000 \left(\frac{x}{100000}\right)^8\)
\(h(x)= 838028781700335971777938634164628835959430271248954492660096127111488556283428687867077689884956712107893\)
\(-210718828666725257731087243104127225763562312891558773940366187500000000000000000000000000000000000000x\)
\(-5865359066805133889870386994962427579716041344954826187500000000000000000000000000000000x^2\)
\(-93292732989200196320595030194156697068987249250000000000000000000000000000x^3\)
\(-927429796865682879873461346132407131875000000000000000000000x^4\)
\(-5900573821295287783433988693000000000000000000x^5\)
\(-23463212214431965059000000000000x^6-53314168524000000x^7-53x^8\)
\(=-53(-3977+x)(251481927003977+x)(31621579804816808123694816529+251481927000000x+x^2)\)
\((499962154676199102476804875602387403050998979642971607841+7952255823848096743172491500000000000000000x+94864739411449993500000000000x^2+502963854000000x^3+x^4)\)
正整數解為\([x=3977]\)
當正整數解\(x=3977\)時,可能的因數\(P=V+x=125740963500000+3977=125740963503977\)
\(N^5\)可被\(P^8\)整除,\(N^5\)可分解成\(80171134270603235454533^5=125740963503977^8*53\)
---------
(%o26) done
\(N=P^rq\)的\(P,q\)值
(%i28)
P;
q;
(%o27) \(125740963503977\)
(%o28) \(53\)
\(N=p^rq^s\)的質因數\(p\)
(%i29) p: (P/(q^beta))^(1/alpha);
(%o29) \(61\)
--------------------------------
要先載入LLL.mac才能使用LLL指令
(%i1) load("LLL.mac");
(%o1) C:/maxima-5.49.0/share/maxima/5.49.0/share/LLL.mac
要因數分解的公鑰\(N\)
(%i2) N:28540809637096203437;
(%o2) \(28540809637096203437\)
\(N=p^rq^s\),因數\(p\)的次方\(r\),因數\(q\)的次方\(s\)
(%i4)
r:8;
s:3;
(%o3) \(8\)
(%o4) \(3\)
求出\(\alpha,\beta\)符合\(\alpha s-\beta r=1\)
(%i6)
alpha:inv_mod(s,r);
beta: (alpha*s-1)/r;
(%o5) \(3\)
(%o6) \(1\)
假設\(q< P^c\)
(%i7) c:1;
(%o7) \(1\)
矩陣維度\(d\),按照BDH方法維度\(d=144\),改成\(d=9\)但解的上限\(X\)也變小
(%i9)
d:2*r*(r+1);
d:9;
(%o8) \(144\)
(%o9) \(9\)
參數\(m\),原本\(m=1\)無法得到正確答案,改取\(m=2\)
(%i11)
m:floor(d/(r+c)-1/2);
m:1;
(%o10) \(0\)
(%o11) \(1\)
希望能找到\(|\;x|\;<X\),\(f(x)\equiv 0\pmod{P^r}\)
(%i12) X:100000;
(%o12) \(100000\)
\(V\)的高位元和\(P\)相同,當作\(P\)的近似值
(%i13) V:12020000;
(%o13) \(12020000\)
同餘方程式\(f(x)=(V+x)^r\equiv0\pmod{P^r}\)
(%i14) fx: ('V+x)^r;
(%o14) \((x+V)^8\)
將\(x\)以\(Xx\)代替,\(f(Xx)=(V+Xx)^u\equiv0\pmod{P^u}\)
(%i15) fXx:subst(x=x*'X,fx);
(%o15) \((Xx+V)^8\)
以\(x\)升冪排序顯示
(%i16) powerdisp:true;
(%o16) true
g(xX)多項式
(%i17) gxX:[];
(%o17) \([]\)
產生\(g_{i,k}(xX)=N^{\alpha(m-k)}(Xx)^if^k(xX)\)多項式,\(i=0,\ldots,r-1\),\(k=0,\ldots,m-1\)
(%i18)
for k:0 thru m-1 do
(for i:0 thru r-1 do
(print("i=",i,",k=",k,",g",i,",",k,"(xX)=N"^(alpha*(m-k)),"*","(xX)"^i,"*","f(xX)"^k,"=",gik:'N^(alpha*(m-k))*(x*'X)^i*fXx^k,"=",expand(gik)),
gxX:append(gxX,[gik])
)
);
\(i=0,k=0,g_{0,0}(xX)=N^3*1*1=N^3=N^3\)
\(i=1,k=0,g_{1,0}(xX)=N^3*(xX)*1=N^3Xx=N^3Xx\)
\(i=2,k=0,g_{2,0}(xX)=N^3*(xX)^2*1=N^3X^2x^2=N^3X^2x^2\)
\(i=3,k=0,g_{3,0}(xX)=N^3*(xX)^3*1=N^3X^3x^3=N^3X^3x^3\)
\(i=4,k=0,g_{4,0}(xX)=N^3*(xX)^4*1=N^3X^4x^4=N^3X^4x^4\)
\(i=5,k=0,g_{5,0}(xX)=N^3*(xX)^5*1=N^3X^5x^5=N^3X^5x^5\)
\(i=6,k=0,g_{6,0}(xX)=N^3*(xX)^6*1=N^3X^6x^6=N^3X^6x^6\)
\(i=7,k=0,g_{7,0}(xX)=N^3*(xX)^7*1=N^3X^7x^7=N^3X^7x^7\)
(%o18) done
產生\(gj,m=x^jf^m(xX)\)多項式,\(j=0,\ldots,d-mr-1\)
(%i19)
for j:0 thru d-m*r-1 do
(print("j=",j,",g",j,",",m,"(xX)=","(xX)"^j,"*f(xX)"^m,"=",gim: (x*'X)^j*fXx^m,"=",expand(gim)),
gxX:append(gxX,[gim])
);
\(j=0,g_{0,1}(xX)=1*f(xX)=(V+Xx)^8=V^8+8V^7Xx+28V^6X^2x^2+56V^5X^3x^3+70V^4X^4x^4+56V^3X^5x^5+28V^2X^6x^6+8VX^7x^7+X^8x^8\)
(%o19) done
全部的\(g(xX)\)多項式
(%i20) gxX;
(%o20) \([N^3,N^3Xx,N^3X^2x^2,N^3X^3x^3,N^3X^4x^4,N^3X^5x^5,N^3X^6x^6,N^3X^7x^7,(V+Xx)^8]\)
\(x^1,\ldots,x^{d-1}\)
(%i21) xpower:create_list(x^i,i,1,d-1);
(%o21) \([x,x^2,x^3,x^4,x^5,x^6,x^7,x^8]\)
取\(g(xX)\)多項式係數(常數項在最後一行)
(%i22) M:augcoefmatrix(gxX,xpower);
(%o22) \(\left[\matrix{0&0&0&0&0&0&0&0&N^3\cr
N^3X&0&0&0&0&0&0&0&0\cr
0&N^3X^2&0&0&0&0&0&0&0\cr
0&0&N^3X^3&0&0&0&0&0&0\cr
0&0&0&N^3X^4&0&0&0&0&0\cr
0&0&0&0&N^3X^5&0&0&0&0\cr
0&0&0&0&0&N^3X^6&0&0&0\cr
0&0&0&0&0&0&N^3X^7&0&0\cr
8V^7X&28V^6X^2&56V^5X^3&70V^4X^4&56V^3X^5&28V^2X^6&8VX^7&X^8&V^8}\right]\)
將常數項移到第一行
(%i23) M:addcol(col(M,d),submatrix(M,d));
(%o23) \(\left[\matrix{N^3&0&0&0&0&0&0&0&0\cr
0&N^3X&0&0&0&0&0&0&0\cr
0&0&N^3X^2&0&0&0&0&0&0\cr
0&0&0&N^3X^3&0&0&0&0&0\cr
0&0&0&0&N^3X^4&0&0&0&0\cr
0&0&0&0&0&N^3X^5&0&0&0\cr
0&0&0&0&0&0&N^3X^6&0&0\cr
0&0&0&0&0&0&0&N^3X^7&0\cr
V^8&8V^7X&28V^6X^2&56V^5X^3&70V^4X^4&56V^3X^5&28V^2X^6&8VX^7&X^8}\right]\)
將N=28540809637096203437,V=12020000,X=100000代入矩陣M
(%i24) M:ev(M,[N=N,V=V,X=X]);
(%o24) \(\left[\matrix{23248710345123657468134328259470385913821371086862454574453&0&0&0&0&0&0&0&0\cr
0&2324871034512365746813432825947038591382137108686245457445300000&0&0&0&0&0&0&0\cr
0&0&232487103451236574681343282594703859138213710868624545744530000000000&0&0&0&0&0&0\cr
0&0&0&23248710345123657468134328259470385913821371086862454574453000000000000000&0&0&0&0&0\cr
0&0&0&0&2324871034512365746813432825947038591382137108686245457445300000000000000000000&0&0&0&0\cr
0&0&0&0&0&232487103451236574681343282594703859138213710868624545744530000000000000000000000000&0&0&0\cr
0&0&0&0&0&0&23248710345123657468134328259470385913821371086862454574453000000000000000000000000000000&0&0\cr
0&0&0&0&0&0&0&2324871034512365746813432825947038591382137108686245457445300000000000000000000000000000000000&0\cr
435748340010089115770905600000000000000000000000000000000&29001553411653185741824000000000000000000000000000000000&844471189191232529920000000000000000000000000000000000&14051101317657779200000000000000000000000000000000000&146122101889120000000000000000000000000000000000000&972526468480000000000000000000000000000000000000&4045451200000000000000000000000000000000000000&9616000000000000000000000000000000000000000&10000000000000000000000000000000000000000}\right]\)
LLL化簡
(%i25) B: LLL(M);
(%o25) \(\left[\matrix{435748340010089115770905600000000000000000000000000000000&29001553411653185741824000000000000000000000000000000000&844471189191232529920000000000000000000000000000000000&14051101317657779200000000000000000000000000000000000&146122101889120000000000000000000000000000000000000&972526468480000000000000000000000000000000000000&4045451200000000000000000000000000000000000000&9616000000000000000000000000000000000000000&10000000000000000000000000000000000000000\cr
154048324588934332276331459470385913821371086862454574453&-1537082330817618844316672000000000000000000000000000000000&-44756973027135324085760000000000000000000000000000000000&-744708369835862297600000000000000000000000000000000000&-7744471400123360000000000000000000000000000000000000&-51543902829440000000000000000000000000000000000000&-214408913600000000000000000000000000000000000000&-509648000000000000000000000000000000000000000&-530000000000000000000000000000000000000000\cr
-162077502404949082084842450965751684547382737906557646169&1969746834731448319990210651038591382137108686245457445300000&-67638556629548419673269959680000000000000000000000000000000000&-1125433554568193338989516800000000000000000000000000000000000&-11703759926873890796480000000000000000000000000000000000000&-77895240777862833920000000000000000000000000000000000000&-324023464134204800000000000000000000000000000000000000&-770200770464000000000000000000000000000000000000000&-800957540000000000000000000000000000000000000000\cr
87220936077297233833936445458984902777586946580566832800&-154727708058322026594316065857010289948709452362040924500000&64359466104766379520753782431219138213710868624545744530000000000&-3867266954827484331145133590886400000000000000000000000000000000000&-40217002442049545872973519040000000000000000000000000000000000000&-267667237551078508305980160000000000000000000000000000000000000&-1113424449047747538710400000000000000000000000000000000000000&-2646599593648080672000000000000000000000000000000000000000&-2752287430998420000000000000000000000000000000000000000\cr
-233434692118334022597684293766737694092551986370100805523&295525473625723809809721065774713941553796294549374956600000&-5357639286362459416256127776735436591631086030108644500000000000&2514419498929525577045153368226784221371086862454574453000000000000000&-241744965948676455309455939123358560000000000000000000000000000000000000&-1608951520457081233340804919290240000000000000000000000000000000000000&-6692809985262401137024978865600000000000000000000000000000000000000&-15908747290854293170965008000000000000000000000000000000000000000&-16544038364033166775130000000000000000000000000000000000000000\cr
-80355031977576963910331735981628533374277985872028238083&-447185200983208957421279946670410859076722164531721890200000&26478759410143305042897159436286875916506979478069003080000000000&-139259721222713919221685778306986732813640217708668978000000000000000&102994493217168852524036029709324106617108686245457445300000000000000000000&-15472665823754732632019359666671076654080000000000000000000000000000000000000&-64362170647898222262975705768182515200000000000000000000000000000000000000&-152988282975750468892264572779136000000000000000000000000000000000000000&-159097632046329522558511410960000000000000000000000000000000000000000\cr
-40443476365409749484193604988054792214696446631026566061&-561685344343178240977187710601846132546380858634123263700000&-31884790900934610106038165006078870418926097637290190150000000000&-947743298341827982221950254140889377166934743575884376000000000000000&-1934178769803323643646597837208997797420425703303278000000000000000000000&4023071328046830777824751355072427264894228624545744530000000000000000000000000&-967067722046208518513167461910768663523081600000000000000000000000000000000000000&-2298711010330897358006102833160847785888000000000000000000000000000000000000000&-2390506458330800081121155192554958180000000000000000000000000000000000000000\cr
31156380980572790621916638150948120326616891766232167301&437897915743825333528960852849801674657688827585613369500000&-11653354955499128611201546807571595482544728003931500320000000000&-990294677818161707446796864322645515989653785808583821000000000000000&13780943213159012661417941597264430890622942619565038500000000000000000000&-696300717285279503810927226287355336757173239720056080000000000000000000000000&131523483249032682493274470141233355055914009654574453000000000000000000000000000000&-55261656338579530390900487247445316568733813104000000000000000000000000000000000000000&-57468444611667564882384034159156943187119190000000000000000000000000000000000000000\cr
120577116226244450410584228304991235897568351045664623996&-823174264658206956978173181351743115801469008310135119400000&18239188888812267849589997764242285029720881766635610490000000000&1032846503505308722998111581410710393214444101876947094000000000000000&483552969392167431832275942497110883299042810085553100000000000000000000&-1965115613307936641951005238356059624681667417664628040000000000000000000000000&65761734898371355118114397942739700770960514381859615000000000000000000000000000000&2486788759905632242541953624413038528313911266625445300000000000000000000000000000000000&-2417708556284947838166795220459041366829876034499770000000000000000000000000000000000000000}\right]\)
找出N的因數P,q
(%i26)
for i:1 thru d do
(print("第",i,"列向量B[",i,"]=",B[ i ]),
print("產生不需要同餘P"^"rm","=P"^(r*m),"的方程式h(x)"),
printList:["h(x)=",B[ i ][1]],
for j:2 thru d do
(if B[ i ][j]>=0 then printList:append(printList,["+"]),/*若係數為正則補印+號*/
printList:append(printList,[B[ i ][j],"(",x/X,")"^(j-1)])
),
apply(print,printList),/*再用apply(print,)將全部內容印在同一行*/
print("h(x)=",hx:sum(B[ i ][j+1]*(x/X)^j,j,0,d-1),"=",factor(hx)),
print("正整數解為",posIntRoot:sublist(solve(hx,x),lambda([x],integerp(rhs(x)) and rhs(x)>0))),
if length(posIntRoot)>0 then/*若有正整數解*/
(for root in posIntRoot do
(x:rhs(root),
print("當正整數解x=",x,"時,可能的因數P=V+x=",V,"+",x,"=",P: V+x),
if mod(N^alpha,P^r)=0 then
(print("N"^alpha,"可被P"^r,"整除,N"^alpha,"可分解成",N,""^alpha,"=",P,""^r,"*",q: (N^alpha)/(P^r)),
i:d/*將i設為d,直接結束for迴圈*/
)
else
(print("N"^alpha,"無法被P"^r,"整除"))
)
),
print("---------")
);
第1列向量\(B[1]=[435748340010089115770905600000000000000000000000000000000,\)
\(29001553411653185741824000000000000000000000000000000000,\)
\(844471189191232529920000000000000000000000000000000000,\)
\(14051101317657779200000000000000000000000000000000000,\)
\(146122101889120000000000000000000000000000000000000,\)
\(972526468480000000000000000000000000000000000000,\)
\(4045451200000000000000000000000000000000000000,\)
\(9616000000000000000000000000000000000000000,\)
\(10000000000000000000000000000000000000000]\)
產生不需要同餘\(P^{rm}=P^8\)的方程式\(h(x)\)
\(h(x)=435748340010089115770905600000000000000000000000000000000\)
\(\displaystyle+29001553411653185741824000000000000000000000000000000000\left(\frac{x}{100000}\right)\)
\(\displaystyle+844471189191232529920000000000000000000000000000000000\left(\frac{x}{100000}\right)^2\)
\(\displaystyle+14051101317657779200000000000000000000000000000000000\left(\frac{x}{100000}\right)^3\)
\(\displaystyle+146122101889120000000000000000000000000000000000000\left(\frac{x}{100000}\right)^4\)
\(\displaystyle+972526468480000000000000000000000000000000000000\left(\frac{x}{100000}\right)^5\)
\(\displaystyle+4045451200000000000000000000000000000000000000\left(\frac{x}{100000}\right)^6\)
\(\displaystyle+9616000000000000000000000000000000000000000\left(\frac{x}{100000}\right)^7\)
\(\displaystyle+10000000000000000000000000000000000000000\left(\frac{x}{100000}\right)^8\)
\(h(x)=435748340010089115770905600000000000000000000000000000000\)
\(+290015534116531857418240000000000000000000000000000x\)
\(+84447118919123252992000000000000000000000000x^2\)
\(+14051101317657779200000000000000000000x^3\)
\(+1461221018891200000000000000000x^4\)
\(+97252646848000000000000x^5+4045451200000000x^6+96160000x^7+x^8\)
\(=(12020000+x)^8\)
正整數解為\([]\)
---------
第2列向量\(B[2]=[154048324588934332276331459470385913821371086862454574453,\)
\(-1537082330817618844316672000000000000000000000000000000000,\)
\(-44756973027135324085760000000000000000000000000000000000,\)
\(-744708369835862297600000000000000000000000000000000000,\)
\(-7744471400123360000000000000000000000000000000000000,\)
\(-51543902829440000000000000000000000000000000000000,\)
\(-214408913600000000000000000000000000000000000000,\)
\(-509648000000000000000000000000000000000000000,\)
\(-530000000000000000000000000000000000000000]\)
產生不需要同餘\(P^{rm}=P^8\)的方程式\(h(x)\)
\(h(x)=154048324588934332276331459470385913821371086862454574453\)
\(\displaystyle-1537082330817618844316672000000000000000000000000000000000\left(\frac{x}{100000}\right)\)
\(\displaystyle-44756973027135324085760000000000000000000000000000000000\left(\frac{x}{100000}\right)^2\)
\(\displaystyle-744708369835862297600000000000000000000000000000000000\left(\frac{x}{100000}\right)^3\)
\(\displaystyle-7744471400123360000000000000000000000000000000000000\left(\frac{x}{100000}\right)^4\)
\(\displaystyle-51543902829440000000000000000000000000000000000000\left(\frac{x}{100000}\right)^5\)
\(\displaystyle-214408913600000000000000000000000000000000000000\left(\frac{x}{100000}\right)^6\)
\(\displaystyle-509648000000000000000000000000000000000000000\left(\frac{x}{100000}\right)^7\)
\(\displaystyle-530000000000000000000000000000000000000000\left(\frac{x}{100000}\right)^8\)
\(h(x)=154048324588934332276331459470385913821371086862454574453\)
\(-15370823308176188443166720000000000000000000000000000x\)
\(-4475697302713532408576000000000000000000000000x^2\)
\(-744708369835862297600000000000000000000x^3\)
\(-77444714001233600000000000000000x^4\)
\(-5154390282944000000000000x^5\)
\(-214408913600000000x^6-5096480000x^7-53x^8\)
\(=-53(-9993+x)(24049993+x)(289201131580049+24040000x+x^2)
\((41818676133224591928094842401+6946617632000000000000x+866882400000000x^2+48080000x^3+x^4)\)
正整數解為\([x=9993]\)
當正整數解\(x=9993\)時,可能的因數\(P=V+x=12020000+9993=12029993\)
\(N^3\)可被\(P^8\)整除,\(N^3\)可分解成\(28540809637096203437^3=12029993^8*53\)
(%o26) done
\(N=P^rq\)的\(P,q\)值
(%i28)
P;
q;
(%o27) \(12029993\)
(%o28) \(53\)
\(N=p^rq^s\)的質因數\(p\)
(%i29) p: (P/(q^beta))^(1/alpha);
(%o29) \(61\)