ALL the CTFS of Crypto2025 finally

This commit is contained in:
emln
2025-06-02 19:35:30 +02:00
parent aa0fe54b3b
commit 50c18f35b9
442 changed files with 1743 additions and 8 deletions

View File

@ -0,0 +1,22 @@
from Cryptodome.Util.number import bytes_to_long, getPrime, inverse
from pwn import *
HOST = "130.192.5.212"
PORT = "6646"
e = 65537
sleepT = 0.1
server = remote(HOST,PORT)
c = server.recv(1024).strip()
sleep(sleepT)
p = b'e4\n'
server.send(p)
sleep(sleepT)
pe = server.recv(1024).strip()
server.send(b'd')
server.send(str(int(pe)*int(c)))
server.send(b'\n')
sleep(sleepT)
d = int(server.recv(1024))
print(bytearray.fromhex(format(d // 4, "x")).decode())
#m = (pow(4, e, n) * c) % n

View File

@ -0,0 +1,19 @@
from Cryptodome.Util.number import bytes_to_long, getPrime, inverse
from secret import flag
p, q = getPrime(512), getPrime(512)
n = p*q
e = 65537
m = bytes_to_long(flag.encode())
print(pow(m, e, n))
for _ in range(3):
req = input()
if req[0] == 'e':
print(pow(int(req[1:]), e, n))
elif req[0] == 'd':
phi = (p-1)*(q-1)
d = inverse(e, phi)
dec = pow(int(req[1:]), d, n)
assert dec != m
print(dec)