CHƯƠNG 1. TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN
1.2. Vấn đề mã hóa dữ liệu
1.2.4. Phân loại hệ mã hóa
Có nhiều cách để phân loại hệ mã hóa, dựa vào cách truyền khóa có thể phân loại hệ mã hóa thành hai loại chính: Hệ mã hóa khóa bảo mật và hệ mã hóa khóa công khai.
a) Hệ mã hóa khóa bảo mật.
Hệ mã hóa khóa bảo mật hay còn gọi là hệ mã hóa khóa đối xứng: Là những hệ mã hóa dùng chung một khóa cả trong quá trình mã hóa dữ liệu và giải mã dữ liệu. Do đó khóa phải giữ bí mật tuyệt đối.
VD1.1:
- Hệ mã hóa Ceasar là mã hóa khóa bảo mật đƣợc biểu diễn nhƣ sau:
Với mỗi chữ cái thay bằng chữ cái mã hóa , trong đó:
(trong đó là phép chia lấy số dƣ). Và quá trình giải mã đơn giản là: ( được gọi là khóa). Phương pháp này dễ hiểu, dễ thực thi nhưng độ an toàn không cao vì phương pháp mã hóa và giải mã là phép cộng trừ modul 26. Đối thủ có thể thử tất cả 25 trường hợp của .
- Hệ mã hóa DES (1973) là mã hóa khóa bảo mật hiện đại, có độ an toàn cao.
Đặc điểm của hệ mã hóa khóa bảo mật:
Hệ mã hóa khóa bảo mật mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai tuy nhiên chưa thật an toàn vì người mã hóa và giải mã phải có chung một khóa và khóa phải đƣợc giữ bí mật tuyệt đối.
Trong hệ này, khóa phải đƣợc gửi đi trên kênh an toàn. Do vậy, vấn đề thỏa thuận khóa và quản lý khóa khá là khó khăn và phức tạp, người gửi và người nhận phải luôn thống nhất với nhau về khóa, việc thay đổi khóa là rất khó khăn và dễ bị lộ.
b) Hệ mã hóa khóa công khai
Hệ mã hóa khóa công khai hay còn gọi là hệ mã hóa khóa bất đối xứng.
Các hệ mã hóa này dùng một khóa để mã hóa sau đó dùng một khóa khác để giải mã, nghĩa là khóa để mã hóa và giải mã là khác nhau. Các khóa này tạo nên từng cặp chuyển đổi ngƣợc nhau và không có khóa nào có thể suy đƣợc từ khóa kia. Khóa dùng để mã hóa có thể công khai nhƣng khóa dùng để giải mã phải giữ bí mật.
Đặc điểm của hệ mã hóa khóa công khai:
- Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng, cho nhiều người dùng, họ chỉ cần giữ bí mật khóa riêng của mình.
- Người mã hóa công khai, người giải mã giữ khóa bí mật. Khả năng lộ khóa bí mật khó hơn vì chỉ có một người giữ gìn.
- Mã hóa và giải mã chậm hơn mã hóa khóa bảo mật.
Mã hóa khóa công khai cũng cung cấp cơ chế cho chữ ký số, là cách xác thực với độ bảo mật cao (giả thiết cho rằng khóa bí mật đƣợc đảm bảo giữ an toàn) rằng thông điệp mà người nhận đã nhận được là chính xác được gửi đi từ phía người gửi mà họ yêu cầu. Các chữ ký như vậy được coi là chữ ký số tương đương với chữ ký thật trên các tài liệu được in ra giấy. Sử dụng hợp thức các thiết kế có chất lƣợng cao và các bổ sung khác tạo ra độ an toàn cao, làm cho chữ ký số vƣợt qua phần lớn các chữ ký thật về mức độ thực của nó (khó bị giả mạo hơn).
Mã hóa khóa công khai cũng cung cấp nền tảng cho các kỹ thuật khóa thỏa thuận xác thực mật khẩu và kỹ năng kiểm chứng mật khẩu. Điều này là quan trọng khi xét theo phương diện của các chứng minh rằng việc xác thực chỉ bằng mật khẩu sẽ không đảm bảo an toàn trên mạng chỉ với khóa mã hóa bảo mật và các hàm băm.
Trong mã hóa khóa công khai, khóa cá nhân phải đƣợc giữ bí mật trong khi khóa công khai đƣợc phổ biến công khai. Trong hai khóa, một dùng để mã hóa và khóa còn lại dùng để giải mã. Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai.
Hệ thống mật mã khóa công khai có thể sử dụng với các mục đích:
- Mã hóa: Giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã đƣợc.
- Tạo chữ ký số: Cho phép kiểm tra một văn bản có phải đã đƣợc tạo với một khóa bí mật nào đó hay không.
- Thỏa thuận khóa: Cho phép thiết lập khóa dùng để gửi/nhận Email và truyền tải văn bản mật giữa hai bên.
Thông thường, các kỹ thuật mã hóa khóa công khai đòi hỏi khối lượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhƣng những lợi điểm mà chúng mang lại khiến cho mã hóa khóa công khai đựợc áp dụng trong nhiều ứng dụng bảo mật của thực tiễn.