projekty
/
krypto.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
testovani variant jakobsenova algoritmu
[krypto.git]
/
jakobsen.py
diff --git
a/jakobsen.py
b/jakobsen.py
index
1913a27
..
2e2caf1
100644
(file)
--- a/
jakobsen.py
+++ b/
jakobsen.py
@@
-29,12
+29,12
@@
def vzdalenost(tab1, tab2, abc=MABECEDA):
rozdil += abs(tab1[i][j] - tab2[i][j])
return rozdil
rozdil += abs(tab1[i][j] - tab2[i][j])
return rozdil
-def substituce(zprava, slovnik
, abc=MABECEDA
):
+def substituce(zprava, slovnik):
"""Vrati zpravu, ve ktere jsou znaky dane abecedy nahrazenypodle daneho
slovniku."""
pole = []
for char in zprava:
"""Vrati zpravu, ve ktere jsou znaky dane abecedy nahrazenypodle daneho
slovniku."""
pole = []
for char in zprava:
- if char in
abc
:
+ if char in
slovnik
:
pole.append(slovnik[char])
else:
pole.append(char)
pole.append(slovnik[char])
else:
pole.append(char)
@@
-58,7
+58,7
@@
def jakobsen(zprava, ref):
Jakobsenova algoritmu s danou referencni tabulkou."""
slovnik = dict(zip(poradi_dle_frekvence(zprava, ref.abeceda), ref.poradi))
tabulka = nova_tabulka(
Jakobsenova algoritmu s danou referencni tabulkou."""
slovnik = dict(zip(poradi_dle_frekvence(zprava, ref.abeceda), ref.poradi))
tabulka = nova_tabulka(
- substituce(zprava, slovnik
, ref.abeceda
),
+ substituce(zprava, slovnik),
ref.abeceda
)
vzdal = vzdalenost(tabulka, ref.tabulka, ref.abeceda)
ref.abeceda
)
vzdal = vzdalenost(tabulka, ref.tabulka, ref.abeceda)
@@
-70,7
+70,7
@@
def jakobsen(zprava, ref):
slovnik[x], slovnik[y] = slovnik[y], slovnik[x]
nova_vzdalenost = vzdalenost(
nova_tabulka(
slovnik[x], slovnik[y] = slovnik[y], slovnik[x]
nova_vzdalenost = vzdalenost(
nova_tabulka(
- substituce(zprava, slovnik
, ref.abeceda
),
+ substituce(zprava, slovnik),
ref.abeceda),
ref.tabulka,
ref.abeceda)
ref.abeceda),
ref.tabulka,
ref.abeceda)
@@
-90,6
+90,12
@@
def desifruj(zprava, mezery=True):
ref = pickle.load(soubor)
soubor.close()
slovnik = jakobsen(ocesat(zprava, mezery), ref)
ref = pickle.load(soubor)
soubor.close()
slovnik = jakobsen(ocesat(zprava, mezery), ref)
- return '\n'.join([''.join(substituce(zprava, slovnik
, ref.abeceda
)),
+ return '\n'.join([''.join(substituce(zprava, slovnik)),
' '.join(ref.abeceda),
' '.join([slovnik[c] for c in ref.abeceda])])
' '.join(ref.abeceda),
' '.join([slovnik[c] for c in ref.abeceda])])
+
+def __test():
+ 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())