An open API service indexing awesome lists of open source software.

https://github.com/thedvlprguy/learn-rsa

a list of curated resources to learn rsa for ctfs
https://github.com/thedvlprguy/learn-rsa

List: learn-rsa

awesome awesome-list resources rsa rsa-algorithm rsa-cryptography rsa-encryption

Last synced: 2 months ago
JSON representation

a list of curated resources to learn rsa for ctfs

Awesome Lists containing this project

README

          

# πŸ” Learn RSA: Rivest–Shamir–Adleman Cryptosystem

RSA is one of the most widely used **public-key cryptosystems** in the world. It enables **secure data transmission** by using **asymmetric encryption** – with a **public key** for encryption and a **private key** for decryption.

This repository is your **one-stop guide to mastering RSA**, from foundational math to real-world cryptanalysis and coding.

---

## πŸ“š Topics You’ll Learn

- βœ… What is RSA and how it works
- βœ… Asymmetric vs symmetric cryptography
- βœ… Mathematical background (modulus, primes, Euler’s totient)
- βœ… Key generation (public/private)
- βœ… Encryption and decryption process
- βœ… Why RSA is secure
- βœ… Code implementations
- βœ… Real-world attacks and use-cases
- βœ… Padding, hybrid encryption, TLS usage

---

## πŸ“˜ Learning Resources

### πŸ› οΈ Beginner-Friendly & Interactive

1. [**Crypto101 - RSA**](https://crypto101.io/)
- Interactive explanations and padding schemes.

2. [**Practical Cryptography for Developers**](https://cryptobook.nakov.com/)
- Hands-on guide with real-world examples.

3. [**Visual RSA Walkthrough**](https://www.cs.drexel.edu/~jpopyack/IntroCS/HW/RSAWorksheet.html)
- Step-by-step RSA with small numbers (great for beginners).

---

### πŸ“– Academic & Deep Dive

4. πŸ“• [**Understanding Cryptography** – Christof Paar & Jan Pelzl](https://www.springer.com/gp/book/9783642041006)
- Highly recommended RSA explanation (Chapter 6).

5. πŸ“˜ [**Handbook of Applied Cryptography** – Free PDF](https://cacr.uwaterloo.ca/hac/)
- Chapter 8 gives in-depth RSA theory and algorithms.

6. πŸ“™ **Applied Cryptography** – Bruce Schneier
- Detailed cryptographic protocols and industry-grade insights.

---

### πŸ§ͺ Code Labs & Gamified Learning

7. [**Try RSA live** (small prime demo)](https://www.cs.drexel.edu/~jpopyack/IntroCS/HW/RSAWorksheet.html)

8. [**CryptoHack – RSA Challenges**](https://cryptohack.org/)
- Practice RSA encryption, decryption, and attacks in a gamified way.

9. [**Python RSA from Scratch (YouTube)**](https://www.youtube.com/watch?v=4zahvcJ9glg)
- Step-by-step implementation in Python.

---

### 🧰 Tools to Help You

- πŸ”’ [**dCode RSA Tool**](https://www.dcode.fr/rsa-cipher) – Encode/decode RSA easily
- 🧠 [**WolframAlpha Modular Calculator**](https://www.wolframalpha.com/input?i=modular+arithmetic) – For modulus arithmetic
- πŸ’» [**OpenSSL CLI**](https://wiki.openssl.org/index.php/Command_Line_Utilities) – Generate RSA keys and certificates

---

## 🧭 Next Steps

Once you're comfortable:

- πŸ“Œ Learn about **RSA Padding Schemes** (OAEP, PKCS#1)
- 🧨 Explore **Attacks on RSA** (Timing attacks, Chosen ciphertext, etc.)
- πŸ” Understand **Hybrid Encryption** (RSA + AES)
- 🌐 Study RSA in **TLS/SSL**, **SSH**, and real-world applications

---

## βš™οΈ Want to Build?

If you'd like to:

- ✏️ Implement RSA in Python or C++
- πŸ§ͺ Build your own RSA encryption/decryption terminal tool
- 🚩 Solve real-world RSA Capture-the-Flag (CTF) problems

> Open an issue or start a discussion – let’s build it together!

---