corctf2021

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, …

corCTF 2021 | bank

#corctf2021 import numpy as np import math import random flag = open('flag.txt').read() class Qubit: def __init__(self, vector): self.vec = vector def x(self): mat = np.array([[0, 1], [1, 0]]) self.vec = mat.dot(self.vec) def y(self): mat …

corCTF 2021 | fried rice

#corctf2021 from random import shuffle, randrange, randint from os import urandom from Crypto.Util.number import getPrime, getStrongPrime, long_to_bytes from Crypto.Cipher import AES from Crypto.Util.Padding import pad from private import …

corCTF 2021 | babypad

#corctf2021 from Crypto.Cipher import AES from Crypto.Util import Counter from Crypto.Util.Padding import pad, unpad from Crypto.Util.number import bytes_to_long import os flag = open("/challenge/flag.txt").read().encode() key = os.urandom…

corCTF 2021 | fibinary

#corctf2021 fib = [1, 1] for i in range(2, 11): fib.append(fib[i - 1] + fib[i - 2]) def c2f(c): n = ord(c) b = '' for i in range(10, -1, -1): if n >= fib[i]: n -= fib[i] b += '1' else: b += '0' return b flag = open('flag.txt', 'r').read() …

corCTF 2021 | supercomputer

#corctf2021 from Crypto.Util.number import getPrime, long_to_bytes from pwn import * import random, binascii flag = open('flag.txt').read() def v(p, k): ans = 0 while k % p == 0: k /= p ans += 1 return ans p, q, r = getPrime(2048), getPrim…

corCTF 2021 | mystery stream

#corctf2021 from random import randrange from secrets import flag, key from Crypto.Util.number import long_to_bytes def bsum(state, taps, l): ret = 0 for i in taps: ret ^= (state >> (l - i)) return ret & 1 class Gen: def __init__(self, key…

corCTF 2021 | leave it to chance

#corctf2021

corCTF 2021 | babyrsa

#corctf2021 from Crypto.Util.number import bytes_to_long n = 7354261656064787756554403678873802520293938142515873772154439835685178740118351616322183701392955956899384404680418797770537628910806512688360356290494174865360783635826735966404…

corCTF 2021 | dividing secrets

#corctf2021 from Crypto.Util.number import bytes_to_long, getStrongPrime from random import randrange from secret import flag LIMIT = 64 def gen(): p = getStrongPrime(512) g = randrange(1, p) return g, p def main(): g, p = gen() print("g:"…

corCTF 2021 | 4096

#corctf2021 from Crypto.Util.number import getPrime, bytes_to_long from private import flag def prod(lst): ret = 1 for num in lst: ret *= num return ret m = bytes_to_long(flag) primes = [getPrime(32) for _ in range(128)] n = prod(primes) e…