Class SAKKEPrivateKeyParameters

  • All Implemented Interfaces:
    CipherParameters

    public class SAKKEPrivateKeyParameters
    extends AsymmetricKeyParameter
    Represents a private key for the Sakai-Kasahara Key Encryption (SAKKE) scheme, as defined in RFC 6508.

    SAKKE is an identity-based public key encryption scheme designed for one-pass key establishment. It is used in MIKEY-SAKKE for secure communication key distribution.

    This class generates and manages a SAKKE private key, which consists of a randomly generated scalar z. The corresponding public key is computed as Z = [z]P, where P is a publicly known generator point on the elliptic curve.

    The private key is used to derive the master secret in the key exchange process.

    See Also:
    RFC 6508: Sakai-Kasahara Key Encryption (SAKKE)
    • Constructor Detail

      • SAKKEPrivateKeyParameters

        public SAKKEPrivateKeyParameters​(java.math.BigInteger z,
                                         SAKKEPublicKeyParameters publicParams)
        Constructs a SAKKE private key with a given private value and associated public parameters.
        Parameters:
        z - The private key scalar.
        publicParams - The associated public key parameters.
      • SAKKEPrivateKeyParameters

        public SAKKEPrivateKeyParameters​(java.security.SecureRandom random)
        Generates a random SAKKE private key and its corresponding public key.

        The private key scalar z is chosen randomly in the range [2, q-1], where q is the order of the subgroup. The public key is computed as Z = [z]P, where P is the public generator.

        Parameters:
        random - A cryptographic random number generator.
    • Method Detail

      • getPublicParams

        public SAKKEPublicKeyParameters getPublicParams()
        Retrieves the public key parameters associated with this private key.
        Returns:
        The corresponding SAKKE public key parameters.
      • getMasterSecret

        public java.math.BigInteger getMasterSecret()
        Retrieves the private key scalar (master secret).
        Returns:
        The private key scalar z.