Học cách giải mã RSA đơn giản mà bạn có thể làm được với ví dụ bên dưới. Chúc các bạn xem bài viết vui vẻ.
Học giải mã RSA đơn giản mà ai cũng làm được
Cách giải:
- Đầu tiên ta có e,c,n
- Ta tìm p và q qua trang factordb.com
- Sau đó tính hệ số phil
- Rồi tính d rồi m.
Ví dụ qua trang sau: https://ctflearn.com/challenge/120
from Crypto.Util.number import inverse, long_to_bytes
e = 1
c = 9327565722767258308650643213344542404592011161659991421
n = 245841236512478852752909734912575581815967630033049838269083
#Tìm q,p từ n
#su dụng trang factordb.com
p = 416064700201658306196320137931
q = 590872612825179551336102196593
#Tính hệ số phil
#công thức tính: phil = (p-1)*(q-1)
phil = (p – 1) * (q – 1)
#Công thức tính : d = 1/e mod phil
#Su dung hàm tính nghịch đảo
#Ham cài thêm thư viện cryptodome
d = inverse(e, phil)
#giai ma rsa
#m = c^d mod n
#ham so mu: pow
m = pow(c, d, n)
print(long_to_bytes(m))