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.BigIntegercalculateE(java.math.BigInteger n, byte[] message)protected ECMultipliercreateBasePointMultiplier()java.math.BigInteger[]generateSignature(byte[] message)generate a signature for the given message using the key we were initialised with.protected ECFieldElementgetDenominator(int coordinateSystem, ECPoint p)java.math.BigIntegergetOrder()Get the order of the group that the r, s values in signatures belong to.voidinit(boolean forSigning, CipherParameters param)initialise the signer for signature generation or signature verification.protected java.security.SecureRandominitSecureRandom(boolean needed, java.security.SecureRandom provided)booleanverifySignature(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:DSAinitialise the signer for signature generation or signature verification. 
- 
getOrder
public java.math.BigInteger getOrder()
Description copied from interface:DSAExtGet 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:
 generateSignaturein 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:
 verifySignaturein 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) 
 - 
 
 -