okamoto-uchiyama

PoseidonCTF 2020 | discrete log

#!/usr/bin/env python3 from Crypto.Util.number import isPrime, getPrime, getRandomRange, bytes_to_long from flag import flag def keygen(): p = getPrime(1024) q = p**2 + (1<<256) while not(isPrime(q)): q += 2 n = p**2 * q while True: g = ge…

WaniCTF 2021 spring | OUCS

#wanictf2021spring import random from Crypto.Util.number import bytes_to_long, getPrime, long_to_bytes from const import description, flag, logo class OkamotoUchiyamaCryptoSystem: def __init__(self, bits: int): p, q = getPrime(bits), getPr…