diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java new file mode 100644 index 000000000..7243ddd94 --- /dev/null +++ b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/DSA.java @@ -0,0 +1,36 @@ +package org.spongycastle.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); +} |