Class 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 Detail

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

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