+ "kb, sb = vigenere_frequency_break(sanitise(cb))\n",
+ "kb, sb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "over the years the heroic role of agricola at watling street came to the notice of rome and two\n",
+ "decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years\n",
+ "after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue\n",
+ "the order to implement the new imperial ciphers invented by the cipher school in the intervening\n",
+ "years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum\n",
+ "with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of\n",
+ "caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune\n",
+ "marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a\n",
+ "reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in\n",
+ "a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of\n",
+ "along march had exhausted his men they were not ready for battle and ca to should have sent for\n",
+ "reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he\n",
+ "launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians\n",
+ "the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops\n",
+ "in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the\n",
+ "blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows\n",
+ "upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway\n",
+ "against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to\n",
+ "organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line\n",
+ "against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and\n",
+ "many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the\n",
+ "brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila\n",
+ "and worse the legions copy of the codex had also gone the documents left to me by agricola are\n",
+ "unclear on this point did he know that the codex might have fallen into enemy hands and that a\n",
+ "second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an\n",
+ "orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the\n",
+ "battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as\n",
+ "you have most graciously requested i have finished my affairs herein britannia in preparation for\n",
+ "returning to your side in rome it please sme to report to you that by acts of diplomacy and strength\n",
+ "i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us\n",
+ "who has remained free since the wars against boudicca and the iceni his letter appears to have been\n",
+ "a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most\n",
+ "recent letter i have been most troubled it appears clear to me that the situation in britannia has\n",
+ "worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining\n",
+ "affairs in the province and do not undertake any action which mayen flame the current tensions\n",
+ "between yourself and the caledon ii the final line of the emperors letter set a deadline for\n",
+ "agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps\n",
+ "he felt that contrition was a safer refuge whatever agricola knew at that point within a month his\n",
+ "world had been turned upsidedown as further reports from caledonia made clear that his hope of\n",
+ "restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae\n",
+ "and to determine what had happened to the codex before returning to rome those who read on must\n",
+ "search for the truth in the spiritual home of the amazons\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(prettify(vigenere_decipher(sanitise(cb), kb)))"