|
Bouncy Castle Cryptography Library 1.86 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.crypto.signers.SM2Signer
The SM2 Digital Signature algorithm.
| Field Summary |
| Fields inherited from interface org.bouncycastle.math.ec.ECConstants |
EIGHT, FOUR, ONE, THREE, TWO, ZERO |
| Constructor Summary | |
SM2Signer()
|
|
SM2Signer(Digest digest)
|
|
SM2Signer(DSAEncoding encoding)
|
|
SM2Signer(DSAEncoding encoding,
Digest digest)
|
|
| Method Summary | |
protected java.math.BigInteger |
calculateE(java.math.BigInteger n,
byte[] message)
|
protected ECMultiplier |
createBasePointMultiplier()
|
byte[] |
generateSignature()
generate a signature for the message we've been loaded with using the key we were initialised with. |
protected byte[] |
getZ(byte[] userID)
Compute the SM2 Z value - H(ENTL || ID || a || b || xG || yG || xA || yA) as given in 5.1.4.4 of the draft RFC "SM2 Public Key Algorithms". |
void |
init(boolean forSigning,
CipherParameters param)
Initialise the signer for signing or verification. |
void |
reset()
reset the internal state |
void |
update(byte b)
update the internal digest with the byte b |
void |
update(byte[] in,
int off,
int len)
update the internal digest with the byte array in |
boolean |
verifySignature(byte[] signature)
return true if the internal state represents the signature described in the passed in array. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public SM2Signer()
public SM2Signer(Digest digest)
public SM2Signer(DSAEncoding encoding)
public SM2Signer(DSAEncoding encoding,
Digest digest)
| Method Detail |
public void init(boolean forSigning,
CipherParameters param)
Signer
init in interface SignerforSigning - true if for signing, false otherwiseparam - necessary parameters.public void update(byte b)
Signer
update in interface Signer
public void update(byte[] in,
int off,
int len)
Signer
update in interface Signerpublic boolean verifySignature(byte[] signature)
Signer
verifySignature in interface Signerpublic void reset()
Signer
reset in interface Signer
public byte[] generateSignature()
throws CryptoException
Signer
generateSignature in interface SignerCryptoExceptionprotected byte[] getZ(byte[] userID)
init with the digest
freshly reset, and the value returned is prepended to the message before e is
calculated.
An override must leave the digest empty on return - this implementation feeds the digest and
then consumes it with a doFinal(). Returning a zero-length array leaves the
message unprefixed, so a signer constructed with a
NullDigest will then sign and verify a caller-supplied
pre-hashed e as passed in, for the case where Z and the message hash
are calculated elsewhere.
userID - the SM2 user ID passed in at init, or the default one if none was given.
protected ECMultiplier createBasePointMultiplier()
protected java.math.BigInteger calculateE(java.math.BigInteger n,
byte[] message)
|
Bouncy Castle Cryptography Library 1.86 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||