org.bouncycastle.crypto

## Interface DSA

All Known Implementing Classes:
  DSASigner, ECDSASigner, ECGOST3410Signer, ECNRSigner, GOST3410Signer

    public interface DSA

interface for classes implementing algorithms modeled similar to the Digital Signature Alorithm.

### Method Summary

Methods
`java.math.BigInteger[]` `generateSignature(byte[] message)` sign the passed in message (usually the output of a hash function).
`void` `init(boolean forSigning, CipherParameters param)` initialise the signer for signature generation or signature verification.
`boolean` `verifySignature(byte[] message, java.math.BigInteger r, java.math.BigInteger s)` verify the message message against the signature values r and s.

### Method Detail

#### init

    void init(boolean forSigning,
            CipherParameters param)

initialise the signer for signature generation or signature verification.

Parameters:
  `forSigning` - true if we are generating a signature, false otherwise.
  `param` - key parameters for signature generation.

#### generateSignature

    java.math.BigInteger[] generateSignature(byte[] message)

sign the passed in message (usually the output of a hash function).

Parameters:
  `message` - the message to be signed.
Returns:
  two big integers representing the r and s values respectively.

#### verifySignature

    boolean verifySignature(byte[] message,
                          java.math.BigInteger r,
                          java.math.BigInteger s)

verify the message message against the signature values r and s.

Parameters:
  `message` - the message that was supposed to have been signed.
  `r` - the r signature value.
  `s` - the s signature value.