Package org.bouncycastle.crypto.params
Class SAKKEPublicKeyParameters
java.lang.Object
org.bouncycastle.crypto.params.AsymmetricKeyParameter
org.bouncycastle.crypto.params.SAKKEPublicKeyParameters
- All Implemented Interfaces:
CipherParameters
Represents the public parameters for the SAKKE (Sakai-Kasahara Key Encryption) scheme
as defined in RFC 6508. This class encapsulates the cryptographic domain parameters
and public key components required for SAKKE operations.
Contains the following public parameters (RFC 6508, Section 2.3):
- Prime modulus
p
defining the field F_p - Subgroup order
q
(divides p+1) - Base point
P
on the elliptic curve E(F_p) - Pairing result
g = <P,P>
- KMS Public Key
Z_S = [z_S]P
- Security parameter
n
(SSV bit length) - User Identifier
- Elliptic curve parameters (a = -3, b = 0)
The predefined parameters in this implementation correspond to the 128-bit security level example from RFC 6509 Appendix A.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionSAKKEPublicKeyParameters
(BigInteger identifier, ECPoint Z) Constructs SAKKE public key parameters with the specified identifier and KMS Public Key. -
Method Summary
Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
-
Constructor Details
-
SAKKEPublicKeyParameters
Constructs SAKKE public key parameters with the specified identifier and KMS Public Key.- Parameters:
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).
-
-
Method Details
-
getIdentifier
- Returns:
- The user's identifier (RFC 6508, Section 2.2)
-
getZ
- Returns:
- The KMS Public Key Z_S = [z_S]P (RFC 6508, Section 2.2)
-
getCurve
- Returns:
- The elliptic curve E(F_p) with parameters from RFC 6509 Appendix A
-
getPoint
- Returns:
- The base point P on E(F_p) (RFC 6508, Section 3.1)
-
getPrime
- Returns:
- Prime modulus p defining the field F_p (RFC 6508, Section 2.1)
-
getQ
- Returns:
- Subgroup order q (divides p+1) (RFC 6508, Section 2.1)
-
getN
public int getN()- Returns:
- Security parameter n (SSV bit length = 128 bits)
-
getDigest
- Returns:
- The hash function (SHA-256) used in SAKKE operations
-
getG
- Returns:
- The pairing result g = invalid input: '<'P,P> (RFC 6508, Section 3.2)
-