In this repository we have an introduction to mathematics and cryptography. This is focused on teaching software engineers the necessary mathematics to understand Public-Key Cryptography; specifically, the goal is to teach digital signatures and Elliptic Curve Cryptography. Additional material on Pairing-based Cryptography, Zero-Knowledge Proofs, and Secret Sharing protocols is included. We discuss parts of Symmetric Key Cryptography (particularly hash functions and their applications), but that is not the primary focus.
In examples/
, we include Python3 scripts for most of the examples.
This allows individuals to modify the examples from the text
as they seek a deeper understanding of the mathematics and cryptography.
This document has been looked over multiple times, but it is still in the development stage because it needs more field testing.