hitcon_ctf_2022

HITCON CTF 2022 | Chimera

#HITCON_CTF_2022 import os from Crypto.Util.number import bytes_to_long, getPrime from Crypto.Cipher import AES from Crypto.Util.Padding import pad from hashlib import sha256 from secret import flag p = getPrime(384) q = getPrime(384) n = …

HITCON CTF 2022 | babySSS

#HITCON_CTF_2022 from random import SystemRandom from Crypto.Cipher import AES from hashlib import sha256 from secret import flag rand = SystemRandom() def polyeval(poly, x): return sum([a * x**i for i, a in enumerate(poly)]) DEGREE = 128 …

HITCON CTF 2022 | secret

#HITCON_CTF_2022 import random, os from Crypto.Util.number import getPrime, bytes_to_long p = getPrime(1024) q = getPrime(1024) n = p * q flag = open('flag','rb').read() pad_length = 256 - len(flag) m = bytes_to_long(os.urandom(pad_length)…

HITCON CTF 2022 | easy NTRU

#HITCON_CTF_2022 from Crypto.Util.number import bytes_to_long as b2l from Crypto.Util.number import long_to_bytes as l2b import random Zx.<x> = ZZ[] def convolution(f, g): return (f * g) % (x ^ n-1) def balancedmod(f, q): g = list(((f[i] + q/</x>…

HITCON CTF 2022 | superprime

#HITCON_CTF_2022 from Crypto.Util.number import getPrime, isPrime, bytes_to_long def getSuperPrime(nbits): while True: p = getPrime(nbits) pp = bytes_to_long(str(p).encode()) if isPrime(pp): return p, pp p1, q1 = getSuperPrime(512) p2, q2 …