ใครช่วยบอกฉันทีว่าฉันสามารถหาซอร์สโค้ดของวิธี Coppersmith ที่เขียนด้วย C ด้วยไลบรารี GMP ได้ที่ไหน
เพื่อความเป็นธรรม ฉันจะอธิบายว่าฉันจะใช้แฟคตอริ่งอย่างไร
อ้างอิง
https://www.academia.edu/48848013/Lepore_Factorization_nr_88
ลองมาดูตัวอย่าง N=1763 ของการแยกตัวประกอบ nr 88 ตอนที่ 1
$P=27*b+1$ ; $p=65-8*b$
$Q=25*ก+11$ ; $q=67-8*a$
$p^2=(65-8*b)^2=64*b^2-1040*b+4225$
เราพบเดลต้าจำนวนเต็ม $D$ ของ $x*p+p^2$
$(27*x-1040)^2-4*64*(4225+x)=D^2$
$x=1/729*(28208-sqrt(729*D^2+795691264))$
$795691264=1763*451328$
การแยกตัวประกอบย่อยของ $451328$ นั่นคือ $8$ เป็นปัญหาที่ใหญ่ที่สุดในแนวทางของฉัน
เราแทนที่ $D$
$28208-729*x-27*sqrt[(27*x-1040)^2-4*64*(4225+x)]=8*(67-8*a)$
$->$
$64*a^2+55344*a+11964681=729*W$
$55344+729*x=64*y$ $->$ $x=16$
$11964681+729*x=64*y$ $->$ $x=15$
$[64/64*a^2+(((55344+16*729)/64) mod (729))*a+(((11964681+15*729)/64) mod (729))] mod (729 ) = 0$
$(a^2+318*a+495) มอด (729) = 0$
ใช้วิธี Coppersmith univariate
$->$ $a=3$ $->$ $q=43$