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] Xác minh HMAC của thông điệp

    Xác thực thông điệp bằng HMAC

    Bên nhận tính lại HMAC từ khóa chung và thông điệp, rồi so với tag đính kèm. Nếu khớp thì thông điệp xác thực (OK), nếu không thì có thể đã bị giả mạo (FORGED).

    Dòng 1: khóa, dòng 2: thông điệp, dòng 3: tag HMAC-SHA256 (hex). In OK hoặc FORGED. So sánh không phân biệt hoa/thường, dùng so sánh thời gian hằng số.

    Ví dụ

    Input:

    secret
    transfer 100
    (tag đúng)
    

    Output:

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

      Dòng 1: khóa. Dòng 2: thông điệp. Dòng 3: tag hex.

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

      0 ≤ len(key), len(msg) ≤ 1000.

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

      Một dòng: OK hoặc FORGED.

    Ví dụ:

    Đầu vào:

    secret
    transfer 100
    77264ba732f1e3fe9cb971884514b1b0cd5586dffeb69d3ec11cd1b5266bd8a4
    

    Đầu ra:

    OK

    Giải thích:

    Tag khớp HMAC tính lại nên thông điệp xác thực.

    Đang tải editor...