728x90
반응형
1. intro
2. code 및 분석
2.1. code
N/A
2.2. 분석
마찬가지로 해석해보면,
RSA와 같은 cryptosystem은 숫자로 작동한다.
하지만 메시지는 문자로 이루어져있다.
수학적 연산이 적용될 수 있도록 어떻게 우리의 메시지를 숫자로 변경해야할까.
가장 일반적인 방법은, 메시지를 hex로 바꾸고, 합치고, 10진수로 변환하는 것이다.
이는 16진수 또는 10진수로 표현할 수 있다.
이 문제는 pycryptodome의 사용법에 대한 팁을 주는 정도인 것 같다.
3. exploit
하지만 나는 그렇게 풀지 않긔.
직접 풀어보고 함수 써볼거임 ㅋㅋㅋ
e = 11515195063862318899931685488813747395775516287289682636499965282714637259206269
d = ''
b16 = hex(e)[2:]
for i in range(0,len(b16),2):
d += chr(int(b16[i:i+2],16))
print(d)
┌──(kali㉿kali)-[~/Downloads]
└─$ python solve.py
crypto{3nc0d1n6_4ll_7h3_w4y_d0wn}
이제 함수를 통한 풀이.
from Crypto.Util.number import *
e = 11515195063862318899931685488813747395775516287289682636499965282714637259206269
d = ''
d = long_to_bytes(e)
print(d)
┌──(kali㉿kali)-[~/Downloads]
└─$ python solve.py
b'crypto{3nc0d1n6_4ll_7h3_w4y_d0wn}'
728x90
반응형
'Wargame > Cryptohack' 카테고리의 다른 글
XOR properties (0) | 2023.01.31 |
---|---|
XOR Starter (0) | 2023.01.31 |
Base64 (0) | 2023.01.31 |
Hex (0) | 2023.01.31 |
ASCII (0) | 2023.01.31 |