Hình 4.1 cho thấy khái niệm chung sử dụng trong các thuật toán mật mã và mối quan hệ giữa chúng.
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã
Một hệ mật là một bộ 5 (P, C, K, E, D)thỏa mãn các điều kiện sau: 1) P là một tập hữu hạn các bản rõ có thể.
2) C là một tập hữu hạn các bản mã có thể. 3) K là một tập hữu hạn các khóa có thể.
4) Đối với k ∈ K có một quy tắc mã ek: P→C và một quy tắc giải mã tương ứng dk:C→P sao cho dk(ek(x)) = x với mọi bản rõ x ∈ P.
Điều kiện 4 nói lên rằng một bản rõ x được mã hóa bằng ek và bản mã nhận được sau đó được giải mã bằng dk thì ta phải thu được bản rõ ban đầu x. Các khái niệm trong hình được trình bày như sau:
Cipher Khóa K Bản tin được mật mã C Mật mã EK(P)=C Giải mã DK(C)=P Bản tin được mật mã C Bản tin ban đầu Bản tin ban đầu Khóa K Plaintext Ciphertext
+ Plaintext và ciphertext: bản tin ban đầu được gọi là bản tin rõ (plaintext hay cleartext). Quá trình biến đổi bản tin để che dấu nội dung thật của nó được gọi là mật mã (encryption). Bản tin đã mật mã được gọi là ciphertext. Quá trình biến bản tin đã mật mã về bản tin ban đầu được gọi là giải mã (decryption).
+ Thuật toán và khóa: thuật toán mật mã (còn gọi là cipher) là một hàm toán học sử dụng để mật mã và giải mã. Tính an toàn của một thuật toán mật mã phụ thuộc vòa một khóa bí mật (secret key). Khoảng các giá trị có thể có của khóa được gọi là không gian khóa (key space). Các quá trình mật mã và giải mã đều phụ thuộc vào khóa K như sau:
Mật mã: EK(P)=C Giải mã: DK(C)=P
Về cơ bản thì các thuật toán mật mã được chia thành hai loại: các hệ thống mật mã khóa đối xứng (Symmetric Key Cryptosystem), và các hệ thống mật mã khóa công khai (Public Key Cryptosystem). Mật mã khóa đối xứng sử dụng cùng một khóa duy nhất trong quá trình mật mã và giải mã, với hệ thống này thì hai đầu kênh được cung cấp cùng một khóa qua một kênh tin cậy và khóa này phải tồn tại trước quá trình truyền tin. Còn mật mã khóa công khai sử dụng hai khóa khác nhau (một khóa bí mật và một khóa công khai), khóa công khai dùng để lập mã và chỉ có khóa bí mật là có khả năng giải mã. Bản thân các hệ mật mã này có nhiều thuật toán thực hiện.