Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Tìm keystream từ tấn công bản rõ biết trước

    Known-plaintext: khôi phục keystream

    Trong mã luồng cộng, nếu kẻ tấn công biết một cặp (bản rõ mmm, bản mã ccc) thì có thể khôi phục keystream: zi=mi⊕ciz_i = m_i \oplus c_izi​=mi​⊕ci​ (Đây là lý do không bao giờ được tái sử dụng keystream — nguyên lý "two-time pad".)

    Cho bản rõ và bản mã cùng độ dài nnn, in keystream đã dùng.

    Ví dụ

    m=1011m=1011m=1011, c=1101c=1101c=1101 → z=0110z = 0110z=0110.

    • Định dạng đầu vào:

      Dòng 1: nnn. Dòng 2: nnn bit bản rõ. Dòng 3: nnn bit bản mã.

    • Ràng buộc đầu vào:

      1≤n≤1000001 \le n \le 1000001≤n≤100000.

    • Định dạng đầu ra:

      Một dòng nnn bit keystream.

    Ví dụ:

    Đầu vào:

    4
    1 0 1 1
    1 1 0 1

    Đầu ra:

    0110

    Giải thích:

    z_i = m_i XOR c_i: 1^1,0^1,1^0,1^1 = 0110.

    Đang tải editor...