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] Cam kết (commitment) hash: kiểm tra mở

    Lược đồ cam kết

    Bên cam kết công bố c=H(m∥r)c = H(m \| r)c=H(m∥r) (với rrr là giá trị che). Sau đó mở bằng (m,r)(m, r)(m,r). Người xác minh kiểm tra H(m∥r)=cH(m \| r) = cH(m∥r)=c.

    Tính chất: binding (không đổi được mmm) và hiding (không lộ mmm). Dùng SHA-256, ghép bằng dấu |. In VALID nếu mở đúng.

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

      Dòng 1: cam kết ccc (hex). Dòng 2: mmm. Dòng 3: rrr.

    • Ràng buộc đầu vào:
      • ccc là hex SHA-256.
    • Định dạng đầu ra:

      VALID hoặc INVALID.

    Ví dụ:

    Đầu vào:

    eb591a2aaf45090456230c41b9eeef283d080fc4cf733d19e090bdde527878b1
    yes
    12345
    

    Đầu ra:

    VALID

    Giải thích:

    Mở đúng (m,r) cho ra đúng cam kết.

    Đang tải editor...