Package org.bouncycastle.crypto.signers
Class ECDSASigner
- java.lang.Object
-
- org.bouncycastle.crypto.signers.ECDSASigner
-
- All Implemented Interfaces:
DSA
,DSAExt
,ECConstants
public class ECDSASigner extends java.lang.Object implements ECConstants, DSAExt
EC-DSA as described in X9.62
-
-
Constructor Summary
Constructors Constructor Description ECDSASigner()
Default configuration, random K values.ECDSASigner(DSAKCalculator kCalculator)
Configuration with an alternate, possibly deterministic calculator of K.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
java.math.BigInteger
getOrder()
Get the order of the group that the r, s values in signatures belong to.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).
-
-
-
Constructor Detail
-
ECDSASigner
public ECDSASigner()
Default configuration, random K values.
-
ECDSASigner
public ECDSASigner(DSAKCalculator kCalculator)
Configuration with an alternate, possibly deterministic calculator of K.- Parameters:
kCalculator
- a K value calculator.
-
-
Method Detail
-
init
public void init(boolean forSigning, CipherParameters param)
Description copied from interface:DSA
initialise the signer for signature generation or signature verification.
-
getOrder
public java.math.BigInteger getOrder()
Description copied from interface:DSAExt
Get the order of the group that the r, s values in signatures belong to.
-
generateSignature
public java.math.BigInteger[] generateSignature(byte[] message)
generate a signature for the given message using the key we were initialised with. For conventional DSA the message should be a SHA-1 hash of the message of interest.- Specified by:
generateSignature
in interfaceDSA
- Parameters:
message
- the message that will be verified later.- Returns:
- two big integers representing the r and s values respectively.
-
verifySignature
public 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).- Specified by:
verifySignature
in interfaceDSA
- Parameters:
message
- the message that was supposed to have been signed.r
- the r signature value.s
- the s signature value.
-
calculateE
protected java.math.BigInteger calculateE(java.math.BigInteger n, byte[] message)
-
createBasePointMultiplier
protected ECMultiplier createBasePointMultiplier()
-
getDenominator
protected ECFieldElement getDenominator(int coordinateSystem, ECPoint p)
-
initSecureRandom
protected java.security.SecureRandom initSecureRandom(boolean needed, java.security.SecureRandom provided)
-
-