암호(수학) 등.. 공부한 거 잊을거 같아서 만든 블로그

No Padding, No Problem 본문

picoCTF

No Padding, No Problem

h34hg0 2022. 6. 22. 20:19

문제


No Padding, No Problem

오라클은 당신의 가장 친한 친구가 될 수 있습니다. 그들은 깃발의 암호문을 제외한 모든 것을 해독할 것입니다. 어떻게 부술 거야? nc mercury.picoctf.net 와 연결합니다.


풀이


nc mercury.picoctf.net

nc 연결을 하니 n과 e, ciphertext의 값을 알려주며 입력값을 복호화 해준다.

그래서 ciphertext를 입력값으로 넣었는데 복호화한 값을 안알려 주는 것을 보아, 플래그의 암호문을 그대로 입력하는 것을 막는다.

python

파이썬에서 계산하기 위해 값들을 입력해주고 n과 서로소인 r값인 2를 구한다.

(c * r**e) % n

암호문에 r**e를 곱하고 n으로 나눈 나머지의 값을 구한다.

복호화

방금 구한 값을 복호기에 입력해서 복호화한 값을 구한다.

flag

복호화 한 값에 r의 모듈n에 대한 역원을 구해서 곱해주고 이를 n으로 나눈 나머지를 구한다.

그리고 이를 16진수로 변환한 후, 텍스트로 변환하면 flag가 picoCTF{m4yb3_Th0se_m3s54g3s_4r3_difurrent_7416022} 임을 알 수 있다.


RSA 선택 암호문 공격 CCA (Chosen Ciphertext Attack) (tistory.com)

 

RSA 선택 암호문 공격 CCA (Chosen Ciphertext Attack)

RSA CCA (Chosen Ciphertext Attack) 란? CCA는 암호 복호기에 접근하여 암호문을 복호화한 평문을 알아내는 공격으로, RSA암호에서 CCA는 아래의 모듈러 연산의 정의를 이용하여 암호문을 복호화하는 공격

heahgo.tistory.com

 

'picoCTF' 카테고리의 다른 글

Play Nice  (0) 2022.06.22
Magikarp Ground Mission  (0) 2022.06.12
Tab, Tab, Attack  (0) 2022.06.12
Static ain't always noise  (0) 2022.06.12
Nice netcat...  (0) 2022.06.12