Class SM9SigMasterPrivateKeyParameters
java.lang.Object
org.bouncycastle.crypto.params.AsymmetricKeyParameter
org.bouncycastle.crypto.params.SM9SigMasterPrivateKeyParameters
- All Implemented Interfaces:
Destroyable, CipherParameters, SM9SigUserKeyParametersGenerator
public class SM9SigMasterPrivateKeyParameters
extends AsymmetricKeyParameter
implements Destroyable, SM9SigUserKeyParametersGenerator
SM9 signature master private key ks (GM/T 0044.2-2016). Held by the Key
Generation Center (KGC); derives the master public key P_pub-s = [ks]P2 and
users' signature private keys from their identities.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byteThe signature private-key generation function identifier hid, fixed to 0x01 for the SM9 signature algorithm (GM/T 0044.2-2016, Annex A). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Destroy this object, dropping its reference to the master secret ks.fromEncoded(byte[] enc) generateUserKey(byte[] identity) Derive the signature private key for the user identified byidentity(GM/T 0044.2-2016, 5.3): t1 = H1(identity||hid, N) + ks; if t1 = 0 the master key must be regenerated; otherwise t2 = ks*t1^-1 and ds = [t2]P1.byte[]The master private key ks as a 32-byte big-endian scalar.booleanMethods inherited from class AsymmetricKeyParameter
isPrivate
-
Field Details
-
HID
public static final byte HIDThe signature private-key generation function identifier hid, fixed to 0x01 for the SM9 signature algorithm (GM/T 0044.2-2016, Annex A).- See Also:
-
-
Constructor Details
-
SM9SigMasterPrivateKeyParameters
-
-
Method Details
-
getPublicKeyParameters
-
getEncoded
public byte[] getEncoded()The master private key ks as a 32-byte big-endian scalar. -
fromEncoded
-
generateUserKey
Derive the signature private key for the user identified byidentity(GM/T 0044.2-2016, 5.3): t1 = H1(identity||hid, N) + ks; if t1 = 0 the master key must be regenerated; otherwise t2 = ks*t1^-1 and ds = [t2]P1.- Specified by:
generateUserKeyin interfaceSM9SigUserKeyParametersGenerator- Parameters:
identity- the user's identity.- Returns:
- the user's signature private key.
-
destroy
public void destroy()Destroy this object, dropping its reference to the master secret ks.As
BigIntegeris immutable the secret value cannot be zeroized in place; destruction drops the reference and marks the key destroyed, after whichgetEncoded()andgenerateUserKey(byte[])throwIllegalStateException. The public key parameters remain available.- Specified by:
destroyin interfaceDestroyable
-
isDestroyed
public boolean isDestroyed()- Specified by:
isDestroyedin interfaceDestroyable
-