行列

CakeCTF 2021 | Matirx Cipher

#cakectf2021 with open("flag.txt", "rb") as f: flag = list(f.read().strip()) def hadamard(M): d = M.determinant() x = 1.0 for row in M: x *= row.norm() return (d / x) ** (1.0/M.ncols()) def keygen(n, d): k = int(floor(sqrt(n) * d)) while T…

Backdoor CTF 2021 | mdh

#backdoorctf2021 #good_challenges_2021 from Crypto.Util.number import * import json from hashlib import sha256 def xor(a, b): return bytes([i^^j for (i, j) in zip(a, b)]) flag = open('flag.txt', 'rb').read() p = 130804003790372516314205890…

Union CTF | neo-classical key exchange

#UnionCTF 一般線形群上の離散対数問題 そしてこれは行列が対角化#### できないときには解ける import os from hashlib import sha1 from random import randint from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad FLAG = b"union{…

ASIS CTF Finals 2022 | Wedge

#ASIS_CTF_Finals_2022 #!/usr/bin/env sage import sys from secret import decrypt, flag def random_vec(k, B): Zn = Zmod(B) return [Zn(randint(0, B-1)) for _ in range(k)] def genkey(k, n): while True: uv = [random_vec(k, n) for _ in '01'] A, …

DownUnderCTF 2021 | yadlp

#joseph #downunderctf2021 def G_add(A, B): x1, y1 = A x2, y2 = B return ((x1*x2 + D*y1*y2) % p, (x1*y2 + x2*y1 + 2*y1*y2) % p) def G_mul(A, k): out = (1, 0) while k > 0: if k & 1: out = G_add(out, A) A = G_add(A, A) k >>= 1 return out def …

HSCTF 8 | agelaius-phoeniceus

#hsctf8 from sage.all import * import random flag = open('flag.txt','rb').read() class prng: co = [random_prime(2**64-1,False,2**63) for i in range(100)] n = int(next_prime(2**64)) def __init__(self): self.s = [random.randint(1,self.n) for…

UMASS CTF 2022 | hatmash

#UMASS_CTF_2022 #!/usr/bin/env python3 # # Polymero # # Imports import os # Local imports with open('flag.txt','rb') as f: FLAG = f.read() f.close() def bytes_to_mat(x): assert len(x) == 32 bits = list('{:0256b}'.format(int.from_bytes(x,'b…

SECCON 2021 | pppp

#kurenaif #seccon2021 from Crypto.Util.number import * from flag import flag p = getStrongPrime(512) q = getStrongPrime(512) n = p*q mid = len(flag) // 2 e = 65537 m1 = int.from_bytes(flag[:mid], byteorder='big') m2 = int.from_bytes(flag[m…

CrewCTF 2022 | matdlp

#CrewCTF_2022 FLAG = open('flag.txt', 'r').read().encode() p = 0x3981e7c18d9517254d5063b9f503386e44cd0bd9822710b4709c89fc63ce1060626a6f86b1c76c7cbd41371f6bf61dd8216f4bc6bad8b02a6cd4b99fe1e71b5d9ffc761eace4d02d737e5d4bf2c07ff7 m = 6 import …

Crypto CTF 2021 | Onlude

#cryptoctf2021 #!/usr/bin/env sage from sage.all import * from flag import flag global p, alphabet p = 71 alphabet = '=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!?_{}<>' flag = flag.lstrip('CCTF{').rstrip('}') assert l…