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] Kiểm tra chữ ký thông điệp hàng loạt

    Một máy chủ nhận nhiều thông điệp, mỗi thông điệp kèm chữ ký HMAC_SHA256(key, message). Với mỗi thông điệp, in AUTHENTIC nếu chữ ký đúng, TAMPERED nếu bị sửa/giả mạo.

    Mỗi dòng có định dạng message||sig (phân tách bởi ||; message có thể không chứa ||).

    Ví dụ: với key đúng, dòng ping||<mac đúng> → AUTHENTIC.

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

      Dòng 1: key. Dòng 2: N. N dòng tiếp: mỗi dòng message||sig.

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

      key ≤ 100 ký tự; message ≤ 200 ký tự và không chứa chuỗi ||; sig là hex 64 ký tự; 1 ≤ N ≤ 10^4.

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

      N dòng: AUTHENTIC hoặc TAMPERED.

    Ví dụ:

    Đầu vào:

    apikey
    3
    ping||1ef7ff6b691ed67267680aa30f5ad826db6adf67a82a62152c9a2501a9581048
    pong||0000000000000000000000000000000000000000000000000000000000000000
    status||5d89af84d1cf16fde702991967f64ab8e9f7236ef93a2430b9d0ec650c7dd351

    Đầu ra:

    AUTHENTIC
    TAMPERED
    AUTHENTIC

    Giải thích:

    `ping` và `status` có MAC khớp → AUTHENTIC; `pong` có MAC toàn 0 sai → TAMPERED.

    Đang tải editor...