Cryptography: Commitment Schemes
UCL Course COMP0143 Cryptocurrencies: Prerequisite Cryptography Part IV
Scenario: Sealed-Bid AuctionsPermalink
Process
-
Bidding Stage: Bidders submit their sealed bids.
-
Opening Stage: All bids are opened and the highest one wins.
Protection against Cheating
-
Bidding Stage: A sealed bid
should not leak any information about the bid . -
Opening Stage: A bidder should not be able to open its bid to another one
.
DefinitionPermalink
Commitment Scheme is an interactive protocol between a sender
ComponentsPermalink
-
Commit
Sender
sends a commitment to receiver
where is the message and is a randomness. -
Reveal
Sender
reveals by sending and to receiver
who accepts if .
Security GoalPermalink
-
Hiding
Receiver
should not be able to obtain any information about from . -
Binding
Sender
should not be able to reveal to any other message .
Adversary TypesPermalink
-
Hiding-Adversary
(role as Receiver )who aims to learn information about
from . -
Binding-Adversary
(role as Sender )who aims to find
and that meets and .
Pedersen CommitmentPermalink
ProtocolPermalink
Let
and
Let
and assume the discrete logarithm
-
Commit
Sender
chooses and picks .Sender
sends commitment to receiver . -
Reveal
Sender
reveals by sending and to receiver who accepts if .
Hiding Security of Pedersen CommitmentPermalink
The Hiding of Pedersen Commitment provides Perfect Security.
Proof
Assume adversary
Then, the commitment
The value
Then, for any given message
Then, for any message
Therefore, adversary
Binding Security of of Pedersen CommitmentPermalink
The Binding of Pedersen Commitment provides Computational Security
Proof
By Contradiction and Reduction
Assume Pedersen commitment scheme does not provide computationally secure binding
when the Discrete Logarithm Problem is computationally hard.
Let
Let
-
requests a new commitment fromsuch that
chooses , picks , and returns to . -
requests to de-commit fromsuch that
sends to . -
According to the assumption of
’s capability, can return and to and break binding successfully,which means that
,which means that
when ,which means that
,which means
can get to break DLP (Given and to get when ).
Note: the Pedersen Commitment cannot provides perfectly secure binding since DLP is only computationally hard.
CRHF-based Commitment SchemesPermalink
Let
in the Random Oracle Model (ROM) accepting arbitrary size inputs.
-
Commit
Sender
chooses and picks .Sender
sends commitment to receiver .Note:
should be large enough to defend brute force attacks. -
Reveal
Sender
reveals by sending and to receiver who accepts if .
The hiding of CRHF-based Commitment provide
Computational Security since an adversary queries
The binding of CRHF-based Commitment provide
Computational Security since
Merkle trees allow to commit efficiently to large sets of values and are very often used in practice (e.g., Blockchain).
Application: Coin Flip ProtocolPermalink
Alice and Bob want to agree remotely on a random bit
which needs a function with joint inputs from Alice and Bob,
such that neither Alice and Bob can bias/control the result of
Let
We say that the Coin Flip protocol is correct if
Strawman Implementation in Coin Flip Protocol
Alice chooses
However, this Coin Flip Protocol is insecure:
-
Bob waits until it receive
-
Bob then picks a wanted result
and replies to Alice -
Both Alice and Bob will output
Commitment-based Implementation in Coin Flip Protocol
Process
-
Alice chooses
and -
Alice sends the commitment
to Bob -
Bob chooses
-
Bob sends the
to Alice -
Alice reveals
by sending pair to Bob, then computes -
Bob accepts if
(reject otherwise), then computes
Security
-
If the receiver is dishonest (Bob is the adversary
)and if
can distinguish andthen,
can break the hiding security of commitment scheme. -
If the sender is dishonest (Alice is the adversary
)and if
can prepare and valid pair for both andthen,
can break the binding security of commitment scheme.
Problem
When the sender (Alice) receives the reply from the receiver (Bob), Alice can compute
If
The possible solution is to use Secret Sharing Schemes.
Application: Sealed-Bid AuctionsPermalink
-
Bidding Stage
Each bidder
chooses a bid , picks a randomness , and publishes .Since commitment schemes are hiding,
does not leak any information about . -
Opening Stage
Bidder
reveals by receiving and .Since commitment schemes are binding,
cannot change its bid to after has been published. -
Evaluation Stage
The highest bid
wins.