中小学智慧校园建设平台网站,网页设计登录注册页面代码,网站备案号申请,网络开发人员(8)已知n,e,d求p,q
一看这个标题你就应该有个觉悟#xff0c;n一定无法直接分解得到p和q。 题目: 10-存货5 题目给出了两个文件#xff0c;一个是加密脚本chall.py#xff0c;一个是加密后输出的内容output.txt。 分析一下加密脚本#xff1a;
from gmpy2 import invertf… (8)已知n,e,d求p,q
一看这个标题你就应该有个觉悟n一定无法直接分解得到p和q。 题目: 10-存货5 题目给出了两个文件一个是加密脚本chall.py一个是加密后输出的内容output.txt。 分析一下加密脚本
from gmpy2 import invertfrom md5 import md5from secret import p, qe 65537n p*qphi (p-1)*(q-1)d invert(e, phi)print n, e, dprint Flag: flag{%s} %md5(str(p q)).hexdigest() 加密脚本真的是很简单啊flag就是str(pq)进行md5运算之后的得到的字符串从output.txt中可以得到n,e,d。 用Winhex打开output文件提取数据
 现在的关键问题就是求出p和q来google一把梭好像可以找到这种骚操作当时线上比赛做这个题目的时候真的就是google找到的类似题目百度啊可不可以靠谱一点。 解题脚本: 已知n,e,d求p,q
