Mật mã luồng
Mật mã dòng là mã hóa luồng dữ liệu kỹ thuật số một bit hoặc một byte tại một thời điểm. Stream Cipher thường mã hóa một byte thông báo tại thời điểm đó thay vì sử dụng các khối.
Ví dụ, mật mã dòng cổ điển là mật mã Vigenère quan trọng tự động và mật mã Vernam. Trong trường hợp khái niệm, có thể sử dụng phiên bản đệm một lần của mật mã Vernam, trong đó luồng khóa đang xem xét luồng bit bản rõ.
Nếu luồng khóa mật mã là tùy ý, do đó, mật mã này không thể phá được bằng một số phương tiện khác ngoài việc nhận ra luồng khóa. Tuy nhiên, luồng khóa phải được cung cấp trước cho cả người dùng thông qua một số kênh độc lập và an toàn.
Điều này khuyến nghị các vấn đề hậu cần không thể vượt qua nếu lưu lượng dữ liệu dự định là rất cao. Trình tạo luồng bit phải được thực hiện như một quy trình thuật toán để luồng bit mật mã có thể được tạo bởi cả hai người dùng.
Trong phương pháp này, trình tạo dòng bit là một thuật toán điều khiển bằng khóa và phải tạo ra một dòng bit mạnh về mặt mật mã. Giờ đây, hai người dùng được yêu cầu chỉ chia sẻ khóa tạo và mỗi người có thể tạo luồng khóa.
Mật mã khối
Mật mã khối là một trong đó một khối bản rõ được coi là một tổng thể và được sử dụng để tạo ra một khối văn bản mật mã có cùng độ dài. Nói chung, kích thước khối 64 hoặc 128 bit được sử dụng. Block Cipher nhận một tin nhắn và chia nó thành các khối có kích thước cố định và thay đổi một khối của tin nhắn ngay lập tức.
Mật mã khối làm việc trên một khối văn bản rõ gồm n bit để tạo ra một khối văn bản mật mã gồm n bit. Có thể có một số khối văn bản rõ ràng và để mã hóa có thể thay đổi được (tức là để có thể giải mã được), mỗi khối phải tạo một khối văn bản mật mã duy nhất. Sự biến đổi như vậy còn được gọi là có thể đảo ngược hoặc không số ít.
Mật mã khối dựa trên các đối tượng toán học được gọi là Pseudo Random Permutations (PRP). Chúng là các hàm có thể đảo ngược tạo ra dưới dạng đầu vào giá trị n-bit m và khóa bí mật k, và xuất ra giá trị n-bit c.
Một PRP được coi là an toàn nếu, được cố định bằng khóa k, hàm kết quả giống với một hàm phân tích ngẫu nhiên trên các giá trị n-bit. Mật mã khối thực hiện một PRP an toàn.
Chúng được tạo ra từ một chức năng mã hóa có khả năng mã hóa một khối văn bản rõ ràng thành một khối bản mã bằng cách sử dụng khóa bí mật. Một hàm giải mã thực hiện thao tác nghịch đảo và tìm nạp khối bản rõ từ bản mã.
Sự khác biệt chính giữa mật mã dòng và mã khối dựa trên kích thước của thông tin được xử lý trong mỗi mã hóa. Mật mã truyền trực tuyến mã hóa từng bit một từ dòng bit và điều này dẫn đến thông điệp được mã hóa có thỏa thuận bit-to-bit với thông báo văn bản rõ.