2020. 3. 12. 11:48, CTF/CTF_writeup
[zer0pts] ROR
문제에서는 위의 chall.py와 함께 이 코드의 출력인 chall.py가 들어있었다.
일반적인 RSA와는 다르게 N 값이 2^a * 3^b * 7*c 형태로 주어진 문제이다.
N값이 짝수라는 말은 암호화 과정에서 M^e (mod 2k) 를 연산한다는 것이다.
즉 평문이 짝수이면, 암호문이 짝수이고 반대로 평문이 홀수이면, 암호문이 홀수가 된다.
그리고 문제에서는 ror이라는 것을 만들어 평문을 한비트씩 회전시켜가며 암호화의 input으로 넣고 있다.
즉 output 하나당 평문을 1bit씩 leak할수 있음을 의미한다.
chall.txt에서 하나씩 확인하여 짝수인지 홀수인지 확인하여 0 혹은 1로 비트를 넣어주면 flag를 얻어낼 수 있다.
'CTF > CTF_writeup' 카테고리의 다른 글
[zer0pts] nibelung (0) | 2020.03.12 |
---|---|
[zer0pts] diysig (0) | 2020.03.12 |
[CODEGATE 2020 예선] Halffeed (0) | 2020.02.09 |
[Hack.lu CTF 2019] Chat (0) | 2020.02.09 |
[justCTF 2019] ATM service (0) | 2020.02.09 |
Comments, Trackbacks