(Not a spoiler below)
In the following (interactive) code, the variable ciph contains a string of the hidden text. I think this text should match all occurences of two big characters that are next to each other, but it doesn't.
>>> import re
>>> pt = re.compile("[A-Z][A-Z]")
>>> print mt.match(ciph)
If I can figure out how to do this correctly, it would be a great help.