Description

Category: Crypto

Source: HackCON CTF 2019

Points: 484

Author: Jisoon Park(js00n.park)

Description:

easiest crypto points ever

nc 68.183.158.95 7777

Write-up

별달리 주어지는 첨부파일도 없고, 일단 주어진 서비스로 접속해 보자.

뭔지 모를 값을 던져주는데, 암호문인가 싶어서 Decrypt 메뉴로 복호화를 시도해 보았더니 복호화를 거부했다. 되겠냐..

암호 체계에 대한 정보도 전혀 주어지질 않아서 그냥 textbook RSA라고 가정하고 "01"을 전송해 보았더니 1이 돌아오는데 아마 맞지 싶다.

문제에서 주어진 암호문만 아니면 임의의 데이터에 대해 암/복호화를 모두 해주는 것 같으니, RSA의 multiplicative 성질을 이용해서 flag를 찾아보자.

우선, "02"를 보내어 2에 대한 암호문인 2e mod n 값을 획득한다.

그런 다음 문제에서 주어진 암호문과 곱한 후 복호화 하면 2 * flag를 얻을 수 있다.

  • ((2e mod n) * (flage mod n))d mod n
  • = (2e * flage mod n)d mod n
  • = ((2 * flag)e mod n)d mod n
  • = (2 * flag)ed mod n
  • = (2 * flag) mod n

얻어낸 값을 2로 나눈 후 문자열로 decoding 해보면 flag를 얻을 수 있다. (코드)

Flag : d4rk{th3_ch33si3st_m4th_p1zz4_f0r_d1nn3r!}c0de

'writeups > Crypto' 카테고리의 다른 글

OTP  (0) 2019.11.26
Noki  (0) 2019.11.26
R u SAd  (0) 2019.11.26
Ezdsa  (0) 2019.11.26
Open-gyckel-krypto  (0) 2019.11.26

+ Recent posts