Asymmetric encryption · Mã hóa bất đối xứng
Two keys instead of one
- Symmetric encryption has a problem: you must somehow share the secret key first.
- Asymmetric encryption uses a pair of keys: a public key and a private key.
Hai khóa thay vì một
- Mã hóa đối xứng có một vấn đề: bạn phải tìm cách chia sẻ khóa bí mật trước.
- Mã hóa bất đối xứng sử dụng một cặp khóa: một khóa công khai và một khóa riêng tư.
The padlock idea
- Your public key is like an open padlock you hand out to everyone.
- Anyone can lock a message shut with it — but only your private key can open it.
- So people send you secrets safely without ever sharing a secret key. That is the breakthrough.
Ý tưởng về ổ khóa
- Khóa công khai của bạn giống như một ổ khóa mở mà bạn trao cho tất cả mọi người.
- Ai cũng có thể dùng nó để khóa chặt tin nhắn — nhưng chỉ có khóa riêng của bạn mới mở được.
- Vì vậy, mọi người gửi bí mật cho bạn an toàn mà không bao giờ phải chia sẻ khóa bí mật. Đó chính là đột phá.
A tiny RSA
- RSA is real asymmetric encryption. With tiny numbers you can see it work:
- Encrypting and decrypting use different keys, yet the message comes back.
RSA thu nhỏ
- RSA là mã hóa bất đối thực sự. Với những con số nhỏ, bạn có thể thấy nó hoạt động:
n, e, d = 33, 3, 7 # public key (e, n), private key (d, n)
cipher = (7 ** e) % n # lock 7 with the public key
print((cipher ** d) % n) # unlock with the private key -> 7
- Mã hóa và giải mã sử dụng khóa khác nhau, nhưng tin nhắn vẫn trở lại bình thường.
Where you use it daily
- It also works in reverse for digital signatures (next lessons).
- Every time you see HTTPS, asymmetric encryption is quietly setting up a secure connection.
Covers: IGCSE 2.3 (asymmetric, public/private keys), A-Level 17.1, AP CSP.
Nơi bạn sử dụng hàng ngày
- Nó cũng hoạt động ngược lại đối với chữ ký số (bài học tiếp theo).
- Mỗi khi bạn thấy HTTPS, mã hóa bất đối đang âm thầm thiết lập kết nối an toàn.
Phạm vi: IGCSE 2.3 (bất đối, khóa công khai/riêng), A-Level 17.1, AP CSP.
Common mistakes
- A public key encrypts; only the matching private key decrypts.
- Never share the private key.
Lỗi thường gặp
- Khóa công khai mã hóa; chỉ có khóa riêng tương ứng mới giải mã được.
- Tuyệt đối không chia sẻ khóa riêng.
Public & private keys · Khóa công khai & khóa riêng tư
Anyone encrypts with your public key; only your private key decrypts. · Bất kỳ ai đều mã hóa bằng khóa công khai của bạn; chỉ có khóa riêng tư của bạn mới giải mã được.
Here is a tiny RSA with public key (e, n) and private key (d, n). Encrypt message with the public key (cipher = message**e % n), then decrypt with the private key (plain = cipher**d % n). Print plain — it should return to the original. · Đây là một ví dụ RSA đơn giản với khóa công khai (e, n) và khóa riêng tư (d, n). Mã hóa message bằng khóa công khai (cipher = message**e % n), sau đó giải mã bằng khóa riêng tư (plain = cipher**d % n). In ra plain — kết quả phải trả về giá trị ban đầu.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
The same keys also work in reverse — that is a digital signature. Sign with the private key (sig = message**d % n), then let anyone verify with the public key (sig**e % n). Print whether the verified value equals message. · Cùng các khóa này cũng hoạt động ngược lại — đó chính là chữ ký số. Ký bằng khóa riêng tư (sig = message**d % n), sau đó cho phép bất kỳ ai xác minh bằng khóa công khai (sig**e % n). In ra xem giá trị đã xác minh có bằng message hay không.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.