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] Giải mã XOR khóa lặp (Repeating-key XOR)

    Trong mã hóa dòng bằng XOR với khóa lặp (repeating-key XOR — nguyên lý tương tự mã Vigenère nhưng trên bit thay vì chữ cái), khóa KKK là một chuỗi ký tự được lặp lại tuần hoàn để XOR với từng byte bản rõ:

    Ci=Pi⊕Ki mod ∣K∣C_i = P_i \oplus K_{i \bmod |K|}Ci​=Pi​⊕Kimod∣K∣​

    trong đó ∣K∣|K|∣K∣ là độ dài khóa. Cho bản mã (dạng hex) và khóa KKK, hãy giải mã để khôi phục bản rõ.

    Ví dụ: bản mã hex 030e070704 với khóa "K" giải mã ra HELLO.

    • Định dạng đầu vào:
      • Dòng 1: bản mã dưới dạng chuỗi hex (chữ hoa hoặc thường, số ký tự luôn chẵn, có thể là chuỗi rỗng).
      • Dòng 2: khóa KKK — một chuỗi ký tự ASCII in được, không chứa khoảng trắng, độ dài từ 1 đến 20 ký tự.
    • Định dạng đầu ra:

      In ra một dòng duy nhất là bản rõ sau khi giải mã (chuỗi ASCII in được; dữ liệu kiểm thử luôn đảm bảo kết quả là chuỗi hợp lệ). Nếu bản mã rỗng, in ra dòng trống.

    Ví dụ:

    Đầu vào:

    030e070704
    K

    Đầu ra:

    HELLO
    

    Đầu vào:

    0d31392e2d27652c3b6e28243a21
    LEMON

    Đầu ra:

    Attack at dawn
    

    Đang tải editor...