ALL the CTFS of Crypto2025 finally
This commit is contained in:
41
crypto-asimmetric/RSA-1/rsa_1.py
Normal file
41
crypto-asimmetric/RSA-1/rsa_1.py
Normal file
@ -0,0 +1,41 @@
|
||||
from Cryptodome.Util.number import bytes_to_long, getPrime
|
||||
#from secret import flag
|
||||
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)
|
||||
|
||||
e = 65537
|
||||
|
||||
"""p, q = getPrime(64), getPrime(64)
|
||||
n = p*q
|
||||
e = 65537
|
||||
print(n)
|
||||
m = bytes_to_long(flag)
|
||||
print(pow(m, e, n))"""
|
||||
|
||||
#p = 14364722473065221639
|
||||
#q = 12271643243945501447
|
||||
|
||||
p = 88824237363878748201253577036
|
||||
q = 866961515596671343895614356197
|
||||
|
||||
n = p*q
|
||||
phi = (p-1)*(q-1)
|
||||
res = egcd(e, phi)
|
||||
|
||||
#c = 46228309104141229075992607107041922411
|
||||
|
||||
c = 388435672474892257936058543724812684332943095105091384265939
|
||||
u = res[1]
|
||||
v = res[2]
|
||||
|
||||
decrypted = pow(c,u,n)
|
||||
|
||||
print(decrypted.to_bytes(decrypted.bit_length()//8+1,byteorder='big').decode())
|
||||
#P20 = 14364722473065221639
|
||||
#P20 = 12271643243945501447
|
||||
# 176278749487742942508568320862050211633
|
||||
# 46228309104141229075992607107041922411
|
||||
Reference in New Issue
Block a user