加密的目标
第一种方法:第二种方法:
tcp流181
ZmxhZ3s0ZTg0YTExZjQ0NDBhYzlhYWM2MTYyZTNmMTQ1YzI5Mn0
flag{4e84a11f4440ac9aac6162e3f145c292}
EZ_RSA
共模攻击但是要先计算e1和e2 直接`对ec1和ec2分别开3次方和5次方`,得到e1和e2的字符串,分别去除A和D,得到e1和e2,最后共模攻击获得flag。解题代码:
from Crypto.Util.number import *
import gmpy2
def egcd(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = egcd(b % a, a)
return (g, x - (b // a) * y, y)
def deocode(e1,e2,n,c1,c2):
s = egcd(e1, e2)
s1 = s[1]
s2 = s[2]
if s1 < 0:
s1 = - s1
c1 = gmpy2.invert(c1, n)
elif s2 < 0:
s2 = - s2
c2 = gmpy2.invert(c2, n)
if gmpy2.gcd(e1, e2) == 1:
print("e1,e2互质")
message = pow(c1, s1, n) * pow(c2, s2, n) % n
flag = long_to_bytes(message)
print(flag)
elif gmpy2.gcd(e1, e2) != 1:
message = pow(c1, s1, n) * pow(c2, s2, n) % n
common_e = gmpy2.gcd(e1, e2)
print("e1,e2不互质,且公约数为" + str(common_e))
print(message)
flag = long_to_bytes((gmpy2.iroot(message, common_e)[0]))
print(flag)
if __name__ == '__main__':
n1= 18460760538786243664892472520956491857676356649005288841134830042668754735908873425700580401431869392597236310395468606264753503527796819525187443309830537569533777718640036533370021344812819478534261356139395202594230325693172971547399137188475876067250414424824768354545451689442437840523116196911547640868254788558150870748842755624086527019456436906099793714028950817954614206576077334854332764042927012402676090343657189309305331259882988185272261826224235285628397769633857458525903897633558224494287172432827010785228402709332977304627891603484469809396538030148978072664421664316052527668139081686491202434681
ec1= 24979839185643431898760549059477070141596292955202172081572583839065034831779499992829742773873064296311713734486020739853343887094398935731264
c1= 8123400145910061311072953052136708798481068477555692405905172128990691817997598194307367964223285496928446003254361500026109138607940516363104994841460612026217932437565830767471157400161554572655796658468255384681239930282242290735989716587459847445915877013638603764420664189914747859300488661244678828885408266795577798646500408900400794678835146756993669188163377668979442609487187830127641789050938931019008920737894986881446538635812966125252242489860171976981415507878095981611654174094891849678321525065503159298194407551268587960817813495771690454969412863469086847917870459694562108273287721175022496140317
n2= 18460760538786243664892472520956491857676356649005288841134830042668754735908873425700580401431869392597236310395468606264753503527796819525187443309830537569533777718640036533370021344812819478534261356139395202594230325693172971547399137188475876067250414424824768354545451689442437840523116196911547640868254788558150870748842755624086527019456436906099793714028950817954614206576077334854332764042927012402676090343657189309305331259882988185272261826224235285628397769633857458525903897633558224494287172432827010785228402709332977304627891603484469809396538030148978072664421664316052527668139081686491202434681
ec2= 2838620519239658396968146844964839207179863729944843241951228382052657801460586137213053314019699976475855578055607417923815486109050614096157077528657405905877896929808094661904905136761365045387901486261011216958309860644255996588189249
c2= 6074569634330697667681330492815244485958928804448504795548720761982447060164978108962640922011057135272551731865591503834327148647400414964389934640144435290288865391669973163686397560103082615569130786820580679239495370866985049283783485467154925312978043245878983163310461265289513707007112280084171260414428489408483263392654185685518421807036012289122142486215134070364757189584695023309891555064256313962955907431102506663411995855834940128525417923097985331597070813064126540144811158857525854487355133323248341618807984007389139247333333403755117839387511863281816978834393715220081492516983027736901669090517
byte_e1 = long_to_bytes(gmpy2.iroot(ec1, 3)[0]).split(b'D')[0]
byte_e2 = long_to_bytes(gmpy2.iroot(ec2, 5)[0]).split(b'A')[0]
e1 = int(byte_e1)
e2 = int(byte_e2)
deocode(e1,e2,n1,c1,c2)
flag{qwert11d4dce2ae36892cee977asdfgh}
标签:安徽省,gmpy2,信息安全,2024,flag,c2,c1,e1,e2 From: https://www.cnblogs.com/WTT001/p/18550327