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] Khôi phục bí mật chia sẻ theo XOR

    Trong lược đồ chia sẻ bí mật XOR kiểu nnn-trên-nnn (nnn-out-of-nnn), một bí mật SSS (biểu diễn dưới dạng chuỗi byte) được chia thành nnn mảnh S1,S2,…,SnS_1, S_2, \dots, S_nS1​,S2​,…,Sn​ có cùng độ dài byte với SSS, sao cho

    S=S1⊕S2⊕⋯⊕SnS = S_1 \oplus S_2 \oplus \dots \oplus S_nS=S1​⊕S2​⊕⋯⊕Sn​

    trong đó ⊕\oplus⊕ là phép XOR thực hiện theo từng byte tương ứng.

    Cho nnn mảnh (biểu diễn ở dạng chuỗi hex), hãy khôi phục lại bí mật SSS bằng cách XOR tất cả các mảnh với nhau.

    Ví dụ: với n=2n = 2n=2, hai mảnh aa và 55, ta có S=aa⊕55=ffS = \text{aa} \oplus \text{55} = \text{ff}S=aa⊕55=ff.

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

      Dòng đầu tiên chứa số nguyên nnn (1≤n≤201 \le n \le 201≤n≤20). nnn dòng tiếp theo, mỗi dòng là một chuỗi hex (chữ thường, độ dài chẵn, chỉ gồm các ký tự 0-9a-f) biểu diễn một mảnh. Tất cả các mảnh có cùng độ dài.

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

      In ra một dòng duy nhất là chuỗi hex (chữ thường, cùng độ dài với các mảnh đầu vào) biểu diễn bí mật SSS đã khôi phục.

    Ví dụ:

    Đầu vào:

    2
    aa
    55
    

    Đầu ra:

    ff
    

    Đầu vào:

    1
    00
    

    Đầu ra:

    00
    

    Đang tải editor...