Lesson 01: RSA

Rivest–Shamir–Adleman (1977) · Keygen · Encrypt/Decrypt · Extended Euclidean · Attacks

1. RSA Key Generator

Chọn hai số nguyên tố p, q từ danh sách — hệ thống tính n, φ(n), e, d tự động. Xem toàn bộ quá trình Extended Euclidean.
p = 11
q = 13

Extended Euclidean — tính d từng bước

2. Mã hóa & Giải mã

Nhập message m (0 < m < n). Xem c = m^e mod n và giải mã lại.

3. Fast Exponentiation (Square-and-Multiply)

Tính base^exp mod n bằng bình phương lặp — O(log exp) phép nhân thay vì O(exp).

4. Attack Demos

4a. Small Exponent Attack

Nếu e=3 và m nhỏ (m³ < n), thì c = m³ chính xác — không có phép mod. Recover m = ∛c đơn giản.

4b. Common Modulus Attack

Cùng n, hai exponent e₁, e₂ với gcd(e₁,e₂)=1, hai ciphertext c₁=m^e₁, c₂=m^e₂ → recover m dùng Extended Euclidean.