Welcome to Learning Encryption with Python
Intention
The intention of this repository is to document my journey through a self-guided project to learn the mathematics of encryption and to provide a learning resource for anyone with a similar goal or interest.
General concepts
There is some mathematics involved in each section, but I will attempt to start of with very general descriptions of concepts using words and diagrams that I have created so that you do not have to delve into the mathematics if you do not feel comfortable with it.
Technical descriptions
I will follow up with more technical sections containing the underlying mathematics and some accompanying python code that demonstrates the concepts at a lower level.
Python examples
I will provide working examples and instructions on how to run the python code examples so that others can use, understand or change what I have done to help them learn at a depth they are comfortable with.
Degree of difficulty
I will attempt to apply a difficulty icon to indicate the level of technical understanding required so people can skip over parts that they may not want to delve into. I will try to make it accessible for non-technical readers, but also informative for more technical learners.
Why?
I don’t feel I can speak confidently about something unless I know the underlying reasons of how it works and why it exists. I hope this project is as helpful for you as it is for me writing it.
Open and free
I will use open-source/free products only to create the content so that anyone can contribute if they wish to. So, please feel free to comment/contribute to the project. I have provided a list of references below which will grow as I progress.
Naming
I may change the name near the end of the project to something more snappy.
References
See reference sections at the bottom of each page also.
Cryptography and Python book: Implementing+Cryptography+Using+Python
Addition, Subtraction, Multiplication, Division, Roots, Exponentiation, Logarithm: Arithmetic_operations
Integer Factorisation: Integer_factorization
Prime Factorisation: make-your-own-prime-factorization
Factors and Prime Factors:
factors-of-26
factors-all-tool
Prime Numbers: Prime Numbers
Euler’s Totient Function: Video: Euler’s Totient Function introduction and https://www.youtube.com/watch?v=2JY3P3aHUJk - recommended viewing, Michael Penn’s series are excellent.