Elliptic Curve Cryptography in Rust
with digital signature application
Description
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.
What You Will Learn!
- The theory behind finite cyclic groups and the discrete logarithm problem
- How elliptic curve works with finite fields at the bottom layer
- How to code in Rust a complete elliptic curve library that can be used in multiple crypto-systems: digital signatures, encryption, zero-knowledge proofs, etc.
- Implement in Rust a full digital signature algorithm (DSA) as a real life application
Who Should Attend!
- The course is intended for curious users who want to pull aside from the current mass of programmers that learn easy things. This curse deeps into Cryptographic applications, a topic that only some have experience with. Even if you don't desire to work in that, the course will give you valuable knowledge and problem-solving skills when you see the abbreviations "EC" or "DSA".