Done challenge 3
[cipher-challenge.git] / 2021 / 2021-challenge2.md
1 ---
2 jupyter:
3 jupytext:
4 formats: ipynb,md
5 text_representation:
6 extension: .md
7 format_name: markdown
8 format_version: '1.3'
9 jupytext_version: 1.11.1
10 kernelspec:
11 display_name: Python 3
12 language: python
13 name: python3
14 ---
15
16 ```python Collapsed="false"
17 from szyfrow.caesar import *
18 from szyfrow.affine import *
19 ```
20
21 ```python Collapsed="false"
22 challenge_number = 2
23 plaintext_a_filename = f'plaintext.{challenge_number}a.txt'
24 plaintext_b_filename = f'plaintext.{challenge_number}b.txt'
25 ciphertext_a_filename = f'ciphertext.{challenge_number}a.txt'
26 ciphertext_b_filename = f'ciphertext.{challenge_number}b.txt'
27 ```
28
29 ```python Collapsed="false"
30 ca = open(ciphertext_a_filename).read()
31 cb = open(ciphertext_b_filename).read()
32 ```
33
34 ```python Collapsed="false"
35 (m_a, a_a, z_a), score_a = affine_break(ca)
36 print(m_a, a_a, z_a, '\n')
37 pa = affine_decipher(ca, m_a, a_a, z_a)
38 print(pa)
39 ```
40
41 ```python Collapsed="false"
42 open(plaintext_a_filename, 'w').write(pa)
43 ```
44
45 ```python
46 (m_b, a_b, z_b), score_a = affine_break(cb)
47 print(m_b, a_b, z_b, '\n')
48 pb = affine_decipher(cb, m_b, a_b, z_b)
49 print(pb)
50 ```
51
52 ```python Collapsed="false"
53 open(plaintext_b_filename, 'w').write(pb)
54 ```
55
56 ```python Collapsed="false"
57
58 ```