9 jupytext_version: 1.3.4
11 display_name: Python 3
16 ```python Collapsed="false"
17 from szyfrow.keyword_cipher import *
18 from szyfrow.column_transposition import *
19 from szyfrow.support.text_prettify import *
22 ```python Collapsed="false"
24 plaintext_a_filename = f'plaintext.{challenge_number}a.txt'
25 plaintext_b_filename = f'plaintext.{challenge_number}b.txt'
26 ciphertext_a_filename = f'ciphertext.{challenge_number}a.txt'
27 ciphertext_b_filename = f'ciphertext.{challenge_number}b.txt'
30 ```python Collapsed="false"
31 ca = open(ciphertext_a_filename).read()
33 cb = open(ciphertext_b_filename).read()
37 ```python Collapsed="false"
38 (word_a, wrap_a), score_a = keyword_break_mp(sca, fitness=Ptrigrams)
39 print(word_a, wrap_a, '\n')
40 pa = keyword_decipher(ca, word_a, wrap_a)
44 ```python Collapsed="false"
45 keyword_decipher(ca, 'akela', wrap_a)
48 ```python Collapsed="false"
49 word_a, score_a = simulated_annealing_break(sca, fitness=Ptrigrams,
50 plain_alphabet=string.ascii_lowercase, cipher_alphabet=keyword_cipher_alphabet_of('akkad', wrap_alphabet=KeywordWrapAlphabet.from_largest))
52 pa = keyword_decipher(ca, word_a)
56 ```python Collapsed="false"
57 pa = prettify(keyword_decipher(sca, 'akela', wrap_alphabet=KeywordWrapAlphabet.from_a))
61 ```python Collapsed="false"
62 open(plaintext_a_filename, 'w').write(pa)
65 ```python Collapsed="false"
66 (word_b, wrap_b), score_b = keyword_break_mp(scb, fitness=Ptrigrams)
67 print(word_b, wrap_b, '\n')
68 pb = keyword_decipher(cb, word_b, wrap_b)
72 ```python Collapsed="false"
73 pb = prettify(keyword_decipher(scb, word_b, wrap_b))
77 ```python Collapsed="false"
78 open(plaintext_b_filename, 'w').write(pb)
81 ```python Collapsed="false"
83 [pbs[i+1] for i, w in enumerate(pbs) if w == 'stop']
86 ```python Collapsed="false"
87 cat(w[0] for w in pbs)
90 ```python Collapsed="false"
91 [len(s.strip().split()) for s in pb.split('stop')]
94 ```python Collapsed="false"
95 tt = ''.maketrans('rdf', 'RDF')
96 pbcap = wcat(pb.split()).translate(tt)
100 ```python Collapsed="false"
101 pbcap2 = cat(('\n' + c) if c.isupper() else c for c in pbcap)
105 ```python Collapsed="false"