Class DSASigner

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

public class DSASigner extends Object implements DSAExt
The Digital Signature Algorithm - as described in "Handbook of Applied Cryptography", pages 452 - 453.
  • Constructor Details

    • DSASigner

      public DSASigner()
      Default configuration, random K values.
    • DSASigner

      public DSASigner(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.
    • initSecureRandom

      protected SecureRandom initSecureRandom(boolean needed, SecureRandom provided)