| package org.bouncycastle.crypto; |
| |
| import java.math.BigInteger; |
| |
| /** |
| * interface for classes implementing algorithms modeled similar to the Digital Signature Alorithm. |
| */ |
| public interface DSA |
| { |
| /** |
| * initialise the signer for signature generation or signature |
| * verification. |
| * |
| * @param forSigning true if we are generating a signature, false |
| * otherwise. |
| * @param param key parameters for signature generation. |
| */ |
| public void init(boolean forSigning, CipherParameters param); |
| |
| /** |
| * sign the passed in message (usually the output of a hash function). |
| * |
| * @param message the message to be signed. |
| * @return two big integers representing the r and s values respectively. |
| */ |
| public BigInteger[] generateSignature(byte[] message); |
| |
| /** |
| * verify the message message against the signature values r and s. |
| * |
| * @param message the message that was supposed to have been signed. |
| * @param r the r signature value. |
| * @param s the s signature value. |
| */ |
| public boolean verifySignature(byte[] message, BigInteger r, BigInteger s); |
| } |