# Back to the problem

:::{activity} Cryptography
Implement the cryptosystem in section {ref}`cryptography`. Requirements:

- Flowchart
- Has a command-line interface 
- Use modularization as much as possible, i.e., header files, functions for repetitive code.
- What was your modularization approach to each part you have implemented, i.e., CLI, Caesar, Vigenère? 1-3 sentences per part are enough. Include this test in your README.
- For your header files you use `include` folder.
- Your header file is documented using Doxygen syntax.

Optional: Additionally implement [Merkle-Hellmann Knapsack Cryptosystem](https://github.com/stanfordpython/python-assignments/tree/9fd0a2ed8795e4adf5bf19e6f8d4f9228b6ba0a7/assign1#merkle-hellman-knapsack-cryptosystem-optional).
:::
