For the latest news and information visit The GNU Crypto project

## gnu.crypto.sig.rsa
Class RSAPSSSignature

    java.lang.Object
      |
      +--gnu.crypto.sig.BaseSignature
            |
            +--gnu.crypto.sig.rsa.RSAPSSSignature

All Implemented Interfaces:
  java.lang.Cloneable, ISignature

public class RSAPSSSignature
extends BaseSignature

The RSA-PSS signature scheme is a public-key encryption scheme combining the RSA algorithm with the Probabilistic Signature Scheme (PSS) encoding method.

The inventors of RSA are Ronald L. Rivest, Adi Shamir, and Leonard Adleman, while the inventors of the PSS encoding method are Mihir Bellare and Phillip Rogaway. During efforts to adopt RSA-PSS into the P1363a standards effort, certain adaptations to the original version of RSA-PSS were made by Mihir Bellare and Phillip Rogaway and also by Burt Kaliski (the editor of IEEE P1363a) to facilitate implementation and integration into existing protocols.

References:</pr>

1. RSA-PSS Signature Scheme with Appendix, part B.
   Primitive specification and supporting documentation.
   Jakob Jonsson and Burt Kaliski.

Field Summary

Fields inherited from class gnu.crypto.sig.BaseSignature
`md, privateKey, publicKey, schemeName`

Fields inherited from interface gnu.crypto.sig.ISignature
`SIGNER_KEY, SOURCE_OF_RANDOMNESS, VERIFIER_KEY`

Constructor Summary
`RSAPSSSignature()` Default 0-arguments constructor.
`RSAPSSSignature(java.lang.String mdName)` Constructs an instance of this object using the designated message digest algorithm as its underlying hash function, and having 0-octet salt.
`RSAPSSSignature(java.lang.String mdName, int sLen)` Constructs an instance of this object using the designated message digest algorithm as its underlying hash function.

Method Summary
`java.lang.Object` `clone()` Returns a clone copy of this instance.
`protected java.lang.Object` `generateSignature()`
`protected void` `setupForSigning(java.security.PrivateKey k)`
`protected void` `setupForVerification(java.security.PublicKey k)`
`protected boolean` `verifySignature(java.lang.Object sig)`

Methods inherited from class gnu.crypto.sig.BaseSignature
`init, name, nextRandomBytes, setupSign, setupVerify, sign, update, update, verify`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RSAPSSSignature

    public RSAPSSSignature()

  Default 0-arguments constructor. Uses SHA-1 as the default hash and a 0-octet salt.

### RSAPSSSignature

    public RSAPSSSignature(java.lang.String mdName)

  Constructs an instance of this object using the designated message digest algorithm as its underlying hash function, and having 0-octet salt.

Parameters:
  `mdName` - the canonical name of the underlying hash function.

### RSAPSSSignature

    public RSAPSSSignature(java.lang.String mdName,
                           int sLen)

  Constructs an instance of this object using the designated message digest algorithm as its underlying hash function.

Parameters:
  `mdName` - the canonical name of the underlying hash function.
  `sLen` - the desired length in octets of the salt to use for encoding / decoding signatures.

Method Detail

### clone

    public java.lang.Object clone()

  Description copied from interface: `ISignature`

  Returns a clone copy of this instance.

  Specified by:
    `clone` in interface `ISignature`
  Specified by:
    `clone` in class `BaseSignature`
  Returns:
    a clone copy of this instance.

### setupForVerification

    protected void setupForVerification(java.security.PublicKey k)
                                 throws java.lang.IllegalArgumentException

  Specified by:
    `setupForVerification` in class `BaseSignature`
    `java.lang.IllegalArgumentException`

### setupForSigning

    protected void setupForSigning(java.security.PrivateKey k)
                            throws java.lang.IllegalArgumentException

  Specified by:
    `setupForSigning` in class `BaseSignature`
    `java.lang.IllegalArgumentException`

### generateSignature

    protected java.lang.Object generateSignature()
                                          throws java.lang.IllegalStateException

  Specified by:
    `generateSignature` in class `BaseSignature`
    `java.lang.IllegalStateException`

### verifySignature

    protected boolean verifySignature(java.lang.Object sig)
                               throws java.lang.IllegalStateException

  Specified by:
    `verifySignature` in class `BaseSignature`
    `java.lang.IllegalStateException`

For the latest news and information visit The GNU Crypto project

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