Whose Base Is It Anyway
Last updated
Last updated
from Crypto.Util.number import long_to_bytes
import base64
cipher = "ABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABBABAAAAABABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABBABAAAAABABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAAABABAAAABAABAAAABBABAAAABAABAAAAABABAAAAABABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAABAAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAABAABAAAABAABAAAABAABAAAAABABAAAAABABAAAABBABAAAABAABAAAAABABAAAAABABAAAABA"
def converter(figures, base):
#invert oder of figures (lowest count first)
figures = figures[::-1]
result = 0
#loop over all figures
for i in range(len(figures)):
#add the contirbution of the i-th figure
result += figures[i]*base**i
return result
curr_base = 2
print(cipher)
done = False
while not done:
figures = []
for char in cipher:
if char.islower() :
figures.append(26 + ord(char) - ord('a'))
elif ord(char) >= ord('A'):
diff = ord(char) - ord('A')
figures.append(diff)
while len(figures) % 8:
figures.append(0)
converted = converter(figures, curr_base)
result = long_to_bytes(converted)
# print(result)
cipher = result.decode()
print(curr_base)
print(cipher)
curr_base *= 2
if curr_base == 64:
break