Người cam kết công bố c=SHA256(m∥r) (giá trị m|r), giữ kín m và số ngẫu nhiên r. Khi mở, họ tiết lộ (m,r); ai cũng kiểm được:
c=?SHA256(m∥r)
Tính binding (không đổi được m) đến từ khả năng kháng va chạm; tính hiding đến từ r ngẫu nhiên.
Với m=hello, r=42, cam kết đúng thì in VALID.
Dòng 1: thông điệp m. Dòng 2: nonce r. Dòng 3: cam kết c (hex 64 ký tự).
m, r là chuỗi không chứa xuống dòng; c là hex thường.
VALID nếu c=SHA256(m∥r), ngược lại INVALID.
Ví dụ:
Đầu vào:
hello
42
2ed2ad1ea7db459777b4f1f6c98fa662739b543f231b6cd41386022dfafe020c
Đầu ra:
VALID
Giải thích:
Đang tải editor...