resultant

HackTM CTF Quals 2023 | kaitenzushi

#HackTM_CTF_Quals_2023 #good_challenges_2023 from math import gcd from Crypto.Util.number import bytes_to_long, isPrime from secret import p, q, x1, y1, x2, y2, e, flag # properties of secret variables assert isPrime(p) and p.bit_length() …

0CTF Finals 2021 | ezrsa

#0ctf2021finals from Crypto.Util.number import * from secret import flag from os import urandom def gen(n_size, m_size): alpha = 0.5 delta = 0.03 d_size = int(delta * n_size) k_size = int((alpha + delta - 0.5) * n_size) c_size = int(n_size…

corCTF 2021 | lcg_k

#corctf2021 from Crypto.Util.number import bytes_to_long, inverse from hashlib import sha256 from secrets import randbelow from private import flag from fastecdsa.curve import P256 G = P256.G N = P256.q class RNG: def __init__(self, seed, …

ACSC 2021 | Two Rabin

#acsc2021 import random from Crypto.Util.number import * from Crypto.Util.Padding import pad from flag import flag p = getStrongPrime(512) q = getStrongPrime(512) n = p * q B = getStrongPrime(512) m = flag[0:len(flag)//2] print("flag1_len …

Coppersmith's Short Pad Attack

RSAで同一modにおける2つの暗号文があり、2つの平文の差が小さい時に使える攻撃。つまり このとき、としてresultantでを消去した を求めるとはだけの式になり、univariate coppersmith methodで小さい根を求められれば、Franklin-Reiter Related Message Att…

ACSC 2021 | swap on curve

#acsc2021 from params import p, a, b, flag, y x = int.from_bytes(flag, "big") assert 0 < x < p assert 0 < y < p assert x != y EC = EllipticCurve(GF(p), [a, b]) assert EC(x,y) assert EC(y,x) print("p = {}".format(p)) print("a = {}".format(a…