[zer0pts] ROR

[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