For the latest news and information visit The GNU Crypto project

## Package gnu.crypto.sig

Provides a basic API for algorithms to use Public/Private keypairs in Digital Signature schemes.

See:
Description

Interface Summary
ISignature: The visible methods of every signature-with-appendix scheme.
ISignatureCodec: The visible methods of an object that knows how to encode and decode cryptographic signatures.

Class Summary
BaseSignature: A base abstract class to facilitate implementations of concrete Signatures.
SignatureFactory: A Factory to instantiate signature-with-appendix handlers.

## Package gnu.crypto.sig Description

Provides a basic API for algorithms to use Public/Private keypairs in Digital Signature schemes.

## Package overview

Three schemes are implemented in this library: the Digital Signature Scheme (DSS), RSA-PSS, and RSA-PKCS1 version 1.5.

The following diagram shows the important classes participating in this package:

The next diagram shows the sequences involved in using keypairs to sign and verify a message stream.

The following example shows the code involved in the above sequence diagram

    ISignature dss = SignatureFactory.getInstance("DSS");
    Map attrib = new HashMap();
    attrib.put(ISignature.SIGNER_KEY, privateDsaKey);
    dss.setupSign(attrib);

    dss.update(message, 0, message.length);
    Object sig = dss.sign();

    ISignatureCodec codec = new DSSSignatureRawCodec();
    byte[] encoded = codec.encodeSignature(sig);

    Object sig2 = codec.decodeSignature(encoded);

    attrib.clear();
    attrib.put(ISignature.VERIFIER_KEY, publicDsaKey);
    dss.setupVerify(attrib);

    dss.update(message, 0, message.length);
    boolean valid = dss.verify(sig);

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.