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] Chia sẻ bí mật XOR – Sinh mảnh cuối

    Chia sẻ bí mật kiểu XOR

    Bí mật SSS được chia thành nnn mảnh r1,…,rnr_1,\dots,r_nr1​,…,rn​ sao cho

    r1⊕r2⊕⋯⊕rn=Sr_1 \oplus r_2 \oplus \dots \oplus r_n = Sr1​⊕r2​⊕⋯⊕rn​=S

    Khi biết n−1n-1n−1 mảnh đầu, mảnh cuối được tính bằng:

    rn=S⊕r1⊕⋯⊕rn−1r_n = S \oplus r_1 \oplus \dots \oplus r_{n-1}rn​=S⊕r1​⊕⋯⊕rn−1​

    Đây là sơ đồ (n,n)(n,n)(n,n): cần đủ tất cả mảnh mới khôi phục được.

    Ví dụ

    S=13S=13S=13, hai mảnh đầu 5,65,65,6: r3=13⊕5⊕6=14r_3 = 13 \oplus 5 \oplus 6 = 14r3​=13⊕5⊕6=14.

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

      Dòng 1: n S. Dòng 2: n-1 mảnh r1…rn−1r_1 \dots r_{n-1}r1​…rn−1​ (nếu n=1n=1n=1 thì không có).

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

      1≤n≤1001 \le n \le 1001≤n≤100, 0≤S,ri<2310 \le S, r_i < 2^{31}0≤S,ri​<231.

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

      Một số nguyên: mảnh cuối rnr_nrn​.

    Ví dụ:

    Đầu vào:

    3 13
    5 6

    Đầu ra:

    14

    Giải thích:

    $13 \oplus 5 = 8$, $8 \oplus 6 = 14$. Vậy mảnh cuối là $14$.

    Đang tải editor...