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] Crack XOR khoá lặp (known-plaintext)

    Ciphertext mã bằng XOR khoá lặp (repeating-key) độ dài L cho trước. Biết plaintext luôn bắt đầu bằng FLAG{. Hãy khôi phục khoá (L byte, in ra dạng chuỗi ASCII).

    Ví dụ:

    • Input: 3 rồi hex → Output: key
    • Định dạng đầu vào:

      Dòng 1: số nguyên L (độ dài khoá, L<=5). Dòng 2: hex ciphertext.

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

      L<=5, plaintext bắt đầu 'FLAG{' nên có đủ known-text. Khoá in được.

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

      Khoá ASCII độ dài L.

    Ví dụ:

    Đầu vào:

    3
    2d29382c1e0b0e151c0a1110050226130a0b340e1c1218
    

    Đầu ra:

    key

    Giải thích:

    Vì plaintext bắt đầu bằng known-text 'FLAG{', XOR 5 byte đầu của ciphertext với 'FLAG{' cho khoá; lấy L byte đầu là khoá lặp.

    Đang tải editor...