public class RainbowSigner extends java.lang.Object implements MessageSigner
Detailed information about the signature and the verify-method is to be found in the paper of Jintai Ding, Dieter Schmidt: Rainbow, a New Multivariable Polynomial Signature Scheme. ACNS 2005: 164-175 (http://dx.doi.org/10.1007/11496137_12)
Constructor and Description |
---|
RainbowSigner() |
Modifier and Type | Method and Description |
---|---|
byte[] |
generateSignature(byte[] message)
This function signs the message that has been updated, making use of the
private key.
|
void |
init(boolean forSigning,
CipherParameters param)
initialise the signer for signature generation or signature
verification.
|
boolean |
verifySignature(byte[] message,
byte[] signature)
This function verifies the signature of the message that has been
updated, with the aid of the public key.
|
public void init(boolean forSigning, CipherParameters param)
MessageSigner
init
in interface MessageSigner
forSigning
- true if we are generating a signature, false
otherwise.param
- key parameters for signature generation.public byte[] generateSignature(byte[] message)
For computing the signature, L1 and L2 are needed, as well as LES should be solved for each layer in order to find the Oil-variables in the layer.
The Vinegar-variables of the first layer are random generated.
generateSignature
in interface MessageSigner
message
- the messagepublic boolean verifySignature(byte[] message, byte[] signature)
verifySignature
in interface MessageSigner
message
- the messagesignature
- the signature of the message