public class SAKKEPublicKeyParameters extends AsymmetricKeyParameter
Contains the following public parameters (RFC 6508, Section 2.3):
p
defining the field F_pq
(divides p+1)P
on the elliptic curve E(F_p)g = <P,P>
Z_S = [z_S]P
n
(SSV bit length)The predefined parameters in this implementation correspond to the 128-bit security level example from RFC 6509 Appendix A.
Constructor and Description |
---|
SAKKEPublicKeyParameters(java.math.BigInteger identifier,
ECPoint Z)
Constructs SAKKE public key parameters with the specified identifier and KMS Public Key.
|
Modifier and Type | Method and Description |
---|---|
ECCurve |
getCurve() |
Digest |
getDigest() |
java.math.BigInteger |
getG() |
java.math.BigInteger |
getIdentifier() |
int |
getN() |
ECPoint |
getPoint() |
java.math.BigInteger |
getPrime() |
java.math.BigInteger |
getQ() |
ECPoint |
getZ() |
isPrivate
public SAKKEPublicKeyParameters(java.math.BigInteger identifier, ECPoint Z)
identifier
- The user's identifier as defined in RFC 6508, Section 2.2.
Must be a valid integer in [2, q-1].Z
- The KMS Public Key Z_S = [z_S]P (RFC 6508, Section 2.2).
Must be a valid point on the curve E(F_p).public java.math.BigInteger getIdentifier()
public ECPoint getZ()
public ECCurve getCurve()
public ECPoint getPoint()
public java.math.BigInteger getPrime()
public java.math.BigInteger getQ()
public int getN()
public Digest getDigest()
public java.math.BigInteger getG()
(RFC 6508, Section 3.2)