Package org.bouncycastle.crypto.params
Class SAKKEPrivateKeyParameters
java.lang.Object
org.bouncycastle.crypto.params.AsymmetricKeyParameter
org.bouncycastle.crypto.params.SAKKEPrivateKeyParameters
- All Implemented Interfaces:
CipherParameters
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:
-
Constructor Summary
ConstructorsConstructorDescriptionSAKKEPrivateKeyParameters
(BigInteger z, SAKKEPublicKeyParameters publicParams) Constructs a SAKKE private key with a given private value and associated public parameters.Generates a random SAKKE private key and its corresponding public key. -
Method Summary
Modifier and TypeMethodDescriptionRetrieves the private key scalar (master secret).Retrieves the public key parameters associated with this private key.Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
-
Constructor Details
-
SAKKEPrivateKeyParameters
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
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], whereq
is the order of the subgroup. The public key is computed asZ = [z]P
, whereP
is the public generator.- Parameters:
random
- A cryptographic random number generator.
-
-
Method Details
-
getPublicParams
Retrieves the public key parameters associated with this private key.- Returns:
- The corresponding SAKKE public key parameters.
-
getMasterSecret
Retrieves the private key scalar (master secret).- Returns:
- The private key scalar
z
.
-