tsgctf_2021

TSGCTF 2021 | Baba is Flag

#hakatashi #TSGCTF_2021 require 'openssl' require 'digest' STDOUT.sync = true class OpenSSL::PKey::EC::Point def xy n = to_bn(:uncompressed).to_i mask = (1 << group.degree) - 1 return (n >> group.degree) & mask, n & mask end alias_method :…

TSGCTF 2021 | Minimalist's Private

#TSGCTF_2021 from Crypto.Util.number import isPrime from random import randrange from secret import p, q, L, e, d class RSA: def __init__(self, p, q, L, e, d): assert(isPrime(p) and isPrime(q)) self.N = p * q self.L = L self.e = e self.d =…

TSGCTF 2021 | Lumberjack in Nature

#TSGCTF_2021 from mpmath import mp, power, ln import json mp.dps = 1000000000 def decode(enc): return int(power(2, enc * ln(2))) s, e = json.load(open('encoded.json')) flag = decode(s << e) print(flag.to_bytes((flag.bit_length() + 7) // 8,…

TSGCTF 2021 | Flag is Win

#TSGCTF_2021 #hakatashi require 'openssl' require 'digest' STDOUT.sync = true class OpenSSL::PKey::EC::Point def xy n = to_bn(:uncompressed).to_i mask = (1 << group.degree) - 1 return (n >> group.degree) & mask, n & mask end alias_method :…

TSGCTF 2021 | B??e64

#TSGCTF_2021 import random import string import base64 import os def gen_chal(): cs = string.ascii_lowercase + string.digits return ''.join(random.choices(cs, k=32)) def enc(s, encoding='ascii'): for _ in range(8): s = base64.b64encode(byt…

TSGCTF 2021 | This is DSA

#TSGCTF_2021 #hakatashi # See also https://github.com/tsg-ut/pycryptodome from Crypto.PublicKey import DSA from Crypto.Signature import DSS from Crypto.Hash import SHA256 from Crypto.Util.number import getPrime from Crypto.Random.random im…

TSGCTF 2021 | Beginner's Crypto 2021

#TSGCTF_2021 #hakatashi from secret import e from Crypto.Util.number import getStrongPrime, isPrime p = getStrongPrime(1024) q = getStrongPrime(1024) N = p * q phi = (p - 1) * (q - 1) with open('flag.txt', 'rb') as f: flag = int.from_bytes…