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:
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.5 $

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.
 

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.

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.

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 Free Software Foundation, Inc.. All Rights Reserved.