public class SM9SigMasterPublicKeyParameters extends AsymmetricKeyParameter
| Modifier and Type | Method and Description |
|---|---|
static SM9SigMasterPublicKeyParameters |
fromEncoded(byte[] enc) |
byte[] |
getEncoded()
The master public key point P_pub-s of G2 in uncompressed form
(0x04 || x || y, 129 bytes).
|
SM9G2Point |
getPointG2() |
Fp12 |
pairingWithP1()
g = e(P1, P_pub-s), the fixed pairing value signing raises to its nonce.
|
isPrivatepublic SM9G2Point getPointG2()
public Fp12 pairingWithP1()
SM9Pairing.multiPair(org.bouncycastle.math.ec.ECPoint[], org.bouncycastle.math.ec.sm9.SM9G2Point[]).
It depends on this key alone, which is immutable, so it is computed once and kept, as
SM9EncMasterPublicKeyParameters.pairingWithP2() keeps its counterpart: signing would
otherwise pay a pairing for it every time. It involves no secret, so it is computed as its
counterpart is, through SM9Pairing.multiPair(org.bouncycastle.math.ec.ECPoint[], org.bouncycastle.math.ec.sm9.SM9G2Point[]), over the lines of P_pub-s's Miller loop,
which P_pub-s keeps, as it keeps them for verification. Two threads asking for it first may
both compute it, and get equal values. Signing raises it to each nonce through
Fp12.powSecureFixedBase(java.math.BigInteger), which keeps sixty-four powers of it with it, 24 KB, once the
first signature has made them.
public byte[] getEncoded()
public static SM9SigMasterPublicKeyParameters fromEncoded(byte[] enc)