from Crypto.Util.number import * from gmpy2 import *
# 维纳攻击
c = 37625098109081701774571613785279343908814425141123915351527903477451570893536663171806089364574293449414561630485312247061686191366669404389142347972565020570877175992098033759403318443705791866939363061966538210758611679849037990315161035649389943256526167843576617469134413191950908582922902210791377220066 e = 46867417013414476511855705167486515292101865210840925173161828985833867821644239088991107524584028941183216735115986313719966458608881689802377181633111389920813814350964315420422257050287517851213109465823444767895817372377616723406116946259672358254060231210263961445286931270444042869857616609048537240249 n = 86966590627372918010571457840724456774194080910694231109811773050866217415975647358784246153710824794652840306389428729923771431340699346354646708396564203957270393882105042714920060055401541794748437242707186192941546185666953574082803056612193004258064074902605834799171191314001030749992715155125694272289
d = 1485313191830359055093545745451584299495272920840463008756233 print(long_to_bytes(pow(c,d,n))) # b'flag{d3752538-90d0-c373-cfef-9247d3e16848}'
rsa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from Crypto.Util.number import * from gmpy2 import *
p = 368751654879714877087975516875168751974879716873087714877516875971487715687516888458327 q = 368751654879714877087975516875168751974879716873087714877516875971487715687518277898523 r = 368751654879714877087975516875168751974879716873087714877516875971487715687518438089619 n = 50142032499469550407421604706771611415193641755639270667473328045908799316205905505167271138079522738272643811917325451177986948493659090203974349370248583120022500722759239305447823602875823849366662503027591858371125301505134216095903796534740686834236150999 e = 65537 c = 45005399504992587510006608300548120810512973768886391125598523343330913326304417790989607300367232977960116381108873363343598357102136548218343380795022179607741940866191404186680657699739176842869814452906110393321567314747096161480003824583613027819960172221
phi = (p-1)*(q-1)*(r-1) d = invert(e,phi) print(long_to_bytes(pow(c,d,n)))
output = ''# out.txt list1 = [int(i) for i inlist((output[100:200]))] y = vector(GF(2),list1) #值向量 list2 = [] for i inrange(100): list2.append([int(j) for j inlist(reversed(output[i:i+100]))]) x = matrix(GF(2),list2) #系数矩阵 mask = x.solve_right(y) #解方程x*mask=y mask = ''.join([str(i) for i inlist(mask)]) flag = int(mask,2) print(flag) # flag{856137228707110492246853478448}