Skip to content

Latest commit

 

History

History

DLPoly

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

InCTF 2020 : DLPoly

category : crypto

points : 676

write-up

P.<x> = PolynomialRing(Zmod(p))
Q.<x> = QuotientRing(P, P.ideal(n))
g = x
print(bsgs(g, gX, (0, 2 ^ 56), operation='*'))

Use sagemath bsgs ( baby step giant step ) to brute force discrete logarithm.
But may run out of memory. I split it into 1024 sections and run each section paralleling using 8 core.
See a.sh and b.sh and solve.sage for details.
And then found that the length of flag is only 13 !??
The description also say something about RSA?
And I found that n has many small factor. But I got the flag before I reimplementing pohlig hellman algorithm.

flag

inctf{bingo!}

other write-ups and resources