gnu.crypto.sig

Interface ISignature

All Superinterfaces:
Cloneable
Known Implementing Classes:
BaseSignature, DSSSignature, RSAPKCS1V1_5Signature, RSAPSSSignature

public interface ISignature
extends Cloneable

The visible methods of every signature-with-appendix scheme.

The Handbook of Applied Cryptography (HAC), by A. Menezes & al. states: "Digital signature schemes which require the message as input to the verification algorithm are called digital signature schemes with appendix. ... They rely on cryptographic hash functions rather than customised redundancy functions, and are less prone to existential forgery attacks."

References:

  1. Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Section 11.2.2 Digital signature schemes with appendix.
Version:
$Revision: 1.8 $

Field Summary

static String
SIGNER_KEY
Property name of the signer's private key.
static String
SOURCE_OF_RANDOMNESS
Property name of an optional SecureRandom, Random, or IRandom instance to use.
static String
VERIFIER_KEY
Property name of the verifier's public key.

Method Summary

Object
clone()
Returns a clone copy of this instance.
String
name()
Returns the canonical name of this signature scheme.
void
setupSign(Map attributes)
Initialises this instance for signature generation.
void
setupVerify(Map attributes)
Initialises this instance for signature verification.
Object
sign()
Terminates a signature generation phase by digesting and processing the context of the underlying message digest algorithm instance.
void
update(byte b)
Digests one byte of a message for signing or verification purposes.
void
update(byte[] buffer, int offset, int length)
Digests a sequence of bytes from a message for signing or verification purposes.
boolean
verify(Object signature)
Terminates a signature verification phase by digesting and processing the context of the underlying message digest algorithm instance.

Field Details

SIGNER_KEY

public static final String SIGNER_KEY
Property name of the signer's private key.

SOURCE_OF_RANDOMNESS

public static final String SOURCE_OF_RANDOMNESS
Property name of an optional SecureRandom, Random, or IRandom instance to use. The default is to use a classloader singleton from PRNG.

VERIFIER_KEY

public static final String VERIFIER_KEY
Property name of the verifier's public key.

Method Details

clone

public Object clone()
Returns a clone copy of this instance.
Returns:
a clone copy of this instance.

name

public String name()
Returns the canonical name of this signature scheme.
Returns:
the canonical name of this instance.

setupSign

public void setupSign(Map attributes)
            throws IllegalArgumentException
Initialises this instance for signature generation.
Parameters:
attributes - the attributes to use for setting up this instance.

setupVerify

public void setupVerify(Map attributes)
            throws IllegalArgumentException
Initialises this instance for signature verification.
Parameters:
attributes - the attributes to use for setting up this instance.

sign

public Object sign()
            throws IllegalStateException
Terminates a signature generation phase by digesting and processing the context of the underlying message digest algorithm instance.
Returns:
a Object representing the native output of the signature scheme implementation.

update

public void update(byte b)
            throws IllegalStateException
Digests one byte of a message for signing or verification purposes.
Parameters:
b - the message byte to digest.

update

public void update(byte[] buffer,
                   int offset,
                   int length)
            throws IllegalStateException
Digests a sequence of bytes from a message for signing or verification purposes.
Parameters:
buffer - the byte sequence to consider.
offset - the byte poisition in buffer of the first byte to consider.
length - the number of bytes in buffer starting from the byte at index offset to digest.

verify

public boolean verify(Object signature)
            throws IllegalStateException
Terminates a signature verification phase by digesting and processing the context of the underlying message digest algorithm instance.
Parameters:
signature - a native signature object previously generated by an invocation of the sign() method.
Returns:
true iff the outpout of the verification phase confirms that the designated signature object has been generated using the corresponding public key of the recepient.

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.