Khái niệm cơ bản
Public Key (khóa công khai) và Private Key (khóa riêng) là cặp khóa bất đối xứng dùng trong mật mã học hiện đại. Khóa công khai được chia sẻ rộng rãi, khóa riêng phải giữ bí mật tuyệt đối.
So sánh nhanh
| Đặc điểm | Private Key | Public Key |
|---|---|---|
| Bảo mật | Bí mật, chỉ chủ sở hữu | Công khai, ai cũng có |
| Chức năng | Giải mã & ký số | Mã hóa & xác thực chữ ký |
| Rủi ro mất | Hệ thống vô hiệu | Không lo mất (đã công khai) |
Cách hoạt động (Asymmetric Cryptography)
- Người gửi dùng Public Key của người nhận để mã hóa tin nhắn.
- Chỉ Private Key tương ứng của người nhận mới giải mã được.
- Người gửi cũng dùng Private Key của mình để ký số, người khác dùng Public Key để xác thực chữ ký.
Ứng dụng thực tế
- SSL/TLS (HTTPS): Server gửi Public Key trong chứng chỉ, client mã hóa session key bằng nó.
- SSH: Public Key đặt trên server, Private Key giữ trên client để đăng nhập không mật khẩu.
- Email mã hóa (PGP/GPG): Mã hóa bằng Public Key người nhận.
- Blockchain/Crypto: Private Key ký giao dịch, Public Key tạo địa chỉ ví.
Ví dụ minh họa
B muốn gửi tin mật cho C. B lấy Public Key của C mã hóa → chỉ C dùng Private Key của mình mới đọc được. Ngay cả B cũng không giải mã được sau khi đã mã hóa.
Lưu ý quan trọng
- Không bao giờ chia sẻ Private Key (kể cả admin server).
- Public Key có thể đăng tải công khai (keyserver, website, DNS).
- Độ dài khóa phổ biến: RSA 2048/4096-bit, ECC 256-bit (secp256k1, Ed25519).