Class DSASigner

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

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

  • Constructor Details

    • DSASigner

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

      private BigInteger calculateE(BigInteger n, byte[] message)