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)
-
-