Điểm:1

Lấy bản rõ mã hóa bản mã

lá cờ cn

Bối cảnh: một trò chơi mã hóa từ overthewire (liên kết đến nó: https://overthewire.org/wargames/krypton/krypton6.html, cũng tốt để biết thêm thông tin) khi được cung cấp bản mã, người ta phải lấy được bản rõ.

Ở cấp độ này, chúng tôi có quyền truy cập vào tệp nhị phân mã hóa bất kỳ tệp nào bằng mật mã luồng, sử dụng khóa từ tệp mà chúng tôi không có quyền truy cập (keyfile.dat) và một số ngẫu nhiên. Chúng tôi cũng có một gợi ý: LFSR 8 bit.

Câu hỏi của tôi là như sau. Tại sao tôi không thể lấy lại bản rõ mã hóa bản mã?

Hai giả định của tôi cho yêu cầu này là:

1) Chúng tôi đang xử lý mật mã dòng, vì vậy mã hóa bản mã phải luôn cung cấp bản rõ, miễn là dòng khóa giống nhau trong cả hai trường hợp, điều này dẫn tôi đến điểm thứ hai;

2) Tôi đã cố mã hóa hai tệp khác nhau nhưng có cùng nội dung (văn bản) và đầu ra được mã hóa trong cả hai trường hợp đều giống nhau, vì vậy dòng khóa phải bằng nhau.

Tôi biết mình sai, vì việc mã hóa bản mã không mang lại cho tôi bản rõ, mà là một số tệp được mã hóa vô nghĩa-ngẫu nhiên-thậm chí nhiều hơn. Bạn có thể giúp tôi hiểu những gì sai với lý luận của tôi?

Cảm ơn trước sự giúp đỡ nào.

Điểm:1
lá cờ ng

Trong mật mã dòng, việc mã hóa bản mã phải luôn cho bản rõ

Điều đó đúng với định nghĩa phù hợp của "bản mã", ngụ ý rằng nó có cùng kích thước với bản rõ; và cùng một Vector khởi tạo (tôi đoán là "số ngẫu nhiên", sau đây gọi là IV) được sử dụng.

Tôi nghi ngờ thử nghiệm cố gắng mã hóa lại bản mã thực sự mã hóa đầu ra của chương trình mã hóa, chứ không phải bản mã như đã định nghĩa ở trên. Đầu ra của chương trình mã hóa phải phần nào bao gồm bản mã, nhưng có những thực tiễn phổ biến có thể giải thích tại sao trải nghiệm đã thử không thành công, bao gồm

  • IV thường được bao gồm trong đầu ra của mã hóa, để tạo điều kiện thuận lợi cho việc giải mã. Đơn giản nhất là nó bắt đầu và bản mã thực tế sẽ theo sau.
  • Bản mã có thể được mã hóa lại, ví dụ: sử dụng Base64, tiêu đề/đoạn giới thiệu..

Các hành động tiếp theo có thể là so sánh kích thước đầu vào và đầu ra cho mã nhị phân mã hóa, cố gắng xác định vị trí IV và bản mã thực tế, đồng thời thực hiện lại thử nghiệm chỉ sử dụng bản mã thực tế làm đầu vào của quá trình mã hóa lại.

Ngoài ra, một thuộc tính khác của mật mã dòng có thể giúp ích: mã hóa hai bản rõ khác nhau bởi byte đầu tiên của chúng, dưới cùng một IV và so sánh các bản mã. Vị trí của sự khác biệt cho biết nơi bản mã thực tế bắt đầu.

arpg avatar
lá cờ cn
_Tôi nghi ngờ thí nghiệm cố gắng mã hóa lại bản mã thực sự mã hóa đầu ra của chương trình mã hóa, chứ không phải bản mã như đã định nghĩa ở trên._ - Tôi không chắc liệu tôi có hiểu điều này không, bạn có thể giải thích rõ hơn một chút được không?
fgrieu avatar
lá cờ ng
@arpg: nó có thể là đầu ra của chương trình mã hóa nhiều hơn bản mã. Giống như IV và bản mã. Vì vậy, bạn không chỉ mã hóa lại bản mã và do đó không nhận được kết quả như mong đợi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.