Appearance
Explore the Farm very carefully!
Files given:
python
F = list(GF(64))
def keygen(l):
key = [F[randint(1, 63)] for _ in range(l)]
key = math.prod(key) # Optimization the key length :D
return key
...
# KEEP IT SECRET
key = keygen(14) # I think 64**14 > 2**64 is not brute-forcible :P
enc = encrypt(flag, key)
print(f'enc = {enc}')The code uses a key that looks like it should have a search space, but since it is operating in , the key space is actually , hence we can write a simple brute force script to enumerate all possible keys and get the flag.
Solution at solve.sage