پرش به محتویات

چالش AreSA

AreSA

صورت سوال

فایلی که بهمون دادن رو بررسی میکنیم و با توجه به نام متغیرها پی میبریم که از رمزگذاری RSA استفاده شده است.

یه فایل متنی بهمون دادن که محتواش اینه:

cne.txt
1
2
3
n =  128393532851463575343089974408848099857979358442919384244000744053339479654557691794114605827105884545240515605112453686433508264824840575897640756564360373615937755743038201363814617682765101064651503434978938431452409293245855062934837618374997956788830791719002612108253528457601645424542240025303582528541
e =  65537
c =  93825584976187667358623690800406736193433562907249950376378278056949067505651948206582798483662803340120930066298960547657544217987827103350739742039606274017391266985269135268995550801742990600381727708443998391878164259416326775952210229572031793998878110937636005712923166229535455282012242471666332812788

روش حل

خب خیلی سریع میریم و n رو بررسی میکنیم و میبینیم که یک عدد اول هست. بنابراین Phi را محاسبه کرده و بقیه مراحل بسیار واضح هست.

solve.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from Crypto.Util.number import *

n =  128393532851463575343089974408848099857979358442919384244000744053339479654557691794114605827105884545240515605112453686433508264824840575897640756564360373615937755743038201363814617682765101064651503434978938431452409293245855062934837618374997956788830791719002612108253528457601645424542240025303582528541
e =  65537
c =  93825584976187667358623690800406736193433562907249950376378278056949067505651948206582798483662803340120930066298960547657544217987827103350739742039606274017391266985269135268995550801742990600381727708443998391878164259416326775952210229572031793998878110937636005712923166229535455282012242471666332812788


phi = n-1
d=inverse(e, phi)
long_to_bytes(pow(c, d, n))

FLAG 🚩

byuctf{d1d_s0m3_rs4_stuff...m1ght_d3l3t3_l4t3r}

نویسنده

MohamadAli