public class SAKKEPrivateKeyParameters extends AsymmetricKeyParameter
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.
| Constructor and Description |
|---|
SAKKEPrivateKeyParameters(java.math.BigInteger z,
SAKKEPublicKeyParameters publicParams)
Constructs a SAKKE private key with a given private value and associated public parameters.
|
SAKKEPrivateKeyParameters(java.security.SecureRandom random)
Generates a random SAKKE private key and its corresponding public key.
|
| Modifier and Type | Method and Description |
|---|---|
java.math.BigInteger |
getMasterSecret()
Retrieves the private key scalar (master secret).
|
SAKKEPublicKeyParameters |
getPublicParams()
Retrieves the public key parameters associated with this private key.
|
isPrivatepublic SAKKEPrivateKeyParameters(java.math.BigInteger z,
SAKKEPublicKeyParameters publicParams)
z - The private key scalar.publicParams - The associated public key parameters.public SAKKEPrivateKeyParameters(java.security.SecureRandom random)
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.
random - A cryptographic random number generator.public SAKKEPublicKeyParameters getPublicParams()
public java.math.BigInteger getMasterSecret()
z.