
GPG Encryption (GNU Privacy Guard) là công cụ mã hóa mã nguồn mở, triển khai chuẩn PGP (Pretty Good Privacy). GPG cho phép bảo vệ nội dung email và tệp tin qua hệ thống khóa công khai. Trong thời đại các vụ rò rỉ dữ liệu cá nhân gia tăng, GPG là cách đáng tin cậy nhất để đảm bảo quyền riêng tư giao tiếp số.
GPG Là Gì?
GnuPG là phần mềm mã hóa sử dụng cryptography khóa công khai. Mỗi người dùng tạo một cặp khóa: khóa riêng (private key) dùng để giải mã và ký, khóa công khai (public key) dùng để mã hóa và xác minh.
Khác với PGP thương mại của Symantec, GPG hoàn toàn miễn phí, mã nguồn mở, và tuân thủ chuẩn OpenPGP. GPG được phát hành lần đầu năm 1999 bởi Werner Koch, là một phần quan trọng của phong trào phần mềm tự do.
Nguyên Lý Mã Hóa
Hệ thống khóa công khai hoạt động theo ba nguyên tắc cơ bản:
- Mã hóa: Dùng khóa công khai của người nhận để mã hóa tin nhắn — chỉ người có khóa riêng mới giải mã được
- Giải mã: Dùng khóa riêng để giải mã tin nhắn được mã hóa bằng khóa công khai tương ứng
- Ký số: Dùng khóa riêng để ký tài liệu — bất kỳ ai có khóa công khai đều xác minh được tính xác thực

Cài Đặt GPG
Trên Linux
sudo apt install gnupg
gpg --version
Hầu hết các bản phân phối Linux đều cài sẵn GPG.
Trên macOS
Cài đặt GPG Suite — tích hợp sẵn với Apple Mail và các ứng dụng khác.
Trên Windows
Cài đặt Gpg4win — bao gồm Kleopatra (GUI quản lý khóa), Thunderbird với Enigmail plugin.
Tạo Cặp Khóa GPG
Chạy lệnh sau để tạo cặp khóa mới:
gpg --full-generate-key
Quá trình tạo khóa yêu cầu bạn:
- Chọn loại khóa: RSA và RSA (mặc định) hoặc Ed25519 (nhanh hơn, bảo mật hơn)
- Đặt kích thước khóa: 4096-bit cho RSA hoặc 256-bit cho Ed25519
- Đặt thời hạn: khuyến nghị 1-2 năm để giảm rủi ro khóa bị lộ
- Nhập tên và email liên kết với khóa
- Đặt mật khẩu bảo vệ khóa riêng — chọn mật khẩu mạnh
Sau khi tạo, khóa được lưu trong ~/.gnupg/.
Quản Lý Khóa Công Khai
Xuất khóa công khai để chia sẻ:
gpg --armor --export [email protected] > public_key.asc
Nhận và nhập khóa của người khác:
gpg --import public_key.asc
Tải khóa công khai từ keys.openpgp.org hoặc keyserver.io:
gpg --recv-keys KEY_ID
Mã Hóa Và Giải Mã
Mã hóa tệp tin cho người nhận
gpg --encrypt --armor --recipient [email protected] file.txt
Kết quả: file.txt.asc — chỉ người nhận mới giải mã được.
Giải mã tệp tin
gpg --decrypt file.txt.asc > file_decrypted.txt
Hệ thống yêu cầu mật khẩu khóa riêng để giải mã.
Ký số tài liệu
gpg --sign --local-user [email protected] document.txt
Vừa mã hoá vừa ký
gpg --encrypt --sign --recipient [email protected] document.txt

Sử Dụng GPG Với Thunderbird
Mozilla Thunderbird hỗ trợ OpenPGP tích hợp sẵn từ phiên bản 78+:
- Mở Thunderbird → Settings → Privacy & Security
- Chọn phần OpenPGP → Manage Keys
- Thêm khóa công khai của liên hệ từ file hoặc keyserver
- Soạn email mới, nhấn nút bảo mật để chọn Encrypt hoặc Sign
- Thunderbird tự động tìm khóa công khai của người nhận
- Không có khóa công khai → không thể mã hoá — nhắc người nhận gửi khóa trước
Thực Hành Tốt Nhất
- Backup khóa riêng: Xuất khóa riêng ra USB hoặc in fingerprint giấy
- Tạo Revocation Certificate: Khi khóa bị compromized hoặc mất
- Dùng khóa Ed25519: Nhanh hơn, nhỏ hơn, bảo mật hơn RSA truyền thống
- Xác minh fingerprint: Luôn kiểm tra fingerprint khóa công khai ngoài band (qua cuộc gọi, SMS)
- Hết hạn khóa: Đặt thời hạn 1-2 năm, sau đó tạo khóa mới
- Thu hồi khóa cũ: Upload revocation certificate lên keyserver khi không dùng nữa
Hạn Chế Của GPG
GPG mang lại bảo mật mạnh nhưng có những hạn chế cần lưu ý:
- Khó dùng cho người mới: Cần hiểu khái niệm khóa công khai, keyserver
- Không bảo mật metadata: Ai gửi cho ai vẫn bị lộ
- Key management phức tạp: Quản lý khóa, keyserver, trust model
- Tốc độ chậm hơn: Mã hóa khóa công khai chậm hơn mã hóa đối xứng
Để vượt qua, nhiều người dùng kết hợp GPG với Thunderbird (tích hợp sẵn) hoặc sử dụng Signal/Matrix cho nhắn tin mã hoá đầu cuối.
Kết Luận
GPG Encryption cung cấp giải pháp mã hoá mã nguồn mở, đáng tin cậy cho email và tệp tin. Dù cần bảo vệ thông tin cá nhân, tuân thủ quy định doanh nghiệp, hay đơn giản muốn biết giao tiếp số an toàn — GPG là công cụ xứng đáng dành thời gian cài đặt.
Chỉ vài phút cài đặt, bạn đã có hệ thống mã hoá đầu cuối (end-to-end encryption) hoàn chỉnh. Bắt đầu từ việc tạo cặp khóa, gửi khóa công khai cho liên hệ, và dần dần đưa GPG vào thói quen giao tiếp hàng ngày.
