For the latest news and information visit
The GNU Crypto project

gnu.crypto.sig
Interface ISignature

All Superinterfaces:
java.lang.Cloneable
All Known Implementing Classes:
BaseSignature

public interface ISignature
extends java.lang.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.2 $

Field Summary
static java.lang.String SIGNER_KEY
          Property name of the signer's private key.
static java.lang.String SOURCE_OF_RANDOMNESS
          Property name of an optional SecureRandom, Random, or IRandom instance to use.
static java.lang.String VERIFIER_KEY
          Property name of the verifier's public key.
 
Method Summary
 java.lang.Object clone()
          Returns a clone copy of this instance.
 java.lang.String name()
          Returns the canonical name of this signature scheme.
 void setupSign(java.util.Map attributes)
          Initialises this instance for signature generation.
 void setupVerify(java.util.Map attributes)
          Initialises this instance for signature verification.
 java.lang.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(java.lang.Object signature)
          Terminates a signature verification phase by digesting and processing the context of the underlying message digest algorithm instance.
 

Field Detail

VERIFIER_KEY

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

See Also:
Constant Field Values

SIGNER_KEY

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

See Also:
Constant Field Values

SOURCE_OF_RANDOMNESS

public static final java.lang.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.

See Also:
Constant Field Values
Method Detail

name

public java.lang.String name()

Returns the canonical name of this signature scheme.

Returns:
the canonical name of this instance.

setupVerify

public void setupVerify(java.util.Map attributes)
                 throws java.lang.IllegalArgumentException

Initialises this instance for signature verification.

Parameters:
attributes - the attributes to use for setting up this instance.
Throws:
java.lang.IllegalArgumentException - if the designated public key is not appropriate for this signature scheme.
See Also:
SOURCE_OF_RANDOMNESS, VERIFIER_KEY

setupSign

public void setupSign(java.util.Map attributes)
               throws java.lang.IllegalArgumentException

Initialises this instance for signature generation.

Parameters:
attributes - the attributes to use for setting up this instance.
Throws:
java.lang.IllegalArgumentException - if the designated private key is not appropriate for this signature scheme.
See Also:
SOURCE_OF_RANDOMNESS, SIGNER_KEY

update

public void update(byte b)
            throws java.lang.IllegalStateException

Digests one byte of a message for signing or verification purposes.

Parameters:
b - the message byte to digest.
Throws:
java.lang.IllegalStateException - if this instance was not setup for signature generation/verification.

update

public void update(byte[] buffer,
                   int offset,
                   int length)
            throws java.lang.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.
Throws:
java.lang.IllegalStateException - if this instance was not setup for signature generation/verification.

sign

public java.lang.Object sign()
                      throws java.lang.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.
Throws:
java.lang.IllegalStateException - if this instance was not setup for signature generation.

verify

public boolean verify(java.lang.Object signature)
               throws java.lang.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.
Throws:
java.lang.IllegalStateException - if this instance was not setup for signature verification.

clone

public java.lang.Object clone()

Returns a clone copy of this instance.

Returns:
a clone copy of this instance.

For the latest news and information visit
The GNU Crypto project

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