HACKCTF - RSA

2020. 8. 4. 13:40CTF's Write-up

문제화면

 

 

RSA문제입니다.

예전에 풀이했던 기억이 있어서 예전에 사용했던 코드를 활용해서 풀어보았습니다.

 

p,q,e,c를 주면 나머지 키들은 쉽게 구할 수 있어서 나름 쉬운 문제였습니다.

hint페이지를 들어가면 위키백과 : https://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8

 

RSA 암호 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 RSA 암호는 공개키 암호시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA가 갖는 �

ko.wikipedia.org

링크를 주는데, 이곳에 있는걸 식으로 찾고 그 함수만 잘 찾으면 되는 문제였습니다.

 

코드는 아래와 같습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
from Crypto.Util.number import *
 
= 165500656692790480820099871308511495889550056248884963056391533737398719640777027536552348753003910353538512236389328276408434154714592616388810121411482595574799223632695324557638432891315001647024573557093357114908462069403023829967780936191142143068307535312844772151507357729244716123687935330409738850181
= 122141438575770439104084639124669389798489623069980415671656975299923395151301777382093192959734330849008684250930530493655750402979451442939127736597078242925067195617957339753271262399847630938612930834827285581446954616798548644945058711157525778059878711651283927027641401287892466364366504983328484106481
= 65537
= 0x4730dcb8284416e44265091248de1ba51ce685ae5ff1276e263f72a1c90e34bcddc0ad1aa7757f1130c2f497b0629fb620e63b0b613ebe82c8b0a8d6f91a6652947f25c026307446cb7552e075e4754f1d60685a2b45e6238d3aca9934e47c0447e06d6162c91f912d14fb262ffce00e59fc8d04cbeb86cc5f087fbfe620b10e4d6a2c7ca9cb2ed315c31ee07b994b38c2827308c82de3b9ca7352505fe9b10a0ab4c81acc8334587f1277647509dca65001ad418f71e537d32bd71c10c89966b91a9426b440f3db5c52d4faf7440fbdae309bdd70769198e64995a6b3fdae748cc5db22dff8aa4fb235af657c96390d923a2b216dc34c07e28c588d8ef7c882
 
= p * q
tmp = (p - 1* (q - 1)
= inverse(e, tmp)
flag = long_to_bytes(pow(c, d, n))
print flag
cs

실행시키면

 

flag획득

 

flag를 획득할 수 있습니다.

 

'CTF's Write-up' 카테고리의 다른 글

DreamHack - hook  (0) 2020.08.04
HACKCTF - UAF  (0) 2020.08.04
HACKCTF - AVR Programming (2)  (0) 2020.08.04
HACKCTF - Classic Cipher -3  (0) 2020.08.03
DreamHack - out_of_bound  (0) 2020.08.03