X-Git-Url: http://git.tomasm.cz/krypto.git/blobdiff_plain/d4d908e66a7d5208a37e9a91c403e092b0bada22..4b73330546c7aeb978d3a382a36defebfb2444a7:/vigenere.py diff --git a/vigenere.py b/vigenere.py index a441f57..3197d07 100644 --- a/vigenere.py +++ b/vigenere.py @@ -2,12 +2,17 @@ from koincidence import rozklad from ocesavac import ocesat -from posuny import nej_posun +from posuny import nej_posun, posun from spolecne import cisla_na_text -def zjisti_heslo(zprava, delka_h): +def soucet(x, y): + return x + y + +def vsechno(zprava, delka_h): """Najde heslo dane delky, pri jehoz aplikaci budou frekvence znaku nejlepe - odpovidat cestine.""" + odpovidat cestine a patricne posunuty text.""" rozklady = rozklad(ocesat(zprava, False), delka_h) posuny = [nej_posun(text) for text in rozklady] - return cisla_na_text(posuny) \ No newline at end of file + posunute = [''.join([posun(c, posuny[i]) for c in rozklady[i]]) for i in range(len(posuny))] + vysledek = [x for x in reduce(soucet, (map(None, *posunute)[i] for i in range(len(rozklady[0])))) if x] + return cisla_na_text(posuny), ''.join(vysledek)