俺又回来了。很遗憾世事难料,CTF以后只能作为兴趣爱好了。希望能做到经常更新
pure math
题目分析
开始
1.题目
p, q为大素数,且gcd(p, q)=1。已知:
1) p ** p % q = 714524049641435943105999741526097792730322384404239011969937133613136793624750369055376989216550533939260872429494033538186859407304595735358326864493864
2) q ** q % p = 3793926826399320849683747683743191860184196118127416652395055346545586862130970677253078039305777084749954050086098521933603488447008564832427274279873951
3) (p ** q + q ** p) % (p*q) = 19024188928469857264743345496619305928811576223251153943018582122616826953681052795830882567382663262079127201141098109971465279673094696375417890942785448
4) (p+q) ** (p+q) % (p*q) = 34584099205335874195138687651020653755341412112489127778042665102046989235884842326118701378724633065360056870628884161686847172958262794396391431713170850279141405263385392401695093362737125471046184249265626759457558079134241789278147659986906144524129862403010073306252866486438566430989630661556530273159
5) FLAG ** 65537 % (p*q) = 70780149913246832826766406897706957491056402101558565503680002033221934186416965194983523048291862950093618456587633804036483254609022784316148408847968421965904497000292878704933683862748677884380342759233485966247201603722330911288052349219133315434923433009486169740708526863964697586561894661421642337515
求FLAG
2.分析
(直接照抄WP了,说实在话没看懂)
我们的目的基本上就是求得 FLAG,那么怎么做呢?这个题目需要我们具有较好的数论功底。
根据题目中这样的内容,我们可以假设 p p p, q q q 都是大素数,且gcd(p, q)=1,那么
p q − 1 ≡ 1 m o d q p^{q-1} \equiv 1\bmod q pq−1≡1modq
那么
p q ≡ p m o d p q p^{q} \equiv p \bmod pq pq≡pmodpq
那么我们可以根据 3)知道
p q + q p ≡ ( p + q ) m o d p q p^q+q^p \equiv (p+q) \bmod pq p