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.

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, 2004 Free Software Foundation, Inc.