This course teaches you how elliptic curve groups work together with finite fields and how to implement a Rust library from scratch to perform basic groups' operations. Additionally, you will learn how to use EC groups in digital signature algorithms and extend its usage to other crypto-systems. The course provides both: theoretical and practical examples on every topic that is discussed.
The course is divided into three main sections:
1. A theory section where I explain what finite cyclic groups are. In particular, we will see some theorems that will help us to understand, for example, why it is important to use a group with "prime order".
2. A practical implementation in Rust of the Elliptic Curve library using Finite Fields in the bottom layer. You can in this part additionally create your one GitHub repository and use it as a showcase to recruiters or firms.
3. A digital signature application of the elliptic curve library developed so far. This is the moment where you use everything together to build something that solves a real-world problem.
The intended audience consists of curious people who want to dive into cryptography, maybe for the first time, and those who want to increase their knowledge of them. I promise you that after finishing the course, you will not have any more fear when you see abbreviations such as "EC" and "DSA" and will be substantially more literate in cryptography and Rust.