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):
Exemple #2
0
            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]