Mã đối xứng là mã sử dụng cùng một khóa cho mã hóa và giải mã. Việc sử dụng mã đối xứng đặt ra thách thức nổi tiếng về cách chia sẻ khóa bí mật giữa các bên nhanh chóng, vì bên trái phép trong giao tiếp có thể chặn nó và nghe lén giao tiếp trong tương lai.
Có nhiều nguyên lý của Mã đối xứng như sau:
- Bản rõ (Plaintext) - Đây là thông điệp thông hiểu ban đầu hoặc thông tin được đưa vào thuật toán làm đầu vào.
- Thuật toán mã hóa (Encryption algorithm) - Thuật toán mã hóa thực hiện một số thay thế và chuyển đổi trên bản rõ.
- Khóa bí mật (Secret key) - Khóa bí mật cũng là đầu vào cho thuật toán mã hóa. Khóa là giá trị độc lập với bản rõ và thuật toán. Thuật toán sẽ tạo ra nhiều đầu ra khác nhau dựa trên khóa cụ thể được sử dụng tại thời điểm đó. Các thay thế và chuyển đổi chính xác được thực hiện bởi thuật toán phụ thuộc vào khóa.
- Bản mã (Cipher text) - Đây là tin nhắn hỗn loạn được tạo ra làm đầu ra. Nó dựa trên bản rõ và khóa bí mật. Với một thông điệp cho trước, hai khóa khác nhau sẽ tạo ra hai bản mã khác nhau. Bản mã là luồng thông tin ngẫu nhiên xem ra và khi đứng yên là không thể hiểu.
- Thuật toán giải mã (Decryption algorithm) - Đây về cơ bản là thuật toán mã hóa chạy ngược. Nó lấy bản mã và khóa bí mật và tạo ra bản rõ ban đầu.
Có hai yêu cầu cho việc sử dụng an toàn mã hóa truyền thống:
Cần một thuật toán mã hóa mạnh. Tối thiểu, nó là thuật toán sao cho đối thủ hiểu thuật toán và có quyền truy cập vào một hoặc nhiều bản mã sẽ không thể giải mã bản mã hoặc suy đoán khóa.
Yêu cầu này thường được định nghĩa dưới dạng mạnh hơn. Đối thủ nên không thể giải mã bản mã hoặc tìm khóa ngay cả khi nó sở hữu nhiều bản mã cùng với bản rõ tạo ra mỗi bản mã.
Người gửi và người nhận nên đã获得 bản sao của khóa bí mật theo cách an toàn và nên giữ khóa an toàn. Nếu ai đó có thể tìm thấy khóa và hiểu thuật toán, tất cả giao tiếp sử dụng khóa này đều có thể đọc được.
Đặc điểm này của mã hóa đối xứng là thứ làm cho nó khả thi cho việc sử dụng rộng rãi. Thực tế là thuật toán không cần được giữ bí mật có nghĩa là nhà sản xuất có thể và đã phát triển các triển khai chip giá rẻ của thuật toán mã hóa dữ liệu.
Các chip này có sẵn rộng rãi và được kết hợp vào nhiều sản phẩm. Với việc sử dụng mã hóa đối xứng, vấn đề bảo mật chính là giữ bí mật khóa. Vì lý do này khóa được gửi đến người nhận qua một kênh an toàn độc lập. Hơn nữa, bên thứ ba tin cậy có thể tạo khóa và phân phối cho cả nguồn và đích.