Skip to main content

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

Một mật mã luồng là một loại thuật toán được sử dụng trong mã hóa dữ liệu trong đó nguồn cần được mã hóa được xử lý theo một chuỗi chính xuất hiện ngẫu nhiên.Loại mật mã này có phần linh hoạt theo nghĩa là nó có thể thay đổi mã hóa khi văn bản đang được xử lý.Đôi khi chúng cũng được gọi là mật mã trạng thái vì mã hóa cũng phụ thuộc vào trạng thái hiện tại của hoạt động.Trái ngược với các mật mã khối, hoạt động trên các khối dữ liệu 64 bit cùng một lúc, một mật mã luồng có thể hoạt động trên một bit.Vì lý do này, một luồng có thể được xử lý ở tốc độ cao với rất ít sức mạnh xử lý.Hình thức của mật mã luồng sử dụng khóa một lần để mã hóa dữ liệu.Trong một miếng đệm một lần, khóa được tạo ra có cùng độ dài với dữ liệu cần được mã hóa, là hoàn toàn ngẫu nhiên và không bao giờ được sử dụng nữa ở bất cứ nơi nào khác, do đó tên.Khi được xử lý đối với dữ liệu được mã hóa, thường được gọi là bản rõ, bản mã kết quả là không thể giải mã mà không có chìa khóa.Pad một lần rất khó đối phó trong hầu hết các kịch bản, và do đó, chỉ được sử dụng cho các tình huống rất độc quyền.Tuy nhiên, một mật mã luồng thường được coi là hữu ích, vì vậy các khóa được rút ngắn và tạo ra giả, có nghĩa là chúng là ngẫu nhiên thống kê nhưng thực tế thì không.Stream mật mã có khả năng mã hóa khi đang bay.Theo cách này, thậm chí còn dễ dàng cho các mật mã luồng đơn giản được thực hiện bởi những người trên bút và giấy, trong khi một mật mã khối thường yêu cầu sử dụng máy tính để xử lý.Các bản rõ chảy qua quy trình mã hóa cùng với phím kẽ, trình tự giả tạo thành khóa, nơi nó được chuyển đổi và đi ra đầu kia dưới dạng bản mã.Trên các bit riêng lẻ khi chúng đi qua mật mã.Một mật mã XOR đơn giản sử dụng một loại phân tách logic làm cơ sở, về cơ bản nói rằng kết quả có thể đúng nếu một trong hai toán hạng là đúng, nhưng không phải cả hai.Ví dụ: nếu một chút di chuyển qua quy trình mã hóa là 0 hoặc một, và bit tổng số được ghép nối không khớp, đầu ra kết quả là một.Nếu bit bit và bit được ghép nối khớp, trong đó cả hai đều là một hoặc cả hai đều là số 0, kết quả là không.Luồng được mã hóa của các cái và số không sau đó được giải mã ở đầu kia của hộp số bằng cách sử dụng cùng một phím kẽ để chuyển đổi các bit trở lại thành bản rõ ban đầu của chúng. Có hai loại mật mã luồng.Sử dụng phương pháp đồng bộ, phím kẽ được tạo tách biệt với bản rõ hoặc bản mã hóa và sau đó được hợp nhất để cung cấp mã hóa hoặc giải mã.Với phương pháp này, cả hai đầu gửi và nhận của truyền phải được đồng bộ hóa khi chúng hoạt động trên cùng một khóa và cùng một vị trí trong khóa.Nếu một vấn đề xảy ra, việc giải mã hoặc cần phải bắt đầu lại hoặc có thể có những lá cờ được đặt không liên tục trong suốt bản mã cho thấy các điểm bắt đầu mới.Mặt khác, một mật mã tự đồng bộ hóa sẽ cập nhật phím kẽ dựa trên một số chữ số trước trong bản mã.Nó được cấp phép và sử dụng trong một số sản phẩm phần mềm, cũng như giao thức Lớp ổ cắm an toàn (SSL) được sử dụng trong giao tiếp internet an toàn và mã hóa quyền riêng tư tương đương có dây (WEP) được sử dụng với các thiết bị không dây.Một mật mã khác thường được sử dụng được gọi là ORYX, đã tìm thấy việc sử dụng trong truyền dữ liệu điện thoại di động cần được mã hóa.IBM cũng đã phát triển một phương pháp mã hóa luồng được gọi là con dấu, đã tìm thấy việc sử dụng trong mã hóa đĩa cứng.