public class

ECNRSigner

extends Object
implements DSA
java.lang.Object
   ↳ org.bouncycastle.crypto.signers.ECNRSigner

Class Overview

EC-NR as described in IEEE 1363-2000

Summary

Public Constructors
ECNRSigner()
Public Methods
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, BigInteger r, BigInteger s)
return true if the value r and s represent a signature for the message passed in.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.bouncycastle.crypto.DSA

Public Constructors

public ECNRSigner ()

Public Methods

public 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.

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

public void init (boolean forSigning, CipherParameters param)

initialise the signer for signature generation or signature verification.

Parameters
forSigning true if we are generating a signature, false otherwise.
param key parameters for signature generation.

public boolean verifySignature (byte[] digest, BigInteger r, 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.

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