public class PSExtendedSignatureScheme extends PSSignatureScheme
The signing key remains the same, but the verification key is extended to store the generator g and the
group-elements Y-i from group 1. The extended implementation of the
PSSignatureScheme
allows the usage of the PSExtendedVerificationKey containing the generator g and the
group-elements Y-i from group 1 and enable 'signing messages blindly'
when used in a PedersenCommitmentScheme:
it allows for being able to blind and unblind messages before and after signing them. This is
achieved by using the same g and Y-i in the
PedersenCommitmentScheme as provided by the
PSExtendedSignatureScheme. This case allows a user to receive a signature on a commitment for a message and
to then calculate the signature for the uncommited message and thereby receiving a signature of a signer for a
message without the signer knowing the content of the message.
Bilinear map type: 3
[1] David Pointcheval and Olivier Sanders, Short Randomizable Signatures, in Cryptology ePrint Archive, Report 2015/525, 2015.
pp| Constructor and Description |
|---|
PSExtendedSignatureScheme(PSPublicParameters pp) |
PSExtendedSignatureScheme(org.cryptimeleon.math.serialization.Representation rep) |
| Modifier and Type | Method and Description |
|---|---|
SignatureKeyPair<PSExtendedVerificationKey,PSSigningKey> |
generateKeyPair(int numberOfMessages)
Using the
PSPublicParameters first a SignatureKeyPair consisting of a
PSSigningKey and a PSVerificationKey (with respect to the given
security parameter securityParameter and the block size numberOfMessages of the signature scheme - normal key
generation) are generated. |
PSExtendedVerificationKey |
restoreVerificationKey(org.cryptimeleon.math.serialization.Representation repr)
Method to recreate an extended verification key for a Pointcheval Signature Scheme from its representation.
|
equals, getMaxNumberOfBytesForMapToPlaintext, getPp, getRepresentation, hashCode, mapToPlaintext, mapToPlaintext, mapToPlaintext, restorePlainText, restoreSignature, restoreSigningKey, sign, verifyclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgenerateKeyPairsign, sign, verify, verifyrestoreFromRepresentation, sign, verifypublic PSExtendedSignatureScheme(PSPublicParameters pp)
public PSExtendedSignatureScheme(org.cryptimeleon.math.serialization.Representation rep)
public SignatureKeyPair<PSExtendedVerificationKey,PSSigningKey> generateKeyPair(int numberOfMessages)
PSPublicParameters first a SignatureKeyPair consisting of a
PSSigningKey and a PSVerificationKey (with respect to the given
security parameter securityParameter and the block size numberOfMessages of the signature scheme - normal key
generation) are generated. Using this SignatureKeyPair and the PSPublicParametersof this
PSExtendedSignatureScheme the generator g and the group-elements Y-i from group 1 are generated and then
stored in a new SignatureKeyPair containing the new PSExtendedVerificationKey key.
This key pair is then returned.generateKeyPair in interface StandardMultiMessageSignatureSchemegenerateKeyPair in class PSSignatureSchemenumberOfMessages - The block size of the signature scheme.PSExtendedVerificationKey and
PSSigningKey for a PSExtendedSignatureScheme.public PSExtendedVerificationKey restoreVerificationKey(org.cryptimeleon.math.serialization.Representation repr)
restoreVerificationKey in interface SignatureSchemerestoreVerificationKey in class PSSignatureSchemerepr - Representation of an extended verification key for a Pointcheval Signature Scheme