一般線形群

CakeCTF 2023 | janken vs yoshiking

#CakeCTF2023 import random import signal import os HANDNAMES = { 1: "Rock", 2: "Scissors", 3: "Paper" } def commit(M, m): while True: r = random.randint(2, 2**256) if r % 3 + 1 == m: break return M**r, r signal.alarm(1000) flag = os.enviro…

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

S4CTF 2021 | malady

#s4ctf_2021 #!/usr/bin/env sage from flag import flag def make_matrix(n): Zn = IntegerModRing(n) G = GL(2, Zn) while True: a, b, c, d = [randint(0, n - 1) for _ in range(4)] P = G([[a, b], [c, d]]) if P in G: return P def bpow(P, n): if n …

行列

あなたがここを訪れたとき本当に見たかったのは多分一般線形群か対称群では?

ASIS CTF Finals 2022 | vindica

#ASIS_CTF_Finals_2022 #!/usr/bin/env sage from Crypto.Util.number import * from flag import flag def genkey(nbit, k): p = getPrime(nbit) q = getPrime(nbit >> 2) n = p * q N = (p**k - 1) * (q**k - 1) while True: e = getRandomRange(1, n) if …

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…