#!/usr/bin/python#coding:utf-8import randomfrom md5 import md5def gcd(a, b):if a b:a, b b, awhile b ! 0:temp a % ba bb tempreturn adef getpq(n,e,d):p 1q 1while p1 and q1:k d * e - 1g random.randint ( 0 , n )while p1 and q1 and k % 2 0:k / 2y pow(g,k,n)if y!1 and gcd(y-1,n)1:p gcd(y-1,n)q n/preturn p,qdef main():n 16352578963372306131642407541567045533766691177138375676491913897592458965544068296813122740126583082006556217616296009516413202833698268845634497478988128850373221853516973259086845725813424850548682503827191121548693288763243619033224322698075987667531863213468223654181658012754897588147027437229269098246969811226129883327598021859724836993626315476699384610680857047403431430525708390695622848315322636785398223207468754197643541958599210127261345770914514670199047435085714403641469016212958361993969304545214061560160267760786482163373784437641808292654489343487613446165542988382687729593384887516272690654309e 65537d 9459928379973667430138068528059438139092368625339079253289560577985304435062213121398231875832264894458314629575455553485752685643743266654630829957442008775259776311585654014858165341757547284112061885158006881475740553532826576260839430343960738520822367975528644329172668877696208741007648370045520535298040161675407779239300466681615493892692265542290255408673533853011662134953869432632554008235340864803377610352438146264524770710345273439724107080190182918285547426166561803716644089414078389475072103315432638197578186106576626728869020366214077455194554930725576023274922741115941214789600089166754476449453p,q getpq(n,e,d)print pprint qprint Flag: flag{%s} %md5(str(p q)).hexdigest()if __name__ __main__:main() (9)私钥文件修复
题目: 11-Jarvis OJ -Crypto-God Like RSA 呵呵这个题我认了别的不会的题目起码都能看个大概这个题绝了只是知道解题脚本中对应的变量是谁了(哈哈哈)顺带把变量给你们注释了反正我是写不出来。 这里面涉及到的东西太多了我觉得绝不单单是Python脚本的问题什么数学、什么算法的必须给你安排的明明白白的。So我把这题作为了一个模板以后有类似的题目直接掏出来用莫非这真是上帝之手 题目给出三个文件一个是公钥文件pubkey.pem一个是残损的私钥文件private.corrupted还有一个是密文文件flag.enc。 首先使用openssl提取公钥信息
──(holyeyes㉿kali2023)-[~/Misc/RSA/godlikeRSA]└─$ openssl rsa -pubin -in pubkey.pem -text -modulusPublic-Key: (4096 bit)Modulus:00:c0:97:78:53:45:64:84:7d:8c:c4:b4:20:e9:33:58:67:ec:78:3e:6c:f5:f0:5c:a0:3e:ee:dc:25:63:d0:eb:2a:9e:ba:8f:19:52:a2:67:0b:e7:6e:b2:34:b8:6d:50:76:e0:6a:d1:03:cf:77:33:d8:b1:e9:d7:3b:e5:eb:1c:65:0c:25:96:fd:96:20:b9:7a:de:1d:bf:fd:f2:b6:bf:81:3e:3e:47:44:43:98:bf:65:2f:67:7e:27:75:f9:56:47:ba:c4:f0:4e:67:2b:da:e0:1a:77:14:40:29:c1:a8:67:5a:8f:f5:2e:be:8e:82:31:3d:43:26:d4:97:86:29:15:14:a9:69:36:2c:76:ed:b5:90:eb:ec:6f:ce:d5:ca:24:1c:aa:f6:63:f8:06:a2:62:cb:26:74:d3:5b:82:4b:b6:d5:e0:49:32:7b:62:f8:05:c4:f7:0e:86:59:9b:f3:17:25:02:aa:3c:97:78:84:7b:16:fd:1a:f5:67:cf:03:17:97:d0:c6:69:85:f0:8d:fa:ce:ee:68:24:63:06:24:e1:e4:4c:f8:e9:ad:25:c7:e0:c0:15:bb:b4:67:48:90:03:9b:20:7f:0c:17:eb:9d:13:44:ab:ab:08:a5:c3:dc:c1:98:88:c5:ce:4f:5a:87:9b:0b:bf:bd:d7:0e:a9:09:59:81:fa:88:4f:59:60:6b:84:84:ad:d9:c7:25:8c:e8:c0:e8:f7:26:9e:37:95:7c:e1:48:29:0f:51:e7:bd:98:2f:f6:cc:80:e7:f0:32:0b:89:51:92:4e:c2:6d:50:53:2b:3b:77:72:d1:bd:1a:1f:92:d7:12:79:61:61:c5:a4:7e:b3:85:eb:f0:7c:6d:46:03:c5:e6:d5:81:2c:ba:7e:ea:8d:51:7d:63:55:34:2a:b6:d4:dc:31:5a:f1:99:e3:dc:8c:83:0b:a2:2a:d5:3c:41:48:41:54:1a:a9:e8:b6:70:bf:d3:fe:ed:19:17:14:94:13:b3:17:e3:8b:8e:6f:53:ed:e2:44:e8:4a:32:d6:5c:0d:a8:80:f5:fc:02:e9:46:55:d5:a4:d3:e7:c6:30:77:f9:73:e9:44:52:d8:13:9d:5d:bf:9e:fa:3a:b5:96:79:82:5b:cd:19:5c:06:a9:00:96:fd:4c:a4:73:88:1a:ec:3c:11:de:b9:3d:e0:50:00:1e:ac:21:97:a1:96:7d:6b:15:f9:6c:c9:34:7f:70:d7:9d:2d:d1:48:4a:81:71:f8:12:dd:32:ba:64:31:60:08:26:4b:09:22:03:83:90:17:7f:f3:a7:72:57:bf:89:6d:e4:d7:40:24:8b:7b:bd:df:33:c0:ff:30:2e:e8:6c:1dExponent: 65537 (0x10001)ModulusC09778534564847D8CC4B420E9335867EC783E6CF5F05CA03EEEDC2563D0EB2A9EBA8F1952A2670BE76EB234B86D5076E06AD103CF7733D8B1E9D73BE5EB1C650C2596FD9620B97ADE1DBFFDF2B6BF813E3E47444398BF652F677E2775F95647BAC4F04E672BDAE01A77144029C1A8675A8FF52EBE8E82313D4326D49786291514A969362C76EDB590EBEC6FCED5CA241CAAF663F806A262CB2674D35B824BB6D5E049327B62F805C4F70E86599BF3172502AA3C9778847B16FD1AF567CF031797D0C66985F08DFACEEE6824630624E1E44CF8E9AD25C7E0C015BBB4674890039B207F0C17EB9D1344ABAB08A5C3DCC19888C5CE4F5A879B0BBFBDD70EA9095981FA884F59606B8484ADD9C7258CE8C0E8F7269E37957CE148290F51E7BD982FF6CC80E7F0320B8951924EC26D50532B3B7772D1BD1A1F92D712796161C5A47EB385EBF07C6D4603C5E6D5812CBA7EEA8D517D6355342AB6D4DC315AF199E3DC8C830BA22AD53C414841541AA9E8B670BFD3FEED1917149413B317E38B8E6F53EDE244E84A32D65C0DA880F5FC02E94655D5A4D3E7C63077F973E94452D8139D5DBF9EFA3AB59679825BCD195C06A90096FD4CA473881AEC3C11DEB93DE050001EAC2197A1967D6B15F96CC9347F70D79D2DD1484A8171F812DD32BA64316008264B0922038390177FF3A77257BF896DE4D740248B7BBDDF33C0FF302EE86C1Dwriting RSA key-----BEGIN PUBLIC KEY-----MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwJd4U0VkhH2MxLQg6TNYZx4Pmz18FygPu7cJWPQ6yqeuo8ZUqJnCdusjS4bVB24GrRA893M9ix6dc75escZQwllv2WILl63h2//fK2v4EPkdEQ5i/ZS9nfid1VZHusTwTmcr2uAadxRAKcGoZ1qP9S6joIxPUMm1JeGKRUUqWk2LHbttZDr7G/O1cokHKr2Y/gGomLLJnTTW4JLttXgSTJ7YvgFxPcOhlmb8xclAqo8l3iEexb9GvVnzwMXl9DGaYXwjfrO7mgkYwYk4eRMOmtJcfgwBW7tGdIkAObIH8MFudE0Srqwilw9zBmIjFzk9ah5sLv73XDqkJWYH6iE9ZYGuEhK3ZxyWM6MDo9yaeN5V84UgpD1HnvZgv9syA5/AyC4lRkk7CbVBTKzt3ctG9GhS1xJ5YWHFpH6zhevwfG1GA8Xm1YEsun7qjVF9Y1U0KrbU3DFa8Znj3IyDC6Iq1TxBSEFUGqnotnC/0/7tGRcUlBOzFOLjm9T7eJE6Eoy1lwNqID1/ALpRlXVpNPnxjB3XPpRFLYE51dv576OrWWeYJbzRlcBqkAlv1MpHOIGuw8Ed65PeBQAB6sIZehln1rFflsyTR/cNedLdFISoFxBLdMrpkMWAIJksJIgODkBd/86dyV7JbeTXQCSLe73fM8D/MC7obB0CAwEAAQ-----END PUBLIC KEY-----┌──(holyeyes㉿kali2023)-[~/Misc/RSA/godlikeRSA]└─$ 然后将提取到的公钥信息填充到恢复私钥的脚本fix.py中然后运行这个脚本。 私钥文件修复
github.com/Mr-Aur0ra/RSA/blob/master/(9)%E7%A7%81%E9%92%A5%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D/godlikeRSA/fix.py
┌──(holyeyes㉿kali2023)-[~/Misc/RSA/godlikeRSA]└─$ python3 exp1.py checking 100checking 200checking 300checking 400checking 500checking 600checking 700checking 800checking 900checking 1000checking 1100checking 1200checking 1300checking 1400checking 1500checking 1600checking 1700checking 1800checking 1900checking 2000checking 2100checking 2200checking 2300checking 2400checking 2500checking 2600checking 2700checking 2800checking 2900checking 3000checking 3100checking 3200checking 3300checking 3400checking 3500checking 3600checking 3700checking 3800checking 3900checking 4000checking 4100checking 4200checking 4300checking 4400checking 4500checking 4600checking 4700checking 4800checking 4900checking 5000checking 5100checking 5200checking 5300checking 5400checking 5500checking 5600checking 5700checking 5800checking 5900checking 6000checking 6100checking 6200checking 6300checking 6400checking 6500checking 6600checking 6700checking 6800checking 6900checking 7000checking 7100checking 7200checking 7300checking 7400checking 7500checking 7600checking 7700checking 7800checking 7900checking 8000checking 8100checking 8200checking 8300checking 8400checking 8500checking 8600checking 8700checking 8800checking 8900checking 9000checking 9100checking 9200checking 9300checking 9400checking 9500checking 9600checking 9700checking 9800checking 9900checking 10000checking 10100checking 10200checking 10300checking 10400checking 10500checking 10600checking 10700checking 10800checking 10900checking 11000checking 11100checking 11200checking 11300checking 11400checking 11500checking 11600checking 11700checking 11800checking 11900checking 12000checking 12100checking 12200checking 12300checking 12400checking 12500checking 12600checking 12700checking 12800checking 12900checking 13000checking 13100checking 13200checking 13300checking 13400checking 13500checking 13600checking 13700checking 13800checking 13900checking 14000checking 14100checking 14200checking 14300checking 14400checking 14500checking 14600checking 14700checking 14800checking 14900checking 15000checking 15100checking 15200checking 15300checking 15400checking 15500checking 15600checking 15700K 15791checking 1000checking 2000checking 3000checking 4000checking 5000checking 6000checking 7000checking 8000checking 9000checking 10000checking 11000checking 12000checking 13000checking 14000checking 15000checking 16000checking 17000checking 18000checking 19000checking 20000checking 21000checking 22000checking 23000checking 24000checking 25000checking 26000checking 27000checking 28000checking 29000checking 30000checking 31000checking 32000checking 33000checking 34000checking 35000checking 36000checking 37000checking 38000checking 39000checking 40000checking 41000checking 42000checking 43000checking 44000checking 45000checking 46000checking 47000checking 48000checking 49000checking 50000checking 51000checking 52000checking 53000Kp 53712checking 100checking 200checking 300checking 400checking 500checking 600checking 700checking 800checking 900checking 1000checking 1100checking 1200checking 1300checking 1400checking 1500checking 1600checking 1700checking 1800checking 1900checking 2000checking 2100checking 2200checking 2300checking 2400checking 2500checking 2600checking 2700checking 2800checking 2900checking 3000checking 3100checking 3200checking 3300checking 3400checking 3500checking 3600checking 3700checking 3800checking 3900checking 4000checking 4100checking 4200checking 4300checking 4400checking 4500checking 4600checking 4700checking 4800checking 4900checking 5000checking 5100checking 5200checking 5300checking 5400checking 5500checking 5600checking 5700checking 5800checking 5900checking 6000checking 6100checking 6200checking 6300checking 6400checking 6500checking 6600checking 6700checking 6800checking 6900checking 7000checking 7100checking 7200checking 7300checking 7400checking 7500checking 7600checking 7700checking 7800checking 7900checking 8000checking 8100checking 8200checking 8300checking 8400checking 8500checking 8600checking 8700checking 8800checking 8900checking 9000checking 9100checking 9200checking 9300checking 9400checking 9500checking 9600checking 9700checking 9800checking 9900checking 10000checking 10100checking 10200checking 10300checking 10400checking 10500checking 10600checking 10700checking 10800checking 10900checking 11000checking 11100checking 11200checking 11300checking 11400checking 11500checking 11600checking 11700checking 11800checking 11900checking 12000checking 12100checking 12200checking 12300checking 12400checking 12500checking 12600checking 12700checking 12800checking 12900checking 13000checking 13100checking 13200checking 13300checking 13400checking 13500checking 13600checking 13700checking 13800checking 13900checking 14000checking 14100checking 14200checking 14300checking 14400checking 14500checking 14600checking 14700checking 14800checking 14900checking 15000checking 15100checking 15200checking 15300checking 15400checking 15500checking 15600checking 15700checking 15800checking 15900checking 16000checking 16100checking 16200checking 16300checking 16400checking 16500checking 16600checking 16700checking 16800checking 16900checking 17000checking 17100checking 17200checking 17300checking 17400checking 17500checking 17600checking 17700checking 17800checking 17900checking 18000checking 18100checking 18200checking 18300checking 18400checking 18500checking 18600checking 18700checking 18800checking 18900checking 19000checking 19100checking 19200checking 19300checking 19400checking 19500checking 19600checking 19700checking 19800checking 19900checking 20000checking 20100checking 20200checking 20300checking 20400checking 20500checking 20600checking 20700checking 20800checking 20900checking 21000checking 21100checking 21200checking 21300checking 21400checking 21500checking 21600checking 21700checking 21800checking 21900checking 22000checking 22100checking 22200checking 22300checking 22400checking 22500checking 22600checking 22700checking 22800checking 22900checking 23000checking 23100checking 23200checking 23300checking 23400checking 23500checking 23600checking 23700checking 23800checking 23900checking 24000checking 24100checking 24200checking 24300checking 24400checking 24500checking 24600checking 24700checking 24800checking 24900checking 25000checking 25100checking 25200checking 25300checking 25400checking 25500checking 25600checking 25700checking 25800checking 25900checking 26000checking 26100checking 26200checking 26300checking 26400checking 26500checking 26600checking 26700checking 26800checking 26900Kq 26920pwnedp 30061432003658510087798871614869318011389940352798147030129806359975911392091235344042288409629143229311060231549478211871643725394470760528211801310601767727834886942210718412087541234398453046895030858579989874035849439867334906873642352112428914855967993998732685221108379784833027771293275558876952608462050146340591449046825135890871650866799299533696175818103240024841274114925018619060818213433528894936128306780366785977567327073724428211445259983614467640785163297734447975723664659822673456683284394386723716344090232882990461174301609971805075768328757325956784604364401827152431260896927633163074694121679q 26136662545551829820746942051638228325025130519175536694008242208616774469870765684858288042819063837180243501117310278632509413217676559484513481677689042623348188876598901642459170232360966754692434316796014314498263800234390539118817050074978421973817764644287745302885861277447227180288605200894138168586207384484170481511828680117688324729381172912436910052489279406590356734739774635376711681212908417321705094537960645308009611045658947359297373154395500467689532455017647450616447445444254910371922944620114234547655209970657063715028350418518417105772707885648587233103869340985670430269862943630137067052883d 189314060947745787654498165274830331174557121266906779862419555225211185530603428281572732893609400752227106390673469015633513601478376007980907685218789784684913841408741295031489754782076172169319157484287361680256043362028296440972189429040371100663239858141284465980874067131885490419967590348201189710575833318886977656522342412509705514383478694693754208398422979228753024497378460051423550810294749332024347106310964901579178253736977778221603016185935642494136204931234524722205937195008837883867578968312663507844825332250280433460469722801545785384920549610305670512211052257540691951435317870875619595628937534523394133353929222521584160841354771534449084153424347188585906251861248309552253930838373561942975707303028732726506301413434343525650181088504211290391497726019689042160550200171411457613452966587499555164618905387343295621486012988196484264365061465147262989915838838473704337695423465093089724153892389725410085609729143077814394217461295117827225090618358013844801017475143005461542391824369921894127873221707688828770261365746173721607819236320716542560206858465665216449930570401369383789211423678295673603341013341777685726223028517376052521329317581752900566710098686429294852358239672182937051082392901-----BEGIN RSA PRIVATE KEY-----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-----END RSA PRIVATE KEY-----┌──(holyeyes㉿kali2023)-[~/Misc/RSA/godlikeRSA]└─$
接着将私钥文件修复脚本fix.py恢复出私钥来存放到文件private.pem中。 这就结束了吗没有god不是白叫的。你会发现你根据私钥使用openssl直接解密密文文件解不开而且直接根据pqdc也无法直接求出m。这里又涉及到了RSA加密的填充模式。 这里使用的是PKCS1_OAEP填充模式参考链接: RSA加密填充模式
www.cnblogs.com/lzl-sml/p/3501447.html
然后接着运行下面的脚本即可得到flag。
┌──(holyeyes㉿kali2023)-[~/Misc/RSA/godlikeRSA]└─$ openssl rsautl -decrypt -inkey private.pem -keyform PEM -in flag.enc -oaepThe command rsautl was deprecated in version 3.0. Use pkeyutl instead.PCTF{0h_U_r_ju5t_lik3_g0d}