From: Tomas Musil Date: Tue, 3 Apr 2012 23:11:07 +0000 (+0200) Subject: jakobsen X-Git-Url: http://git.tomasm.cz/krypto.git/commitdiff_plain/700c98b9b1095e2876a217855ce44780064c15e7?hp=716701f58ac91d6806c43e77f4070cba571a133c jakobsen Prerazeni zpravy podle frekvence. --- diff --git a/jakobsen.py b/jakobsen.py index 34eac4b..c4f82bc 100644 --- a/jakobsen.py +++ b/jakobsen.py @@ -61,7 +61,6 @@ def prohod(sl_a, sl_b, tabulka): return def jakobsen(zprava, ref): - # TODO?zacit se substituci podle poradi frekvenci """Pro danou sifrovanou zpravu vrati substitucni slovnik odvozeny s pomoci Jakobsenova algoritmu s danou referencni tabulkou.""" slovnik = dict(zip(ref.abeceda, ref.abeceda)) @@ -89,10 +88,14 @@ def desifruj(zprava, mezery=True): soubor = open('bref') ref = pickle.load(soubor) soubor.close() + zprava = substituce(zprava, dict(zip(poradi_dle_frekvence(zprava, ref.abeceda), ref.poradi)), ref.abeceda) slovnik = jakobsen(ocesat(zprava, mezery), ref) return '\n'.join([''.join(substituce(zprava, slovnik, ref.abeceda)), ' '.join(ref.abeceda), ' '.join([slovnik[c] for c in ref.abeceda])]) def __test(): - print desifruj('Sel pes do lesa a potkal dlazebni kostku.'.upper()) \ No newline at end of file + print desifruj('Mxbhfxn cbfbhinpr, wnx fv f gvzuyr cbenqv.'.upper()) + +def __test2(): + print desifruj('Sel pes do lesa a potkal dlazebni kostku. Chtelo by to jeste o neco delsi test, to tedy jo.'.upper())