Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto.signers
Class ECNRSigner

    java.lang.Object
      org.bouncycastle.crypto.signers.ECNRSigner

All Implemented Interfaces:
  DSA

    public class ECNRSigner

extends java.lang.Object
implements DSA

EC-NR as described in IEEE 1363-2000

Constructor Summary
`ECNRSigner()`

Method Summary
`java.math.BigInteger[]` `generateSignature(byte[] digest)` generate a signature for the given message using the key we were initialised with.
`void` `init(boolean forSigning, CipherParameters param)` initialise the signer for signature generation or signature verification.
`boolean` `verifySignature(byte[] digest, java.math.BigInteger r, java.math.BigInteger s)` return true if the value r and s represent a signature for the message passed in.

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

Constructor Detail

### ECNRSigner

    public ECNRSigner()

Method Detail

### init

    public void init(boolean forSigning,
                     CipherParameters param)

  Description copied from interface: `DSA`
  initialise the signer for signature generation or signature verification.

  Specified by:
    `init` in interface `DSA`
  Parameters:
    `forSigning` - true if we are generating a signature, false otherwise.
    `param` - key parameters for signature generation.

### generateSignature

    public java.math.BigInteger[] generateSignature(byte[] digest)

  generate a signature for the given message using the key we were initialised with. Generally, the order of the curve should be at least as long as the hash of the message of interest, and with ECNR it *must* be at least as long.

  Specified by:
    `generateSignature` in interface `DSA`
  Parameters:
    `digest` - the digest to be signed.
  Returns:
    two big integers representing the r and s values respectively.
  Throws:
    `DataLengthException` - if the digest is longer than the key allows

### verifySignature

    public boolean verifySignature(byte[] digest,
                                   java.math.BigInteger r,
                                   java.math.BigInteger s)

  return true if the value r and s represent a signature for the message passed in. Generally, the order of the curve should be at least as long as the hash of the message of interest, and with ECNR, it *must* be at least as long. But just in case the signer applied mod(n) to the longer digest, this implementation will apply mod(n) during verification.

  Specified by:
    `verifySignature` in interface `DSA`
  Parameters:
    `digest` - the digest to be verified.
    `r` - the r value of the signature.
    `s` - the s value of the signature.
  Throws:
    `DataLengthException` - if the digest is longer than the key allows

Bouncy Castle Cryptography Library 1.45