Class ECDSASigner

java.lang.Object
org.bouncycastle.crypto.signers.ECDSASigner
All Implemented Interfaces:
DSA, DSAExt, ECConstants

public class ECDSASigner extends Object implements ECConstants, DSAExt
EC-DSA as described in X9.62
  • Constructor Details

    • 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 Details

    • init

      public void init(boolean forSigning, CipherParameters param)
      Description copied from interface: DSA
      initialise the signer for signature generation or signature verification.
      Specified by:
      init in interface DSA
      Parameters:
      forSigning - true if we are generating a signature, false otherwise.
      param - key parameters for signature generation.
    • getOrder

      public BigInteger getOrder()
      Description copied from interface: DSAExt
      Get the order of the group that the r, s values in signatures belong to.
      Specified by:
      getOrder in interface DSAExt
    • generateSignature

      public 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 interface DSA
      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, BigInteger r, 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 interface DSA
      Parameters:
      message - the message that was supposed to have been signed.
      r - the r signature value.
      s - the s signature value.
    • calculateE

      protected BigInteger calculateE(BigInteger n, byte[] message)
    • createBasePointMultiplier

      protected ECMultiplier createBasePointMultiplier()
    • getDenominator

      protected ECFieldElement getDenominator(int coordinateSystem, ECPoint p)
    • initSecureRandom

      protected SecureRandom initSecureRandom(boolean needed, SecureRandom provided)