basic-mod2

Bill Elim & Jayson Adrian


Sangat mirip dengan challenge sebelumya. Kali ini selain mod, kita harus mencari modular inverse. Untuk memahami modular inverse, kita perlu memahami mengenai pembagian pada aritmetika modular.

Pada aritmetika biasa, pembagian dapat dilihat sebagai perkalian dengan bentuk pecahan. Misalnya 7/5, dapat dilihat sebagai 7 * 1/5. Namun, pada aritmetika modular, pecahan tidak diperbolehkan, sehingga pembagian tidak bisa dilaksanakan dengan cara yang sama.

Invers dari sebuah angka n adalah 1/n, dengan definisi invers adalah bilangan x yang menghasilkan n * x = 1.

Dengan definisi yang sama, maka modular inverse dari bilangan n adalah bilangan x yang menghasilkan n * x = 1 (mod p).

Writer’s note: oke mungkin ini agak membingungkan ya karena gw nulisnya formal banget wkwkkww tapi intinya inverse itu cari angka yang hasil perkalian ama angka aslinya jadinya 1, berarti kalau aritmetika biasa angka 5 ya inverse nya 1/5, tapi kalau pake modulus ya gabisa pake pecahan, jadinya inversenya itu manfaatin modnya, misalnya 5 dengan mod 13, jadi inversenya itu 8, karena 5 * 8 = 40, dan 40 % 13 = 1

Dengan script yang mirip dengan basic-mod1, kita bisa menggunakan fungsi inverse dari library pycryptodome untuk langsung mendapatkan modular inverse dari suatu angka. Oh iya karena ini mapping karakternya mulainya dari 1 (soal sebelumnya kan mulai dari 0) jadi kita perlu -1 in tiap angka yang didapat


Flag: picoCTF{1NV3R53LY_H4RD_DADAACAA}


Thank you for reading!