Aesy
Challenge decription:
Please aes-decrypt the flag for me.
|
|
Solution:
Using any decrypt tools to decrypt AES ECB, we will have the flag.
|
|
Unsuspicious-rsa
Challenge decription:
I need help factoring this modulus, it looks suspicious, but I can’t factor using any conventional methods.
|
|
Solution:
Skimming through the code, we see that $q$ is generated by using $p$ and $90!$. The generate function will make $q$ have the form $p + k\cdot 90! + 1 +(90! - p) \cdot 90! $ . $(90! - p) \cdot 90! $ will add to $p$ some amount to make $p = m\cdot 90!$. Then $q = (m+k)\cdot 90! +1$.
When I digging around which the source, I realize that $k$ is often around $[0,200]$ which is very small, so i decide to bruteforcing. Let $v = \dfrac{\sqrt{N}}{90!} \approx m$ and we will find $k$. The rest is normal RSA decryption.
|
|
Faked-onion
Challenge decription:
Are you as fake as this onion?
|
|
Solution:
First, we look at the encryption function:
|
|
The code will divide plaintext into block of 16 bytes. And then seperated into 2 part: $L$ and $R$. $L$ is 15 bytes from the beginning and $R$ is the last byte. Then $L = R$ and $R = xor(L,Hash(R))$ then it is appended in ciphertext.
We notice that we decrypt the ciphertext we just do the reverse. Take the first bytes of the block, hash it through the oracle and xor with 15 remaining bytes.
|
|