public class ECDSASigner extends java.lang.Object implements ECConstants, DSA
Constructor and Description |
---|
ECDSASigner()
Default configuration, random K values.
|
ECDSASigner(DSAKCalculator kCalculator)
Configuration with an alternate, possibly deterministic calculator of K.
|
Modifier and Type | Method and Description |
---|---|
protected java.math.BigInteger |
calculateE(java.math.BigInteger n,
byte[] message) |
protected ECMultiplier |
createBasePointMultiplier() |
java.math.BigInteger[] |
generateSignature(byte[] message)
generate a signature for the given message using the key we were
initialised with.
|
protected ECFieldElement |
getDenominator(int coordinateSystem,
ECPoint p) |
void |
init(boolean forSigning,
CipherParameters param)
initialise the signer for signature generation or signature
verification.
|
protected java.security.SecureRandom |
initSecureRandom(boolean needed,
java.security.SecureRandom provided) |
boolean |
verifySignature(byte[] message,
java.math.BigInteger r,
java.math.BigInteger s)
return true if the value r and s represent a DSA signature for
the passed in message (for standard DSA the message should be
a SHA-1 hash of the real message to be verified).
|
public ECDSASigner()
public ECDSASigner(DSAKCalculator kCalculator)
kCalculator
- a K value calculator.public void init(boolean forSigning, CipherParameters param)
DSA
public java.math.BigInteger[] generateSignature(byte[] message)
generateSignature
in interface DSA
message
- the message that will be verified later.public boolean verifySignature(byte[] message, java.math.BigInteger r, java.math.BigInteger s)
verifySignature
in interface DSA
message
- the message that was supposed to have been signed.r
- the r signature value.s
- the s signature value.protected java.math.BigInteger calculateE(java.math.BigInteger n, byte[] message)
protected ECMultiplier createBasePointMultiplier()
protected ECFieldElement getDenominator(int coordinateSystem, ECPoint p)
protected java.security.SecureRandom initSecureRandom(boolean needed, java.security.SecureRandom provided)