Package org.bouncycastle.crypto.signers
Class ECDSASigner
- java.lang.Object
-
- org.bouncycastle.crypto.signers.ECDSASigner
-
- All Implemented Interfaces:
DSA,ECConstants
public class ECDSASigner extends java.lang.Object implements ECConstants, DSA
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)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.
-
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)
-
-