rawPages = raw.split("\n\n") # List of pages pages = [] for page in rawPages: page = page curPage = [] for word in page.split("•"): primeWord = [] for letter in dmanip.sepStr(word, 3): primeWord.append(gemprim.runeToPrime([letter])[0]) curPage.append(primeWord) pages.append(curPage) # Cast to indexes pages = [[gemprim.primeToInt(word) for word in page] for page in pages] tryDecrypt(25, 3, 14, 3) sys.exit() # Brute force it pltxtDetails = [] for ipage in range(25,26):#len(pages)): page = pages[ipage] bruteOut("Page " + str(ipage)) for ikey in range(len(rkeys.allKeys)): key = rkeys.allKeys[ikey] bruteOut("> Key " + str(key[:5])) for shift in range(29):
letter = gemprim.primeToAsc([letter])[0] for c in letter: if c == "/": continue if "A" <= c <= "Z": txt += c txt += " " txt += "\n\n" hashPage = pages[55] dstats.graphFreq([gemprim.ascToStr(gemprim.primeToAsc(word)) for word in hashPage], 1) sys.exit() hashPage = [gemprim.primeToInt(i) for i in hashPage] plainPage = [] count = 0 for word in hashPage: plainWord = [] for c in word: plainWord.append((c - primes[count] + 1) % 29) count += 1 plainPage.append(plainWord) print [gemprim.primeToRune(gemprim.intToPrime(word)) for word in hashPage] print [gemprim.ascToStr(gemprim.primeToAsc(gemprim.intToPrime(word))) for word in plainPage]