Package org.bouncycastle.crypto.signers
Class ECNRSigner
java.lang.Object
org.bouncycastle.crypto.signers.ECNRSigner
EC-NR as described in IEEE 1363-2000 - a signature algorithm for Elliptic Curve which
also offers message recovery.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongenerateSignature
(byte[] digest) generate a signature for the given message using the key we were initialised with.getOrder()
Get the order of the group that the r, s values in signatures belong to.byte[]
Returns the data used for the signature generation, assuming the public key passed to init() is correct.void
init
(boolean forSigning, CipherParameters param) Initialise the signer.boolean
verifySignature
(byte[] digest, BigInteger r, BigInteger s) return true if the value r and s represent a signature for the message passed in.
-
Constructor Details
-
ECNRSigner
public ECNRSigner()
-
-
Method Details
-
init
Initialise the signer. -
getOrder
Description copied from interface:DSAExt
Get the order of the group that the r, s values in signatures belong to. -
generateSignature
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 interfaceDSA
- 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
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 interfaceDSA
- 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
-
getRecoveredMessage
Returns the data used for the signature generation, assuming the public key passed to init() is correct.- Returns:
- null if r and s are not valid.
-