# 猜猜我是谁 猜对了直接秒出flag喔 from Crypto.Util.number import bytes_to_long, getPrime from secret import getflag
p = *** q = getPrime(1024) e = you guess! n = p * q m = bytes_to_long(getflag().encode()) c=pow(m, e, n) print(q) print(c) #p=one of ps #q=145721736470529261146573065574028992352505611489859183763269215489708531333597694809923949026781460438320576519639268582565188719134157402292313959218961804213310847081787824780075530751842057663327444602428455144829447776271394663729996984613471623158126083062443634493708467568220146024273763894704649472957 #c=17441814714407189483380175736850663249578989775568187792928771544069162420510939242665830363276698262009780462912108642025299275146709817979705069095332726251759039923303627023610865046363171692163473939115438686877494878334016463787558794121885354719336139401336137097548305393030069499625065664884238710759260231321106291200849044147840392021931720902340003746946851806025722944795391356835342258387797980787437188976704677008092850181043891802072500430200735973581081228711070923822341261809453662427341958883142789220800541626034573952425948295446202775198692920613709157662831071515700549093766182579873408465779 #flag=NSSCTF{*}
from Crypto.Util.number import * from decimal import Decimal import sys import gmpy2 sys.set_int_max_str_digits(1000000000) withopen("ps.txt","r") as f: data = f.readlines() q=145721736470529261146573065574028992352505611489859183763269215489708531333597694809923949026781460438320576519639268582565188719134157402292313959218961804213310847081787824780075530751842057663327444602428455144829447776271394663729996984613471623158126083062443634493708467568220146024273763894704649472957 c=17441814714407189483380175736850663249578989775568187792928771544069162420510939242665830363276698262009780462912108642025299275146709817979705069095332726251759039923303627023610865046363171692163473939115438686877494878334016463787558794121885354719336139401336137097548305393030069499625065664884238710759260231321106291200849044147840392021931720902340003746946851806025722944795391356835342258387797980787437188976704677008092850181043891802072500430200735973581081228711070923822341261809453662427341958883142789220800541626034573952425948295446202775198692920613709157662831071515700549093766182579873408465779
for i in data: p = i.strip() p = gmpy2.mpz(p) q = gmpy2.mpz(q) n = gmpy2.mul(p, q) phi = gmpy2.mul((p-1),(q-1)) d = inverse(65537,phi) m = pow(c,d,n) ifb'NSSCTF'in long_to_bytes(m): print(long_to_bytes(m))
io = remote("node1.anna.nssctf.cn",28598) data = io.recvuntil(':') for i inrange(666): data = str(data) n = int(n_obj.findall(data)[0].replace(r'\n', '')) e1 = int(e1_obj.findall(data)[0].replace(r'\n', '')) e2 = int(e2_obj.findall(data)[0].replace(r'\n', '')) c1 = int(c1_obj.findall(data)[0].replace(r'\n', '')) c2 = int(c2_obj.findall(data)[0].replace(r'\n[', '')) s,s1,s2 = gmpy2.gcdext(e1,e2) m=(pow(c1,s1,n)*pow(c2,s2,n))%n io.send(long_to_bytes(m)) if i == 665: data = io.recvline() data = io.recvline() data = io.recvline() print(data) else: data = io.recvuntil('[+] Pl Give Me flaag :') print(data)