Sự khác biệt giữa mật mã luồng và mật mã khối

Sự khác biệt giữa mật mã luồng và mật mã khối
Sự khác biệt giữa mật mã luồng và mật mã khối

Video: Sự khác biệt giữa mật mã luồng và mật mã khối

Video: Sự khác biệt giữa mật mã luồng và mật mã khối
Video: Cryptography là gì? | Giải thích về mật mã học | Khoa Học Máy Tính tập 33 | Tri thức nhân loại 2024, Tháng bảy
Anonim

Stream Cipher vs Block Cipher | Mật mã trạng thái so với Mật mã khối

Trong mật mã, Mật mã dòng và Mật mã khối là hai thuật toán mã hóa / giải mã thuộc họ mật mã khóa đối xứng. Thông thường, một mật mã lấy một văn bản thuần túy làm đầu vào và tạo ra một bản mã làm đầu ra. Mật mã khối mã hóa khối bit có độ dài cố định bằng cách sử dụng một phép biến đổi không thay đổi. Mật mã luồng mã hóa các luồng bit với độ dài khác nhau và sử dụng các phép biến đổi khác nhau trên mỗi bit.

Mật mã luồng là gì?

Mật mã dòng thuộc họ mật mã khóa đối xứng. Mật mã dòng kết hợp các bit văn bản thuần túy với một dòng bit mã hóa giả ngẫu nhiên với việc sử dụng hoạt động XOR (độc quyền hoặc). Mật mã dòng mã hóa từng chữ số văn bản thuần túy với các phép biến đổi khác nhau cho các chữ số liên tiếp. Bởi vì mã hóa của mỗi chữ số phụ thuộc vào trạng thái hiện tại của công cụ mật mã, mật mã dòng còn được gọi là mật mã trạng thái. Thông thường, các bit / bit đơn được sử dụng dưới dạng các chữ số đơn lẻ. Để tránh những lo ngại về bảo mật, cần đảm bảo rằng cùng một trạng thái khởi động không được sử dụng nhiều hơn một lần. Mật mã dòng được sử dụng rộng rãi nhất là RC4.

Mật mã khối là gì?

Mật mã khối là một mật mã khóa đối xứng khác. Mật mã khối hoạt động trên các khối (nhóm bit) có độ dài cố định. Mật mã khối sử dụng một phép biến đổi cố định (không thay đổi) cho tất cả các chữ số trong khối. Ví dụ: khi một văn bản thuần túy của khối x-bit (cùng với khóa bí mật) được cung cấp làm đầu vào cho công cụ mật mã khối, nó sẽ tạo ra khối bản mã x-bit tương ứng. Sự chuyển đổi thực sự phụ thuộc vào khóa bí mật. Tương tự, thuật toán giải mã khôi phục khối x-bit ban đầu của bản rõ bằng cách sử dụng khối x-bit của bản mã và khóa bí mật ở trên làm đầu vào. Trong trường hợp thông điệp đầu vào quá dài so với kích thước của khối, nó sẽ được chia nhỏ thành các khối và các khối này sẽ được mã hóa (riêng lẻ) bằng cùng một khóa. Tuy nhiên, vì cùng một khóa được sử dụng, mỗi trình tự lặp lại trong văn bản thuần túy sẽ trở thành trình tự lặp lại giống nhau trong văn bản mã và điều này có thể gây ra các lo ngại về bảo mật. Các mật mã khối phổ biến là DES (Tiêu chuẩn Mã hóa Dữ liệu) và AES (Tiêu chuẩn Mã hóa Nâng cao).

Sự khác biệt giữa Mật mã luồng và Mật mã khối là gì?

Mặc dù cả mật mã dòng và mật mã khối đều thuộc họ mật mã mã hóa đối xứng, nhưng có một số điểm khác biệt chính. Mật mã khối mã hóa các khối bit có độ dài cố định, trong khi mật mã dòng kết hợp các bit văn bản thuần túy với một dòng bit mã hóa giả ngẫu nhiên sử dụng phép toán XOR. Mặc dù mật mã khối sử dụng cùng một phép biến đổi, nhưng mật mã dòng sử dụng các phép biến đổi khác nhau dựa trên trạng thái của động cơ. Mật mã luồng thường thực thi nhanh hơn mật mã khối. Về độ phức tạp của phần cứng, mật mã dòng tương đối ít phức tạp hơn. Mật mã dòng là ưu tiên điển hình so với mật mã khối khi văn bản thuần túy có sẵn với số lượng khác nhau (ví dụ: kết nối wifi an toàn), vì mật mã khối không thể hoạt động trực tiếp trên các khối ngắn hơn kích thước khối. Nhưng đôi khi, sự khác biệt giữa mật mã dòng và mật mã khối không rõ ràng lắm. Lý do là, khi sử dụng một số chế độ hoạt động nhất định, mật mã khối có thể được sử dụng để hoạt động như một mật mã dòng bằng cách cho phép nó mã hóa đơn vị dữ liệu nhỏ nhất hiện có.

Đề xuất: