Zarrar Cipher (100 pts)

by Pablu

Untuk berkomunikasi secara rahasia dengan sahabatnya, Oejang. Oelyl menciptakan sebuah cipher baru yakni zarrar cipher. Bisakah anda mengungkap pesan rahasia yang dikirim

nc 103.87.66.171 13339

Pada soal ini, kita diberikan message.txt berisikan pesan yang terenkripsi.

zaaaaarraaaarrrrraaaarrraaaaarrrrraaaaarraaaaarrraaaarrrrrrrrraaaarrrrrrrrrrrrrrraaaarrrrrrrrrrrrrraaaaaaarrrrrrrrrrraaaraaaaaarrrrrrrrrrrrrraaaaaarrrrrraaa_aaaaarrrrrrrrrrrrrrraaaaaarrrrrrrrrrrraaa_aaaaaarrrrrrraaaaaarrrrrrrrraaaaaarrrrrrrrrrrrrraaaaarrrrrrrrrrrrrrraaaaaaarraaaaaaraaaaaarrrrrrrrrrrrrraaaaaarrrrrrrrrrraaaaaarrrrraaaaaarrrraaaaarrrrrrrrrrrrrrraaaaaarrrrrrrrrraaaaaaraaaaaarrrrrrrrrrrrraaa_aaarrrrrrrrraaaaarrrrrrrrrrrrrrraaaaaarrrrrrrrrrrrraaaaaaraaaaaarrrrrrrrrrrraaarrrraaaaaarrrrrrrrrrrrraaraaraaraaaaaaarrrrrrrrrraaarrrraaaaaaarraaaaaaarraaarrrraaaaaaarraaaaarrrrrrrrrrrrrrraaaaaarrraaaraaaaaaa_aaaaaarrrrrrrraaarrraaaaaaarraaaaarrrrrrrrrrrrrrraaaraaaaaaarrrrrrrrrraaaaarrrrrrrrrrrrrrraaaaaaarraaaaaarrrrraaaaaaraaaaaarrrrrrrrrrrraaaaaaarrrrrrrrrrrrr

Karena kita diberikan sebuah oracle yang memungkinkan kita mengenkripsi pesan sesuka kita, maka saya melakukan beberapa percobaan.

Input
Output
Kode ASCII

!

zaar

33

โ€œ

zaarr

34

/

zaarrrrrrrrrrrrrrr

47

0

zaaa_

48

1

zaaar

49

!!

zaaraar

33 + 33

Dari percobaan di atas, saya tarik polanya dan berikut yang dapat saya simpulkan tentang aturan pada cipher ini.

  • z selalu ada di awal ciphertext, tapi sebenarnya tidak punya fungsi apa-apa

  • a bernilai 16

  • r bernilai 1

  • Untuk mengembalikan dari ciphertext ke karakter semula, hitung (jumlah a)*16 + (jumlah r)*1

Bagian yang agak tricky adalah bagaimana memisahkan ciphertext yang kita miliki menjadi bagian-bagian yang sesuai per karakter. Di sini, saya menggunakan regex. Ketika bagian-bagiannya sudah didapatkan, saya menghitung masing-masing jumlah karakter a dan r lalu melakukan perhitungan.

solve.py

Flag: RECURSION{1nf0_l0gin_ranked_jam09_mal4m!!!z4rr4r_c1ph3r_1z_real}

Last updated