public class CmtPedersenTrapdoorReceiver extends CmtPedersenReceiver implements CmtReceiver, PerfectlyHidingCmt, CmtOnBigInteger
This commitment is also a trapdoor commitment in the sense that the receiver after the commitment phase has a trapdoor value, that if known by the committer would enable it to decommit to any value.
This trapdoor is output by the receiver and can be used by a higher-level application (e.g., by the ZK transformation of a sigma protocol to a zero-knowledge proof of knowledge).
For more information see Protocol 6.5.3, page 164 of Efficient Secure Two-Party Protocols by Hazay-Lindell.
The pseudo code of this protocol can be found in Protocol 3.3 of pseudo codes document at http://cryptobiu.github.io/scapi/SDK_Pseudocode.pdf.
|Constructor and Description|
Constructor that receives a connected channel (to the receiver) and chooses default dlog and random.
Constructor that receives a connected channel (to the receiver), the DlogGroup agreed upon between them and a SecureRandom object.
|Modifier and Type||Method and Description|
Returns the receiver's trapdoor from the preprocess phase.
Wait for the committer to send the commitment.
getCommitmentPhaseValues, getPreProcessedValues, receiveDecommitment, verifyDecommitment
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public CmtPedersenTrapdoorReceiver(Channel channel) throws java.io.IOException
java.io.IOException- in case there was a problem in the communication in the preprocess phase.
public CmtPedersenTrapdoorReceiver(Channel channel, DlogGroup dlog, java.security.SecureRandom random) throws SecurityLevelException, InvalidDlogGroupException, java.io.IOException
public java.math.BigInteger getTrapdoor()
public CmtRBasicCommitPhaseOutput receiveCommitment() throws java.lang.ClassNotFoundException, java.io.IOException
"WAIT for message c from C
STORE values (h,c)".
java.lang.ClassNotFoundException- if the commitment received cannot be deserialized
java.io.IOException- if there is any problem at the communication level