z3

Zh3r0 CTF V2 | Twist and Shout

#zh3ro_CTF_2021 from secret import flag import os import random state_len = 624*4 right_pad = random.randint(0,state_len-len(flag)) left_pad = state_len-len(flag)-right_pad state_bytes = os.urandom(left_pad)+flag+os.urandom(right_pad) stat…

Zh3r0 CTF V2 | import numpy as MT

#zh3ro_CTF_2021 #good_challenges_2021 import os from numpy import random from Crypto.Cipher import AES from Crypto.Util.Padding import pad from secret import flag def rand_32(): return int.from_bytes(os.urandom(4),'big') flag = pad(flag,16…

SECCON CTF 2022 Quals | janken vs kurenaif

#SECCON_CTF_2022_Quals import os import signal import random import secrets FLAG = os.getenv("FLAG", "fake{cast a special spell}") def janken(a, b): return (a - b + 3) % 3 signal.alarm(1000) print("kurenaif: Hi, I'm a crypto witch. Let's a…

BlackHat MEA CTF Quals 2022 | nothing up my sbox

#!/usr/local/bin/python # # Polymero # # Imports import os, time from secrets import randbelow from hashlib import sha256 # Local imports FLAG = os.environ.get('FLAG').encode() class NUMSBOX: def __init__(self, seed, key): self.sbox = self…

Zh3r0 CTF V2 | Real Mersenne

#zh3ro_CTF_2021 import random from secret import flag from fractions import Fraction def score(a,b): if abs(a-b)<1/2**10: # capping score to 1024 so you dont get extra lucky return Fraction(2**10) return Fraction(2**53,int(2**53*a)-int(2**…

3kCTF-2021 | SMS

#3kCTF-2021 SBOX = [0xb9, 0xb3, 0x49, 0x94, ...] # 略 def pad(data): if len(data) == 0: return b"\x00" * 8 while len(data) % 8 != 0: data += b"\x00" return data def sub(state): return [SBOX[x] for x in state] def mix(block, state): for i i…

0CTF/TCTF Quals 2021 | zer0lfsr

#0CTF_Quals_2021 minusとplusとplusplusがある。Generator1, 3はz3で解けるがGenerator2はそうはいかず、難しい LFSR NLFSR KDF Fast Correlation Attack https://rkm0959.tistory.com/228 https://github.com/M0urn3r/My-Public-CTF-Challenges#zer0lfsr++…

0CTF 2019 Quals | zer0lfsr

from secret import init1,init2,init3,FLAG import hashlib assert(FLAG=="flag{"+hashlib.sha256(init1+init2+init3).hexdigest()+"}") class lfsr(): def __init__(self, init, mask, length): self.init = init self.mask = mask self.lengthmask = 2**(…

0CTF Finals 2021 | ezmat

#0ctf2021finals from hashlib import sha256 from secret import flag global p, alphabet p = 71 alphabet = '=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!?_{}<>' flag = flag.lstrip('flag{').rstrip('}') assert len(flag) == 2…

foobarCTF 2022 | new intern

#foobarCTF_2022 #!/usr/bin/env python3 from Crypto.Util.number import * from random import getrandbits flag = b'***********************REDACTED***********************' FLAG = bytes_to_long(flag) p = getStrongPrime(512) q = getStrongPrime(5…

ASIS CTF 2020 | hadamard

z3

アダマール行列(全要素が で、となる)の一部分が? に置き換えられた行列が与えられるので、?を適切に埋める。 アダマール行列は簡単な構成法がある(Sylvester's constructionなど)のだが、行列式の値を変えないような変形、すなわち、行と行のswap, 列同…

InCTF 2020 | Mix & Mash

#inctf2020 #!/usr/bin/env python2 import random import sys from stuff import flag def ROL32(x, y): return (((x) << (y)) ^ ((x) >> (32 - (y)))) & 0xFFFFFFFF def LSB(x): return x & 0x00000000FFFFFFFF def TIMES2(x): if (x & 0x8000000000000000…

CakeCTF 2021 | improvisation

#cakectf2021 import random def LFSR(): r = random.randrange(1 << 64) while True: yield r & 1 b = (r & 1) ^\ ((r & 2) >> 1) ^\ ((r & 8) >> 3) ^\ ((r & 16) >> 4) r = (r >> 1) | (b << 63) if __name__ == '__main__': with open("flag.txt", "rb")…

CPCTF 2021 | xorsa

z3

import os from Crypto.Util.number import isPrime state = int.from_bytes(os.urandom(4), "big") def xorshift(): global state y = state y = y ^ (y << 13) y = y & 0xffffffff y = y ^ (y >> 17) y = y & 0xffffffff y = y ^ (y << 5) y = y & 0xfffff…

Cyber Apocalypse 2021 | Wii Phit

#cyber_apocalypse_ctf_2021 from Crypto.Util.number import bytes_to_long from secrets import FLAG,p,q N = p**3 * q e = 0x10001 c = pow(bytes_to_long(FLAG),e,N) print(f'Flag: {hex(c)}') # Hint w = 25965460884749769384351428855708318685345170…