polyday.txt:
(94*x^40 + 230*x^39 + 103*x^38 + 187*x^37 + 76*x^36 + 11*x^35 + 93*x^34 + 152*x^33 + 91*x^32 + 153*x^31 + 180*x^30 + 18*x^29 + 195*x^28 + 47*x^27 + 95*x^26 + 216*x^25 + 84*x^24 + 18*x^23 + 232*x^22 + 53*x^21 + 174*x^20 + 7*x^19 + 110*x^18 + 155*x^17 + 237*x^16 + 20*x^15 + 215*x^14 + 230*x^13 + 58*x^12 + 131*x^11 + 163*x^10 + 238*x^9 + 217*x^8 + 163*x^7 + 60*x^6 + 28*x^5 + 126*x^4 + 155*x^3 + 159*x^2 + 159*x + 104) % 257
diberikan sebuah text berisi persamaan polynomial (suku banyak) dengan x sebagai variabelnya. Yang mau kita lakukan di sini adalah mengganti mengganti nilai x dengan sebuah nilai dan melihat hasil operasinya. Kita mulai dengan range angka 0 hingga 19 dengan code python berikut:
1 2 3 |
for x in range(20): z = (94*x**40 + 230*x**39 + 103*x**38 + 187*x**37 + 76*x**36 + 11*x**35 + 93*x**34 + 152*x**33 + 91*x**32 + 153*x**31 + 180*x**30 + 18*x**29 + 195*x**28 + 47*x**27 + 95*x**26 + 216*x**25 + 84*x**24 + 18*x**23 + 232*x**22 + 53*x**21 + 174*x**20 + 7*x**19 + 110*x**18 + 155*x**17 + 237*x**16 + 20*x**15 + 215*x**14 + 230*x**13 + 58*x**12 + 131*x**11 + 163*x**10 + 238*x**9 + 217*x**8 + 163*x**7 + 60*x**6 + 28*x**5 + 126*x**4 + 155*x**3 + 159*x**2 + 159*x + 104) % 257 print(z) |
(perlu diingat bahwa simbol caret (^) dalam matematika digunakan sebagai tanda pangkat dan bukan XOR, jadi dalam code kita ubah semua ^ menjadi **)
Output =

Outputnya adalah serangkaian bilangan-bilangan yang jika kita lihat kisaran nilainya, bilangan-bilangan tersebut berbentuk decimal. kita coba ubah dari decimal ke ascii dan hasilnya adalah

Nah, ternyata hasilnya adalah potongan dari format flag. Setelah ini tinggal kita naikkan saja range-nya menjadi 60 dan langsung ubah ke ascii dengan code python berikut:
1 2 3 4 5 |
hasil ="" for x in range(60): z = (94*x**40 + 230*x**39 + 103*x**38 + 187*x**37 + 76*x**36 + 11*x**35 + 93*x**34 + 152*x**33 + 91*x**32 + 153*x**31 + 180*x**30 + 18*x**29 + 195*x**28 + 47*x**27 + 95*x**26 + 216*x**25 + 84*x**24 + 18*x**23 + 232*x**22 + 53*x**21 + 174*x**20 + 7*x**19 + 110*x**18 + 155*x**17 + 237*x**16 + 20*x**15 + 215*x**14 + 230*x**13 + 58*x**12 + 131*x**11 + 163*x**10 + 238*x**9 + 217*x**8 + 163*x**7 + 60*x**6 + 28*x**5 + 126*x**4 + 155*x**3 + 159*x**2 + 159*x + 104) % 257 hasil += chr(z) print(hasil) |
Output =

Flag = hacktoday{ok_n0w_you_kn0w_how_Poly_works}