Commitment Schemes #
Basic results about information-theoretic commitment schemes.
The main result is the hiding–binding trade-off: a perfectly binding scheme places the commitment distributions of distinct messages at the maximum statistical distance, so it cannot be statistically hiding for any error below one. Hiding and binding can therefore not both hold unconditionally; real schemes make at most one side information-theoretic and settle for a computational version of the other.
Main results #
Scheme.subsingleton_of_statisticallyHiding_of_perfectlyBinding: a scheme cannot be both statistically hiding with error below one and perfectly binding unless any two messages are equalScheme.PerfectlyBinding.dist_commitmentDist_eq_one: perfect binding forces distinct messages' commitment distributions to the maximum statistical distanceScheme.subsingleton_of_perfectlyHiding_of_perfectlyBinding: the perfect hiding case, with no finiteness assumption on commitmentsScheme.perfectlyHiding_iff_statisticallyHiding_zero: perfect hiding is statistical hiding with zero error
Enlarging the permitted error preserves statistical hiding.
Distinct messages of a perfectly binding scheme have disjoint sets of possible commitments.
In a perfectly binding scheme, the commitment distributions of distinct messages are at the maximum statistical distance: an unbounded observer can read the message off the commitment.
The hiding–binding trade-off. A scheme cannot be both statistically hiding with error below one and perfectly binding unless any two messages are equal. The error bound is sharp: statistical hiding with error one holds vacuously for every scheme.
A scheme cannot be both perfectly hiding and perfectly binding unless any two messages are equal. Unlike the statistical version, this needs no finiteness assumption on the commitment type.