RSA encryption/decryption is based on a formula that anyone can find and use, as long as they know the values to plug in. Given the encrypted number 150815, d = 1941, and N = 435979, what is the decrypted number?

HINTS

decrypted = (encrypted) ^ d mod N

Với bài RSA ở mức LEVEL 1 này, không có gì khó hiểu khi đề cho một bài cũng tương đối dễ chịu. Nếu chưa biết RSA là gì, bạn có thể tìm đọc bài viết của tôi trước đây:

https://minhthuongeh.wordpress.com/2017/04/05/rsa-algorithm/

Quay trở lại bài CTF này, ta thấy bài này cho cụ thể là các tham số: c (chính là encrypted number), d và n. Vậy chiếu theo công thức tôi đã viết trước đó – mà thật ra trong cái HINTS nó đã chỉ ra rồi – thì ta chỉ việc áp dụng công thức:

m = cd mod n

Tôi dùng Python để xử lý nhanh vấn đề này. Code một đoạn Python nhỏ để dễ nhìn.

c = 150815
d = 1941
N = 435979

m = pow(c,d) % N
print(m)

computeRSA.jpg

Ta có được số sau khi giải mã sẽ là: 133337. Đây cũng chính là flag của bài.

VÕ TÌNH THƯƠNG

votinhthuong9@gmail.com