Cả mật mã Block và Stream đều là các phương pháp Mã hóa chủ yếu được sử dụng để chuyển đổi trực tiếp văn bản thuần túy thành văn bản mã hóa và thuộc họ mật mã khóa đối xứng.
Sau đây là những điểm khác biệt quan trọng giữa Block Cipher và Stream Cipher.
Sr. Không. | Chìa khóa | Mật mã khối | Mật mã luồng |
---|---|---|---|
1 | Định nghĩa | Mật mã khối là loại mã hóa mà việc chuyển đổi văn bản thuần túy được thực hiện bằng cách lấy khối của nó tại một thời điểm. | Mặt khác, Stream Cipher là loại mã hóa trong đó việc chuyển đổi văn bản thuần túy được thực hiện bằng cách lấy một byte văn bản thuần túy tại một thời điểm. |
2 | Chuyển đổi bit | Vì Block Cipher có khối tại một thời điểm nên tương đối nhiều bit hơn được chuyển đổi so với trong Stream Cipher, cụ thể là 64 bit trở lên có thể được chuyển đổi cùng một lúc. | Mặt khác, trong trường hợp Mã hóa luồng, tối đa 8 bit có thể được chuyển đổi cùng một lúc. |
3 | Nguyên tắc | Mật mã khối sử dụng cả nguyên tắc nhầm lẫn và khuếch tán để chuyển đổi cần thiết cho mã hóa. | Mặt khác, Stream Cipher chỉ sử dụng nguyên tắc nhầm lẫn để chuyển đổi. |
4 | Thuật toán | Để mã hóa Mật mã khối văn bản thuần túy sử dụng Sổ mã điện tử (ECB) và thuật toán Chuỗi khối mật mã (CBC). | Mặt khác, Stream Cipher sử dụng thuật toán CFB (Cipher Feedback) và OFB (Output Feedback). |
5 | Giải mã | Vì sự kết hợp của nhiều bit hơn được mã hóa trong trường hợp Mật mã khối, do đó, mã hóa hoặc giải mã ngược tương đối phức tạp so với Stream Cipehr. | Mặt khác, Stream Cipher sử dụng XOR để mã hóa có thể dễ dàng đảo ngược thành văn bản thuần túy. |
6 | Thực hiện | Cách triển khai chính của Block Cipher là Feistel Cipher. | Mặt khác, cách triển khai chính của Stream Cipher là Vernam Cipher. |