Rating:

This looks like some RSA with "small numbers" ;)

We can easily factorise n. Once we know n we can compute phi.


n=960242069=151*6359219
Phi = (p-1)(q-1) = 150*6359218 = 953882700
e = 347
ed = 1 mod 953882700


Then, as we already know e we can compute d with a simple python loop.


>>> i = 347
>>> while (347*i%953882700 !=1):
... i+=1
...
>>> i
5497883


We create a list c of the number as in the challenge description and decode every element using our RSA numbers.


>>> c=[346046109,295161774,616062960,<SNIP>,770057231,770121847]
>>> for elem in c:
... print(chr((elem**5497883)%960242069))


This was a bit long as a single process is involved but at the end we got the following output: xhBQCUIcbPf7IN88AT9FDFsqEOOjNM8uxsFrEJZRRifKB1E=|key=visionary

Vigenere cipher using the key visionary.

Once decrypted with the key we get the following: zJIOHIldUx7QF88MG9FMHxiMGAwNV8wckNjQWZATnxST1Q=

We decrypt the base64:


\$ echo -ne 'czJIOHIldUx7QF88MG9FMHxiMGAwNV8wckNjQWZATnxST1Q=' | base64 -d
s2H8r%uL{@_<0oE0|b005_0rCcAf@N|ROT
`

And then a ROT47 give us the flag: DawgCTF{Lo0k_@t_M3_1_d0_Cr4p7o}

Original writeup (https://maggick.fr/2020/04/dawgctf-2020.html).