Hệ thống mã hóa khóa công khai ra đời đã giải quyết các hạn chế của mã hóa quy ước. Mã hóa khóa công khai sử dụng một cặp khóa, một khóa (thông thường
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
là khóa riêng) dùng để mã hóa và một khóa (khóa riêng) dùng để giải mã. Mã hóa khóa công khai giúp tránh bị tấn công khi trao đổi khóa do khóa để giải mã (khóa riêng) không cần phải truyền hoặc chia sẻ với người khác. Ngoài ra, mỗi người chỉ cần sở hữu một cặp khóa công khai – khóa riêng và người gởi thông tin chỉ cần giữ khóa công khai của người nhận do đó số lượng khóa cần phải quản lý giảm khá nhiều. Mỗi người chỉ cần lưu trữ bảo mật một khóa riêng của chính mình.
Tuy nhiên, do nhu cầu mã hóa và giải mã bằng hai khóa khác nhau trong cùng một cặp khóa nên để đảm bảo bảo mật, kích thước khóa công khai – khóa riêng lớn hơn rất nhiều so với khóa công khai. Do đó tốc độ mã hóa khóa công khai chậm hơn tốc độ mã hóa khóa quy ước. Tốc độ mã hóa bằng phần mềm của thuật toán DES nhanh hơn khoảng 100 lần so với mã hóa RSA với cùng mức độ bảo mật.
Kích thước khóa (tính bằng bit)
Khóa công khai 56 80 112 128 192 256 RSA/DSA 512 1K 2K 3K 7.5K 15K
ECC 160 224 256 384 512
Bảng 2.2.2 : Kích thước khóa giữa mã hóa quy ước và mã hóa khóa công khai với cùng mức độ bảo mật.
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL